@betterportal/framework 10.6.15 → 10.6.17

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.
@@ -1,21 +1,8 @@
1
1
  import { type BpSchemaOutput } from "../contracts/manifest.js";
2
2
  export { canonicalJson, contractDigest } from "../runtime/contract.js";
3
+ import type { BetterPortalProjectConfig, BetterPortalLock } from "../contracts/project.js";
4
+ export type { BetterPortalProjectConfig, BetterPortalLock, LockedDependency } from "../contracts/project.js";
3
5
  export declare const DEFAULT_REGISTRY_URL = "https://io.betterportal.org";
4
- export interface BetterPortalProjectConfig {
5
- $schema?: string;
6
- registryRef?: string;
7
- defaultNamespace?: string;
8
- dependencies?: Record<string, string>;
9
- }
10
- export interface LockedDependency {
11
- registryRef: string;
12
- pluginId: string;
13
- version: string;
14
- digest: string;
15
- }
16
- export interface BetterPortalLock {
17
- dependencies: Record<string, LockedDependency>;
18
- }
19
6
  export declare function findPackageJson(startDir?: string): string;
20
7
  export declare function readJsonFile<T>(file: string): T;
21
8
  export declare function writeJsonFile(file: string, value: unknown): void;
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/cli/project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEvE,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAElE,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAChD;AAED,wBAAgB,eAAe,CAAC,QAAQ,SAAgB,GAAG,MAAM,CAShE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAE/C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAOhE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,yBAAyB,CAG/E;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAG7D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAE5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAEzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAsD,GAAG,MAAM,CAExG;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAWvG;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMtE"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/cli/project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3F,YAAY,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE7G,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAElE,wBAAgB,eAAe,CAAC,QAAQ,SAAgB,GAAG,MAAM,CAShE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAE/C;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAOhE;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,yBAAyB,CAG/E;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAG7D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAE5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAEzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAsD,GAAG,MAAM,CAExG;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAWvG;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMtE"}
@@ -2,6 +2,7 @@ import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
3
  import { BpSchemaOutputSchema } from "../contracts/manifest.js";
4
4
  export { canonicalJson, contractDigest } from "../runtime/contract.js";
5
+ import { RegistryReferenceSchema } from "../contracts/project.js";
5
6
  export const DEFAULT_REGISTRY_URL = "https://io.betterportal.org";
6
7
  export function findPackageJson(startDir = process.cwd()) {
7
8
  let dir = path.resolve(startDir);
@@ -61,7 +62,7 @@ export function parseDependencySelector(rawInput, defaultNamespace) {
61
62
  }
62
63
  export function registryRefParts(registryRef) {
63
64
  const parts = registryRef.split("/");
64
- if (parts.length !== 2 || parts.some((part) => !/^[a-z0-9][a-z0-9-]*$/.test(part))) {
65
+ if (!RegistryReferenceSchema.safeParse(registryRef).success) {
65
66
  throw new Error(`Invalid BetterPortal registry reference: ${registryRef}`);
66
67
  }
67
68
  return [parts[0], parts[1]];
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/cli/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/cli/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAuB,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,MAAM,CAAC,MAAM,oBAAoB,GAAG,6BAA6B,CAAC;AAElE,MAAM,UAAU,eAAe,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IACtD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACjD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7D,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,IAAY;IAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAc;IACxD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACnD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI;QAAE,OAAO;IAC1E,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC;IAC3B,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAA4B,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,UAAkB;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAmB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,oBAAoB;IAC9F,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAUD,MAAM,UAAU,uBAAuB,CAAC,QAAgB,EAAE,gBAAyB;IACjF,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAE7D,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,MAAM,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/D,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5D,IAAI,gBAAgB;QAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,gBAAgB,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACvG,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,4CAA4C,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,286 @@
1
+ import * as av from "anyvali";
2
+ import type { Infer } from "anyvali";
3
+ export declare const RegistryReferenceSchema: av.StringSchema;
4
+ export declare const DependencyAliasSchema: av.StringSchema;
5
+ export declare const BetterPortalProjectConfigSchema: av.ObjectSchema<{
6
+ $schema: av.OptionalSchema<av.StringSchema>;
7
+ registryRef: av.OptionalSchema<av.StringSchema>;
8
+ defaultNamespace: av.OptionalSchema<av.StringSchema>;
9
+ dependencies: av.OptionalSchema<av.RecordSchema<av.StringSchema>>;
10
+ }>;
11
+ export type BetterPortalProjectConfig = Infer<typeof BetterPortalProjectConfigSchema>;
12
+ export declare const LockedDependencySchema: av.ObjectSchema<{
13
+ registryRef: av.StringSchema;
14
+ pluginId: av.StringSchema;
15
+ version: av.StringSchema;
16
+ digest: av.StringSchema;
17
+ digestFormat: av.OptionalSchema<av.LiteralSchema<"json-bytes">>;
18
+ }>;
19
+ export type LockedDependency = Infer<typeof LockedDependencySchema>;
20
+ export declare const BetterPortalLockSchema: av.ObjectSchema<{
21
+ dependencies: av.RecordSchema<av.ObjectSchema<{
22
+ registryRef: av.StringSchema;
23
+ pluginId: av.StringSchema;
24
+ version: av.StringSchema;
25
+ digest: av.StringSchema;
26
+ digestFormat: av.OptionalSchema<av.LiteralSchema<"json-bytes">>;
27
+ }>>;
28
+ }>;
29
+ export type BetterPortalLock = Infer<typeof BetterPortalLockSchema>;
30
+ export declare const LocalDependencyLockSchema: av.RecordSchema<av.ObjectSchema<{
31
+ path: av.StringSchema;
32
+ registryRef: av.StringSchema;
33
+ pluginId: av.StringSchema;
34
+ version: av.StringSchema;
35
+ digest: av.StringSchema;
36
+ digestFormat: av.OptionalSchema<av.LiteralSchema<"json-bytes">>;
37
+ }>>;
38
+ export declare const RegistryPackageListSchema: av.ArraySchema<av.ObjectSchema<{
39
+ registryRef: av.StringSchema;
40
+ contract: av.ObjectSchema<{
41
+ manifest: av.ObjectSchema<{
42
+ protocolVersion: av.LiteralSchema<2>;
43
+ pluginId: av.StringSchema;
44
+ title: av.StringSchema;
45
+ description: av.StringSchema;
46
+ version: av.StringSchema;
47
+ category: av.EnumSchema<readonly ["framework", "auth", "theme", "service", "utility", "integration"]>;
48
+ deploymentModes: av.ArraySchema<av.EnumSchema<readonly ["bp-hosted", "customer-hosted", "third-party-saas", "self-hosted", "saas-managed"]>>;
49
+ capabilities: av.ArraySchema<av.StringSchema>;
50
+ supportedRenderers: av.ArraySchema<av.StringSchema>;
51
+ supportedRenderModes: av.ArraySchema<av.EnumSchema<readonly ["page", "fragment", "embed"]>>;
52
+ views: av.ArraySchema<av.ObjectSchema<{
53
+ viewId: av.StringSchema;
54
+ title: av.StringSchema;
55
+ description: av.StringSchema;
56
+ path: av.StringSchema;
57
+ pathVariants: av.ArraySchema<av.StringSchema>;
58
+ paramsSchema: av.BaseSchema<unknown, import("./json.js").JsonObject>;
59
+ operations: av.ArraySchema<av.ObjectSchema<{
60
+ operationId: av.StringSchema;
61
+ method: av.EnumSchema<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]>;
62
+ title: av.StringSchema;
63
+ description: av.StringSchema;
64
+ querySchema: av.BaseSchema<unknown, import("./json.js").JsonObject>;
65
+ headersSchema: av.BaseSchema<unknown, import("./json.js").JsonObject>;
66
+ bodySchema: av.BaseSchema<unknown, import("./json.js").JsonObject>;
67
+ jsonResponseSchema: av.BaseSchema<unknown, import("./json.js").JsonObject>;
68
+ metadataResponseSchema: av.BaseSchema<unknown, import("./json.js").JsonObject>;
69
+ renderable: av.BoolSchema;
70
+ raw: av.OptionalSchema<av.BoolSchema>;
71
+ streaming: av.OptionalSchema<av.ObjectSchema<{
72
+ itemSchema: av.BaseSchema<unknown, import("./json.js").JsonObject>;
73
+ summarySchema: av.OptionalSchema<av.BaseSchema<unknown, import("./json.js").JsonObject>>;
74
+ }>>;
75
+ html: av.ObjectSchema<{
76
+ renderers: av.RecordSchema<av.ObjectSchema<{
77
+ defaultRenderer: av.StringSchema;
78
+ renderModes: av.ArraySchema<av.EnumSchema<readonly ["page", "fragment", "embed"]>>;
79
+ slots: av.ArraySchema<av.StringSchema>;
80
+ renderers: av.ArraySchema<av.ObjectSchema<{
81
+ id: av.StringSchema;
82
+ title: av.StringSchema;
83
+ slotId: av.StringSchema;
84
+ renderModes: av.ArraySchema<av.EnumSchema<readonly ["page", "fragment", "embed"]>>;
85
+ }>>;
86
+ }>>;
87
+ }>;
88
+ auth: av.ObjectSchema<{
89
+ required: av.BoolSchema;
90
+ callers: av.ArraySchema<av.EnumSchema<readonly ["user", "service", "delegated"]>>;
91
+ permissions: av.ArraySchema<av.ObjectSchema<{
92
+ serviceId: av.StringSchema;
93
+ viewId: av.StringSchema;
94
+ permissions: av.ArraySchema<av.EnumSchema<readonly ["read", "create", "update", "delete"]>>;
95
+ }>>;
96
+ }>;
97
+ sitemap: av.OptionalSchema<av.ObjectSchema<{
98
+ kind: av.EnumSchema<readonly ["default", "exclude", "metadata", "provider"]>;
99
+ lastModified: av.OptionalSchema<av.StringSchema>;
100
+ changeFrequency: av.OptionalSchema<av.EnumSchema<readonly ["always", "hourly", "daily", "weekly", "monthly", "yearly", "never"]>>;
101
+ priority: av.OptionalSchema<av.NumberSchema>;
102
+ }>>;
103
+ robots: av.ArraySchema<av.ObjectSchema<{
104
+ userAgent: av.StringSchema;
105
+ access: av.EnumSchema<readonly ["allow", "disallow"]>;
106
+ crawlDelaySeconds: av.OptionalSchema<av.IntSchema>;
107
+ }>>;
108
+ role: av.OptionalSchema<av.StringSchema>;
109
+ dependencies: av.ArraySchema<av.ObjectSchema<{
110
+ serviceId: av.OptionalSchema<av.StringSchema>;
111
+ operationId: av.StringSchema;
112
+ method: av.EnumSchema<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]>;
113
+ }>>;
114
+ chrome: av.OptionalSchema<av.IntersectionSchema<[av.ObjectSchema<{
115
+ hideMenu: av.OptionalSchema<av.BoolSchema>;
116
+ hideHeader: av.OptionalSchema<av.BoolSchema>;
117
+ hideFooter: av.OptionalSchema<av.BoolSchema>;
118
+ fullScreen: av.OptionalSchema<av.BoolSchema>;
119
+ }>, av.RecordSchema<av.UnionSchema<[av.StringSchema, av.NumberSchema, av.BoolSchema]>>]>>;
120
+ apiContracts: av.ArraySchema<av.ObjectSchema<{
121
+ id: av.StringSchema;
122
+ title: av.StringSchema;
123
+ description: av.OptionalSchema<av.StringSchema>;
124
+ version: av.StringSchema;
125
+ viewId: av.StringSchema;
126
+ methods: av.ArraySchema<av.EnumSchema<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]>>;
127
+ capabilities: av.ArraySchema<av.StringSchema>;
128
+ permissions: av.ArraySchema<av.StringSchema>;
129
+ modes: av.ArraySchema<av.EnumSchema<readonly ["service", "delegated"]>>;
130
+ }>>;
131
+ demoScenarios: av.ArraySchema<av.ObjectSchema<{
132
+ id: av.StringSchema;
133
+ title: av.StringSchema;
134
+ description: av.OptionalSchema<av.StringSchema>;
135
+ match: av.OptionalSchema<av.ObjectSchema<{
136
+ query: av.OptionalSchema<av.BaseSchema<unknown, import("./json.js").JsonObject>>;
137
+ params: av.OptionalSchema<av.BaseSchema<unknown, import("./json.js").JsonObject>>;
138
+ headers: av.OptionalSchema<av.RecordSchema<av.StringSchema>>;
139
+ request: av.OptionalSchema<av.BaseSchema<unknown, import("./json.js").JsonObject>>;
140
+ }>>;
141
+ response: av.BaseSchema<unknown, import("./json.js").JsonValue>;
142
+ }>>;
143
+ cacheHints: av.ObjectSchema<{
144
+ ttlSeconds: av.IntSchema;
145
+ varyBy: av.ArraySchema<av.StringSchema>;
146
+ }>;
147
+ }>>;
148
+ }>>;
149
+ configSchemas: av.ArraySchema<av.ObjectSchema<{
150
+ id: av.StringSchema;
151
+ title: av.StringSchema;
152
+ description: av.StringSchema;
153
+ scope: av.EnumSchema<readonly ["tenant", "app"]>;
154
+ jsonSchema: av.BaseSchema<unknown, import("./json.js").JsonObject>;
155
+ groups: av.OptionalSchema<av.ArraySchema<av.ObjectSchema<{
156
+ id: av.StringSchema;
157
+ title: av.StringSchema;
158
+ description: av.OptionalSchema<av.StringSchema>;
159
+ order: av.OptionalSchema<av.IntSchema>;
160
+ optional: av.OptionalSchema<av.BoolSchema>;
161
+ }>>>;
162
+ fields: av.ArraySchema<av.ObjectSchema<{
163
+ key: av.StringSchema;
164
+ title: av.StringSchema;
165
+ description: av.StringSchema;
166
+ scope: av.EnumSchema<readonly ["tenant", "app"]>;
167
+ visibility: av.EnumSchema<readonly ["public", "protected", "secret"]>;
168
+ ownership: av.EnumSchema<readonly ["bp", "plugin", "mixed"]>;
169
+ sourceOfTruth: av.EnumSchema<readonly ["bp", "plugin", "external"]>;
170
+ groupId: av.OptionalSchema<av.StringSchema>;
171
+ order: av.OptionalSchema<av.IntSchema>;
172
+ defaultValue: av.OptionalSchema<av.BaseSchema<unknown, import("./json.js").JsonValue>>;
173
+ ui: av.OptionalSchema<av.ObjectSchema<{
174
+ control: av.OptionalSchema<av.EnumSchema<readonly ["text", "textarea", "password", "number", "checkbox", "select", "multiselect", "color", "date", "time", "datetime-local", "url", "email"]>>;
175
+ placeholder: av.OptionalSchema<av.StringSchema>;
176
+ options: av.OptionalSchema<av.ArraySchema<av.ObjectSchema<{
177
+ value: av.StringSchema;
178
+ label: av.StringSchema;
179
+ }>>>;
180
+ optionsSource: av.OptionalSchema<av.EnumSchema<readonly ["app.routes"]>>;
181
+ min: av.OptionalSchema<av.UnionSchema<[av.NumberSchema, av.StringSchema]>>;
182
+ max: av.OptionalSchema<av.UnionSchema<[av.NumberSchema, av.StringSchema]>>;
183
+ step: av.OptionalSchema<av.NumberSchema>;
184
+ rows: av.OptionalSchema<av.IntSchema>;
185
+ }>>;
186
+ required: av.BoolSchema;
187
+ }>>;
188
+ }>>;
189
+ permissions: av.ArraySchema<av.ObjectSchema<{
190
+ id: av.StringSchema;
191
+ title: av.StringSchema;
192
+ description: av.StringSchema;
193
+ defaultRoles: av.ArraySchema<av.StringSchema>;
194
+ }>>;
195
+ adminApis: av.ArraySchema<av.ObjectSchema<{
196
+ id: av.StringSchema;
197
+ title: av.StringSchema;
198
+ description: av.StringSchema;
199
+ path: av.StringSchema;
200
+ methods: av.ArraySchema<av.EnumSchema<readonly ["GET", "POST", "PUT", "PATCH", "DELETE"]>>;
201
+ supportsCustomUi: av.BoolSchema;
202
+ }>>;
203
+ webhooks: av.ArraySchema<av.ObjectSchema<{
204
+ id: av.StringSchema;
205
+ title: av.StringSchema;
206
+ description: av.OptionalSchema<av.StringSchema>;
207
+ payloadSchema: av.BaseSchema<unknown, import("./json.js").JsonObject>;
208
+ }>>;
209
+ apiContracts: av.ArraySchema<av.ObjectSchema<{
210
+ id: av.StringSchema;
211
+ title: av.StringSchema;
212
+ description: av.OptionalSchema<av.StringSchema>;
213
+ version: av.StringSchema;
214
+ viewId: av.StringSchema;
215
+ methods: av.ArraySchema<av.EnumSchema<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]>>;
216
+ capabilities: av.ArraySchema<av.StringSchema>;
217
+ permissions: av.ArraySchema<av.StringSchema>;
218
+ modes: av.ArraySchema<av.EnumSchema<readonly ["service", "delegated"]>>;
219
+ }>>;
220
+ m2mRequests: av.ArraySchema<av.ObjectSchema<{
221
+ id: av.StringSchema;
222
+ title: av.StringSchema;
223
+ description: av.OptionalSchema<av.StringSchema>;
224
+ contractId: av.StringSchema;
225
+ version: av.OptionalSchema<av.StringSchema>;
226
+ requiredCapabilities: av.ArraySchema<av.StringSchema>;
227
+ methods: av.ArraySchema<av.EnumSchema<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]>>;
228
+ permissions: av.ArraySchema<av.StringSchema>;
229
+ mode: av.EnumSchema<readonly ["service", "delegated"]>;
230
+ optional: av.BoolSchema;
231
+ }>>;
232
+ developerResources: av.ArraySchema<av.ObjectSchema<{
233
+ id: av.StringSchema;
234
+ kind: av.EnumSchema<readonly ["guide", "template", "skill", "example"]>;
235
+ title: av.StringSchema;
236
+ description: av.OptionalSchema<av.StringSchema>;
237
+ mediaType: av.StringSchema;
238
+ language: av.OptionalSchema<av.StringSchema>;
239
+ content: av.StringSchema;
240
+ }>>;
241
+ shell: av.OptionalSchema<av.ObjectSchema<{
242
+ service: av.StringSchema;
243
+ renderer: av.StringSchema;
244
+ fragments: av.ArraySchema<av.ObjectSchema<{
245
+ id: av.StringSchema;
246
+ kind: av.EnumSchema<readonly ["fragment", "block"]>;
247
+ title: av.StringSchema;
248
+ description: av.StringSchema;
249
+ defaultItems: av.ArraySchema<av.StringSchema>;
250
+ }>>;
251
+ }>>;
252
+ cacheHints: av.ObjectSchema<{
253
+ metadataTtlSeconds: av.IntSchema;
254
+ }>;
255
+ }>;
256
+ routes: av.ArraySchema<av.ObjectSchema<{
257
+ viewId: av.StringSchema;
258
+ path: av.StringSchema;
259
+ pathVariants: av.ArraySchema<av.StringSchema>;
260
+ operations: av.ArraySchema<av.ObjectSchema<{
261
+ operationId: av.StringSchema;
262
+ method: av.EnumSchema<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]>;
263
+ }>>;
264
+ paramNames: av.ArraySchema<av.StringSchema>;
265
+ renderers: av.ArraySchema<av.StringSchema>;
266
+ hasFragments: av.BoolSchema;
267
+ fragments: av.ArraySchema<av.ObjectSchema<{
268
+ fragmentLocation: av.StringSchema;
269
+ fragmentId: av.StringSchema;
270
+ operationId: av.StringSchema;
271
+ method: av.EnumSchema<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]>;
272
+ renderers: av.ArraySchema<av.StringSchema>;
273
+ }>>;
274
+ components: av.ArraySchema<av.StringSchema>;
275
+ }>>;
276
+ }>;
277
+ versions: av.ArraySchema<av.StringSchema>;
278
+ }>>;
279
+ export declare const RegistryPublishResultSchema: av.ObjectSchema<{
280
+ registryRef: av.StringSchema;
281
+ pluginId: av.StringSchema;
282
+ version: av.StringSchema;
283
+ digest: av.StringSchema;
284
+ unchanged: av.BoolSchema;
285
+ }>;
286
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/contracts/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC,eAAO,MAAM,uBAAuB,iBAAiE,CAAC;AACtG,eAAO,MAAM,qBAAqB,iBAAkD,CAAC;AAErF,eAAO,MAAM,+BAA+B;;;;;EAKf,CAAC;AAC9B,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAWtF,eAAO,MAAM,sBAAsB;;;;;;EAAqD,CAAC;AACzF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACpE,eAAO,MAAM,sBAAsB;;;;;;;;EAEN,CAAC;AAC9B,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACpE,eAAO,MAAM,yBAAyB;;;;;;;GAER,CAAC;AAG/B,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIR,CAAC;AAC/B,eAAO,MAAM,2BAA2B;;;;;;EAMX,CAAC"}
@@ -0,0 +1,41 @@
1
+ import * as av from "anyvali";
2
+ import { PluginIdSchema, SemverSchema } from "./common.js";
3
+ import { BpSchemaOutputSchema } from "./manifest.js";
4
+ export const RegistryReferenceSchema = av.string().pattern("^[a-z0-9][a-z0-9-]*/[a-z0-9][a-z0-9-]*$");
5
+ export const DependencyAliasSchema = av.string().pattern("^[A-Za-z][A-Za-z0-9_-]*$");
6
+ export const BetterPortalProjectConfigSchema = av.object({
7
+ $schema: av.optional(av.string()),
8
+ registryRef: av.optional(RegistryReferenceSchema),
9
+ defaultNamespace: av.optional(av.string().pattern("^[a-z0-9][a-z0-9-]*$")),
10
+ dependencies: av.optional(av.record(av.string().minLength(1)))
11
+ }, { unknownKeys: "reject" });
12
+ const lockedFields = {
13
+ registryRef: RegistryReferenceSchema,
14
+ pluginId: PluginIdSchema,
15
+ version: SemverSchema,
16
+ digest: av.string().pattern("^sha256:[0-9a-f]{64}$"),
17
+ // Legacy locks omit this and use runtime/contract.ts's locale-dependent JSON.
18
+ // New native locks hash the exact cached UTF-8 bytes, with no locale dependency.
19
+ digestFormat: av.optional(av.literal("json-bytes"))
20
+ };
21
+ export const LockedDependencySchema = av.object(lockedFields, { unknownKeys: "reject" });
22
+ export const BetterPortalLockSchema = av.object({
23
+ dependencies: av.record(LockedDependencySchema).default({})
24
+ }, { unknownKeys: "reject" });
25
+ export const LocalDependencyLockSchema = av.record(av.object({
26
+ ...lockedFields, path: av.string().minLength(1)
27
+ }, { unknownKeys: "reject" }));
28
+ // Existing service-betterportal-registry responses, shared with native tooling.
29
+ export const RegistryPackageListSchema = av.array(av.object({
30
+ registryRef: RegistryReferenceSchema,
31
+ contract: BpSchemaOutputSchema,
32
+ versions: av.array(SemverSchema)
33
+ }, { unknownKeys: "reject" }));
34
+ export const RegistryPublishResultSchema = av.object({
35
+ registryRef: RegistryReferenceSchema,
36
+ pluginId: PluginIdSchema,
37
+ version: SemverSchema,
38
+ digest: lockedFields.digest,
39
+ unchanged: av.bool()
40
+ }, { unknownKeys: "reject" });
41
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/contracts/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC,MAAM,CAAC;IACvD,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;IACjC,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACjD,gBAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC1E,YAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAG9B,MAAM,YAAY,GAAG;IACnB,WAAW,EAAE,uBAAuB;IACpC,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACpD,8EAA8E;IAC9E,iFAAiF;IACjF,YAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;CACpD,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,MAAM,CAAC;IAC9C,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC5D,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;AAE9B,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;IAC3D,GAAG,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;CAChD,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAE/B,gFAAgF;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;IAC1D,WAAW,EAAE,uBAAuB;IACpC,QAAQ,EAAE,oBAAoB;IAC9B,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;CACjC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC,MAAM,CAAC;IACnD,WAAW,EAAE,uBAAuB;IACpC,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,YAAY,CAAC,MAAM;IAC3B,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE;CACrB,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC"}
@@ -0,0 +1,80 @@
1
+ import * as av from "anyvali";
2
+ export declare const ScopedTenantServiceSchema: av.ObjectSchema<{
3
+ [x: string]: av.BaseSchema<unknown, unknown>;
4
+ }>;
5
+ export declare const ScopedTenantSchema: av.ObjectSchema<{
6
+ [x: string]: av.BaseSchema<unknown, unknown>;
7
+ }>;
8
+ export declare const ScopedAppSchema: av.ObjectSchema<{
9
+ [x: string]: av.BaseSchema<unknown, unknown>;
10
+ }>;
11
+ export declare const ScopedServiceConfigSchema: av.ObjectSchema<{
12
+ serviceIdentity: av.OptionalSchema<av.ObjectSchema<{
13
+ id: av.StringSchema;
14
+ publicKeyPem: av.OptionalSchema<av.StringSchema>;
15
+ keyId: av.OptionalSchema<av.StringSchema>;
16
+ }>>;
17
+ m2m: av.OptionalSchema<av.ObjectSchema<{
18
+ localServiceIds: av.ArraySchema<av.StringSchema>;
19
+ services: av.ArraySchema<av.ObjectSchema<{
20
+ id: av.StringSchema;
21
+ serviceId: av.OptionalSchema<av.StringSchema>;
22
+ hostname: av.StringSchema;
23
+ publicKeyPem: av.OptionalSchema<av.StringSchema>;
24
+ keyId: av.OptionalSchema<av.StringSchema>;
25
+ }>>;
26
+ bindings: av.ArraySchema<av.ObjectSchema<{
27
+ id: av.StringSchema;
28
+ tenantId: av.StringSchema;
29
+ appId: av.OptionalSchema<av.StringSchema>;
30
+ sourceServiceId: av.StringSchema;
31
+ requestId: av.StringSchema;
32
+ contractId: av.StringSchema;
33
+ targetServiceId: av.StringSchema;
34
+ targetViewId: av.StringSchema;
35
+ mode: av.EnumSchema<readonly ["service", "delegated"]>;
36
+ enabled: av.BoolSchema;
37
+ createdAt: av.StringSchema;
38
+ }>>;
39
+ grants: av.ArraySchema<av.ObjectSchema<{
40
+ id: av.StringSchema;
41
+ tenantId: av.StringSchema;
42
+ appId: av.OptionalSchema<av.StringSchema>;
43
+ bindingId: av.StringSchema;
44
+ methods: av.ArraySchema<av.EnumSchema<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]>>;
45
+ permissions: av.ArraySchema<av.StringSchema>;
46
+ enabled: av.BoolSchema;
47
+ createdAt: av.StringSchema;
48
+ }>>;
49
+ }>>;
50
+ previewConfig: av.OptionalSchema<av.ObjectSchema<{
51
+ revision: av.StringSchema;
52
+ tenant: av.BaseSchema<unknown, import("./json.js").JsonObject>;
53
+ app: av.BaseSchema<unknown, import("./json.js").JsonObject>;
54
+ }>>;
55
+ configManagement: av.OptionalSchema<av.ObjectSchema<{
56
+ adminTenantId: av.OptionalSchema<av.StringSchema>;
57
+ managementAppId: av.OptionalSchema<av.StringSchema>;
58
+ context: av.OptionalSchema<av.ObjectSchema<{
59
+ tenant: av.ObjectSchema<{
60
+ [x: string]: av.BaseSchema<unknown, unknown>;
61
+ }>;
62
+ app: av.ObjectSchema<{
63
+ [x: string]: av.BaseSchema<unknown, unknown>;
64
+ }>;
65
+ }>>;
66
+ }>>;
67
+ managementOrigins: av.ArraySchema<av.StringSchema>;
68
+ tenants: av.ArraySchema<av.ObjectSchema<{
69
+ [x: string]: av.BaseSchema<unknown, unknown>;
70
+ }>>;
71
+ configApps: av.OptionalSchema<av.ArraySchema<av.ObjectSchema<{
72
+ id: av.StringSchema;
73
+ tenantId: av.StringSchema;
74
+ title: av.StringSchema;
75
+ }>>>;
76
+ apps: av.ArraySchema<av.ObjectSchema<{
77
+ [x: string]: av.BaseSchema<unknown, unknown>;
78
+ }>>;
79
+ }>;
80
+ //# sourceMappingURL=scopedConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopedConfig.d.ts","sourceRoot":"","sources":["../../src/contracts/scopedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAwB9B,eAAO,MAAM,yBAAyB;;EAIpC,CAAC;AACH,eAAO,MAAM,kBAAkB;;EAE7B,CAAC;AACH,eAAO,MAAM,eAAe;;EAI1B,CAAC;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBpC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import * as av from "anyvali";
2
+ import { JsonObjectSchema, JSON_VALUE_DEFINITION, JsonValueSchemaNode } from "./json.js";
3
+ import { UuidV7Schema } from "./common.js";
4
+ import { BetterPortalAppSchema, BetterPortalTenantSchema, TenantServiceRegistrationSchema, BetterPortalRouteMountSchema, BetterPortalFragmentAssignmentSchema, M2MBindingSchema, M2MGrantSchema } from "./platformConfig.js";
5
+ /** Derive wire projections from canonical platform fields, retaining defaults and constraints. */
6
+ function project(schema, omit, extra) {
7
+ const document = av.exportSchema(schema);
8
+ if (document.root.kind !== "object")
9
+ throw new Error("Expected object contract");
10
+ const properties = {};
11
+ for (const [name, node] of Object.entries(document.root.properties)) {
12
+ if (omit.includes(name) || name in extra)
13
+ continue;
14
+ const field = av.importSchema({ ...document, root: node, definitions: {
15
+ ...document.definitions, [JSON_VALUE_DEFINITION]: JsonValueSchemaNode
16
+ } });
17
+ properties[name] = document.root.required?.includes(name) ? field : av.optional(field);
18
+ }
19
+ return av.object({ ...properties, ...extra });
20
+ }
21
+ const text = av.string().minLength(1);
22
+ export const ScopedTenantServiceSchema = project(TenantServiceRegistrationSchema, ["apiKeyHash"], {
23
+ source: av.optional(av.enum_(["tenant", "platform", "shared"])),
24
+ sharedServiceId: av.optional(text), baseUrl: av.optional(av.string().format("url")),
25
+ logoUrl: av.optional(text), category: av.optional(text), tags: av.optional(av.array(text))
26
+ });
27
+ export const ScopedTenantSchema = project(BetterPortalTenantSchema, [], {
28
+ services: av.array(ScopedTenantServiceSchema)
29
+ });
30
+ export const ScopedAppSchema = project(BetterPortalAppSchema, ["layoutId", "statusViewIds"], {
31
+ shell: av.optional(av.object({ serviceId: UuidV7Schema, service: text, renderer: text })),
32
+ appRoutes: av.optional(av.array(BetterPortalRouteMountSchema)),
33
+ appFragments: av.optional(av.record(av.array(BetterPortalFragmentAssignmentSchema)))
34
+ });
35
+ export const ScopedServiceConfigSchema = av.object({
36
+ serviceIdentity: av.optional(av.object({ id: UuidV7Schema, publicKeyPem: av.optional(text), keyId: av.optional(text) })),
37
+ m2m: av.optional(av.object({
38
+ localServiceIds: av.array(UuidV7Schema),
39
+ services: av.array(av.object({ id: UuidV7Schema, serviceId: av.optional(text), hostname: av.string().format("url"),
40
+ publicKeyPem: av.optional(text), keyId: av.optional(text) })),
41
+ bindings: av.array(M2MBindingSchema), grants: av.array(M2MGrantSchema)
42
+ })),
43
+ previewConfig: av.optional(av.object({ revision: text, tenant: JsonObjectSchema, app: JsonObjectSchema })),
44
+ configManagement: av.optional(av.object({
45
+ adminTenantId: av.optional(UuidV7Schema), managementAppId: av.optional(UuidV7Schema),
46
+ context: av.optional(av.object({ tenant: ScopedTenantSchema, app: ScopedAppSchema }))
47
+ })),
48
+ managementOrigins: av.array(av.string().format("url")), tenants: av.array(ScopedTenantSchema),
49
+ configApps: av.optional(av.array(av.object({ id: UuidV7Schema, tenantId: UuidV7Schema, title: text }))),
50
+ apps: av.array(ScopedAppSchema)
51
+ });
52
+ //# sourceMappingURL=scopedConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopedConfig.js","sourceRoot":"","sources":["../../src/contracts/scopedConfig.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/contracts/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AASrC,eAAO,MAAM,gBAAgB;;;EAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAExD,eAAO,MAAM,yBAAyB;;;;;EAKpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE1E,eAAO,MAAM,yBAAyB;;;;;;;;;;EAKpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE1E,eAAO,MAAM,+BAA+B;;;;;;;;;;;;EAE1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAEtF,eAAO,MAAM,2BAA2B;;;;;EAKtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE9E,eAAO,MAAM,sBAAsB;;;;;;;;;;;EAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,cAAc,iBAA2B,CAAC;AACvD,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpD,eAAO,MAAM,yBAAyB;;;;EAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;EAGrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE5D,eAAO,MAAM,8BAA8B;;;;;EAKzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/contracts/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AASrC,eAAO,MAAM,gBAAgB;;;EAI3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAExD,eAAO,MAAM,yBAAyB;;;;;EAKpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE1E,eAAO,MAAM,yBAAyB;;;;;;;;;;EAKpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE1E,eAAO,MAAM,+BAA+B;;;;;;;;;;;;EAE1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAEtF,eAAO,MAAM,2BAA2B;;;;;EAKtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE9E,eAAO,MAAM,sBAAsB;;;;;;;;;;;EAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,cAAc,iBAA2B,CAAC;AACvD,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpD,eAAO,MAAM,yBAAyB;;;;EAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;EAGrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE5D,eAAO,MAAM,8BAA8B;;;;;EAKzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
@@ -7,7 +7,8 @@ import { ApiContractDescriptorSchema } from "./m2m.js";
7
7
  const NonEmptyStringSchema = av.string().minLength(1);
8
8
  export const CacheHintsSchema = av.object({
9
9
  ttlSeconds: av.int().min(0).default(0),
10
- varyBy: av.array(NonEmptyStringSchema).default([])
10
+ // Match the entire HTTP field name, including rejection of a trailing newline.
11
+ varyBy: av.array(av.string().pattern("^[!#$%&'*+.^_`|~0-9A-Za-z-]+(?![\\s\\S])")).default([])
11
12
  });
12
13
  export const ViewRendererVariantSchema = av.object({
13
14
  id: NonEmptyStringSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/contracts/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/contracts/view.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from "./contracts/manifest.js";
8
8
  export * from "./contracts/m2m.js";
9
9
  export * from "./contracts/observability.js";
10
10
  export * from "./contracts/platformConfig.js";
11
+ export * from "./contracts/project.js";
11
12
  export * from "./contracts/registry.js";
12
13
  export * from "./contracts/route.js";
13
14
  export * from "./contracts/seo.js";
@@ -48,6 +49,7 @@ export * from "./runtime/auth/serviceToken.js";
48
49
  export * from "./runtime/auth/tokens.js";
49
50
  export * from "./runtime/auth/verifier.js";
50
51
  export * from "./contracts/controlPlane.js";
52
+ export * from "./contracts/scopedConfig.js";
51
53
  export * from "./runtime/uuid.js";
52
54
  export * from "./adapters/h3.js";
53
55
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}