@vibes.diy/identity 2.6.2 → 2.6.3

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.
@@ -0,0 +1,14 @@
1
+ import type { BaseXXEndeCoder, CertificatePayload } from "@fireproof/core-types-base";
2
+ import type { CertorIf } from "@fireproof/core-types-device-id";
3
+ export declare class Certor implements CertorIf {
4
+ #private;
5
+ readonly base64: BaseXXEndeCoder;
6
+ static fromString(base64: BaseXXEndeCoder, cert: string): Certor;
7
+ static fromUnverifiedJWT(base64: BaseXXEndeCoder, jwtString: string): Certor;
8
+ constructor(base64: BaseXXEndeCoder, cert: CertificatePayload);
9
+ asCert(): CertificatePayload;
10
+ parseCertificateSubject(s: string): Record<string, string>;
11
+ asSHA1(): Promise<string>;
12
+ asSHA256(): Promise<string>;
13
+ asBase64(): string;
14
+ }
@@ -0,0 +1,54 @@
1
+ import { toSortedObject } from "@adviser/cement";
2
+ import { CertificatePayloadSchema } from "@fireproof/core-types-base";
3
+ import { decodeJwt } from "jose";
4
+ import { base58btc } from "multiformats/bases/base58";
5
+ import { sha1 } from "multiformats/hashes/sha1";
6
+ import { sha256 } from "multiformats/hashes/sha2";
7
+ import { deepFreeze } from "@fireproof/core-runtime";
8
+ export class Certor {
9
+ #cert;
10
+ base64;
11
+ #strCert;
12
+ #uint8Cert;
13
+ static fromString(base64, cert) {
14
+ const certObj = CertificatePayloadSchema.parse(JSON.parse(base64.decode(cert)));
15
+ return new Certor(base64, certObj);
16
+ }
17
+ static fromUnverifiedJWT(base64, jwtString) {
18
+ const payload = decodeJwt(jwtString);
19
+ const certObj = CertificatePayloadSchema.parse(payload);
20
+ return new Certor(base64, certObj);
21
+ }
22
+ constructor(base64, cert) {
23
+ this.#cert = deepFreeze(toSortedObject(cert));
24
+ this.base64 = base64;
25
+ }
26
+ asCert() {
27
+ return this.#cert;
28
+ }
29
+ parseCertificateSubject(s) {
30
+ const parts = {};
31
+ s.split(",").forEach((part) => {
32
+ const [key, value] = part.trim().split("=");
33
+ if (key && value) {
34
+ parts[key] = value;
35
+ }
36
+ });
37
+ return parts;
38
+ }
39
+ async asSHA1() {
40
+ this.#uint8Cert ||= this.base64.decodeUint8(this.asBase64());
41
+ const val = await sha1.digest(this.#uint8Cert);
42
+ return base58btc.encode(val.bytes);
43
+ }
44
+ async asSHA256() {
45
+ this.#uint8Cert ||= this.base64.decodeUint8(this.asBase64());
46
+ const val = await sha256.digest(this.#uint8Cert);
47
+ return base58btc.encode(val.bytes);
48
+ }
49
+ asBase64() {
50
+ this.#strCert ||= this.base64.encode(JSON.stringify(toSortedObject(this.#cert)));
51
+ return this.#strCert;
52
+ }
53
+ }
54
+ //# sourceMappingURL=certor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certor.js","sourceRoot":"","sources":["../../jsr/device-id/certor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Subject, Extensions, FPDeviceIDCSRPayload, SuperThis } from "@fireproof/core-types-base";
2
+ import { Result } from "@adviser/cement";
3
+ import { DeviceIdKey } from "./key.js";
4
+ export declare class DeviceIdCSR {
5
+ #private;
6
+ constructor(sthis: SuperThis, key: DeviceIdKey);
7
+ createCSRPayload(subject: Subject, extensions?: Partial<Extensions>): Promise<FPDeviceIDCSRPayload>;
8
+ signCSR(payload: FPDeviceIDCSRPayload): Promise<Result<string>>;
9
+ createCSR(subject: Subject, extensions?: Partial<Extensions>): Promise<Result<string, Error>>;
10
+ }
@@ -0,0 +1,52 @@
1
+ import { calculateJwkThumbprint, SignJWT } from "jose";
2
+ import { FPDeviceIDCSRPayloadSchema } from "@fireproof/core-types-base";
3
+ import { exception2Result } from "@adviser/cement";
4
+ export class DeviceIdCSR {
5
+ #key;
6
+ #sthis;
7
+ constructor(sthis, key) {
8
+ this.#key = key;
9
+ this.#sthis = sthis;
10
+ }
11
+ async createCSRPayload(subject, extensions = {}) {
12
+ const now = Math.floor(Date.now() / 1000);
13
+ return FPDeviceIDCSRPayloadSchema.parse({
14
+ sub: subject.commonName,
15
+ iss: "csr-client",
16
+ aud: "certificate-authority",
17
+ iat: now,
18
+ exp: now + 3600,
19
+ jti: this.#sthis.nextId(16).str,
20
+ csr: {
21
+ subject: subject,
22
+ publicKey: await this.#key.publicKey(),
23
+ extensions: {
24
+ subjectAltName: extensions.subjectAltName || [],
25
+ keyUsage: extensions.keyUsage || ["digitalSignature", "keyEncipherment"],
26
+ extendedKeyUsage: extensions.extendedKeyUsage || ["serverAuth"],
27
+ },
28
+ },
29
+ });
30
+ }
31
+ async signCSR(payload) {
32
+ return exception2Result(async () => {
33
+ const publicJWK = await this.#key.publicKey();
34
+ const jws = await new SignJWT(payload)
35
+ .setProtectedHeader({
36
+ alg: "ES256",
37
+ typ: "CSR+JWT",
38
+ jwk: publicJWK,
39
+ kid: await calculateJwkThumbprint(publicJWK, "sha256"),
40
+ })
41
+ .setIssuedAt()
42
+ .setExpirationTime("1h")
43
+ .sign(await this.#key.exportPrivateJWK());
44
+ return jws;
45
+ });
46
+ }
47
+ async createCSR(subject, extensions = {}) {
48
+ const payload = await this.createCSRPayload(subject, extensions);
49
+ return this.signCSR(payload);
50
+ }
51
+ }
52
+ //# sourceMappingURL=csr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csr.js","sourceRoot":"","sources":["../../jsr/device-id/csr.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAqC,MAAM,MAAM,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAU,MAAM,iBAAiB,CAAC;AAG3D,MAAM,OAAO,WAAW;IACb,IAAI,CAAc;IAClB,MAAM,CAAY;IAE3B,YAAY,KAAgB,EAAE,GAAgB;QAC5C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAgB,EAAE,UAAU,GAAwB,EAAE;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,OAAO,0BAA0B,CAAC,KAAK,CAAC;YACtC,GAAG,EAAE,OAAO,CAAC,UAAU;YACvB,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,uBAAuB;YAC5B,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,GAAG,GAAG,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG;YAC/B,GAAG,EAAE;gBACH,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACtC,UAAU,EAAE;oBACV,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,EAAE;oBAC/C,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;oBACxE,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC;iBAChE;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA6B;QACzC,OAAO,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,OAAyB,CAAC;iBACrD,kBAAkB,CAAC;gBAClB,GAAG,EAAE,OAAO;gBACZ,GAAG,EAAE,SAAS;gBACd,GAAG,EAAE,SAAS;gBACd,GAAG,EAAE,MAAM,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC;aACvD,CAAC;iBACD,WAAW,EAAE;iBACb,iBAAiB,CAAC,IAAI,CAAC;iBACvB,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC5C,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAgB,EAAE,UAAU,GAAwB,EAAE;QACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import { Result } from "@adviser/cement";
2
+ import type { JWKPrivate, JWKPublic } from "@fireproof/core-types-base";
3
+ import type { DeviceIdKeyIf } from "@fireproof/core-types-device-id";
4
+ import { type GenerateKeyPairOptions } from "jose";
5
+ export declare class DeviceIdKey implements DeviceIdKeyIf {
6
+ #private;
7
+ static create(opts?: GenerateKeyPairOptions): Promise<DeviceIdKey>;
8
+ static createFromJWK(jwk: JWKPrivate, opts?: GenerateKeyPairOptions): Promise<Result<DeviceIdKey>>;
9
+ private constructor();
10
+ fingerPrint(): Promise<string>;
11
+ exportPrivateJWK(): Promise<JWKPrivate>;
12
+ publicKey(): Promise<JWKPublic>;
13
+ }
@@ -0,0 +1,46 @@
1
+ import { Result } from "@adviser/cement";
2
+ import { JWKPrivateSchema, JWKPublicSchema } from "@fireproof/core-types-base";
3
+ import { generateKeyPair, exportJWK, calculateJwkThumbprint } from "jose";
4
+ import { sts } from "@fireproof/core-runtime";
5
+ export class DeviceIdKey {
6
+ #privateKey;
7
+ static async create(opts = { extractable: true }) {
8
+ const pair = await generateKeyPair("ES256", opts);
9
+ return new DeviceIdKey(pair.privateKey);
10
+ }
11
+ static async createFromJWK(jwk, opts = { extractable: true }) {
12
+ const parsed = JWKPrivateSchema.safeParse(jwk);
13
+ if (!parsed.success) {
14
+ return Result.Err(`Invalid JWK: ${parsed.error.message}`);
15
+ }
16
+ const j = parsed.data;
17
+ const rKey = await sts.importJWK(j, undefined, opts);
18
+ if (rKey.isErr()) {
19
+ return Result.Err(rKey);
20
+ }
21
+ return Result.Ok(new DeviceIdKey(rKey.Ok().key));
22
+ }
23
+ constructor(pair) {
24
+ this.#privateKey = pair;
25
+ }
26
+ async fingerPrint() {
27
+ return calculateJwkThumbprint(await this.exportPrivateJWK(), "sha256");
28
+ }
29
+ async exportPrivateJWK() {
30
+ const jwk = await exportJWK(this.#privateKey);
31
+ const { success, data } = JWKPrivateSchema.safeParse(jwk);
32
+ if (!success || !data) {
33
+ throw new Error("Invalid JWK");
34
+ }
35
+ return data;
36
+ }
37
+ async publicKey() {
38
+ const privateJWK = await exportJWK(this.#privateKey);
39
+ const { success, data, error } = JWKPublicSchema.safeParse(privateJWK);
40
+ if (!success || !data) {
41
+ throw new Error(`Invalid public JWK: ${error.message}`);
42
+ }
43
+ return data;
44
+ }
45
+ }
46
+ //# sourceMappingURL=key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../jsr/device-id/key.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,sBAAsB,EAA+B,MAAM,MAAM,CAAC;AACvG,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAE9C,MAAM,OAAO,WAAW;IACb,WAAW,CAAY;IAEhC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAA2B,EAAE,WAAW,EAAE,IAAI,EAAE;QACtE,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,UAAuB,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAe,EAAE,IAAI,GAA2B,EAAE,WAAW,EAAE,IAAI,EAAE;QAC9F,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAgB,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,YAAoB,IAAe;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,sBAAsB,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import type { BaseXXEndeCoder, CertificatePayload, JWTPayload } from "@fireproof/core-types-base";
2
+ import { DeviceIdKey } from "./key.js";
3
+ export declare class DeviceIdSignMsg {
4
+ #private;
5
+ readonly base64: BaseXXEndeCoder;
6
+ constructor(base64: BaseXXEndeCoder, key: DeviceIdKey, cert: CertificatePayload);
7
+ sign<T extends JWTPayload>(payload: T, algorithm?: string): Promise<string>;
8
+ }
@@ -0,0 +1,31 @@
1
+ import { calculateJwkThumbprint, SignJWT } from "jose";
2
+ import { Certor } from "./certor.js";
3
+ export class DeviceIdSignMsg {
4
+ #key;
5
+ #cert;
6
+ base64;
7
+ constructor(base64, key, cert) {
8
+ this.#key = key;
9
+ this.#cert = cert;
10
+ this.base64 = base64;
11
+ }
12
+ async sign(payload, algorithm = "ES256") {
13
+ const certor = new Certor(this.base64, this.#cert);
14
+ const x5c = [certor.asBase64()];
15
+ const x5t = await certor.asSHA1();
16
+ const x5tS256 = await certor.asSHA256();
17
+ return await new SignJWT(payload)
18
+ .setProtectedHeader({
19
+ alg: algorithm,
20
+ typ: "JWT",
21
+ kid: await calculateJwkThumbprint(await this.#key.publicKey(), "sha256"),
22
+ x5c: x5c,
23
+ x5t: x5t,
24
+ "x5t#S256": x5tS256,
25
+ })
26
+ .setIssuedAt()
27
+ .setExpirationTime("1h")
28
+ .sign(await this.#key.exportPrivateJWK());
29
+ }
30
+ }
31
+ //# sourceMappingURL=sign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../jsr/device-id/sign.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAqC,MAAM,MAAM,CAAC;AAE1F,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,OAAO,eAAe;IACjB,IAAI,CAAc;IAClB,KAAK,CAAqB;IAC1B,MAAM,CAAkB;IAEjC,YAAY,MAAuB,EAAE,GAAgB,EAAE,IAAwB;QAC7E,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI,CAAuB,OAAU,EAAE,SAAS,GAAG,OAAO;QAC9D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,OAAO,MAAM,IAAI,OAAO,CAAC,OAAyB,CAAC;aAChD,kBAAkB,CAAC;YAClB,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,MAAM,sBAAsB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC;YACxE,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,GAAG;YACR,UAAU,EAAE,OAAO;SACpB,CAAC;aACD,WAAW,EAAE;aACb,iBAAiB,CAAC,IAAI,CAAC;aACvB,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC9C,CAAC;CACF"}
package/node.d.ts CHANGED
@@ -2,7 +2,10 @@ import { Result } from "@adviser/cement";
2
2
  import type { SuperThis } from "@fireproof/core-types-base";
3
3
  import type { DashAuthType } from "@fireproof/core-types-protocols-dashboard";
4
4
  export { getKeyBag } from "@fireproof/core-keybag";
5
- export { DeviceIdKey, DeviceIdSignMsg, DeviceIdCSR, DeviceIdCA } from "@fireproof/core-device-id";
5
+ export { DeviceIdKey } from "./device-id/key.js";
6
+ export { DeviceIdSignMsg } from "./device-id/sign.js";
7
+ export { DeviceIdCSR } from "./device-id/csr.js";
8
+ export { DeviceIdCA } from "@fireproof/core-device-id";
6
9
  export { deviceIdRegisterEvento, isResDeviceIdRegister } from "@fireproof/core-cli";
7
10
  export type { ReqDeviceIdRegister } from "@fireproof/core-cli";
8
11
  export declare function createDeviceIdGetToken(sthis: SuperThis, opts: {
package/node.js CHANGED
@@ -1,8 +1,12 @@
1
1
  import { Lazy, Result } from "@adviser/cement";
2
2
  import { getKeyBag } from "@fireproof/core-keybag";
3
- import { DeviceIdKey, DeviceIdSignMsg } from "@fireproof/core-device-id";
3
+ import { DeviceIdKey } from "./device-id/key.js";
4
+ import { DeviceIdSignMsg } from "./device-id/sign.js";
4
5
  export { getKeyBag } from "@fireproof/core-keybag";
5
- export { DeviceIdKey, DeviceIdSignMsg, DeviceIdCSR, DeviceIdCA } from "@fireproof/core-device-id";
6
+ export { DeviceIdKey } from "./device-id/key.js";
7
+ export { DeviceIdSignMsg } from "./device-id/sign.js";
8
+ export { DeviceIdCSR } from "./device-id/csr.js";
9
+ export { DeviceIdCA } from "@fireproof/core-device-id";
6
10
  export { deviceIdRegisterEvento, isResDeviceIdRegister } from "@fireproof/core-cli";
7
11
  export async function createDeviceIdGetToken(sthis, opts) {
8
12
  const kb = await getKeyBag(sthis);
package/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../jsr/node.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMzE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAIlG,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAiBpF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAgB,EAChB,IAAoE;IAEpE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,uDAAuD,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAG,CAAC,kBAAkB,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,IAAI,CACT,KAAK,IAAmC,EAAE;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAC7B;YACE,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,WAAW;YAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE;YAC1C,GAAG,EAAE,EAAE,GAAG;YACV,GAAG,EAAE,GAAG,GAAG,GAAG;YACd,GAAG,EAAE,GAAG,GAAG,CAAC;YACZ,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG;SACI,EAC7B,OAAO,CACR,CAAC;QACF,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC,EACD,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CACpC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../jsr/node.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAIvD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAiBpF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAgB,EAChB,IAAoE;IAEpE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,uDAAuD,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAG,CAAC,kBAAkB,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,IAAI,CACT,KAAK,IAAmC,EAAE;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAC7B;YACE,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,WAAW;YAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE;YAC1C,GAAG,EAAE,EAAE,GAAG;YACV,GAAG,EAAE,GAAG,GAAG,GAAG;YACd,GAAG,EAAE,GAAG,GAAG,CAAC;YACZ,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG;SACI,EAC7B,OAAO,CACR,CAAC;QACF,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC,EACD,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CACpC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/identity",
3
- "version": "2.6.2",
3
+ "version": "2.6.3",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "exports": {
@@ -22,6 +22,8 @@
22
22
  "@fireproof/core-types-base": "~0.24.19",
23
23
  "@fireproof/core-types-device-id": "~0.24.19",
24
24
  "@fireproof/core-types-protocols-dashboard": "~0.24.19",
25
+ "jose": "~6.2.2",
26
+ "multiformats": "~13.4.2",
25
27
  "zod": "~4.4.3"
26
28
  },
27
29
  "repository": {