@smartledger/keys 1.3.0 → 1.5.0
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/LICENSE +23 -23
- package/README.md +535 -492
- package/dist/cjs/browser.d.ts.map +1 -1
- package/dist/cjs/browser.js +5 -2
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/sdk.d.ts +30 -1
- package/dist/cjs/sdk.d.ts.map +1 -1
- package/dist/cjs/sdk.js +127 -4
- package/dist/cjs/sdk.js.map +1 -1
- package/dist/cjs/types.d.ts +47 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/browser.d.ts.map +1 -1
- package/dist/esm/browser.js +6 -3
- package/dist/esm/browser.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/sdk.d.ts +30 -1
- package/dist/esm/sdk.d.ts.map +1 -1
- package/dist/esm/sdk.js +127 -4
- package/dist/esm/sdk.js.map +1 -1
- package/dist/esm/types.d.ts +47 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/lumen-keys.js +157 -34
- package/dist/lumen-keys.js.map +3 -3
- package/dist/lumen-keys.min.js +3 -3
- package/dist/lumen-keys.min.js.map +3 -3
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +76 -76
package/dist/esm/sdk.js
CHANGED
|
@@ -13,6 +13,8 @@ import { KeyRegistry, SignatureSuiteRegistry, hashBytes, BIP32Derivation, InMemo
|
|
|
13
13
|
export class DefaultKeySDK {
|
|
14
14
|
constructor(config) {
|
|
15
15
|
this.keyCounter = new Map(); // agentId -> counter
|
|
16
|
+
this.counterInitialized = new Set();
|
|
17
|
+
this.counterInitPromises = new Map();
|
|
16
18
|
this.keyRegistry = config.keyRegistry;
|
|
17
19
|
this.suiteRegistry = config.suiteRegistry;
|
|
18
20
|
}
|
|
@@ -42,7 +44,7 @@ export class DefaultKeySDK {
|
|
|
42
44
|
keypair = await suite.generateKeypair();
|
|
43
45
|
}
|
|
44
46
|
// Generate unique keyId
|
|
45
|
-
const counter = this.getNextCounter(agentId);
|
|
47
|
+
const counter = await this.getNextCounter(agentId);
|
|
46
48
|
const suiteName = profile.primarySignatureSuite.split('-')[0]; // 'ml-dsa' or 'bsv'
|
|
47
49
|
const keyId = `${agentId}:pk-${suiteName}-${counter}`;
|
|
48
50
|
// Register key
|
|
@@ -138,7 +140,8 @@ export class DefaultKeySDK {
|
|
|
138
140
|
return null;
|
|
139
141
|
}
|
|
140
142
|
// Group by suite
|
|
141
|
-
const
|
|
143
|
+
const sorted = this.sortKeysByCreatedAt(keys);
|
|
144
|
+
const suites = new Set(sorted.map(k => k.meta.suiteId));
|
|
142
145
|
const suiteArray = Array.from(suites);
|
|
143
146
|
// Assume first is primary, second is secondary
|
|
144
147
|
return {
|
|
@@ -157,7 +160,7 @@ export class DefaultKeySDK {
|
|
|
157
160
|
const suite = this.suiteRegistry.getSuite(keyRecord.meta.suiteId);
|
|
158
161
|
const newKeypair = await suite.generateKeypair();
|
|
159
162
|
// Generate new keyId (increment counter)
|
|
160
|
-
const counter = this.getNextCounter(agentId);
|
|
163
|
+
const counter = await this.getNextCounter(agentId);
|
|
161
164
|
const suiteName = keyRecord.meta.suiteId.split('-')[0];
|
|
162
165
|
const newKeyId = `${agentId}:pk-${suiteName}-${counter}`;
|
|
163
166
|
// Rotate
|
|
@@ -182,6 +185,80 @@ export class DefaultKeySDK {
|
|
|
182
185
|
// Create new key
|
|
183
186
|
return await this.createKey(agentId, profile, options);
|
|
184
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Create both primary and secondary keys for an agent.
|
|
190
|
+
*/
|
|
191
|
+
async createDualSignatureKeys(agentId, profile, options = {}) {
|
|
192
|
+
if (!profile.secondarySignatureSuite) {
|
|
193
|
+
throw new Error('secondarySignatureSuite is required to create dual signature keys');
|
|
194
|
+
}
|
|
195
|
+
const primaryKey = await this.createKey(agentId, {
|
|
196
|
+
primarySignatureSuite: profile.primarySignatureSuite,
|
|
197
|
+
}, options);
|
|
198
|
+
const secondaryKey = await this.createKey(agentId, {
|
|
199
|
+
primarySignatureSuite: profile.secondarySignatureSuite,
|
|
200
|
+
}, options);
|
|
201
|
+
return { primaryKey, secondaryKey };
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Idempotent creation of both primary and secondary keys.
|
|
205
|
+
*/
|
|
206
|
+
async getOrCreateDualSignatureKeys(agentId, profile, options = {}) {
|
|
207
|
+
if (!profile.secondarySignatureSuite) {
|
|
208
|
+
throw new Error('secondarySignatureSuite is required to create dual signature keys');
|
|
209
|
+
}
|
|
210
|
+
const primaryKey = await this.getOrCreateKey(agentId, {
|
|
211
|
+
primarySignatureSuite: profile.primarySignatureSuite,
|
|
212
|
+
}, options);
|
|
213
|
+
const secondaryKey = await this.getOrCreateKey(agentId, {
|
|
214
|
+
primarySignatureSuite: profile.secondarySignatureSuite,
|
|
215
|
+
}, options);
|
|
216
|
+
return { primaryKey, secondaryKey };
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Sign with one or more suites for an agent.
|
|
220
|
+
*/
|
|
221
|
+
async signWithSuites(agentId, message, suites) {
|
|
222
|
+
const activeKeys = this.sortKeysByCreatedAt(await this.listKeysForAgent(agentId, true));
|
|
223
|
+
if (activeKeys.length === 0) {
|
|
224
|
+
throw new Error(`No active keys found for agent: ${agentId}`);
|
|
225
|
+
}
|
|
226
|
+
const suitesToUse = suites?.length ? suites : Array.from(new Set(activeKeys.map(k => k.meta.suiteId)));
|
|
227
|
+
const signatures = [];
|
|
228
|
+
for (const suiteId of suitesToUse) {
|
|
229
|
+
const key = activeKeys.find(k => k.meta.suiteId === suiteId);
|
|
230
|
+
if (!key) {
|
|
231
|
+
throw new Error(`No active key for suite '${suiteId}' and agent '${agentId}'`);
|
|
232
|
+
}
|
|
233
|
+
const signature = await this.signWithKey(key.meta.keyId, message);
|
|
234
|
+
signatures.push({ suiteId, keyId: key.meta.keyId, signature });
|
|
235
|
+
}
|
|
236
|
+
return { signatures };
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Verify multiple signatures for an agent.
|
|
240
|
+
*/
|
|
241
|
+
async verifyWithSuites(agentId, message, signatures) {
|
|
242
|
+
const results = [];
|
|
243
|
+
for (const entry of signatures) {
|
|
244
|
+
try {
|
|
245
|
+
const valid = await this.verifySignature(entry.keyId, message, entry.signature);
|
|
246
|
+
results.push({ suiteId: entry.suiteId, keyId: entry.keyId, valid });
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
results.push({
|
|
250
|
+
suiteId: entry.suiteId,
|
|
251
|
+
keyId: entry.keyId,
|
|
252
|
+
valid: false,
|
|
253
|
+
error: error.message,
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return {
|
|
258
|
+
results,
|
|
259
|
+
allValid: results.every(r => r.valid),
|
|
260
|
+
};
|
|
261
|
+
}
|
|
185
262
|
/**
|
|
186
263
|
* Generate a new BIP39 mnemonic phrase.
|
|
187
264
|
*
|
|
@@ -274,12 +351,58 @@ export class DefaultKeySDK {
|
|
|
274
351
|
/**
|
|
275
352
|
* Helper: Get next counter for an agent.
|
|
276
353
|
*/
|
|
277
|
-
getNextCounter(agentId) {
|
|
354
|
+
async getNextCounter(agentId) {
|
|
355
|
+
if (!this.counterInitialized.has(agentId)) {
|
|
356
|
+
if (!this.counterInitPromises.has(agentId)) {
|
|
357
|
+
const initPromise = (async () => {
|
|
358
|
+
const existing = await this.keyRegistry.listKeys();
|
|
359
|
+
const max = existing.reduce((acc, meta) => {
|
|
360
|
+
if (!meta.keyId.startsWith(`${agentId}:pk-`))
|
|
361
|
+
return acc;
|
|
362
|
+
const match = meta.keyId.match(/:pk-[^-]+-(\d+)$/);
|
|
363
|
+
if (!match)
|
|
364
|
+
return acc;
|
|
365
|
+
const num = parseInt(match[1], 10);
|
|
366
|
+
return Number.isFinite(num) ? Math.max(acc, num) : acc;
|
|
367
|
+
}, 0);
|
|
368
|
+
this.keyCounter.set(agentId, max);
|
|
369
|
+
this.counterInitialized.add(agentId);
|
|
370
|
+
this.counterInitPromises.delete(agentId);
|
|
371
|
+
})();
|
|
372
|
+
this.counterInitPromises.set(agentId, initPromise);
|
|
373
|
+
}
|
|
374
|
+
const pendingInit = this.counterInitPromises.get(agentId);
|
|
375
|
+
if (pendingInit) {
|
|
376
|
+
await pendingInit;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
278
379
|
const current = this.keyCounter.get(agentId) || 0;
|
|
279
380
|
const next = current + 1;
|
|
280
381
|
this.keyCounter.set(agentId, next);
|
|
281
382
|
return next;
|
|
282
383
|
}
|
|
384
|
+
/**
|
|
385
|
+
* Helper: sort keys deterministically by createdAt then keyId.
|
|
386
|
+
*/
|
|
387
|
+
sortKeysByCreatedAt(keys) {
|
|
388
|
+
return [...keys].sort((a, b) => {
|
|
389
|
+
const aTime = new Date(a.meta.createdAt).getTime();
|
|
390
|
+
const bTime = new Date(b.meta.createdAt).getTime();
|
|
391
|
+
if (aTime !== bTime)
|
|
392
|
+
return aTime - bTime;
|
|
393
|
+
const priorityDiff = this.getSuitePriority(a.meta.suiteId) - this.getSuitePriority(b.meta.suiteId);
|
|
394
|
+
if (priorityDiff !== 0)
|
|
395
|
+
return priorityDiff;
|
|
396
|
+
return a.meta.keyId.localeCompare(b.meta.keyId);
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
getSuitePriority(suiteId) {
|
|
400
|
+
if (suiteId.startsWith('ml-dsa'))
|
|
401
|
+
return 0;
|
|
402
|
+
if (suiteId.includes('ecdsa'))
|
|
403
|
+
return 1;
|
|
404
|
+
return 2;
|
|
405
|
+
}
|
|
283
406
|
}
|
|
284
407
|
/**
|
|
285
408
|
* Create a KeySDK instance with default configuration
|
package/dist/esm/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,sBAAsB,EAGtB,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAC;AAuB7B;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAOxB,YAAY,MAAoB;QAJxB,eAAU,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,qBAAqB;QAC7D,uBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,wBAAmB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAG7D,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,OAAe,EACf,OAAsB,EACtB,UAA4B,EAAE;QAE9B,YAAY;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAEzE,8CAA8C;QAC9C,IAAI,OAAO,CAAC;QAEZ,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,qCAAqC;YACrC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;gBAC7D,MAAM,IAAI,KAAK,CACb,UAAU,KAAK,CAAC,OAAO,sCAAsC;oBAC7D,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;wBACnB,CAAC,CAAC,sCAAsC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;4BAC9D,4EAA4E;wBAC9E,CAAC,CAAC,8EAA8E,CAAC,CACpF,CAAC;YACJ,CAAC;YAED,4BAA4B;YAC5B,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1C,CAAC;QAED,wBAAwB;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;QACnF,MAAM,KAAK,GAAG,GAAG,OAAO,OAAO,SAAS,IAAI,OAAO,EAAE,CAAC;QAEtD,eAAe;QACf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAC7C,KAAK,EACL,OAAO,EACP,OAAO,CAAC,qBAAqB,EAC7B;YACE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC;YACnC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,OAAO;SAC9D,CACF,CAAC;QAEF,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,KAAa,EACb,OAAmB;QAEnB,oCAAoC;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,aAAa,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACjF,CAAC;QAED,qBAAqB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/D,uDAAuD;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEtD,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,OAAmB,EACnB,SAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/D,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,aAAsB,IAAI;QAE1B,MAAM,IAAI,GAAG,UAAU;YACrB,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;YACzC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAEtC,2BAA2B;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;QAE5E,wBAAwB;QACxB,MAAM,OAAO,GAAgB,EAAE,CAAC;QAEhC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,OAAe;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAExD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtC,+CAA+C;QAC/C,OAAO;YACL,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC;YACpC,uBAAuB,EAAE,UAAU,CAAC,CAAC,CAAC;SACvC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAgB,EAAE,CAAC;QAEhC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,uBAAuB;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;YAEjD,yCAAyC;YACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,QAAQ,GAAG,GAAG,OAAO,OAAO,SAAS,IAAI,OAAO,EAAE,CAAC;YAEzD,SAAS;YACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAC9C,SAAS,CAAC,IAAI,CAAC,KAAK,EACpB,QAAQ,EACR,UAAU,CACX,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,UAAU,CAAC,SAAS;aAChC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,OAAsB,EACtB,UAA4B,EAAE;QAE9B,sBAAsB;QACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhE,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,qBAAqB,CACtD,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,iBAAiB;QACjB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAC3B,OAAe,EACf,OAAsB,EACtB,UAA4B,EAAE;QAE9B,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAC/C,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;SACrD,EAAE,OAAO,CAAC,CAAC;QAEZ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACjD,qBAAqB,EAAE,OAAO,CAAC,uBAAuB;SACvD,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,4BAA4B,CAChC,OAAe,EACf,OAAsB,EACtB,UAA4B,EAAE;QAE9B,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACpD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;SACrD,EAAE,OAAO,CAAC,CAAC;QAEZ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YACtD,qBAAqB,EAAE,OAAO,CAAC,uBAAuB;SACvD,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,OAAmB,EACnB,MAAiB;QAEjB,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,UAAU,GAAqB,EAAE,CAAC;QAExC,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,gBAAgB,OAAO,GAAG,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,OAAmB,EACnB,UAA4B;QAE5B,MAAM,OAAO,GAA8B,EAAE,CAAC;QAE9C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBAChF,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC;oBACX,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAG,KAAe,CAAC,OAAO;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO;YACP,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SACtC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,WAAsB,GAAG;QACxC,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,qBAAqB,CACzB,OAAe,EACf,OAAsB,EACtB,QAAgB,EAChB,OAAe,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACnD,UAAmB,EACnB,UAA4B,EAAE;QAE9B,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAExD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE;YAC5C,GAAG,OAAO;YACV,iBAAiB,EAAE;gBACjB,IAAI;gBACJ,IAAI;aACL;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,OAAe;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,IAAI,KAAK,CAAC,YAAY,EAAE,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAK,KAAK,CAAC,YAAoB,EAAE,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrE,IAAK,KAAK,CAAC,YAAoB,EAAE,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,UAAqD;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACpD,OAAO,SAAS;aACb,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,KAAK,CAAC,YAAoB,EAAE,CAAC,UAAU,CAAC,CAAC;aAC5D,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,sBAAsB,CAC1B,OAAe,EACf,QAAgB,EAChB,YAAY,GAAG,CAAC,EAChB,YAAY,GAAG,CAAC,EAChB,QAAQ,GAAG,KAAK,EAChB,UAA4B,EAAE;QAE9B,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAEvF,OAAO,IAAI,CAAC,qBAAqB,CAC/B,OAAO,EACP,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,EAChD,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,OAAe;QACtC,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,OAAe;QAC1C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;oBAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;oBACnD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;wBACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,OAAO,MAAM,CAAC;4BAAE,OAAO,GAAG,CAAC;wBACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;wBACnD,IAAI,CAAC,KAAK;4BAAE,OAAO,GAAG,CAAC;wBACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBACzD,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAClC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC3C,CAAC,CAAC,EAAE,CAAC;gBAEL,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,WAAW,CAAC;YACpB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,IAAiB;QAC3C,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YACnD,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,KAAK,GAAG,KAAK,CAAC;YAE1C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnG,IAAI,YAAY,KAAK,CAAC;gBAAE,OAAO,YAAY,CAAC;YAE5C,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,OAAe;QACtC,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,MAA8B;IACzD,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,IAAI,WAAW,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,IAAI,IAAI,sBAAsB,EAAE,CAAC;IAE5E,0CAA0C;IAC1C,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;QAC3B,aAAa,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QAC5C,aAAa,CAAC,QAAQ,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,IAAI,aAAa,CAAC;QACvB,WAAW;QACX,aAAa;KACd,CAAC,CAAC;AACL,CAAC"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -25,6 +25,30 @@ export interface CreateKeyOptions {
|
|
|
25
25
|
/** Optional derivation context for deterministic key generation */
|
|
26
26
|
derivationContext?: DerivationContext;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Signature generated by a specific suite/key combination.
|
|
30
|
+
*/
|
|
31
|
+
export interface SuiteSignature {
|
|
32
|
+
suiteId: string;
|
|
33
|
+
keyId: string;
|
|
34
|
+
signature: Uint8Array;
|
|
35
|
+
}
|
|
36
|
+
/** Result of signing with one or more suites. */
|
|
37
|
+
export interface MultiSignatureResult {
|
|
38
|
+
signatures: SuiteSignature[];
|
|
39
|
+
}
|
|
40
|
+
/** Per-suite verification outcome. */
|
|
41
|
+
export interface SuiteVerificationResult {
|
|
42
|
+
suiteId: string;
|
|
43
|
+
keyId: string;
|
|
44
|
+
valid: boolean;
|
|
45
|
+
error?: string;
|
|
46
|
+
}
|
|
47
|
+
/** Aggregate verification outcome across suites. */
|
|
48
|
+
export interface MultiVerificationResult {
|
|
49
|
+
results: SuiteVerificationResult[];
|
|
50
|
+
allValid: boolean;
|
|
51
|
+
}
|
|
28
52
|
/**
|
|
29
53
|
* Key SDK - Single interface for all key operations.
|
|
30
54
|
*
|
|
@@ -107,6 +131,29 @@ export interface KeySDK {
|
|
|
107
131
|
* @returns KeyRecord (new or existing)
|
|
108
132
|
*/
|
|
109
133
|
getOrCreateKey(agentId: string, profile: CryptoProfile, options?: CreateKeyOptions): Promise<KeyRecord>;
|
|
134
|
+
/**
|
|
135
|
+
* Create both primary and secondary keys in a single call.
|
|
136
|
+
* Requires profile.secondarySignatureSuite to be set.
|
|
137
|
+
*/
|
|
138
|
+
createDualSignatureKeys(agentId: string, profile: CryptoProfile, options?: CreateKeyOptions): Promise<{
|
|
139
|
+
primaryKey: KeyRecord;
|
|
140
|
+
secondaryKey: KeyRecord;
|
|
141
|
+
}>;
|
|
142
|
+
/**
|
|
143
|
+
* Idempotent dual-key creation; returns existing active keys when present.
|
|
144
|
+
*/
|
|
145
|
+
getOrCreateDualSignatureKeys(agentId: string, profile: CryptoProfile, options?: CreateKeyOptions): Promise<{
|
|
146
|
+
primaryKey: KeyRecord;
|
|
147
|
+
secondaryKey: KeyRecord;
|
|
148
|
+
}>;
|
|
149
|
+
/**
|
|
150
|
+
* Sign with one or more suites. If suites not provided, uses active profile.
|
|
151
|
+
*/
|
|
152
|
+
signWithSuites(agentId: string, message: Uint8Array, suites?: string[]): Promise<MultiSignatureResult>;
|
|
153
|
+
/**
|
|
154
|
+
* Verify multiple signatures for an agent.
|
|
155
|
+
*/
|
|
156
|
+
verifyWithSuites(agentId: string, message: Uint8Array, signatures: SuiteSignature[]): Promise<MultiVerificationResult>;
|
|
110
157
|
/**
|
|
111
158
|
* Generate a new BIP39 mnemonic phrase.
|
|
112
159
|
*
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,UAAU,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uCAAuC;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC,CAAC;IAEjD,gDAAgD;IAChD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;;;OAOG;IACH,SAAS,CACP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAEjD;;;;;;;;OAQG;IACH,WAAW,CACT,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;OAOG;IACH,eAAe,CACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;OAMG;IACH,gBAAgB,CACd,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAExB;;;;;;;OAOG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEvE;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEvD;;;;;;;;;OASG;IACH,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;IAE/C;;;;;;;;;;OAUG;IACH,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE3C;;;;;OAKG;IACH,uBAAuB,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,EAAE,CAAC;CAC1F;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;CAC9B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/lumen-keys.js
CHANGED
|
@@ -10313,13 +10313,16 @@ zoo`.split("\n");
|
|
|
10313
10313
|
}
|
|
10314
10314
|
return dilithiumLib;
|
|
10315
10315
|
}
|
|
10316
|
-
var
|
|
10316
|
+
var ML_DSA_SIZES = {
|
|
10317
|
+
"ml-dsa-44": { publicKey: 1312, privateKey: 2560, signature: 2420 },
|
|
10318
|
+
"ml-dsa-65": { publicKey: 1952, privateKey: 4032, signature: 3309 },
|
|
10319
|
+
"ml-dsa-87": { publicKey: 2592, privateKey: 4864, signature: 4627 }
|
|
10320
|
+
};
|
|
10321
|
+
var BaseMlDsaSuite = class {
|
|
10317
10322
|
constructor() {
|
|
10318
|
-
__publicField(this, "suiteId", "ml-dsa-87");
|
|
10319
10323
|
__publicField(this, "version", "1.0.0");
|
|
10320
10324
|
__publicField(this, "capabilities", {});
|
|
10321
10325
|
}
|
|
10322
|
-
// No capabilities yet, reserved for future (custom KDF, etc.)
|
|
10323
10326
|
async generateKeypair() {
|
|
10324
10327
|
try {
|
|
10325
10328
|
const dilithium2 = await getDilithium();
|
|
@@ -10329,7 +10332,7 @@ zoo`.split("\n");
|
|
|
10329
10332
|
privateKey: new Uint8Array(keypair.privateKey)
|
|
10330
10333
|
};
|
|
10331
10334
|
} catch (error) {
|
|
10332
|
-
throw new Error(
|
|
10335
|
+
throw new Error(`${this.suiteId} key generation failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
10333
10336
|
}
|
|
10334
10337
|
}
|
|
10335
10338
|
async sign(privateKey, message) {
|
|
@@ -10338,7 +10341,7 @@ zoo`.split("\n");
|
|
|
10338
10341
|
const signature = await dilithium2.signDetached(Buffer.from(message), Buffer.from(privateKey));
|
|
10339
10342
|
return new Uint8Array(signature);
|
|
10340
10343
|
} catch (error) {
|
|
10341
|
-
throw new Error(
|
|
10344
|
+
throw new Error(`${this.suiteId} signing failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
10342
10345
|
}
|
|
10343
10346
|
}
|
|
10344
10347
|
async verify(publicKey, message, signature) {
|
|
@@ -10354,8 +10357,8 @@ zoo`.split("\n");
|
|
|
10354
10357
|
}
|
|
10355
10358
|
importPublicKey(encoded) {
|
|
10356
10359
|
const bytes = hexToBytes(encoded);
|
|
10357
|
-
if (bytes.length !==
|
|
10358
|
-
throw new Error(
|
|
10360
|
+
if (bytes.length !== this.sizes.publicKey) {
|
|
10361
|
+
throw new Error(`${this.suiteId} public key must be ${this.sizes.publicKey} bytes, got ${bytes.length}`);
|
|
10359
10362
|
}
|
|
10360
10363
|
return bytes;
|
|
10361
10364
|
}
|
|
@@ -10364,46 +10367,49 @@ zoo`.split("\n");
|
|
|
10364
10367
|
}
|
|
10365
10368
|
importPrivateKey(encoded) {
|
|
10366
10369
|
const bytes = hexToBytes(encoded);
|
|
10367
|
-
if (bytes.length !==
|
|
10368
|
-
throw new Error(
|
|
10370
|
+
if (bytes.length !== this.sizes.privateKey) {
|
|
10371
|
+
throw new Error(`${this.suiteId} private key must be ${this.sizes.privateKey} bytes, got ${bytes.length}`);
|
|
10369
10372
|
}
|
|
10370
10373
|
return bytes;
|
|
10371
10374
|
}
|
|
10372
10375
|
};
|
|
10373
|
-
var
|
|
10376
|
+
var MlDsa44Suite = class extends BaseMlDsaSuite {
|
|
10374
10377
|
constructor() {
|
|
10375
|
-
|
|
10376
|
-
__publicField(this, "
|
|
10377
|
-
__publicField(this, "impl", new MlDsa87Suite());
|
|
10378
|
+
super(...arguments);
|
|
10379
|
+
__publicField(this, "suiteId", "ml-dsa-44");
|
|
10378
10380
|
}
|
|
10379
|
-
|
|
10380
|
-
return
|
|
10381
|
-
}
|
|
10382
|
-
async sign(privateKey, message) {
|
|
10383
|
-
return this.impl.sign(privateKey, message);
|
|
10381
|
+
get sizes() {
|
|
10382
|
+
return ML_DSA_SIZES["ml-dsa-44"];
|
|
10384
10383
|
}
|
|
10385
|
-
|
|
10386
|
-
|
|
10384
|
+
};
|
|
10385
|
+
var MlDsa65Suite = class extends BaseMlDsaSuite {
|
|
10386
|
+
constructor() {
|
|
10387
|
+
super(...arguments);
|
|
10388
|
+
__publicField(this, "suiteId", "ml-dsa-65");
|
|
10387
10389
|
}
|
|
10388
|
-
|
|
10389
|
-
return
|
|
10390
|
+
get sizes() {
|
|
10391
|
+
return ML_DSA_SIZES["ml-dsa-65"];
|
|
10390
10392
|
}
|
|
10391
|
-
|
|
10392
|
-
|
|
10393
|
-
|
|
10394
|
-
|
|
10395
|
-
|
|
10393
|
+
};
|
|
10394
|
+
var MlDsa87Suite = class extends BaseMlDsaSuite {
|
|
10395
|
+
constructor() {
|
|
10396
|
+
super(...arguments);
|
|
10397
|
+
__publicField(this, "suiteId", "ml-dsa-87");
|
|
10396
10398
|
}
|
|
10397
|
-
|
|
10398
|
-
return
|
|
10399
|
+
get sizes() {
|
|
10400
|
+
return ML_DSA_SIZES["ml-dsa-87"];
|
|
10399
10401
|
}
|
|
10400
10402
|
};
|
|
10403
|
+
var MlDsaSuite = class extends MlDsa65Suite {
|
|
10404
|
+
};
|
|
10401
10405
|
|
|
10402
10406
|
// src/sdk.ts
|
|
10403
10407
|
var DefaultKeySDK = class {
|
|
10404
|
-
// agentId -> counter
|
|
10405
10408
|
constructor(config) {
|
|
10406
10409
|
this.keyCounter = /* @__PURE__ */ new Map();
|
|
10410
|
+
// agentId -> counter
|
|
10411
|
+
this.counterInitialized = /* @__PURE__ */ new Set();
|
|
10412
|
+
this.counterInitPromises = /* @__PURE__ */ new Map();
|
|
10407
10413
|
this.keyRegistry = config.keyRegistry;
|
|
10408
10414
|
this.suiteRegistry = config.suiteRegistry;
|
|
10409
10415
|
}
|
|
@@ -10426,7 +10432,7 @@ Consider using one of these suites or remove the derivationContext option.` : `N
|
|
|
10426
10432
|
} else {
|
|
10427
10433
|
keypair = await suite.generateKeypair();
|
|
10428
10434
|
}
|
|
10429
|
-
const counter = this.getNextCounter(agentId);
|
|
10435
|
+
const counter = await this.getNextCounter(agentId);
|
|
10430
10436
|
const suiteName = profile.primarySignatureSuite.split("-")[0];
|
|
10431
10437
|
const keyId = `${agentId}:pk-${suiteName}-${counter}`;
|
|
10432
10438
|
const meta = await this.keyRegistry.registerKey(
|
|
@@ -10516,7 +10522,8 @@ Consider using one of these suites or remove the derivationContext option.` : `N
|
|
|
10516
10522
|
if (keys.length === 0) {
|
|
10517
10523
|
return null;
|
|
10518
10524
|
}
|
|
10519
|
-
const
|
|
10525
|
+
const sorted = this.sortKeysByCreatedAt(keys);
|
|
10526
|
+
const suites = new Set(sorted.map((k2) => k2.meta.suiteId));
|
|
10520
10527
|
const suiteArray = Array.from(suites);
|
|
10521
10528
|
return {
|
|
10522
10529
|
primarySignatureSuite: suiteArray[0],
|
|
@@ -10532,7 +10539,7 @@ Consider using one of these suites or remove the derivationContext option.` : `N
|
|
|
10532
10539
|
for (const keyRecord of activeKeys) {
|
|
10533
10540
|
const suite = this.suiteRegistry.getSuite(keyRecord.meta.suiteId);
|
|
10534
10541
|
const newKeypair = await suite.generateKeypair();
|
|
10535
|
-
const counter = this.getNextCounter(agentId);
|
|
10542
|
+
const counter = await this.getNextCounter(agentId);
|
|
10536
10543
|
const suiteName = keyRecord.meta.suiteId.split("-")[0];
|
|
10537
10544
|
const newKeyId = `${agentId}:pk-${suiteName}-${counter}`;
|
|
10538
10545
|
const newMeta = await this.keyRegistry.rotateKey(
|
|
@@ -10560,6 +10567,79 @@ Consider using one of these suites or remove the derivationContext option.` : `N
|
|
|
10560
10567
|
}
|
|
10561
10568
|
return await this.createKey(agentId, profile, options);
|
|
10562
10569
|
}
|
|
10570
|
+
/**
|
|
10571
|
+
* Create both primary and secondary keys for an agent.
|
|
10572
|
+
*/
|
|
10573
|
+
async createDualSignatureKeys(agentId, profile, options = {}) {
|
|
10574
|
+
if (!profile.secondarySignatureSuite) {
|
|
10575
|
+
throw new Error("secondarySignatureSuite is required to create dual signature keys");
|
|
10576
|
+
}
|
|
10577
|
+
const primaryKey = await this.createKey(agentId, {
|
|
10578
|
+
primarySignatureSuite: profile.primarySignatureSuite
|
|
10579
|
+
}, options);
|
|
10580
|
+
const secondaryKey = await this.createKey(agentId, {
|
|
10581
|
+
primarySignatureSuite: profile.secondarySignatureSuite
|
|
10582
|
+
}, options);
|
|
10583
|
+
return { primaryKey, secondaryKey };
|
|
10584
|
+
}
|
|
10585
|
+
/**
|
|
10586
|
+
* Idempotent creation of both primary and secondary keys.
|
|
10587
|
+
*/
|
|
10588
|
+
async getOrCreateDualSignatureKeys(agentId, profile, options = {}) {
|
|
10589
|
+
if (!profile.secondarySignatureSuite) {
|
|
10590
|
+
throw new Error("secondarySignatureSuite is required to create dual signature keys");
|
|
10591
|
+
}
|
|
10592
|
+
const primaryKey = await this.getOrCreateKey(agentId, {
|
|
10593
|
+
primarySignatureSuite: profile.primarySignatureSuite
|
|
10594
|
+
}, options);
|
|
10595
|
+
const secondaryKey = await this.getOrCreateKey(agentId, {
|
|
10596
|
+
primarySignatureSuite: profile.secondarySignatureSuite
|
|
10597
|
+
}, options);
|
|
10598
|
+
return { primaryKey, secondaryKey };
|
|
10599
|
+
}
|
|
10600
|
+
/**
|
|
10601
|
+
* Sign with one or more suites for an agent.
|
|
10602
|
+
*/
|
|
10603
|
+
async signWithSuites(agentId, message, suites) {
|
|
10604
|
+
const activeKeys = this.sortKeysByCreatedAt(await this.listKeysForAgent(agentId, true));
|
|
10605
|
+
if (activeKeys.length === 0) {
|
|
10606
|
+
throw new Error(`No active keys found for agent: ${agentId}`);
|
|
10607
|
+
}
|
|
10608
|
+
const suitesToUse = suites?.length ? suites : Array.from(new Set(activeKeys.map((k2) => k2.meta.suiteId)));
|
|
10609
|
+
const signatures = [];
|
|
10610
|
+
for (const suiteId of suitesToUse) {
|
|
10611
|
+
const key = activeKeys.find((k2) => k2.meta.suiteId === suiteId);
|
|
10612
|
+
if (!key) {
|
|
10613
|
+
throw new Error(`No active key for suite '${suiteId}' and agent '${agentId}'`);
|
|
10614
|
+
}
|
|
10615
|
+
const signature = await this.signWithKey(key.meta.keyId, message);
|
|
10616
|
+
signatures.push({ suiteId, keyId: key.meta.keyId, signature });
|
|
10617
|
+
}
|
|
10618
|
+
return { signatures };
|
|
10619
|
+
}
|
|
10620
|
+
/**
|
|
10621
|
+
* Verify multiple signatures for an agent.
|
|
10622
|
+
*/
|
|
10623
|
+
async verifyWithSuites(agentId, message, signatures) {
|
|
10624
|
+
const results = [];
|
|
10625
|
+
for (const entry of signatures) {
|
|
10626
|
+
try {
|
|
10627
|
+
const valid = await this.verifySignature(entry.keyId, message, entry.signature);
|
|
10628
|
+
results.push({ suiteId: entry.suiteId, keyId: entry.keyId, valid });
|
|
10629
|
+
} catch (error) {
|
|
10630
|
+
results.push({
|
|
10631
|
+
suiteId: entry.suiteId,
|
|
10632
|
+
keyId: entry.keyId,
|
|
10633
|
+
valid: false,
|
|
10634
|
+
error: error.message
|
|
10635
|
+
});
|
|
10636
|
+
}
|
|
10637
|
+
}
|
|
10638
|
+
return {
|
|
10639
|
+
results,
|
|
10640
|
+
allValid: results.every((r2) => r2.valid)
|
|
10641
|
+
};
|
|
10642
|
+
}
|
|
10563
10643
|
/**
|
|
10564
10644
|
* Generate a new BIP39 mnemonic phrase.
|
|
10565
10645
|
*
|
|
@@ -10654,12 +10734,52 @@ Consider using one of these suites or remove the derivationContext option.` : `N
|
|
|
10654
10734
|
/**
|
|
10655
10735
|
* Helper: Get next counter for an agent.
|
|
10656
10736
|
*/
|
|
10657
|
-
getNextCounter(agentId) {
|
|
10737
|
+
async getNextCounter(agentId) {
|
|
10738
|
+
if (!this.counterInitialized.has(agentId)) {
|
|
10739
|
+
if (!this.counterInitPromises.has(agentId)) {
|
|
10740
|
+
const initPromise = (async () => {
|
|
10741
|
+
const existing = await this.keyRegistry.listKeys();
|
|
10742
|
+
const max = existing.reduce((acc, meta) => {
|
|
10743
|
+
if (!meta.keyId.startsWith(`${agentId}:pk-`)) return acc;
|
|
10744
|
+
const match = meta.keyId.match(/:pk-[^-]+-(\d+)$/);
|
|
10745
|
+
if (!match) return acc;
|
|
10746
|
+
const num = parseInt(match[1], 10);
|
|
10747
|
+
return Number.isFinite(num) ? Math.max(acc, num) : acc;
|
|
10748
|
+
}, 0);
|
|
10749
|
+
this.keyCounter.set(agentId, max);
|
|
10750
|
+
this.counterInitialized.add(agentId);
|
|
10751
|
+
this.counterInitPromises.delete(agentId);
|
|
10752
|
+
})();
|
|
10753
|
+
this.counterInitPromises.set(agentId, initPromise);
|
|
10754
|
+
}
|
|
10755
|
+
const pendingInit = this.counterInitPromises.get(agentId);
|
|
10756
|
+
if (pendingInit) {
|
|
10757
|
+
await pendingInit;
|
|
10758
|
+
}
|
|
10759
|
+
}
|
|
10658
10760
|
const current = this.keyCounter.get(agentId) || 0;
|
|
10659
10761
|
const next = current + 1;
|
|
10660
10762
|
this.keyCounter.set(agentId, next);
|
|
10661
10763
|
return next;
|
|
10662
10764
|
}
|
|
10765
|
+
/**
|
|
10766
|
+
* Helper: sort keys deterministically by createdAt then keyId.
|
|
10767
|
+
*/
|
|
10768
|
+
sortKeysByCreatedAt(keys) {
|
|
10769
|
+
return [...keys].sort((a2, b2) => {
|
|
10770
|
+
const aTime = new Date(a2.meta.createdAt).getTime();
|
|
10771
|
+
const bTime = new Date(b2.meta.createdAt).getTime();
|
|
10772
|
+
if (aTime !== bTime) return aTime - bTime;
|
|
10773
|
+
const priorityDiff = this.getSuitePriority(a2.meta.suiteId) - this.getSuitePriority(b2.meta.suiteId);
|
|
10774
|
+
if (priorityDiff !== 0) return priorityDiff;
|
|
10775
|
+
return a2.meta.keyId.localeCompare(b2.meta.keyId);
|
|
10776
|
+
});
|
|
10777
|
+
}
|
|
10778
|
+
getSuitePriority(suiteId) {
|
|
10779
|
+
if (suiteId.startsWith("ml-dsa")) return 0;
|
|
10780
|
+
if (suiteId.includes("ecdsa")) return 1;
|
|
10781
|
+
return 2;
|
|
10782
|
+
}
|
|
10663
10783
|
};
|
|
10664
10784
|
|
|
10665
10785
|
// src/types.ts
|
|
@@ -10671,6 +10791,9 @@ Consider using one of these suites or remove the derivationContext option.` : `N
|
|
|
10671
10791
|
const keyRegistry = new KeyRegistry(storage);
|
|
10672
10792
|
const suiteRegistry = new SignatureSuiteRegistry();
|
|
10673
10793
|
suiteRegistry.register(new BsvEcdsaSuite());
|
|
10794
|
+
suiteRegistry.register(new MlDsa44Suite());
|
|
10795
|
+
suiteRegistry.register(new MlDsa65Suite());
|
|
10796
|
+
suiteRegistry.register(new MlDsa87Suite());
|
|
10674
10797
|
suiteRegistry.register(new MlDsaSuite());
|
|
10675
10798
|
const sdk = new DefaultKeySDK({
|
|
10676
10799
|
keyRegistry,
|