Initial Commit

This commit is contained in:
2026-05-27 23:47:53 +01:00
parent fbc70f96e6
commit 9b28db724f
18103 changed files with 1600554 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
import { describe, expect, it } from "@suaveplan/testing/runner";
import {
type AuthProvider,
CapabilityTokenIssuer,
CrossMeshTrustValidator,
MeshMembershipVerifier,
type TokenSigner,
} from "../../src/index.js";
describe("auth end-to-end", () => {
it("verifies join, issues token, validates trust across meshes", async () => {
const authProvider: AuthProvider = {
verifyToken: async () => ({
identity: "alice",
publicKeyHex: "deadbeef",
}),
};
const verifier = new MeshMembershipVerifier({
authProvider,
meshId: "mesh-A",
allowedCapabilities: ["host", "relay", "bridge"],
});
const signer: TokenSigner = {
sign: async () => "sig",
verify: async () => true,
};
const issuer = new CapabilityTokenIssuer({ signer, clock: () => 0 });
const result = await verifier.verifyJoinRequest({
peerId: "alice",
meshId: "mesh-A",
authToken: "tok",
publicKeyHex: "deadbeef",
claimedCapabilities: ["host", "bridge"],
});
expect(result.assignedTier).toBe(0);
const token = await issuer.issue(
result.peerId,
"mesh-A",
result.assignedTier,
result.capabilities
);
await issuer.validate(token);
const trust = new CrossMeshTrustValidator();
trust.add({
fromMeshId: "mesh-A",
toMeshId: "mesh-B",
directions: ["relay", "backbone"],
establishedAt: 0,
});
trust.assertTrusts("mesh-A", "mesh-B", "backbone");
});
});