@kya-os/contracts 1.7.31 → 1.7.33
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/dist/__fixtures__/index.d.ts +8 -0
- package/dist/__fixtures__/index.d.ts.map +1 -0
- package/dist/__fixtures__/index.js +29 -0
- package/dist/__fixtures__/index.js.map +1 -0
- package/dist/__fixtures__/proof/ed25519-fixtures.d.ts +253 -0
- package/dist/__fixtures__/proof/ed25519-fixtures.d.ts.map +1 -0
- package/dist/__fixtures__/proof/ed25519-fixtures.js +247 -0
- package/dist/__fixtures__/proof/ed25519-fixtures.js.map +1 -0
- package/dist/__fixtures__/proof/keys-and-payloads.json +103 -0
- package/dist/agent-deployment-utils.d.ts +1 -0
- package/dist/agent-deployment-utils.d.ts.map +1 -0
- package/dist/agent-deployment-utils.js +1 -0
- package/dist/agent-deployment-utils.js.map +1 -0
- package/dist/agent-deployment.d.ts +19 -18
- package/dist/agent-deployment.d.ts.map +1 -0
- package/dist/agent-deployment.js +1 -0
- package/dist/agent-deployment.js.map +1 -0
- package/dist/agentshield-api/admin-schemas.d.ts +3 -2
- package/dist/agentshield-api/admin-schemas.d.ts.map +1 -0
- package/dist/agentshield-api/admin-schemas.js +1 -0
- package/dist/agentshield-api/admin-schemas.js.map +1 -0
- package/dist/agentshield-api/admin-types.d.ts +1 -0
- package/dist/agentshield-api/admin-types.d.ts.map +1 -0
- package/dist/agentshield-api/admin-types.js +1 -0
- package/dist/agentshield-api/admin-types.js.map +1 -0
- package/dist/agentshield-api/endpoints.d.ts +1 -0
- package/dist/agentshield-api/endpoints.d.ts.map +1 -0
- package/dist/agentshield-api/endpoints.js +1 -0
- package/dist/agentshield-api/endpoints.js.map +1 -0
- package/dist/agentshield-api/index.d.ts +1 -0
- package/dist/agentshield-api/index.d.ts.map +1 -0
- package/dist/agentshield-api/index.js +1 -0
- package/dist/agentshield-api/index.js.map +1 -0
- package/dist/agentshield-api/schemas.d.ts +463 -462
- package/dist/agentshield-api/schemas.d.ts.map +1 -0
- package/dist/agentshield-api/schemas.js +1 -0
- package/dist/agentshield-api/schemas.js.map +1 -0
- package/dist/agentshield-api/types.d.ts +1 -0
- package/dist/agentshield-api/types.d.ts.map +1 -0
- package/dist/agentshield-api/types.js +1 -0
- package/dist/agentshield-api/types.js.map +1 -0
- package/dist/audit/index.d.ts +4 -4
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/cli.d.ts +45 -44
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -0
- package/dist/compute-binding.d.ts +7 -6
- package/dist/compute-binding.d.ts.map +1 -0
- package/dist/compute-binding.js +1 -0
- package/dist/compute-binding.js.map +1 -0
- package/dist/compute.d.ts +9 -8
- package/dist/compute.d.ts.map +1 -0
- package/dist/compute.js +1 -0
- package/dist/compute.js.map +1 -0
- package/dist/config/base.d.ts +1 -0
- package/dist/config/base.d.ts.map +1 -0
- package/dist/config/base.js +1 -0
- package/dist/config/base.js.map +1 -0
- package/dist/config/builder.d.ts +1 -0
- package/dist/config/builder.d.ts.map +1 -0
- package/dist/config/builder.js +1 -0
- package/dist/config/builder.js.map +1 -0
- package/dist/config/client-messages.d.ts +1 -0
- package/dist/config/client-messages.d.ts.map +1 -0
- package/dist/config/client-messages.js +1 -0
- package/dist/config/client-messages.js.map +1 -0
- package/dist/config/delegation.d.ts +1 -0
- package/dist/config/delegation.d.ts.map +1 -0
- package/dist/config/delegation.js +1 -0
- package/dist/config/delegation.js.map +1 -0
- package/dist/config/identity.d.ts +99 -98
- package/dist/config/identity.d.ts.map +1 -0
- package/dist/config/identity.js +1 -0
- package/dist/config/identity.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/proofing.d.ts +1 -0
- package/dist/config/proofing.d.ts.map +1 -0
- package/dist/config/proofing.js +1 -0
- package/dist/config/proofing.js.map +1 -0
- package/dist/config/tool-context.d.ts +1 -0
- package/dist/config/tool-context.d.ts.map +1 -0
- package/dist/config/tool-context.js +1 -0
- package/dist/config/tool-context.js.map +1 -0
- package/dist/config/tool-protection.d.ts +1 -0
- package/dist/config/tool-protection.d.ts.map +1 -0
- package/dist/config/tool-protection.js.map +1 -0
- package/dist/consent/index.d.ts +1 -0
- package/dist/consent/index.d.ts.map +1 -0
- package/dist/consent/index.js +1 -0
- package/dist/consent/index.js.map +1 -0
- package/dist/consent/schemas.d.ts +73 -72
- package/dist/consent/schemas.d.ts.map +1 -0
- package/dist/consent/schemas.js +1 -0
- package/dist/consent/schemas.js.map +1 -0
- package/dist/consent/types.d.ts +1 -0
- package/dist/consent/types.d.ts.map +1 -0
- package/dist/consent/types.js +1 -0
- package/dist/consent/types.js.map +1 -0
- package/dist/dashboard-config/default-config.d.ts +1 -0
- package/dist/dashboard-config/default-config.d.ts.map +1 -0
- package/dist/dashboard-config/default-config.js.map +1 -0
- package/dist/dashboard-config/index.d.ts +1 -0
- package/dist/dashboard-config/index.d.ts.map +1 -0
- package/dist/dashboard-config/index.js.map +1 -0
- package/dist/dashboard-config/schemas.d.ts +2905 -2381
- package/dist/dashboard-config/schemas.d.ts.map +1 -0
- package/dist/dashboard-config/schemas.js.map +1 -0
- package/dist/dashboard-config/types.d.ts +1 -0
- package/dist/dashboard-config/types.d.ts.map +1 -0
- package/dist/dashboard-config/types.js.map +1 -0
- package/dist/delegation/constraints.d.ts +33 -32
- package/dist/delegation/constraints.d.ts.map +1 -0
- package/dist/delegation/constraints.js +1 -0
- package/dist/delegation/constraints.js.map +1 -0
- package/dist/delegation/index.d.ts +1 -0
- package/dist/delegation/index.d.ts.map +1 -0
- package/dist/delegation/index.js +1 -0
- package/dist/delegation/index.js.map +1 -0
- package/dist/delegation/schemas.d.ts +611 -610
- package/dist/delegation/schemas.d.ts.map +1 -0
- package/dist/delegation/schemas.js +1 -0
- package/dist/delegation/schemas.js.map +1 -0
- package/dist/deploy/index.d.ts +1 -0
- package/dist/deploy/index.d.ts.map +1 -0
- package/dist/deploy/index.js +1 -0
- package/dist/deploy/index.js.map +1 -0
- package/dist/deploy/schemas.d.ts +130 -129
- package/dist/deploy/schemas.d.ts.map +1 -0
- package/dist/deploy/schemas.js +1 -0
- package/dist/deploy/schemas.js.map +1 -0
- package/dist/deploy/types.d.ts +1 -0
- package/dist/deploy/types.d.ts.map +1 -0
- package/dist/deploy/types.js +1 -0
- package/dist/deploy/types.js.map +1 -0
- package/dist/did/index.d.ts +1 -0
- package/dist/did/index.d.ts.map +1 -0
- package/dist/did/index.js +1 -0
- package/dist/did/index.js.map +1 -0
- package/dist/did/resolve-contract.d.ts +1 -0
- package/dist/did/resolve-contract.d.ts.map +1 -0
- package/dist/did/resolve-contract.js +1 -0
- package/dist/did/resolve-contract.js.map +1 -0
- package/dist/did/schemas.d.ts +1 -0
- package/dist/did/schemas.d.ts.map +1 -0
- package/dist/did/schemas.js +1 -0
- package/dist/did/schemas.js.map +1 -0
- package/dist/did/types.d.ts +1 -0
- package/dist/did/types.d.ts.map +1 -0
- package/dist/did/types.js +1 -0
- package/dist/did/types.js.map +1 -0
- package/dist/env/constants.d.ts +1 -0
- package/dist/env/constants.d.ts.map +1 -0
- package/dist/env/constants.js +1 -0
- package/dist/env/constants.js.map +1 -0
- package/dist/env/index.d.ts +1 -0
- package/dist/env/index.d.ts.map +1 -0
- package/dist/env/index.js +1 -0
- package/dist/env/index.js.map +1 -0
- package/dist/gateway/agents.d.ts +1 -0
- package/dist/gateway/agents.d.ts.map +1 -0
- package/dist/gateway/agents.js +1 -0
- package/dist/gateway/agents.js.map +1 -0
- package/dist/gateway/cron.d.ts +3 -2
- package/dist/gateway/cron.d.ts.map +1 -0
- package/dist/gateway/cron.js +1 -0
- package/dist/gateway/cron.js.map +1 -0
- package/dist/gateway/index.d.ts +1 -0
- package/dist/gateway/index.d.ts.map +1 -0
- package/dist/gateway/index.js +1 -0
- package/dist/gateway/index.js.map +1 -0
- package/dist/gateway/sessions.d.ts +7 -6
- package/dist/gateway/sessions.d.ts.map +1 -0
- package/dist/gateway/sessions.js +1 -0
- package/dist/gateway/sessions.js.map +1 -0
- package/dist/gateway/skills.d.ts +97 -96
- package/dist/gateway/skills.d.ts.map +1 -0
- package/dist/gateway/skills.js +1 -0
- package/dist/gateway/skills.js.map +1 -0
- package/dist/gateway/usage.d.ts +1 -0
- package/dist/gateway/usage.d.ts.map +1 -0
- package/dist/gateway/usage.js +1 -0
- package/dist/gateway/usage.js.map +1 -0
- package/dist/handshake.d.ts +79 -56
- package/dist/handshake.d.ts.map +1 -0
- package/dist/handshake.js +17 -0
- package/dist/handshake.js.map +1 -0
- package/dist/identity/index.d.ts +1 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +1 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/identity/schemas.d.ts +1 -0
- package/dist/identity/schemas.d.ts.map +1 -0
- package/dist/identity/schemas.js +1 -0
- package/dist/identity/schemas.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/molti/admin-ws.d.ts +117 -116
- package/dist/molti/admin-ws.d.ts.map +1 -0
- package/dist/molti/admin-ws.js +1 -0
- package/dist/molti/admin-ws.js.map +1 -0
- package/dist/molti/index.d.ts +1 -0
- package/dist/molti/index.d.ts.map +1 -0
- package/dist/molti/index.js +1 -0
- package/dist/molti/index.js.map +1 -0
- package/dist/molti/schemas.d.ts +99 -98
- package/dist/molti/schemas.d.ts.map +1 -0
- package/dist/molti/schemas.js +1 -0
- package/dist/molti/schemas.js.map +1 -0
- package/dist/molti/types.d.ts +1 -0
- package/dist/molti/types.d.ts.map +1 -0
- package/dist/molti/types.js +1 -0
- package/dist/molti/types.js.map +1 -0
- package/dist/openclaw/index.d.ts +20 -0
- package/dist/openclaw/index.js +28 -0
- package/dist/openclaw/types.d.ts +714 -0
- package/dist/openclaw/types.js +122 -0
- package/dist/org-secret-definitions.d.ts +18 -0
- package/dist/org-secret-definitions.js +72 -0
- package/dist/pairing/index.d.ts +1 -0
- package/dist/pairing/index.d.ts.map +1 -0
- package/dist/pairing/index.js +1 -0
- package/dist/pairing/index.js.map +1 -0
- package/dist/policy/index.d.ts +1 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +1 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/policy/schemas.d.ts +554 -553
- package/dist/policy/schemas.d.ts.map +1 -0
- package/dist/policy/schemas.js +1 -0
- package/dist/policy/schemas.js.map +1 -0
- package/dist/proof/index.d.ts +1 -0
- package/dist/proof/index.d.ts.map +1 -0
- package/dist/proof/index.js +1 -0
- package/dist/proof/index.js.map +1 -0
- package/dist/proof/proof-record.d.ts +49 -48
- package/dist/proof/proof-record.d.ts.map +1 -0
- package/dist/proof/proof-record.js +1 -0
- package/dist/proof/proof-record.js.map +1 -0
- package/dist/proof/signing-spec.d.ts +9 -8
- package/dist/proof/signing-spec.d.ts.map +1 -0
- package/dist/proof/signing-spec.js +1 -0
- package/dist/proof/signing-spec.js.map +1 -0
- package/dist/proof.d.ts +69 -68
- package/dist/proof.d.ts.map +1 -0
- package/dist/proof.js +1 -0
- package/dist/proof.js.map +1 -0
- package/dist/registry.d.ts +25 -24
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +1 -0
- package/dist/registry.js.map +1 -0
- package/dist/reputation/api.d.ts +157 -156
- package/dist/reputation/api.d.ts.map +1 -0
- package/dist/reputation/api.js +1 -0
- package/dist/reputation/api.js.map +1 -0
- package/dist/reputation/constants.d.ts +1 -0
- package/dist/reputation/constants.d.ts.map +1 -0
- package/dist/reputation/constants.js +1 -0
- package/dist/reputation/constants.js.map +1 -0
- package/dist/reputation/credentials.d.ts +49 -48
- package/dist/reputation/credentials.d.ts.map +1 -0
- package/dist/reputation/credentials.js +1 -0
- package/dist/reputation/credentials.js.map +1 -0
- package/dist/reputation/index.d.ts +1 -0
- package/dist/reputation/index.d.ts.map +1 -0
- package/dist/reputation/index.js +1 -0
- package/dist/reputation/index.js.map +1 -0
- package/dist/reputation/schemas.d.ts +49 -48
- package/dist/reputation/schemas.d.ts.map +1 -0
- package/dist/reputation/schemas.js +1 -0
- package/dist/reputation/schemas.js.map +1 -0
- package/dist/runtime/errors.d.ts +1 -0
- package/dist/runtime/errors.d.ts.map +1 -0
- package/dist/runtime/errors.js +1 -0
- package/dist/runtime/errors.js.map +1 -0
- package/dist/runtime/headers.d.ts +1 -0
- package/dist/runtime/headers.d.ts.map +1 -0
- package/dist/runtime/headers.js +1 -0
- package/dist/runtime/headers.js.map +1 -0
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/test.d.ts +23 -22
- package/dist/test.d.ts.map +1 -0
- package/dist/test.js +1 -0
- package/dist/test.js.map +1 -0
- package/dist/tlkrc/index.d.ts +1 -0
- package/dist/tlkrc/index.d.ts.map +1 -0
- package/dist/tlkrc/index.js +1 -0
- package/dist/tlkrc/index.js.map +1 -0
- package/dist/tlkrc/rotation.d.ts +13 -12
- package/dist/tlkrc/rotation.d.ts.map +1 -0
- package/dist/tlkrc/rotation.js +1 -0
- package/dist/tlkrc/rotation.js.map +1 -0
- package/dist/tool-protection/index.d.ts +203 -48
- package/dist/tool-protection/index.d.ts.map +1 -0
- package/dist/tool-protection/index.js +58 -1
- package/dist/tool-protection/index.js.map +1 -0
- package/dist/utils/validation.d.ts +1 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +1 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/vault/audit-events.d.ts +21 -0
- package/dist/vault/audit-events.js +23 -0
- package/dist/vault/index.d.ts +10 -0
- package/dist/vault/index.js +18 -0
- package/dist/vault/schemas.d.ts +71 -0
- package/dist/vault/schemas.js +52 -0
- package/dist/vault/types.d.ts +15 -0
- package/dist/vault/types.js +9 -0
- package/dist/vc/index.d.ts +1 -0
- package/dist/vc/index.d.ts.map +1 -0
- package/dist/vc/index.js +1 -0
- package/dist/vc/index.js.map +1 -0
- package/dist/vc/schemas.d.ts +1 -0
- package/dist/vc/schemas.d.ts.map +1 -0
- package/dist/vc/schemas.js +1 -0
- package/dist/vc/schemas.js.map +1 -0
- package/dist/vc/statuslist.d.ts +1 -0
- package/dist/vc/statuslist.d.ts.map +1 -0
- package/dist/vc/statuslist.js +1 -0
- package/dist/vc/statuslist.js.map +1 -0
- package/dist/verifier/index.d.ts +1 -0
- package/dist/verifier/index.d.ts.map +1 -0
- package/dist/verifier/index.js +1 -0
- package/dist/verifier/index.js.map +1 -0
- package/dist/verifier.d.ts +18 -17
- package/dist/verifier.d.ts.map +1 -0
- package/dist/verifier.js +1 -0
- package/dist/verifier.js.map +1 -0
- package/dist/well-known/index.d.ts +73 -72
- package/dist/well-known/index.d.ts.map +1 -0
- package/dist/well-known/index.js +1 -0
- package/dist/well-known/index.js.map +1 -0
- package/package.json +5 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test Fixtures Export
|
|
3
|
+
*
|
|
4
|
+
* Exports all test fixtures for use in test suites across packages.
|
|
5
|
+
*/
|
|
6
|
+
export * from './proof/ed25519-fixtures.js';
|
|
7
|
+
export { default as keysAndPayloads } from './proof/keys-and-payloads.json';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/__fixtures__/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAyB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Test Fixtures Export
|
|
4
|
+
*
|
|
5
|
+
* Exports all test fixtures for use in test suites across packages.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.keysAndPayloads = void 0;
|
|
26
|
+
__exportStar(require("./proof/ed25519-fixtures.js"), exports);
|
|
27
|
+
var keys_and_payloads_json_1 = require("./proof/keys-and-payloads.json");
|
|
28
|
+
Object.defineProperty(exports, "keysAndPayloads", { enumerable: true, get: function () { return __importDefault(keys_and_payloads_json_1).default; } });
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/__fixtures__/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;AAEH,8DAA4C;AAC5C,yEAAoG;AAA3F,0IAAA,OAAO,OAAmB"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive Ed25519 Test Fixtures
|
|
3
|
+
*
|
|
4
|
+
* Deterministic test fixtures for cryptographic operations.
|
|
5
|
+
* These fixtures are used across all test suites to ensure consistent behavior.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Valid Ed25519 Key Pair #1
|
|
9
|
+
* Generated deterministically from seed "test-seed-fixture-1"
|
|
10
|
+
*/
|
|
11
|
+
export declare const VALID_KEY_PAIR_1: {
|
|
12
|
+
jwk: {
|
|
13
|
+
kty: string;
|
|
14
|
+
crv: string;
|
|
15
|
+
x: string;
|
|
16
|
+
kid: string;
|
|
17
|
+
use: string;
|
|
18
|
+
};
|
|
19
|
+
privateKeyBase64: string;
|
|
20
|
+
publicKeyBase64: string;
|
|
21
|
+
privateKeyBytes: Uint8Array<ArrayBuffer>;
|
|
22
|
+
publicKeyBytes: Uint8Array<ArrayBuffer>;
|
|
23
|
+
did: string;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Valid Ed25519 Key Pair #2
|
|
27
|
+
* Generated deterministically from seed "test-seed-fixture-2"
|
|
28
|
+
*/
|
|
29
|
+
export declare const VALID_KEY_PAIR_2: {
|
|
30
|
+
jwk: {
|
|
31
|
+
kty: string;
|
|
32
|
+
crv: string;
|
|
33
|
+
x: string;
|
|
34
|
+
kid: string;
|
|
35
|
+
};
|
|
36
|
+
privateKeyBase64: string;
|
|
37
|
+
publicKeyBase64: string;
|
|
38
|
+
did: string;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Invalid Key Pair (wrong curve)
|
|
42
|
+
*/
|
|
43
|
+
export declare const INVALID_KEY_PAIR_WRONG_CURVE: {
|
|
44
|
+
jwk: {
|
|
45
|
+
kty: string;
|
|
46
|
+
crv: string;
|
|
47
|
+
x: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Invalid Key Pair (wrong key type)
|
|
52
|
+
*/
|
|
53
|
+
export declare const INVALID_KEY_PAIR_WRONG_KTY: {
|
|
54
|
+
jwk: {
|
|
55
|
+
kty: string;
|
|
56
|
+
crv: string;
|
|
57
|
+
x: string;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Invalid Key Pair (missing x field)
|
|
62
|
+
*/
|
|
63
|
+
export declare const INVALID_KEY_PAIR_MISSING_X: {
|
|
64
|
+
jwk: {
|
|
65
|
+
kty: string;
|
|
66
|
+
crv: string;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Sample Canonical JSON Payloads
|
|
71
|
+
*/
|
|
72
|
+
export declare const CANONICAL_PAYLOADS: {
|
|
73
|
+
/**
|
|
74
|
+
* Minimal valid proof payload
|
|
75
|
+
*/
|
|
76
|
+
minimal: {
|
|
77
|
+
aud: string;
|
|
78
|
+
sub: string;
|
|
79
|
+
iss: string;
|
|
80
|
+
nonce: string;
|
|
81
|
+
ts: number;
|
|
82
|
+
sessionId: string;
|
|
83
|
+
requestHash: string;
|
|
84
|
+
responseHash: string;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Full proof payload with all fields
|
|
88
|
+
*/
|
|
89
|
+
full: {
|
|
90
|
+
aud: string;
|
|
91
|
+
sub: string;
|
|
92
|
+
iss: string;
|
|
93
|
+
nonce: string;
|
|
94
|
+
ts: number;
|
|
95
|
+
sessionId: string;
|
|
96
|
+
requestHash: string;
|
|
97
|
+
responseHash: string;
|
|
98
|
+
scopeId: string;
|
|
99
|
+
delegationRef: string;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Payload with different field ordering (should canonicalize to same bytes)
|
|
103
|
+
*/
|
|
104
|
+
reordered: {
|
|
105
|
+
responseHash: string;
|
|
106
|
+
requestHash: string;
|
|
107
|
+
sessionId: string;
|
|
108
|
+
ts: number;
|
|
109
|
+
nonce: string;
|
|
110
|
+
iss: string;
|
|
111
|
+
sub: string;
|
|
112
|
+
aud: string;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Valid Compact JWS Examples
|
|
117
|
+
* Format: header.payload.signature (3 parts)
|
|
118
|
+
*/
|
|
119
|
+
export declare const VALID_COMPACT_JWS: {
|
|
120
|
+
/**
|
|
121
|
+
* Valid compact JWS with minimal payload
|
|
122
|
+
*/
|
|
123
|
+
minimal: {
|
|
124
|
+
header: {
|
|
125
|
+
alg: string;
|
|
126
|
+
typ: string;
|
|
127
|
+
};
|
|
128
|
+
payload: {
|
|
129
|
+
aud: string;
|
|
130
|
+
sub: string;
|
|
131
|
+
iss: string;
|
|
132
|
+
nonce: string;
|
|
133
|
+
ts: number;
|
|
134
|
+
sessionId: string;
|
|
135
|
+
requestHash: string;
|
|
136
|
+
responseHash: string;
|
|
137
|
+
};
|
|
138
|
+
jws: string;
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Invalid JWS Examples
|
|
143
|
+
*/
|
|
144
|
+
export declare const INVALID_JWS: {
|
|
145
|
+
/**
|
|
146
|
+
* Wrong algorithm (should be EdDSA)
|
|
147
|
+
*/
|
|
148
|
+
wrongAlgorithm: {
|
|
149
|
+
header: {
|
|
150
|
+
alg: string;
|
|
151
|
+
typ: string;
|
|
152
|
+
};
|
|
153
|
+
payload: {
|
|
154
|
+
aud: string;
|
|
155
|
+
sub: string;
|
|
156
|
+
iss: string;
|
|
157
|
+
nonce: string;
|
|
158
|
+
ts: number;
|
|
159
|
+
sessionId: string;
|
|
160
|
+
requestHash: string;
|
|
161
|
+
responseHash: string;
|
|
162
|
+
};
|
|
163
|
+
jws: string;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Malformed JWS (wrong number of parts)
|
|
167
|
+
*/
|
|
168
|
+
malformed: {
|
|
169
|
+
jws: string;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Empty JWS
|
|
173
|
+
*/
|
|
174
|
+
empty: {
|
|
175
|
+
jws: string;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Expired timestamp (too old)
|
|
179
|
+
*/
|
|
180
|
+
expired: {
|
|
181
|
+
header: {
|
|
182
|
+
alg: string;
|
|
183
|
+
typ: string;
|
|
184
|
+
};
|
|
185
|
+
payload: {
|
|
186
|
+
ts: number;
|
|
187
|
+
aud: string;
|
|
188
|
+
sub: string;
|
|
189
|
+
iss: string;
|
|
190
|
+
nonce: string;
|
|
191
|
+
sessionId: string;
|
|
192
|
+
requestHash: string;
|
|
193
|
+
responseHash: string;
|
|
194
|
+
};
|
|
195
|
+
jws: string;
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* Future timestamp (too new)
|
|
199
|
+
*/
|
|
200
|
+
future: {
|
|
201
|
+
header: {
|
|
202
|
+
alg: string;
|
|
203
|
+
typ: string;
|
|
204
|
+
};
|
|
205
|
+
payload: {
|
|
206
|
+
ts: number;
|
|
207
|
+
aud: string;
|
|
208
|
+
sub: string;
|
|
209
|
+
iss: string;
|
|
210
|
+
nonce: string;
|
|
211
|
+
sessionId: string;
|
|
212
|
+
requestHash: string;
|
|
213
|
+
responseHash: string;
|
|
214
|
+
};
|
|
215
|
+
jws: string;
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* Detached JWS Examples
|
|
220
|
+
* Format: header..signature (2 parts, payload separate)
|
|
221
|
+
*/
|
|
222
|
+
export declare const VALID_DETACHED_JWS: {
|
|
223
|
+
/**
|
|
224
|
+
* Valid detached JWS with separate payload
|
|
225
|
+
*/
|
|
226
|
+
minimal: {
|
|
227
|
+
jws: string;
|
|
228
|
+
payload: {
|
|
229
|
+
aud: string;
|
|
230
|
+
sub: string;
|
|
231
|
+
iss: string;
|
|
232
|
+
nonce: string;
|
|
233
|
+
ts: number;
|
|
234
|
+
sessionId: string;
|
|
235
|
+
requestHash: string;
|
|
236
|
+
responseHash: string;
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
};
|
|
240
|
+
/**
|
|
241
|
+
* Test Helper: Generate deterministic Ed25519 key pair from seed
|
|
242
|
+
*/
|
|
243
|
+
export declare function generateDeterministicKeyPair(seed: string): {
|
|
244
|
+
privateKey: Uint8Array;
|
|
245
|
+
publicKey: Uint8Array;
|
|
246
|
+
jwk: {
|
|
247
|
+
kty: "OKP";
|
|
248
|
+
crv: "Ed25519";
|
|
249
|
+
x: string;
|
|
250
|
+
kid?: string;
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
//# sourceMappingURL=ed25519-fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519-fixtures.d.ts","sourceRoot":"","sources":["../../../src/__fixtures__/proof/ed25519-fixtures.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;CAuB5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;CAU5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;CAMxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;CAMtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;CAMtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B;;OAEG;;;;;;;;;;;IAYH;;OAEG;;;;;;;;;;;;;IAcH;;OAEG;;;;;;;;;;;CAWJ,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;;;;;;;;;;;;;;;;;;CAWJ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;;;;;;;;;;;;;;;;;;IAUH;;OAEG;;;;IAKH;;OAEG;;;;IAKH;;OAEG;;;;;;;;;;;;;;;;;;IAaH;;OAEG;;;;;;;;;;;;;;;;;;CAYJ,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B;;OAEG;;;;;;;;;;;;;;CAKJ,CAAC;AAEF;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG;IAC1D,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;IACtB,GAAG,EAAE;QACH,GAAG,EAAE,KAAK,CAAC;QACX,GAAG,EAAE,SAAS,CAAC;QACf,CAAC,EAAE,MAAM,CAAC;QACV,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CA6BA"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Comprehensive Ed25519 Test Fixtures
|
|
4
|
+
*
|
|
5
|
+
* Deterministic test fixtures for cryptographic operations.
|
|
6
|
+
* These fixtures are used across all test suites to ensure consistent behavior.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.VALID_DETACHED_JWS = exports.INVALID_JWS = exports.VALID_COMPACT_JWS = exports.CANONICAL_PAYLOADS = exports.INVALID_KEY_PAIR_MISSING_X = exports.INVALID_KEY_PAIR_WRONG_KTY = exports.INVALID_KEY_PAIR_WRONG_CURVE = exports.VALID_KEY_PAIR_2 = exports.VALID_KEY_PAIR_1 = void 0;
|
|
10
|
+
exports.generateDeterministicKeyPair = generateDeterministicKeyPair;
|
|
11
|
+
/**
|
|
12
|
+
* Valid Ed25519 Key Pair #1
|
|
13
|
+
* Generated deterministically from seed "test-seed-fixture-1"
|
|
14
|
+
*/
|
|
15
|
+
exports.VALID_KEY_PAIR_1 = {
|
|
16
|
+
// JWK format (RFC 7517)
|
|
17
|
+
jwk: {
|
|
18
|
+
kty: "OKP",
|
|
19
|
+
crv: "Ed25519",
|
|
20
|
+
x: "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ", // Base64url encoded public key
|
|
21
|
+
kid: "test-key-1",
|
|
22
|
+
use: "sig",
|
|
23
|
+
},
|
|
24
|
+
// Base64 encoded keys (for CryptoProvider interface)
|
|
25
|
+
privateKeyBase64: "dGVzdC1zZWVkLWZpeHR1cmUtMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
|
26
|
+
publicKeyBase64: "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
|
|
27
|
+
// Raw bytes (32 bytes each for Ed25519)
|
|
28
|
+
privateKeyBytes: new Uint8Array([
|
|
29
|
+
116, 101, 115, 116, 45, 115, 101, 101, 100, 45, 102, 105, 120, 116, 117, 114,
|
|
30
|
+
101, 45, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
|
31
|
+
]),
|
|
32
|
+
publicKeyBytes: new Uint8Array([
|
|
33
|
+
84, 42, 104, 217, 179, 11, 134, 126, 162, 90, 75, 188, 48, 171, 210, 46,
|
|
34
|
+
13, 153, 2, 128, 190, 158, 83, 178, 61, 84, 26, 59, 113, 113, 85, 228
|
|
35
|
+
]),
|
|
36
|
+
// DID format
|
|
37
|
+
did: "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Valid Ed25519 Key Pair #2
|
|
41
|
+
* Generated deterministically from seed "test-seed-fixture-2"
|
|
42
|
+
*/
|
|
43
|
+
exports.VALID_KEY_PAIR_2 = {
|
|
44
|
+
jwk: {
|
|
45
|
+
kty: "OKP",
|
|
46
|
+
crv: "Ed25519",
|
|
47
|
+
x: "j9VXvYFhN2pLmK8nQwRtS5dC7bE4fG6hJ3kM9oP1qR2sT",
|
|
48
|
+
kid: "test-key-2",
|
|
49
|
+
},
|
|
50
|
+
privateKeyBase64: "dGVzdC1zZWVkLWZpeHR1cmUtMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
|
51
|
+
publicKeyBase64: "j9VXvYFhN2pLmK8nQwRtS5dC7bE4fG6hJ3kM9oP1qR2sT",
|
|
52
|
+
did: "did:key:z6MkjL2nW8bR9cD4eF5gH6iJ7kL8mN9oP0qR1sT2uV3wX",
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Invalid Key Pair (wrong curve)
|
|
56
|
+
*/
|
|
57
|
+
exports.INVALID_KEY_PAIR_WRONG_CURVE = {
|
|
58
|
+
jwk: {
|
|
59
|
+
kty: "EC",
|
|
60
|
+
crv: "P-256", // Wrong curve - should be Ed25519
|
|
61
|
+
x: "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Invalid Key Pair (wrong key type)
|
|
66
|
+
*/
|
|
67
|
+
exports.INVALID_KEY_PAIR_WRONG_KTY = {
|
|
68
|
+
jwk: {
|
|
69
|
+
kty: "RSA", // Wrong key type - should be OKP
|
|
70
|
+
crv: "Ed25519",
|
|
71
|
+
x: "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Invalid Key Pair (missing x field)
|
|
76
|
+
*/
|
|
77
|
+
exports.INVALID_KEY_PAIR_MISSING_X = {
|
|
78
|
+
jwk: {
|
|
79
|
+
kty: "OKP",
|
|
80
|
+
crv: "Ed25519",
|
|
81
|
+
// Missing x field
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Sample Canonical JSON Payloads
|
|
86
|
+
*/
|
|
87
|
+
exports.CANONICAL_PAYLOADS = {
|
|
88
|
+
/**
|
|
89
|
+
* Minimal valid proof payload
|
|
90
|
+
*/
|
|
91
|
+
minimal: {
|
|
92
|
+
aud: "test-audience",
|
|
93
|
+
sub: "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
94
|
+
iss: "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
95
|
+
nonce: "test-nonce-123",
|
|
96
|
+
ts: 1609459200,
|
|
97
|
+
sessionId: "test-session-456",
|
|
98
|
+
requestHash: "sha256:" + "a".repeat(64),
|
|
99
|
+
responseHash: "sha256:" + "b".repeat(64),
|
|
100
|
+
},
|
|
101
|
+
/**
|
|
102
|
+
* Full proof payload with all fields
|
|
103
|
+
*/
|
|
104
|
+
full: {
|
|
105
|
+
aud: "test-audience",
|
|
106
|
+
sub: "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
107
|
+
iss: "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
108
|
+
nonce: "test-nonce-123",
|
|
109
|
+
ts: 1609459200,
|
|
110
|
+
sessionId: "test-session-456",
|
|
111
|
+
requestHash: "sha256:" + "a".repeat(64),
|
|
112
|
+
responseHash: "sha256:" + "b".repeat(64),
|
|
113
|
+
scopeId: "test-tool:execute",
|
|
114
|
+
delegationRef: "del-abc123",
|
|
115
|
+
},
|
|
116
|
+
/**
|
|
117
|
+
* Payload with different field ordering (should canonicalize to same bytes)
|
|
118
|
+
*/
|
|
119
|
+
reordered: {
|
|
120
|
+
responseHash: "sha256:" + "b".repeat(64),
|
|
121
|
+
requestHash: "sha256:" + "a".repeat(64),
|
|
122
|
+
sessionId: "test-session-456",
|
|
123
|
+
ts: 1609459200,
|
|
124
|
+
nonce: "test-nonce-123",
|
|
125
|
+
iss: "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
126
|
+
sub: "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
127
|
+
aud: "test-audience",
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Valid Compact JWS Examples
|
|
132
|
+
* Format: header.payload.signature (3 parts)
|
|
133
|
+
*/
|
|
134
|
+
exports.VALID_COMPACT_JWS = {
|
|
135
|
+
/**
|
|
136
|
+
* Valid compact JWS with minimal payload
|
|
137
|
+
*/
|
|
138
|
+
minimal: {
|
|
139
|
+
header: {
|
|
140
|
+
alg: "EdDSA",
|
|
141
|
+
typ: "JWT",
|
|
142
|
+
},
|
|
143
|
+
payload: exports.CANONICAL_PAYLOADS.minimal,
|
|
144
|
+
// Note: Signature would be generated from actual signing
|
|
145
|
+
// This is a placeholder format
|
|
146
|
+
jws: "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZXN0LWF1ZGllbmNlIiwic3ViIjoiZGlkOmtleTp6Nk1raGFYZ0JaRHZvdERrTDUyNTdmYWl6dGlHaUMyUXRLTEducG5uRUd0YTJkb0siLCJpc3MiOiJkaWQ6a2V5Ono2TWtoYVhnQlpEdm90RGtMNTI1N2ZhaXp0aUdpQzJRdEtMR25wbm5FR3RhMmRvSyIsIm5vbmNlIjoidGVzdC1ub25jZS0xMjMiLCJ0cyI6MTYwOTQ1OTIwMCwic2Vzc2lvbklkIjoidGVzdC1zZXNzaW9uLTQ1NiIsInJlcXVlc3RIYXNoIjoic2hhMjU2OiIuY29uY2F0KCJhIi5yZXBlYXQoNjQpKSIsInJlc3BvbnNlSGFzaCI6InNoYTI1NjoiLmNvbmNhdCgiYiIucmVwZWF0KDY0KSkifQ.signature-placeholder",
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Invalid JWS Examples
|
|
151
|
+
*/
|
|
152
|
+
exports.INVALID_JWS = {
|
|
153
|
+
/**
|
|
154
|
+
* Wrong algorithm (should be EdDSA)
|
|
155
|
+
*/
|
|
156
|
+
wrongAlgorithm: {
|
|
157
|
+
header: {
|
|
158
|
+
alg: "RS256", // Wrong algorithm
|
|
159
|
+
typ: "JWT",
|
|
160
|
+
},
|
|
161
|
+
payload: exports.CANONICAL_PAYLOADS.minimal,
|
|
162
|
+
jws: "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZXN0LWF1ZGllbmNlIn0.invalid-signature",
|
|
163
|
+
},
|
|
164
|
+
/**
|
|
165
|
+
* Malformed JWS (wrong number of parts)
|
|
166
|
+
*/
|
|
167
|
+
malformed: {
|
|
168
|
+
jws: "header.payload", // Missing signature part
|
|
169
|
+
},
|
|
170
|
+
/**
|
|
171
|
+
* Empty JWS
|
|
172
|
+
*/
|
|
173
|
+
empty: {
|
|
174
|
+
jws: "",
|
|
175
|
+
},
|
|
176
|
+
/**
|
|
177
|
+
* Expired timestamp (too old)
|
|
178
|
+
*/
|
|
179
|
+
expired: {
|
|
180
|
+
header: {
|
|
181
|
+
alg: "EdDSA",
|
|
182
|
+
typ: "JWT",
|
|
183
|
+
},
|
|
184
|
+
payload: {
|
|
185
|
+
...exports.CANONICAL_PAYLOADS.minimal,
|
|
186
|
+
ts: 1000000000, // Very old timestamp
|
|
187
|
+
},
|
|
188
|
+
jws: "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ0cyI6MTAwMDAwMDAwMH0.expired-signature",
|
|
189
|
+
},
|
|
190
|
+
/**
|
|
191
|
+
* Future timestamp (too new)
|
|
192
|
+
*/
|
|
193
|
+
future: {
|
|
194
|
+
header: {
|
|
195
|
+
alg: "EdDSA",
|
|
196
|
+
typ: "JWT",
|
|
197
|
+
},
|
|
198
|
+
payload: {
|
|
199
|
+
...exports.CANONICAL_PAYLOADS.minimal,
|
|
200
|
+
ts: 9999999999, // Very future timestamp
|
|
201
|
+
},
|
|
202
|
+
jws: "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ0cyI6OTk5OTk5OTk5OX0.future-signature",
|
|
203
|
+
},
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* Detached JWS Examples
|
|
207
|
+
* Format: header..signature (2 parts, payload separate)
|
|
208
|
+
*/
|
|
209
|
+
exports.VALID_DETACHED_JWS = {
|
|
210
|
+
/**
|
|
211
|
+
* Valid detached JWS with separate payload
|
|
212
|
+
*/
|
|
213
|
+
minimal: {
|
|
214
|
+
jws: "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9..signature-placeholder",
|
|
215
|
+
payload: exports.CANONICAL_PAYLOADS.minimal,
|
|
216
|
+
},
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* Test Helper: Generate deterministic Ed25519 key pair from seed
|
|
220
|
+
*/
|
|
221
|
+
function generateDeterministicKeyPair(seed) {
|
|
222
|
+
// Use crypto.createHash for deterministic key generation
|
|
223
|
+
// In real tests, this would use @noble/ed25519 or similar
|
|
224
|
+
const crypto = require("crypto");
|
|
225
|
+
const hash = crypto.createHash("sha256").update(seed).digest();
|
|
226
|
+
// Use hash as private key (32 bytes)
|
|
227
|
+
const privateKey = hash.slice(0, 32);
|
|
228
|
+
// Generate public key deterministically
|
|
229
|
+
const publicKeyHash = crypto.createHash("sha256").update(privateKey).digest().slice(0, 32);
|
|
230
|
+
// Convert to base64url for JWK
|
|
231
|
+
const publicKeyBase64url = Buffer.from(publicKeyHash)
|
|
232
|
+
.toString("base64")
|
|
233
|
+
.replace(/\+/g, "-")
|
|
234
|
+
.replace(/\//g, "_")
|
|
235
|
+
.replace(/=/g, "");
|
|
236
|
+
return {
|
|
237
|
+
privateKey: new Uint8Array(privateKey),
|
|
238
|
+
publicKey: new Uint8Array(publicKeyHash),
|
|
239
|
+
jwk: {
|
|
240
|
+
kty: "OKP",
|
|
241
|
+
crv: "Ed25519",
|
|
242
|
+
x: publicKeyBase64url,
|
|
243
|
+
kid: `key-${seed}`,
|
|
244
|
+
},
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=ed25519-fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519-fixtures.js","sourceRoot":"","sources":["../../../src/__fixtures__/proof/ed25519-fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"keys": {
|
|
3
|
+
"valid_key_pair_1": {
|
|
4
|
+
"jwk": {
|
|
5
|
+
"kty": "OKP",
|
|
6
|
+
"crv": "Ed25519",
|
|
7
|
+
"x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
|
|
8
|
+
"kid": "test-key-1",
|
|
9
|
+
"use": "sig"
|
|
10
|
+
},
|
|
11
|
+
"privateKeyBase64": "dGVzdC1zZWVkLWZpeHR1cmUtMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
|
12
|
+
"publicKeyBase64": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
|
|
13
|
+
"did": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
|
|
14
|
+
},
|
|
15
|
+
"valid_key_pair_2": {
|
|
16
|
+
"jwk": {
|
|
17
|
+
"kty": "OKP",
|
|
18
|
+
"crv": "Ed25519",
|
|
19
|
+
"x": "j9VXvYFhN2pLmK8nQwRtS5dC7bE4fG6hJ3kM9oP1qR2sT",
|
|
20
|
+
"kid": "test-key-2"
|
|
21
|
+
},
|
|
22
|
+
"privateKeyBase64": "dGVzdC1zZWVkLWZpeHR1cmUtMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
|
|
23
|
+
"publicKeyBase64": "j9VXvYFhN2pLmK8nQwRtS5dC7bE4fG6hJ3kM9oP1qR2sT",
|
|
24
|
+
"did": "did:key:z6MkjL2nW8bR9cD4eF5gH6iJ7kL8mN9oP0qR1sT2uV3wX"
|
|
25
|
+
},
|
|
26
|
+
"invalid_wrong_curve": {
|
|
27
|
+
"jwk": {
|
|
28
|
+
"kty": "EC",
|
|
29
|
+
"crv": "P-256",
|
|
30
|
+
"x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"invalid_wrong_kty": {
|
|
34
|
+
"jwk": {
|
|
35
|
+
"kty": "RSA",
|
|
36
|
+
"crv": "Ed25519",
|
|
37
|
+
"x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"invalid_missing_x": {
|
|
41
|
+
"jwk": {
|
|
42
|
+
"kty": "OKP",
|
|
43
|
+
"crv": "Ed25519"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"payloads": {
|
|
48
|
+
"minimal": {
|
|
49
|
+
"aud": "test-audience",
|
|
50
|
+
"sub": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
51
|
+
"iss": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
52
|
+
"nonce": "test-nonce-123",
|
|
53
|
+
"ts": 1609459200,
|
|
54
|
+
"sessionId": "test-session-456",
|
|
55
|
+
"requestHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
56
|
+
"responseHash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
|
|
57
|
+
},
|
|
58
|
+
"full": {
|
|
59
|
+
"aud": "test-audience",
|
|
60
|
+
"sub": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
61
|
+
"iss": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
62
|
+
"nonce": "test-nonce-123",
|
|
63
|
+
"ts": 1609459200,
|
|
64
|
+
"sessionId": "test-session-456",
|
|
65
|
+
"requestHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
66
|
+
"responseHash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
67
|
+
"scopeId": "test-tool:execute",
|
|
68
|
+
"delegationRef": "del-abc123"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"jws": {
|
|
72
|
+
"valid_compact_minimal": {
|
|
73
|
+
"header": {
|
|
74
|
+
"alg": "EdDSA",
|
|
75
|
+
"typ": "JWT"
|
|
76
|
+
},
|
|
77
|
+
"payload": {
|
|
78
|
+
"aud": "test-audience",
|
|
79
|
+
"sub": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
80
|
+
"iss": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
|
|
81
|
+
"nonce": "test-nonce-123",
|
|
82
|
+
"ts": 1609459200,
|
|
83
|
+
"sessionId": "test-session-456",
|
|
84
|
+
"requestHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
85
|
+
"responseHash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
|
|
86
|
+
},
|
|
87
|
+
"jws": "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZXN0LWF1ZGllbmNlIiwic3ViIjoiZGlkOmtleTp6Nk1raGFYZ0JaRHZvdERrTDUyNTdmYWl6dGlHaUMyUXRLTEducG5uRUd0YTJkb0siLCJpc3MiOiJkaWQ6a2V5Ono2TWtoYVhnQlpEdm90RGtMNTI1N2ZhaXp0aUdpQzJRdEtMR25wbm5FR3RhMmRvSyIsIm5vbmNlIjoidGVzdC1ub25jZS0xMjMiLCJ0cyI6MTYwOTQ1OTIwMCwic2Vzc2lvbklkIjoidGVzdC1zZXNzaW9uLTQ1NiIsInJlcXVlc3RIYXNoIjoic2hhMjU2OiIuY29uY2F0KCJhIi5yZXBlYXQoNjQpKSIsInJlc3BvbnNlSGFzaCI6InNoYTI1NjoiLmNvbmNhdCgiYiIucmVwZWF0KDY0KSkifQ.signature-placeholder"
|
|
88
|
+
},
|
|
89
|
+
"invalid_wrong_algorithm": {
|
|
90
|
+
"header": {
|
|
91
|
+
"alg": "RS256",
|
|
92
|
+
"typ": "JWT"
|
|
93
|
+
},
|
|
94
|
+
"jws": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZXN0LWF1ZGllbmNlIn0.invalid-signature"
|
|
95
|
+
},
|
|
96
|
+
"invalid_malformed": {
|
|
97
|
+
"jws": "header.payload"
|
|
98
|
+
},
|
|
99
|
+
"invalid_empty": {
|
|
100
|
+
"jws": ""
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-deployment-utils.d.ts","sourceRoot":"","sources":["../src/agent-deployment-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAgB/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-deployment-utils.js","sourceRoot":"","sources":["../src/agent-deployment-utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAqBH,8BAQC;AAaD,kCAEC;AAqBD,sCAgBC;AA/ED,mCAAoC;AAEpC;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,aAAa,CAAC,IAAY,EAAE,GAAW;IACrD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,IAAI;SACd,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAG,4BAA4B;SAC1D,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAU,+BAA+B;SAC/D,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAS,iCAAiC;SACjE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;SAChB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAc,0CAA0C;IAC9E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC;AAC/B,CAAC"}
|