@betterportal/framework 10.5.0 → 10.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/codegen/emitter.d.ts.map +1 -1
- package/lib/codegen/emitter.js +12 -1
- package/lib/codegen/emitter.js.map +1 -1
- package/lib/codegen/scanner.d.ts +1 -0
- package/lib/codegen/scanner.d.ts.map +1 -1
- package/lib/codegen/scanner.js +26 -0
- package/lib/codegen/scanner.js.map +1 -1
- package/lib/codegen/validate.d.ts.map +1 -1
- package/lib/codegen/validate.js +7 -0
- package/lib/codegen/validate.js.map +1 -1
- package/lib/contracts/controlPlane.d.ts +10 -1
- package/lib/contracts/controlPlane.d.ts.map +1 -1
- package/lib/contracts/platformConfig.d.ts +116 -0
- package/lib/contracts/platformConfig.d.ts.map +1 -1
- package/lib/contracts/platformConfig.js +50 -0
- package/lib/contracts/platformConfig.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/runtime/auth/envelope.d.ts.map +1 -1
- package/lib/runtime/auth/envelope.js +11 -13
- package/lib/runtime/auth/envelope.js.map +1 -1
- package/lib/runtime/auth/externalOidc.d.ts +9 -0
- package/lib/runtime/auth/externalOidc.d.ts.map +1 -0
- package/lib/runtime/auth/externalOidc.js +46 -0
- package/lib/runtime/auth/externalOidc.js.map +1 -0
- package/lib/runtime/auth/jwks.d.ts.map +1 -1
- package/lib/runtime/auth/jwks.js +51 -11
- package/lib/runtime/auth/jwks.js.map +1 -1
- package/lib/runtime/auth/jwtCrypto.d.ts +8 -0
- package/lib/runtime/auth/jwtCrypto.d.ts.map +1 -0
- package/lib/runtime/auth/jwtCrypto.js +42 -0
- package/lib/runtime/auth/jwtCrypto.js.map +1 -0
- package/lib/runtime/auth/serviceToken.d.ts.map +1 -1
- package/lib/runtime/auth/serviceToken.js +7 -8
- package/lib/runtime/auth/serviceToken.js.map +1 -1
- package/lib/runtime/auth/tokens.d.ts.map +1 -1
- package/lib/runtime/auth/tokens.js +8 -11
- package/lib/runtime/auth/tokens.js.map +1 -1
- package/lib/runtime/configTicket.d.ts.map +1 -1
- package/lib/runtime/configTicket.js +10 -33
- package/lib/runtime/configTicket.js.map +1 -1
- package/lib/runtime/llms.d.ts.map +1 -1
- package/lib/runtime/llms.js +2 -0
- package/lib/runtime/llms.js.map +1 -1
- package/lib/runtime/previewConfig.d.ts +8 -0
- package/lib/runtime/previewConfig.d.ts.map +1 -0
- package/lib/runtime/previewConfig.js +63 -0
- package/lib/runtime/previewConfig.js.map +1 -0
- package/package.json +6 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwks.js","sourceRoot":"","sources":["../../../src/runtime/auth/jwks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAQvC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;AACpD,MAAM,
|
|
1
|
+
{"version":3,"file":"jwks.js","sourceRoot":"","sources":["../../../src/runtime/auth/jwks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface VerifyRs256JwtOptions {
|
|
2
|
+
issuer?: string | string[];
|
|
3
|
+
audience?: string | string[];
|
|
4
|
+
clockToleranceSeconds?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function signRs256Jwt(payload: Readonly<Record<string, unknown>>, privateKeyPem: string, protectedHeader: Readonly<Record<string, unknown>>): string;
|
|
7
|
+
export declare function verifyRs256Jwt(token: string, publicKeyPem: string, options?: VerifyRs256JwtOptions): Promise<Record<string, unknown>>;
|
|
8
|
+
//# sourceMappingURL=jwtCrypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwtCrypto.d.ts","sourceRoot":"","sources":["../../../src/runtime/auth/jwtCrypto.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC1C,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACjD,MAAM,CAUR;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAyBlC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createPrivateKey, createPublicKey, sign as signData } from "node:crypto";
|
|
2
|
+
import { errors, jwtVerify } from "jose";
|
|
3
|
+
export function signRs256Jwt(payload, privateKeyPem, protectedHeader) {
|
|
4
|
+
const privateKey = createPrivateKey(privateKeyPem);
|
|
5
|
+
if (privateKey.asymmetricKeyType !== "rsa" || (privateKey.asymmetricKeyDetails?.modulusLength ?? 0) < 2048) {
|
|
6
|
+
throw new Error("RS256 requires an RSA private key with a modulus of at least 2048 bits");
|
|
7
|
+
}
|
|
8
|
+
const encodedHeader = Buffer.from(JSON.stringify(protectedHeader)).toString("base64url");
|
|
9
|
+
const encodedPayload = Buffer.from(JSON.stringify(payload)).toString("base64url");
|
|
10
|
+
const signingInput = `${encodedHeader}.${encodedPayload}`;
|
|
11
|
+
const signature = signData("RSA-SHA256", Buffer.from(signingInput), privateKey).toString("base64url");
|
|
12
|
+
return `${signingInput}.${signature}`;
|
|
13
|
+
}
|
|
14
|
+
export async function verifyRs256Jwt(token, publicKeyPem, options = {}) {
|
|
15
|
+
try {
|
|
16
|
+
const { payload } = await jwtVerify(token, createPublicKey(publicKeyPem), {
|
|
17
|
+
algorithms: ["RS256"],
|
|
18
|
+
issuer: options.issuer,
|
|
19
|
+
audience: options.audience,
|
|
20
|
+
clockTolerance: options.clockToleranceSeconds ?? 0
|
|
21
|
+
});
|
|
22
|
+
return payload;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
if (error instanceof errors.JWTExpired) {
|
|
26
|
+
throw new Error("jwt expired", { cause: error });
|
|
27
|
+
}
|
|
28
|
+
if (error instanceof errors.JWTClaimValidationFailed) {
|
|
29
|
+
const message = error.claim === "nbf"
|
|
30
|
+
? "jwt not active"
|
|
31
|
+
: error.claim === "iss"
|
|
32
|
+
? "jwt issuer invalid"
|
|
33
|
+
: error.claim === "aud"
|
|
34
|
+
? "jwt audience invalid"
|
|
35
|
+
: undefined;
|
|
36
|
+
if (message)
|
|
37
|
+
throw new Error(message, { cause: error });
|
|
38
|
+
}
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=jwtCrypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwtCrypto.js","sourceRoot":"","sources":["../../../src/runtime/auth/jwtCrypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAQzC,MAAM,UAAU,YAAY,CAC1B,OAA0C,EAC1C,aAAqB,EACrB,eAAkD;IAElD,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,iBAAiB,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,aAAa,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;QAC3G,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,GAAG,aAAa,IAAI,cAAc,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtG,OAAO,GAAG,YAAY,IAAI,SAAS,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,YAAoB,EACpB,UAAiC,EAAE;IAEnC,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,EAAE;YACxE,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,cAAc,EAAE,OAAO,CAAC,qBAAqB,IAAI,CAAC;SACnD,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,MAAM,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,KAAK,YAAY,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK;gBACnC,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK;oBACrB,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK;wBACrB,CAAC,CAAC,sBAAsB;wBACxB,CAAC,CAAC,SAAS,CAAC;YAClB,IAAI,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceToken.d.ts","sourceRoot":"","sources":["../../../src/runtime/auth/serviceToken.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serviceToken.d.ts","sourceRoot":"","sources":["../../../src/runtime/auth/serviceToken.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAS/C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IAC1B,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG;gBAA3C,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,GAAG,GAAG,GAAG;CAIxD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAwBzE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMrD;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,uBAAuB,CAAC,CAwDlC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import jwt from "jsonwebtoken";
|
|
2
1
|
import { ServiceTokenClaimsSchema } from "../../contracts/m2m.js";
|
|
2
|
+
import { signRs256Jwt, verifyRs256Jwt } from "./jwtCrypto.js";
|
|
3
3
|
import { uuidv7 } from "../uuid.js";
|
|
4
4
|
const ALGORITHM = "RS256";
|
|
5
5
|
const TOKEN_TYP = "BP-S2S-JWT";
|
|
@@ -32,10 +32,10 @@ export function signServiceToken(options) {
|
|
|
32
32
|
jti: uuidv7(),
|
|
33
33
|
tokenType: "service"
|
|
34
34
|
});
|
|
35
|
-
return
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
return signRs256Jwt(claims, options.keyPair.privateKeyPem, {
|
|
36
|
+
alg: ALGORITHM,
|
|
37
|
+
typ: TOKEN_TYP,
|
|
38
|
+
kid: options.keyPair.kid
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
export function isServiceToken(token) {
|
|
@@ -60,9 +60,8 @@ export async function authorizeServiceToken(token, options) {
|
|
|
60
60
|
throw new ServiceTokenAuthorizationError("Service signing key is not trusted", 401);
|
|
61
61
|
let verified;
|
|
62
62
|
try {
|
|
63
|
-
verified =
|
|
64
|
-
|
|
65
|
-
clockTolerance: options.clockToleranceSeconds ?? 5
|
|
63
|
+
verified = await verifyRs256Jwt(token, source.publicKeyPem, {
|
|
64
|
+
clockToleranceSeconds: options.clockToleranceSeconds ?? 5
|
|
66
65
|
});
|
|
67
66
|
}
|
|
68
67
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceToken.js","sourceRoot":"","sources":["../../../src/runtime/auth/serviceToken.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serviceToken.js","sourceRoot":"","sources":["../../../src/runtime/auth/serviceToken.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/runtime/auth/tokens.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/runtime/auth/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE1F,OAAO,EAAuB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAOxE,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG;QAC/D,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAiBvD;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAiF5F;AAgCD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI7D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import jwt from "jsonwebtoken";
|
|
2
1
|
import { JwtClaimsSchema } from "../../contracts/auth.js";
|
|
3
2
|
import { uuidv7 } from "../uuid.js";
|
|
4
3
|
import { getSigningKeyForKid } from "./jwks.js";
|
|
4
|
+
import { signRs256Jwt, verifyRs256Jwt } from "./jwtCrypto.js";
|
|
5
5
|
const ALLOWED_ALGORITHM = "RS256";
|
|
6
6
|
const ALLOWED_TYP = "JWT";
|
|
7
7
|
const KID_PATTERN = /^[A-Za-z0-9_-]+$/;
|
|
@@ -15,12 +15,11 @@ export function signJwt(options) {
|
|
|
15
15
|
jti: jti ?? generateJti()
|
|
16
16
|
};
|
|
17
17
|
const validated = JwtClaimsSchema.parse(fullClaims);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
};
|
|
23
|
-
return jwt.sign(validated, options.privateKeyPem, signOptions);
|
|
18
|
+
return signRs256Jwt(validated, options.privateKeyPem, {
|
|
19
|
+
alg: ALLOWED_ALGORITHM,
|
|
20
|
+
typ: ALLOWED_TYP,
|
|
21
|
+
kid: options.kid
|
|
22
|
+
});
|
|
24
23
|
}
|
|
25
24
|
export async function verifyJwt(token, options) {
|
|
26
25
|
if (typeof token !== "string" || token.length === 0) {
|
|
@@ -52,12 +51,10 @@ export async function verifyJwt(token, options) {
|
|
|
52
51
|
: await getSigningKeyForKid(requireJwks(options), header.kid);
|
|
53
52
|
let libVerified;
|
|
54
53
|
try {
|
|
55
|
-
libVerified =
|
|
56
|
-
algorithms: [ALLOWED_ALGORITHM],
|
|
54
|
+
libVerified = await verifyRs256Jwt(token, publicKeyPem, {
|
|
57
55
|
issuer: options.expectedIssuer,
|
|
58
56
|
audience: options.expectedAudience,
|
|
59
|
-
|
|
60
|
-
complete: false
|
|
57
|
+
clockToleranceSeconds: options.clockToleranceSeconds ?? 0
|
|
61
58
|
});
|
|
62
59
|
}
|
|
63
60
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/runtime/auth/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/runtime/auth/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configTicket.d.ts","sourceRoot":"","sources":["../../src/runtime/configTicket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configTicket.d.ts","sourceRoot":"","sources":["../../src/runtime/configTicket.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC/B,MAAM,+BAA+B,CAAC;AASvC,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,gCAAgC,CAAC;AAIpE,MAAM,WAAW,8BAA8B;IAC7C,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,oFAAoF;IACpF,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,MAAM,CAqBvF;AAID,MAAM,WAAW,gCAAgC;IAC/C,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACxD,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,yBAAyB,CAAC,CAkEpC;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,gCAAgC,GACxC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAS/F;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import jwt from "jsonwebtoken";
|
|
2
|
-
import jwksClient from "jwks-rsa";
|
|
3
1
|
import { ServiceConfigTicketClaimsSchema } from "../contracts/serviceConfig.js";
|
|
4
2
|
import { uuidv7 } from "./uuid.js";
|
|
3
|
+
import { clearJwksCache, getSigningKeyForKid } from "./auth/jwks.js";
|
|
4
|
+
import { signRs256Jwt, verifyRs256Jwt } from "./auth/jwtCrypto.js";
|
|
5
5
|
const ALLOWED_ALGORITHM = "RS256";
|
|
6
6
|
const ALLOWED_TYP = "JWT";
|
|
7
7
|
const KID_PATTERN = /^[A-Za-z0-9_-]+$/;
|
|
@@ -27,33 +27,12 @@ export function signServiceConfigTicket(options) {
|
|
|
27
27
|
...(options.bindingId ? { bindingId: options.bindingId } : {}),
|
|
28
28
|
actions: options.actions
|
|
29
29
|
});
|
|
30
|
-
return
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
return signRs256Jwt(claims, options.privateKeyPem, {
|
|
31
|
+
alg: ALLOWED_ALGORITHM,
|
|
32
|
+
typ: ALLOWED_TYP,
|
|
33
|
+
kid: options.kid
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
-
const clientCache = new Map();
|
|
37
|
-
const CLIENT_CACHE_TTL_MS = 30 * 60 * 1000;
|
|
38
|
-
function getJwksClient(jwksUri, issuer) {
|
|
39
|
-
const cacheKey = `${issuer}|${jwksUri}`;
|
|
40
|
-
const now = Date.now();
|
|
41
|
-
const existing = clientCache.get(cacheKey);
|
|
42
|
-
if (existing && now - existing.lastUsed < CLIENT_CACHE_TTL_MS) {
|
|
43
|
-
existing.lastUsed = now;
|
|
44
|
-
return existing.client;
|
|
45
|
-
}
|
|
46
|
-
const client = jwksClient({
|
|
47
|
-
jwksUri,
|
|
48
|
-
cache: true,
|
|
49
|
-
cacheMaxAge: 10 * 60 * 1000,
|
|
50
|
-
rateLimit: true,
|
|
51
|
-
jwksRequestsPerMinute: 30,
|
|
52
|
-
timeout: 5000
|
|
53
|
-
});
|
|
54
|
-
clientCache.set(cacheKey, { client, lastUsed: now });
|
|
55
|
-
return client;
|
|
56
|
-
}
|
|
57
36
|
/**
|
|
58
37
|
* Verify a CP-signed config ticket against the CP JWKS. Throws on any failure.
|
|
59
38
|
* Pins RS256, rejects jku/x5u key references, and re-checks iss/aud/exp/serviceId
|
|
@@ -86,19 +65,17 @@ export async function verifyServiceConfigTicket(token, options) {
|
|
|
86
65
|
publicKeyPem = await options.keyResolver(kid);
|
|
87
66
|
}
|
|
88
67
|
else if (options.jwksUri) {
|
|
89
|
-
publicKeyPem =
|
|
68
|
+
publicKeyPem = await getSigningKeyForKid({ issuer: options.issuer, jwksUri: options.jwksUri }, kid);
|
|
90
69
|
}
|
|
91
70
|
else {
|
|
92
71
|
throw new Error("verifyServiceConfigTicket requires either jwksUri or keyResolver");
|
|
93
72
|
}
|
|
94
73
|
let verified;
|
|
95
74
|
try {
|
|
96
|
-
verified =
|
|
97
|
-
algorithms: [ALLOWED_ALGORITHM],
|
|
75
|
+
verified = await verifyRs256Jwt(token, publicKeyPem, {
|
|
98
76
|
issuer: options.issuer,
|
|
99
77
|
audience: CONFIG_TICKET_AUDIENCE,
|
|
100
|
-
|
|
101
|
-
complete: false
|
|
78
|
+
clockToleranceSeconds: options.clockToleranceSeconds ?? 0
|
|
102
79
|
});
|
|
103
80
|
}
|
|
104
81
|
catch (error) {
|
|
@@ -143,7 +120,7 @@ export function createCpConfigTicketValidator(options) {
|
|
|
143
120
|
};
|
|
144
121
|
}
|
|
145
122
|
export function clearConfigTicketJwksCache() {
|
|
146
|
-
|
|
123
|
+
clearJwksCache();
|
|
147
124
|
}
|
|
148
125
|
function parseHeader(encodedHeader) {
|
|
149
126
|
let json;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configTicket.js","sourceRoot":"","sources":["../../src/runtime/configTicket.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"configTicket.js","sourceRoot":"","sources":["../../src/runtime/configTicket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../../src/runtime/llms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,OAAO,EAAwB,KAAK,8BAA8B,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAItG,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;KAAE,CAAC;IAC/F,QAAQ,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAYD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,GAAE,8BAAmC,GAC/C,gBAAgB,GAAG,IAAI,CAsCzB;AASD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAC3C,OAAO,CAAC,EAAE,MAAM,GACf,SAAS,CA4BX;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CA+BtE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAkCpE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../../src/runtime/llms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,OAAO,EAAwB,KAAK,8BAA8B,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAItG,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;KAAE,CAAC;IAC/F,QAAQ,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAYD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,GAAE,8BAAmC,GAC/C,gBAAgB,GAAG,IAAI,CAsCzB;AASD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAC3C,OAAO,CAAC,EAAE,MAAM,GACf,SAAS,CA4BX;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CA+BtE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAkCpE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAwBpE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAoBhH"}
|
package/lib/runtime/llms.js
CHANGED
|
@@ -148,6 +148,8 @@ export function renderThemeLlmsDev(context) {
|
|
|
148
148
|
`- [Current app API guide](${absolute(context.app.url, "/llms-api.txt")}): Installed services and live schemas.`,
|
|
149
149
|
"",
|
|
150
150
|
"For TypeScript, use `bp client install <registry-ref-or-plugin-id>` and `bp client sync`. For another language, consume `/.well-known/bp/schema.json` or a registry schema directly.",
|
|
151
|
+
"A Node service's `BPServiceDefinition` is `{ manifest }`. Do not import or return `.bp-generated/registry`; codegen creates it and BetterPortal loads it automatically.",
|
|
152
|
+
"Export `PluginFeature` from the service plugin index, usually as `Pick<Plugin, ...>`, to expose only the plugin methods route handlers need. If omitted, generated handlers intentionally receive `Record<never, never>`.",
|
|
151
153
|
"Service requests use `routeUrl`, not `uiRouteUrl`; `uiRouteUrl` is only for GET navigation through a mounted page route. For another service, pass its declared dependency alias as `serviceId`; both helpers resolve it through the synced application route index.",
|
|
152
154
|
"HTML renderers receive `ViewRenderContext` as their second argument. Its limited `tenant` and `app` projections are presentation-only; authorization and business data remain in the route handler.",
|
|
153
155
|
"App auth login/logout references are view IDs, not paths. Resolve them with `ctx.url.uiRoute(viewId, { serviceId })`; do not add renderer-only navigation to the JSON response schema.",
|
package/lib/runtime/llms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llms.js","sourceRoot":"","sources":["../../src/runtime/llms.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"llms.js","sourceRoot":"","sources":["../../src/runtime/llms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as av from "anyvali";
|
|
2
|
+
import type { ConfigSchemaDescriptor } from "../contracts/config.js";
|
|
3
|
+
export declare function buildPreviewConfigSchema(descriptors: readonly ConfigSchemaDescriptor[], scope: "tenant" | "app"): av.BaseSchema<unknown, Record<string, string | undefined>>;
|
|
4
|
+
export declare function generatePreviewConfigKey(): string;
|
|
5
|
+
/** AES-256-GCM envelope. Browser implementations must append the 16-byte tag to ciphertext. */
|
|
6
|
+
export declare function encryptPreviewConfigValue(key: string, scope: "tenant" | "app", path: readonly (string | number)[], value: unknown): string;
|
|
7
|
+
export declare function decryptPreviewConfigValue(key: string, scope: "tenant" | "app", path: readonly (string | number)[], value: unknown): string;
|
|
8
|
+
//# sourceMappingURL=previewConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"previewConfig.d.ts","sourceRoot":"","sources":["../../src/runtime/previewConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAOrE,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,SAAS,sBAAsB,EAAE,EAC9C,KAAK,EAAE,QAAQ,GAAG,KAAK,GACtB,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAW5D;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,+FAA+F;AAC/F,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,GAAG,KAAK,EACvB,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAClC,KAAK,EAAE,OAAO,GACb,MAAM,CAOR;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,GAAG,KAAK,EACvB,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAClC,KAAK,EAAE,OAAO,GACb,MAAM,CAgBR"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as av from "anyvali";
|
|
2
|
+
import { createCipheriv, createDecipheriv, randomBytes } from "node:crypto";
|
|
3
|
+
const KEY_PREFIX = "bp_pck_";
|
|
4
|
+
const ENCRYPTED_PREFIX = "encrypted:bp-aes256gcm-v1:";
|
|
5
|
+
const IV_BYTES = 12;
|
|
6
|
+
const TAG_BYTES = 16;
|
|
7
|
+
export function buildPreviewConfigSchema(descriptors, scope) {
|
|
8
|
+
const shape = {};
|
|
9
|
+
for (const field of descriptors.flatMap((descriptor) => descriptor.fields).filter((field) => field.scope === scope)) {
|
|
10
|
+
let schema = av.string().maxLength(255).describe(field.description, {
|
|
11
|
+
title: field.title,
|
|
12
|
+
sensitive: field.visibility === "secret"
|
|
13
|
+
});
|
|
14
|
+
if (!field.required)
|
|
15
|
+
schema = av.optional(schema);
|
|
16
|
+
shape[field.key] = schema;
|
|
17
|
+
}
|
|
18
|
+
return av.object(shape, { unknownKeys: "reject" });
|
|
19
|
+
}
|
|
20
|
+
export function generatePreviewConfigKey() {
|
|
21
|
+
return `${KEY_PREFIX}${randomBytes(32).toString("base64url")}`;
|
|
22
|
+
}
|
|
23
|
+
/** AES-256-GCM envelope. Browser implementations must append the 16-byte tag to ciphertext. */
|
|
24
|
+
export function encryptPreviewConfigValue(key, scope, path, value) {
|
|
25
|
+
if (typeof value !== "string")
|
|
26
|
+
throw new Error("Preview config sensitive values must be strings");
|
|
27
|
+
const iv = randomBytes(IV_BYTES);
|
|
28
|
+
const cipher = createCipheriv("aes-256-gcm", previewConfigKeyBytes(key), iv);
|
|
29
|
+
cipher.setAAD(previewConfigAad(scope, path));
|
|
30
|
+
const ciphertext = Buffer.concat([cipher.update(value, "utf8"), cipher.final(), cipher.getAuthTag()]);
|
|
31
|
+
return `${ENCRYPTED_PREFIX}${iv.toString("base64url")}:${ciphertext.toString("base64url")}`;
|
|
32
|
+
}
|
|
33
|
+
export function decryptPreviewConfigValue(key, scope, path, value) {
|
|
34
|
+
if (typeof value !== "string" || !value.startsWith(ENCRYPTED_PREFIX)) {
|
|
35
|
+
throw new Error("Preview config contains an invalid encrypted value");
|
|
36
|
+
}
|
|
37
|
+
const [ivValue, ciphertextValue, ...extra] = value.slice(ENCRYPTED_PREFIX.length).split(":");
|
|
38
|
+
if (!ivValue || !ciphertextValue || extra.length > 0)
|
|
39
|
+
throw new Error("Preview config encrypted envelope is invalid");
|
|
40
|
+
const iv = Buffer.from(ivValue, "base64url");
|
|
41
|
+
const payload = Buffer.from(ciphertextValue, "base64url");
|
|
42
|
+
if (iv.length !== IV_BYTES || payload.length <= TAG_BYTES)
|
|
43
|
+
throw new Error("Preview config encrypted envelope is invalid");
|
|
44
|
+
const decipher = createDecipheriv("aes-256-gcm", previewConfigKeyBytes(key), iv);
|
|
45
|
+
decipher.setAAD(previewConfigAad(scope, path));
|
|
46
|
+
decipher.setAuthTag(payload.subarray(payload.length - TAG_BYTES));
|
|
47
|
+
return Buffer.concat([
|
|
48
|
+
decipher.update(payload.subarray(0, payload.length - TAG_BYTES)),
|
|
49
|
+
decipher.final()
|
|
50
|
+
]).toString("utf8");
|
|
51
|
+
}
|
|
52
|
+
function previewConfigKeyBytes(key) {
|
|
53
|
+
if (!key.startsWith(KEY_PREFIX))
|
|
54
|
+
throw new Error(`Preview config key must start with ${KEY_PREFIX}`);
|
|
55
|
+
const decoded = Buffer.from(key.slice(KEY_PREFIX.length), "base64url");
|
|
56
|
+
if (decoded.length !== 32)
|
|
57
|
+
throw new Error("Preview config key must contain 32 bytes");
|
|
58
|
+
return decoded;
|
|
59
|
+
}
|
|
60
|
+
function previewConfigAad(scope, path) {
|
|
61
|
+
return Buffer.from(`betterportal.preview-config.v1\n${scope}\n${path.map(String).join(".")}`, "utf8");
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=previewConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"previewConfig.js","sourceRoot":"","sources":["../../src/runtime/previewConfig.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@betterportal/framework",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.6.1",
|
|
4
4
|
"description": "BetterPortal v10 core library for Node.js",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -27,18 +27,17 @@
|
|
|
27
27
|
"license": "(AGPL-3.0-only OR Commercial)",
|
|
28
28
|
"type": "module",
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@types/
|
|
31
|
-
"tsx": "^4.
|
|
30
|
+
"@types/node": "^26.4.0",
|
|
31
|
+
"tsx": "^4.23.12"
|
|
32
32
|
},
|
|
33
33
|
"files": [
|
|
34
34
|
"lib/**/*",
|
|
35
35
|
"README.md"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"anyvali": "^1.0
|
|
39
|
-
"h3": "^2.0.1-rc.
|
|
40
|
-
"
|
|
41
|
-
"jwks-rsa": "^4.1.0",
|
|
38
|
+
"anyvali": "^1.1.0",
|
|
39
|
+
"h3": "^2.0.1-rc.29",
|
|
40
|
+
"jose": "^6.2.10",
|
|
42
41
|
"typescript": "^6.0.3",
|
|
43
42
|
"yaml": "^2.8.3"
|
|
44
43
|
},
|