@de-otio/chaoskb-client 0.3.6 → 0.3.7
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/cli/bootstrap.d.ts +11 -3
- package/dist/cli/bootstrap.d.ts.map +1 -1
- package/dist/cli/bootstrap.js +181 -126
- package/dist/cli/bootstrap.js.map +1 -1
- package/dist/cli/commands/config.d.ts +7 -4
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +161 -134
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/devices.d.ts.map +1 -1
- package/dist/cli/commands/devices.js +58 -33
- package/dist/cli/commands/devices.js.map +1 -1
- package/dist/cli/commands/export.d.ts.map +1 -1
- package/dist/cli/commands/export.js +6 -9
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/import.js +1 -1
- package/dist/cli/commands/import.js.map +1 -1
- package/dist/cli/commands/projects.d.ts.map +1 -1
- package/dist/cli/commands/projects.js +33 -10
- package/dist/cli/commands/projects.js.map +1 -1
- package/dist/cli/commands/rotate-key.d.ts +3 -3
- package/dist/cli/commands/rotate-key.d.ts.map +1 -1
- package/dist/cli/commands/rotate-key.js +88 -35
- package/dist/cli/commands/rotate-key.js.map +1 -1
- package/dist/cli/commands/setup-sync.d.ts.map +1 -1
- package/dist/cli/commands/setup-sync.js +22 -4
- package/dist/cli/commands/setup-sync.js.map +1 -1
- package/dist/cli/mcp-server.d.ts.map +1 -1
- package/dist/cli/mcp-server.js +90 -42
- package/dist/cli/mcp-server.js.map +1 -1
- package/dist/crypto/aad.d.ts +2 -5
- package/dist/crypto/aad.d.ts.map +1 -1
- package/dist/crypto/aad.js +2 -8
- package/dist/crypto/aad.js.map +1 -1
- package/dist/crypto/aead.d.ts +8 -16
- package/dist/crypto/aead.d.ts.map +1 -1
- package/dist/crypto/aead.js +10 -36
- package/dist/crypto/aead.js.map +1 -1
- package/dist/crypto/blob-id.d.ts +2 -3
- package/dist/crypto/blob-id.d.ts.map +1 -1
- package/dist/crypto/blob-id.js +2 -30
- package/dist/crypto/blob-id.js.map +1 -1
- package/dist/crypto/canonical-json.d.ts +5 -3
- package/dist/crypto/canonical-json.d.ts.map +1 -1
- package/dist/crypto/canonical-json.js +5 -85
- package/dist/crypto/canonical-json.js.map +1 -1
- package/dist/crypto/commitment.d.ts +3 -9
- package/dist/crypto/commitment.d.ts.map +1 -1
- package/dist/crypto/commitment.js +3 -27
- package/dist/crypto/commitment.js.map +1 -1
- package/dist/crypto/encryption-service.d.ts +3 -0
- package/dist/crypto/encryption-service.d.ts.map +1 -1
- package/dist/crypto/encryption-service.js +10 -6
- package/dist/crypto/encryption-service.js.map +1 -1
- package/dist/crypto/envelope-cbor.d.ts +4 -34
- package/dist/crypto/envelope-cbor.d.ts.map +1 -1
- package/dist/crypto/envelope-cbor.js +4 -121
- package/dist/crypto/envelope-cbor.js.map +1 -1
- package/dist/crypto/envelope.d.ts +1 -31
- package/dist/crypto/envelope.d.ts.map +1 -1
- package/dist/crypto/envelope.js +31 -137
- package/dist/crypto/envelope.js.map +1 -1
- package/dist/crypto/hkdf.d.ts +7 -11
- package/dist/crypto/hkdf.d.ts.map +1 -1
- package/dist/crypto/hkdf.js +9 -18
- package/dist/crypto/hkdf.js.map +1 -1
- package/dist/crypto/index.d.ts +9 -4
- package/dist/crypto/index.d.ts.map +1 -1
- package/dist/crypto/index.js +9 -4
- package/dist/crypto/index.js.map +1 -1
- package/dist/crypto/ssh-keys.d.ts +17 -10
- package/dist/crypto/ssh-keys.d.ts.map +1 -1
- package/dist/crypto/ssh-keys.js +28 -108
- package/dist/crypto/ssh-keys.js.map +1 -1
- package/dist/crypto/types.d.ts +18 -88
- package/dist/crypto/types.d.ts.map +1 -1
- package/dist/crypto/types.js +3 -0
- package/dist/crypto/types.js.map +1 -1
- package/dist/pipeline/content-pipeline.d.ts.map +1 -1
- package/dist/pipeline/content-pipeline.js +19 -3
- package/dist/pipeline/content-pipeline.js.map +1 -1
- package/dist/pipeline/extract.d.ts +8 -0
- package/dist/pipeline/extract.d.ts.map +1 -1
- package/dist/pipeline/extract.js +15 -4
- package/dist/pipeline/extract.js.map +1 -1
- package/dist/pipeline/fetch-browser.d.ts +29 -0
- package/dist/pipeline/fetch-browser.d.ts.map +1 -0
- package/dist/pipeline/fetch-browser.js +98 -0
- package/dist/pipeline/fetch-browser.js.map +1 -0
- package/package.json +4 -1
- package/dist/crypto/argon2.d.ts +0 -11
- package/dist/crypto/argon2.d.ts.map +0 -1
- package/dist/crypto/argon2.js +0 -33
- package/dist/crypto/argon2.js.map +0 -1
- package/dist/crypto/invite.d.ts +0 -31
- package/dist/crypto/invite.d.ts.map +0 -1
- package/dist/crypto/invite.js +0 -139
- package/dist/crypto/invite.js.map +0 -1
- package/dist/crypto/keyring.d.ts +0 -37
- package/dist/crypto/keyring.d.ts.map +0 -1
- package/dist/crypto/keyring.js +0 -219
- package/dist/crypto/keyring.js.map +0 -1
- package/dist/crypto/known-keys.d.ts +0 -34
- package/dist/crypto/known-keys.d.ts.map +0 -1
- package/dist/crypto/known-keys.js +0 -114
- package/dist/crypto/known-keys.js.map +0 -1
- package/dist/crypto/project-keys.d.ts +0 -26
- package/dist/crypto/project-keys.d.ts.map +0 -1
- package/dist/crypto/project-keys.js +0 -69
- package/dist/crypto/project-keys.js.map +0 -1
- package/dist/crypto/secure-buffer.d.ts +0 -31
- package/dist/crypto/secure-buffer.d.ts.map +0 -1
- package/dist/crypto/secure-buffer.js +0 -61
- package/dist/crypto/secure-buffer.js.map +0 -1
- package/dist/crypto/tiers/enhanced.d.ts +0 -25
- package/dist/crypto/tiers/enhanced.d.ts.map +0 -1
- package/dist/crypto/tiers/enhanced.js +0 -56
- package/dist/crypto/tiers/enhanced.js.map +0 -1
- package/dist/crypto/tiers/maximum.d.ts +0 -19
- package/dist/crypto/tiers/maximum.d.ts.map +0 -1
- package/dist/crypto/tiers/maximum.js +0 -25
- package/dist/crypto/tiers/maximum.js.map +0 -1
- package/dist/crypto/tiers/standard.d.ts +0 -27
- package/dist/crypto/tiers/standard.d.ts.map +0 -1
- package/dist/crypto/tiers/standard.js +0 -155
- package/dist/crypto/tiers/standard.js.map +0 -1
package/dist/cli/mcp-server.js
CHANGED
|
@@ -446,7 +446,6 @@ export async function startMcpServer(options) {
|
|
|
446
446
|
}
|
|
447
447
|
async function initializeDependencies(options, config) {
|
|
448
448
|
// Dynamic imports to keep startup fast when running in CLI mode
|
|
449
|
-
const { KeyringService } = await import('../crypto/keyring.js');
|
|
450
449
|
const { EncryptionService } = await import('../crypto/encryption-service.js');
|
|
451
450
|
const { DatabaseManager } = await import('../storage/database-manager.js');
|
|
452
451
|
const { ModelManager } = await import('../pipeline/model-manager.js');
|
|
@@ -466,21 +465,7 @@ async function initializeDependencies(options, config) {
|
|
|
466
465
|
masterKey = await unlockMaximumTierKey();
|
|
467
466
|
}
|
|
468
467
|
else {
|
|
469
|
-
|
|
470
|
-
masterKey = await keyring.retrieve('chaoskb', 'master-key');
|
|
471
|
-
if (!masterKey && process.env.CHAOSKB_KEY_STORAGE === 'file') {
|
|
472
|
-
// File-based key fallback
|
|
473
|
-
const { FILE_KEY_PATH } = await import('./bootstrap.js');
|
|
474
|
-
const fs = await import('node:fs');
|
|
475
|
-
try {
|
|
476
|
-
const hex = fs.readFileSync(FILE_KEY_PATH, 'utf-8').trim();
|
|
477
|
-
const { SecureBuffer } = await import('../crypto/secure-buffer.js');
|
|
478
|
-
masterKey = SecureBuffer.from(Buffer.from(hex, 'hex'));
|
|
479
|
-
}
|
|
480
|
-
catch {
|
|
481
|
-
// Fall through to the error below
|
|
482
|
-
}
|
|
483
|
-
}
|
|
468
|
+
masterKey = await unlockStandardTierKey(config);
|
|
484
469
|
}
|
|
485
470
|
if (!masterKey) {
|
|
486
471
|
throw new Error('Master key not found. Run `chaoskb-mcp setup` or ensure your OS keyring is accessible.');
|
|
@@ -529,12 +514,83 @@ async function initializeDependencies(options, config) {
|
|
|
529
514
|
}
|
|
530
515
|
return { db, dbManager, pipeline, encryption, keys, syncService };
|
|
531
516
|
}
|
|
517
|
+
/**
|
|
518
|
+
* Unlock the master key for Standard tier.
|
|
519
|
+
*
|
|
520
|
+
* Reads the wrapped master blob from the keyring (OS keychain, or
|
|
521
|
+
* filesystem when `CHAOSKB_KEY_STORAGE=file` is set), identifies the
|
|
522
|
+
* SSH key file from config, and unwraps the master via keyring's
|
|
523
|
+
* `StandardTier`.
|
|
524
|
+
*
|
|
525
|
+
* Returns `null` if the keyring slot is empty.
|
|
526
|
+
*/
|
|
527
|
+
async function unlockStandardTierKey(config) {
|
|
528
|
+
const fs = await import('node:fs');
|
|
529
|
+
const pathMod = await import('node:path');
|
|
530
|
+
const osMod = await import('node:os');
|
|
531
|
+
const { KeyRing, StandardTier, OsKeychainStorage, FileSystemStorage, } = await import('@de-otio/keyring');
|
|
532
|
+
const { KEYRING_SERVICE, CHAOSKB_DIR, FILE_KEY_PATH } = await import('./bootstrap.js');
|
|
533
|
+
const { SecureBuffer } = await import('@de-otio/crypto-envelope');
|
|
534
|
+
const wantFile = process.env.CHAOSKB_KEY_STORAGE === 'file';
|
|
535
|
+
const storage = wantFile
|
|
536
|
+
? new FileSystemStorage({
|
|
537
|
+
root: pathMod.join(CHAOSKB_DIR, 'keyring'),
|
|
538
|
+
acceptedTiers: ['standard'],
|
|
539
|
+
})
|
|
540
|
+
: new OsKeychainStorage({
|
|
541
|
+
service: KEYRING_SERVICE,
|
|
542
|
+
acceptedTiers: ['standard'],
|
|
543
|
+
});
|
|
544
|
+
// Legacy file-based master.key fallback (plain 32-byte hex). Kept so
|
|
545
|
+
// users mid-migration don't lose access to their data.
|
|
546
|
+
if (wantFile && fs.existsSync(FILE_KEY_PATH) && !(await storage.get('__personal'))) {
|
|
547
|
+
const hex = fs.readFileSync(FILE_KEY_PATH, 'utf-8').trim();
|
|
548
|
+
return SecureBuffer.from(Buffer.from(hex, 'hex'));
|
|
549
|
+
}
|
|
550
|
+
// Resolve the SSH private key path.
|
|
551
|
+
const sshKeyPath = config.sshKeyPath && fs.existsSync(config.sshKeyPath)
|
|
552
|
+
? config.sshKeyPath
|
|
553
|
+
: await defaultSshKeyPath(pathMod, osMod);
|
|
554
|
+
if (!sshKeyPath)
|
|
555
|
+
return null;
|
|
556
|
+
let sshPem;
|
|
557
|
+
let sshPubLine;
|
|
558
|
+
try {
|
|
559
|
+
sshPem = fs.readFileSync(sshKeyPath, 'utf-8');
|
|
560
|
+
sshPubLine = fs.readFileSync(`${sshKeyPath}.pub`, 'utf-8').trim();
|
|
561
|
+
}
|
|
562
|
+
catch {
|
|
563
|
+
return null;
|
|
564
|
+
}
|
|
565
|
+
const tier = StandardTier.fromSshKey(sshPubLine);
|
|
566
|
+
const ring = new KeyRing({ tier, storage });
|
|
567
|
+
const wrapped = await ring.getWrapped();
|
|
568
|
+
if (!wrapped)
|
|
569
|
+
return null;
|
|
570
|
+
await ring.unlockWithSshKey(sshPem);
|
|
571
|
+
try {
|
|
572
|
+
return await ring.withMaster(async (master) => SecureBuffer.from(Buffer.from(master.buffer)));
|
|
573
|
+
}
|
|
574
|
+
finally {
|
|
575
|
+
await ring.lock();
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
async function defaultSshKeyPath(pathMod, osMod) {
|
|
579
|
+
const fs = await import('node:fs');
|
|
580
|
+
const sshDir = pathMod.join(osMod.homedir(), '.ssh');
|
|
581
|
+
for (const c of ['id_ed25519', 'id_rsa']) {
|
|
582
|
+
const p = pathMod.join(sshDir, c);
|
|
583
|
+
if (fs.existsSync(p) && fs.existsSync(`${p}.pub`))
|
|
584
|
+
return p;
|
|
585
|
+
}
|
|
586
|
+
return null;
|
|
587
|
+
}
|
|
532
588
|
/**
|
|
533
589
|
* Unlock the master key for maximum security tier.
|
|
534
590
|
*
|
|
535
|
-
* Reads the encrypted key blob from ~/.chaoskb/master-key.enc
|
|
536
|
-
* prompts for the passphrase on
|
|
537
|
-
*
|
|
591
|
+
* Reads the encrypted key blob from ~/.chaoskb/master-key.enc (a
|
|
592
|
+
* serialised keyring `WrappedKey`), prompts for the passphrase on
|
|
593
|
+
* stderr, and delegates to keyring's `MaximumTier.unwrap`.
|
|
538
594
|
*
|
|
539
595
|
* MCP servers communicate over stdin/stdout (JSON-RPC), so the
|
|
540
596
|
* passphrase prompt goes to stderr. This only works when stderr
|
|
@@ -545,6 +601,9 @@ async function unlockMaximumTierKey() {
|
|
|
545
601
|
const fs = await import('node:fs');
|
|
546
602
|
const path = await import('node:path');
|
|
547
603
|
const { CHAOSKB_DIR } = await import('./bootstrap.js');
|
|
604
|
+
const { MaximumTier } = await import('@de-otio/keyring');
|
|
605
|
+
const { parseWrappedKey } = await import('./commands/config.js');
|
|
606
|
+
const { SecureBuffer } = await import('@de-otio/crypto-envelope');
|
|
548
607
|
const blobPath = path.join(CHAOSKB_DIR, 'master-key.enc');
|
|
549
608
|
let blobJson;
|
|
550
609
|
try {
|
|
@@ -554,9 +613,9 @@ async function unlockMaximumTierKey() {
|
|
|
554
613
|
throw new Error(`Maximum tier key blob not found at ${blobPath}. ` +
|
|
555
614
|
'Re-run `chaoskb-mcp config upgrade-tier maximum` or reinstall.');
|
|
556
615
|
}
|
|
557
|
-
const
|
|
558
|
-
if (
|
|
559
|
-
throw new Error(`
|
|
616
|
+
const wrapped = parseWrappedKey(blobJson);
|
|
617
|
+
if (wrapped.tier !== 'maximum') {
|
|
618
|
+
throw new Error(`Expected maximum tier blob; found ${wrapped.tier}`);
|
|
560
619
|
}
|
|
561
620
|
// Prompt for passphrase on stderr (stdout is reserved for MCP JSON-RPC)
|
|
562
621
|
const readline = await import('node:readline');
|
|
@@ -567,31 +626,20 @@ async function unlockMaximumTierKey() {
|
|
|
567
626
|
resolve(answer.trim());
|
|
568
627
|
});
|
|
569
628
|
});
|
|
570
|
-
// Derive wrapping key
|
|
571
|
-
const { argon2Derive } = await import('../crypto/index.js');
|
|
572
|
-
const salt = Buffer.from(blob.salt, 'hex');
|
|
573
|
-
const wrappingKey = argon2Derive(passphrase, salt);
|
|
574
629
|
try {
|
|
575
|
-
//
|
|
576
|
-
|
|
577
|
-
const
|
|
578
|
-
const
|
|
579
|
-
// XChaCha20-Poly1305 tag is last 16 bytes
|
|
580
|
-
const ciphertext = new Uint8Array(ctAndTag.subarray(0, ctAndTag.length - 16));
|
|
581
|
-
const tag = new Uint8Array(ctAndTag.subarray(ctAndTag.length - 16));
|
|
582
|
-
const aad = Buffer.from('chaoskb-master-key-wrap-v1');
|
|
583
|
-
let plaintext;
|
|
630
|
+
// The instance's held passphrase is only consulted on wrap; unwrap
|
|
631
|
+
// reads from UnlockInput.
|
|
632
|
+
const tier = MaximumTier.fromPassphrase(passphrase);
|
|
633
|
+
const master = await tier.unwrap(wrapped, { kind: 'passphrase', passphrase });
|
|
584
634
|
try {
|
|
585
|
-
|
|
635
|
+
return SecureBuffer.from(Buffer.from(master.buffer));
|
|
586
636
|
}
|
|
587
|
-
|
|
588
|
-
|
|
637
|
+
finally {
|
|
638
|
+
master.dispose();
|
|
589
639
|
}
|
|
590
|
-
const { SecureBuffer } = await import('../crypto/secure-buffer.js');
|
|
591
|
-
return SecureBuffer.from(Buffer.from(plaintext));
|
|
592
640
|
}
|
|
593
|
-
|
|
594
|
-
|
|
641
|
+
catch (err) {
|
|
642
|
+
throw new Error(`Incorrect passphrase: ${err instanceof Error ? err.message : String(err)}`);
|
|
595
643
|
}
|
|
596
644
|
}
|
|
597
645
|
export { TOOL_DEFINITIONS };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../cli/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAK5C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAgBzD;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,CACL,4EAA4E;QAC5E,sEAAsE;QACtE,4EAA4E;QAC5E,IAAI;QACJ,2DAA2D;QAC3D,oDAAoD,CACrD,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG;IACvB;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,0IAA0I;YAC1I,iEAAiE;QACnE,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;gBACzF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;gBACvG,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,uCAAuC;iBACrD;gBACD,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mFAAmF;iBACjG;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,iLAAiL;QACnL,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACtD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;iBACjE;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;oBACvC,WAAW,EAAE,oHAAoH;iBAClI;gBACD,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6CAA6C;iBAC3D;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EACT,+GAA+G;QACjH,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;iBACjE;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,gBAAgB;iBAC9B;gBACD,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,8DAA8D;QAChE,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;aAC3D;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,2GAA2G;QAC7G,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,+EAA+E;iBAClF;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yJAAyJ;QAC3J,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACtD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBACzE,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;iBACjE;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;oBACvC,WAAW,EAAE,2DAA2D;iBACzE;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;SAC/B;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,+FAA+F;QACjG,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,6FAA6F;QAC/F,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,+FAA+F;QACjG,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;aACpF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,wFAAwF;QAC1F,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,8FAA8F;QAChG,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aACpF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,yGAAyG;QAC3G,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;aACjG;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,2FAA2F;QAC7F,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;aAC3F;SACF;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,kIAAkI;QACpI,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;aACzF;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;KACF;CACF,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,IAAqB;IACnD,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EACrC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,gBAAgB;KACxB,CAAC,CAAC,CAAC;IAEJ,6DAA6D;IAC7D,SAAS,WAAW,CAAC,MAAe;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO;YACL,GAAG,IAAI;YACP,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC;SACxC,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,KAAK,UAAU,YAAY;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B;YACjE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAoB,EAAE,EAAE,CAAC,CAAC;gBACxC,GAAG,IAAI;gBACP,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC;aACzC,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,IAAI,CAAC;YACH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,CAAC,GAAG,IAA+B,CAAC;oBAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACtD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACrE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpE,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACtD,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,EACvB,WAAW,CAAC,KAAK,CAAC,CACnB,CAAC;oBACF,wDAAwD;oBACxD,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,KAAK,GAAI,IAAgC,CAAC,EAAwB,CAAC;oBACzE,MAAM,UAAU,GAAG;wBACjB,KAAK,EAAG,IAAgC,CAAC,KAAe;wBACxD,KAAK,EAAG,IAAgC,CAAC,KAA2B;wBACpE,IAAI,EAAG,IAAgC,CAAC,IAAqD;qBAC9F,CAAC;oBAEF,IAAI,KAAK,EAAE,CAAC;wBACV,0BAA0B;wBAC1B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;wBACnE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnG,CAAC;oBAED,4DAA4D;oBAC5D,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;oBACrC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;wBACnE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnG,CAAC;oBAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,CACrH,CAAC;oBACF,MAAM,MAAM,GAAG,UAAU;yBACtB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;yBACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;yBACjC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;oBACpC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrJ,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,MAAM,KAAK,GAAI,IAAgC,CAAC,EAAwB,CAAC;oBACzE,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B;wBACE,KAAK,EAAG,IAAgC,CAAC,KAA2B;wBACpE,MAAM,EAAG,IAAgC,CAAC,MAA4B;wBACtE,IAAI,EAAG,IAAgC,CAAC,IAA4B;qBACrE,EACD,WAAW,CAAC,KAAK,CAAC,CACnB,CAAC;oBACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,KAAK,GAAI,IAAgC,CAAC,EAAwB,CAAC;oBACzE,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC;wBACE,EAAE,EAAG,IAAgC,CAAC,EAAY;qBACnD,EACD,WAAW,CAAC,KAAK,CAAC,CACnB,CAAC;oBACF,wDAAwD;oBACxD,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC;wBACE,MAAM,EAAG,IAAgC,CAAC,MAAgB;qBAC3D,EACD,IAAI,CACL,CAAC;oBACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACvB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC;wBACE,KAAK,EAAG,IAAgC,CAAC,KAAe;wBACxD,OAAO,EAAG,IAAgC,CAAC,OAAiB;wBAC5D,KAAK,EAAG,IAAgC,CAAC,KAA2B;wBACpE,IAAI,EAAG,IAAgC,CAAC,IAAqD;qBAC9F,EACD,IAAI,CACL,CAAC;oBACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnG,CAAC;gBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;oBACpC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBACvD,CAAC;gBACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBACzB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,EAAE,CAAC,CAAC;oBAC/C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;wBAC3C,QAAQ,EAAG,IAAgC,CAAC,QAAkB;qBAC/D,CAAC,CAAC;oBACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBAC3C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;wBACvC,WAAW,EAAG,IAAgC,CAAC,WAAqB;qBACrE,CAAC,CAAC;oBACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;wBACnC,UAAU,EAAG,IAAgC,CAAC,UAAgC;qBAC/E,CAAC,CAAC;oBACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;wBAClC,KAAK,EAAG,IAAgC,CAAC,KAA2B;qBACrE,CAAC,CAAC;oBACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;wBACnC,YAAY,EAAG,IAAgC,CAAC,YAAsB;qBACvE,CAAC,CAAC;oBACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;gBACD;oBACE,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;wBAC1D,OAAO,EAAE,IAAI;qBACd,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBACtD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAyB;IAC5D,oDAAoD;IACpD,iEAAiE;IACjE,kEAAkE;IAElE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC3D,IAAI,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAEhC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,EAAE,CAAC;QAC7D,wEAAwE;QACxE,MAAM,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,iCAAiC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACxF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACrD,MAAM,SAAS,EAAE,CAAC;QAClB,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC9D,CAAC;IAED,qDAAqD;IACrD,sEAAsE;IACtE,4EAA4E;IAE5E,6EAA6E;IAC7E,+EAA+E;IAC/E,IAAI,IAAI,GAA2B,IAAI,CAAC;IACxC,IAAI,WAAW,GAAoC,IAAI,CAAC;IACxD,MAAM,OAAO,GAAG,KAAK,IAA8B,EAAE;QACnD,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACpG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC1E,WAAW,GAAG,IAAI,CAAC,CAAC,cAAc;gBAClC,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,oFAAoF;IACpF,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE1B,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,EAAqB,EAAE;QAChD,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;YAChI,CAAC;YACD,OAAQ,IAAoD,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAAyB,EACzB,MAAqB;IAErB,gEAAgE;IAChE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAChE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAC9E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAC3E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IACtE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC7D,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAE5E,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAE3C,4EAA4E;IAC5E,IAAI,SAAS,CAAC;IACd,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,EAAE,CAAC;QAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sGAAsG,CACvG,CAAC;QACF,SAAS,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,gEAAgE;YAChE,SAAS,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;YACrC,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,EAAE,CAAC;gBAC7D,0BAA0B;gBAC1B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACzD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;oBACpE,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;gBACzD,CAAC;gBAAC,MAAM,CAAC;oBACP,kCAAkC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAE9C,yBAAyB;IACzB,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW;QAC5B,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IAE9B,wCAAwC;IACxC,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAEzB,gEAAgE;IAChE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QACrE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YACnD,MAAM,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4CAA4C,GAAG,MAAM,EAAE,IAAI,OAAO,MAAM,CACzE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,sCAAsC;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,eAAe,CAClC;QACE,cAAc,EAAE,GAAG;QACnB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,aAAa;KACzB,EACD,QAAQ,CACT,CAAC;IAEF,gDAAgD;IAChD,IAAI,WAAqC,CAAC;IAC1C,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAChE,WAAW,GAAG,IAAI,WAAW,CAC3B,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,EAC5D,EAAE,EACF,UAAU,EACV,IAAI,CACL,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,oBAAoB;IACjC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAE1D,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,sCAAsC,QAAQ,IAAI;YAClD,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAG/B,CAAC;IAEF,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,wEAAwE;IACxE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACvD,EAAE,CAAC,QAAQ,CAAC,iCAAiC,EAAE,CAAC,MAAM,EAAE,EAAE;YACxD,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACrD,0CAA0C;QAC1C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAEtD,IAAI,SAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACpE,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnD,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAaD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../cli/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/crypto/aad.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import type { Algorithm, KeyId } from './types.js';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
* Per the envelope spec: AAD = UTF-8 bytes of canonicalJson({alg, id, kid, v})
|
|
5
|
-
* Keys are sorted alphabetically by RFC 8785.
|
|
2
|
+
* Re-export of AAD construction from `@de-otio/crypto-envelope`.
|
|
6
3
|
*/
|
|
7
|
-
export
|
|
4
|
+
export { constructAAD } from '@de-otio/crypto-envelope';
|
|
8
5
|
//# sourceMappingURL=aad.d.ts.map
|
package/dist/crypto/aad.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aad.d.ts","sourceRoot":"","sources":["../../crypto/aad.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aad.d.ts","sourceRoot":"","sources":["../../crypto/aad.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/crypto/aad.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
import { canonicalJson } from './canonical-json.js';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
* Per the envelope spec: AAD = UTF-8 bytes of canonicalJson({alg, id, kid, v})
|
|
5
|
-
* Keys are sorted alphabetically by RFC 8785.
|
|
2
|
+
* Re-export of AAD construction from `@de-otio/crypto-envelope`.
|
|
6
3
|
*/
|
|
7
|
-
export
|
|
8
|
-
const json = canonicalJson({ alg, id, kid, v });
|
|
9
|
-
return new TextEncoder().encode(json);
|
|
10
|
-
}
|
|
4
|
+
export { constructAAD } from '@de-otio/crypto-envelope';
|
|
11
5
|
//# sourceMappingURL=aad.js.map
|
package/dist/crypto/aad.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aad.js","sourceRoot":"","sources":["../../crypto/aad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"aad.js","sourceRoot":"","sources":["../../crypto/aad.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/crypto/aead.d.ts
CHANGED
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
export interface AeadResult {
|
|
2
|
-
nonce: Uint8Array;
|
|
3
|
-
ciphertext: Uint8Array;
|
|
4
|
-
tag: Uint8Array;
|
|
5
|
-
}
|
|
6
1
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
2
|
+
* XChaCha20-Poly1305 AEAD primitives.
|
|
3
|
+
*
|
|
4
|
+
* Thin back-compat wrapper around `@de-otio/crypto-envelope/primitives`.
|
|
5
|
+
* The package's 0.2 signature takes an explicit `alg` parameter; chaoskb
|
|
6
|
+
* only uses XChaCha20-Poly1305 at these call sites, so we keep the
|
|
7
|
+
* pre-0.2 call shape locally and inject the algorithm constant here.
|
|
10
8
|
*/
|
|
9
|
+
import { type AeadResult } from '@de-otio/crypto-envelope/primitives';
|
|
10
|
+
export type { AeadResult };
|
|
11
11
|
export declare function aeadEncrypt(key: Uint8Array, plaintext: Uint8Array, aad: Uint8Array): AeadResult;
|
|
12
|
-
/**
|
|
13
|
-
* Encrypt with a specified nonce (for testing only).
|
|
14
|
-
*/
|
|
15
|
-
export declare function aeadEncryptWithNonce(key: Uint8Array, nonce: Uint8Array, plaintext: Uint8Array, aad: Uint8Array): AeadResult;
|
|
16
|
-
/**
|
|
17
|
-
* Decrypt using XChaCha20-Poly1305.
|
|
18
|
-
* Throws if authentication fails.
|
|
19
|
-
*/
|
|
20
12
|
export declare function aeadDecrypt(key: Uint8Array, nonce: Uint8Array, ciphertext: Uint8Array, tag: Uint8Array, aad: Uint8Array): Uint8Array;
|
|
21
13
|
//# sourceMappingURL=aead.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aead.d.ts","sourceRoot":"","sources":["../../crypto/aead.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aead.d.ts","sourceRoot":"","sources":["../../crypto/aead.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,qCAAqC,CAAC;AAI7C,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,wBAAgB,WAAW,CACzB,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,UAAU,GACd,UAAU,CAEZ;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,UAAU,GACd,UAAU,CAEZ"}
|
package/dist/crypto/aead.js
CHANGED
|
@@ -1,43 +1,17 @@
|
|
|
1
|
-
import { randomBytes } from 'node:crypto';
|
|
2
|
-
import { xchacha20poly1305 } from '@noble/ciphers/chacha.js';
|
|
3
|
-
const NONCE_LENGTH = 24;
|
|
4
|
-
const TAG_LENGTH = 16;
|
|
5
1
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
2
|
+
* XChaCha20-Poly1305 AEAD primitives.
|
|
3
|
+
*
|
|
4
|
+
* Thin back-compat wrapper around `@de-otio/crypto-envelope/primitives`.
|
|
5
|
+
* The package's 0.2 signature takes an explicit `alg` parameter; chaoskb
|
|
6
|
+
* only uses XChaCha20-Poly1305 at these call sites, so we keep the
|
|
7
|
+
* pre-0.2 call shape locally and inject the algorithm constant here.
|
|
9
8
|
*/
|
|
9
|
+
import { aeadEncrypt as envAeadEncrypt, aeadDecrypt as envAeadDecrypt, } from '@de-otio/crypto-envelope/primitives';
|
|
10
|
+
const ALG = 'XChaCha20-Poly1305';
|
|
10
11
|
export function aeadEncrypt(key, plaintext, aad) {
|
|
11
|
-
|
|
12
|
-
return aeadEncryptWithNonce(key, nonce, plaintext, aad);
|
|
12
|
+
return envAeadEncrypt(ALG, key, plaintext, aad);
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Encrypt with a specified nonce (for testing only).
|
|
16
|
-
*/
|
|
17
|
-
export function aeadEncryptWithNonce(key, nonce, plaintext, aad) {
|
|
18
|
-
if (nonce.length !== NONCE_LENGTH) {
|
|
19
|
-
throw new Error(`Nonce must be ${NONCE_LENGTH} bytes, got ${nonce.length}`);
|
|
20
|
-
}
|
|
21
|
-
const cipher = xchacha20poly1305(key, nonce, aad);
|
|
22
|
-
const sealed = cipher.encrypt(plaintext);
|
|
23
|
-
// noble/ciphers returns ciphertext || tag concatenated
|
|
24
|
-
const ciphertext = sealed.slice(0, sealed.length - TAG_LENGTH);
|
|
25
|
-
const tag = sealed.slice(sealed.length - TAG_LENGTH);
|
|
26
|
-
return { nonce, ciphertext, tag };
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Decrypt using XChaCha20-Poly1305.
|
|
30
|
-
* Throws if authentication fails.
|
|
31
|
-
*/
|
|
32
14
|
export function aeadDecrypt(key, nonce, ciphertext, tag, aad) {
|
|
33
|
-
|
|
34
|
-
throw new Error(`Nonce must be ${NONCE_LENGTH} bytes, got ${nonce.length}`);
|
|
35
|
-
}
|
|
36
|
-
// noble/ciphers expects ciphertext || tag concatenated
|
|
37
|
-
const sealed = new Uint8Array(ciphertext.length + tag.length);
|
|
38
|
-
sealed.set(ciphertext, 0);
|
|
39
|
-
sealed.set(tag, ciphertext.length);
|
|
40
|
-
const cipher = xchacha20poly1305(key, nonce, aad);
|
|
41
|
-
return cipher.decrypt(sealed);
|
|
15
|
+
return envAeadDecrypt(ALG, key, nonce, ciphertext, tag, aad);
|
|
42
16
|
}
|
|
43
17
|
//# sourceMappingURL=aead.js.map
|
package/dist/crypto/aead.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aead.js","sourceRoot":"","sources":["../../crypto/aead.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"aead.js","sourceRoot":"","sources":["../../crypto/aead.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,WAAW,IAAI,cAAc,EAC7B,WAAW,IAAI,cAAc,GAE9B,MAAM,qCAAqC,CAAC;AAE7C,MAAM,GAAG,GAAG,oBAA6B,CAAC;AAI1C,MAAM,UAAU,WAAW,CACzB,GAAe,EACf,SAAqB,EACrB,GAAe;IAEf,OAAO,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,GAAe,EACf,KAAiB,EACjB,UAAsB,EACtB,GAAe,EACf,GAAe;IAEf,OAAO,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC"}
|
package/dist/crypto/blob-id.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Format: b_ + base62-encoded 16 random bytes.
|
|
2
|
+
* Re-export of opaque blob-ID generation from `@de-otio/crypto-envelope`.
|
|
4
3
|
*/
|
|
5
|
-
export
|
|
4
|
+
export { generateBlobId } from '@de-otio/crypto-envelope';
|
|
6
5
|
//# sourceMappingURL=blob-id.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob-id.d.ts","sourceRoot":"","sources":["../../crypto/blob-id.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blob-id.d.ts","sourceRoot":"","sources":["../../crypto/blob-id.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/crypto/blob-id.js
CHANGED
|
@@ -1,33 +1,5 @@
|
|
|
1
|
-
import { randomBytes } from 'node:crypto';
|
|
2
|
-
const BASE62_ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
5
|
-
* Uses repeated division for exact encoding.
|
|
2
|
+
* Re-export of opaque blob-ID generation from `@de-otio/crypto-envelope`.
|
|
6
3
|
*/
|
|
7
|
-
|
|
8
|
-
// Convert bytes to a BigInt
|
|
9
|
-
let num = BigInt(0);
|
|
10
|
-
for (const byte of bytes) {
|
|
11
|
-
num = (num << 8n) | BigInt(byte);
|
|
12
|
-
}
|
|
13
|
-
if (num === 0n) {
|
|
14
|
-
return BASE62_ALPHABET[0];
|
|
15
|
-
}
|
|
16
|
-
const chars = [];
|
|
17
|
-
const base = BigInt(BASE62_ALPHABET.length);
|
|
18
|
-
while (num > 0n) {
|
|
19
|
-
const remainder = Number(num % base);
|
|
20
|
-
chars.unshift(BASE62_ALPHABET[remainder]);
|
|
21
|
-
num = num / base;
|
|
22
|
-
}
|
|
23
|
-
return chars.join('');
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Generate a CSPRNG blob ID.
|
|
27
|
-
* Format: b_ + base62-encoded 16 random bytes.
|
|
28
|
-
*/
|
|
29
|
-
export function generateBlobId() {
|
|
30
|
-
const bytes = randomBytes(16);
|
|
31
|
-
return 'b_' + base62Encode(bytes);
|
|
32
|
-
}
|
|
4
|
+
export { generateBlobId } from '@de-otio/crypto-envelope';
|
|
33
5
|
//# sourceMappingURL=blob-id.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob-id.js","sourceRoot":"","sources":["../../crypto/blob-id.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"blob-id.js","sourceRoot":"","sources":["../../crypto/blob-id.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* RFC 8785
|
|
3
|
-
*
|
|
2
|
+
* Re-export of RFC 8785 canonical JSON from `@de-otio/crypto-envelope`.
|
|
3
|
+
* The implementation moved out of chaoskb when the crypto primitives were
|
|
4
|
+
* extracted into a standalone package; this file keeps chaoskb's internal
|
|
5
|
+
* imports stable.
|
|
4
6
|
*/
|
|
5
|
-
export
|
|
7
|
+
export { canonicalJson } from '@de-otio/crypto-envelope';
|
|
6
8
|
//# sourceMappingURL=canonical-json.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-json.d.ts","sourceRoot":"","sources":["../../crypto/canonical-json.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"canonical-json.d.ts","sourceRoot":"","sources":["../../crypto/canonical-json.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,88 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* RFC 8785
|
|
3
|
-
*
|
|
2
|
+
* Re-export of RFC 8785 canonical JSON from `@de-otio/crypto-envelope`.
|
|
3
|
+
* The implementation moved out of chaoskb when the crypto primitives were
|
|
4
|
+
* extracted into a standalone package; this file keeps chaoskb's internal
|
|
5
|
+
* imports stable.
|
|
4
6
|
*/
|
|
5
|
-
export
|
|
6
|
-
return serializeValue(obj);
|
|
7
|
-
}
|
|
8
|
-
function serializeValue(value) {
|
|
9
|
-
if (value === null) {
|
|
10
|
-
return 'null';
|
|
11
|
-
}
|
|
12
|
-
switch (typeof value) {
|
|
13
|
-
case 'boolean':
|
|
14
|
-
return value ? 'true' : 'false';
|
|
15
|
-
case 'number':
|
|
16
|
-
return serializeNumber(value);
|
|
17
|
-
case 'string':
|
|
18
|
-
return serializeString(value);
|
|
19
|
-
case 'object':
|
|
20
|
-
if (Array.isArray(value)) {
|
|
21
|
-
return serializeArray(value);
|
|
22
|
-
}
|
|
23
|
-
return serializeObject(value);
|
|
24
|
-
default:
|
|
25
|
-
throw new TypeError(`Unsupported type: ${typeof value}`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function serializeNumber(n) {
|
|
29
|
-
if (!Number.isFinite(n)) {
|
|
30
|
-
throw new TypeError(`Non-finite number: ${n}`);
|
|
31
|
-
}
|
|
32
|
-
// RFC 8785: use ES2015 Number serialization (which JSON.stringify uses)
|
|
33
|
-
// For integers, no decimal point. For floats, shortest representation.
|
|
34
|
-
if (Object.is(n, -0)) {
|
|
35
|
-
return '0';
|
|
36
|
-
}
|
|
37
|
-
return JSON.stringify(n);
|
|
38
|
-
}
|
|
39
|
-
function serializeString(s) {
|
|
40
|
-
// RFC 8785: escape control characters, backslash, double-quote.
|
|
41
|
-
// Characters U+0000..U+001F must be escaped with \uXXXX (except \b \f \n \r \t which use short form).
|
|
42
|
-
// All other characters (including non-BMP via surrogate pairs) are passed through literally.
|
|
43
|
-
let result = '"';
|
|
44
|
-
for (let i = 0; i < s.length; i++) {
|
|
45
|
-
const code = s.charCodeAt(i);
|
|
46
|
-
if (code === 0x08) {
|
|
47
|
-
result += '\\b';
|
|
48
|
-
}
|
|
49
|
-
else if (code === 0x09) {
|
|
50
|
-
result += '\\t';
|
|
51
|
-
}
|
|
52
|
-
else if (code === 0x0a) {
|
|
53
|
-
result += '\\n';
|
|
54
|
-
}
|
|
55
|
-
else if (code === 0x0c) {
|
|
56
|
-
result += '\\f';
|
|
57
|
-
}
|
|
58
|
-
else if (code === 0x0d) {
|
|
59
|
-
result += '\\r';
|
|
60
|
-
}
|
|
61
|
-
else if (code === 0x22) {
|
|
62
|
-
result += '\\"';
|
|
63
|
-
}
|
|
64
|
-
else if (code === 0x5c) {
|
|
65
|
-
result += '\\\\';
|
|
66
|
-
}
|
|
67
|
-
else if (code < 0x20) {
|
|
68
|
-
result += `\\u${code.toString(16).padStart(4, '0')}`;
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
result += s[i];
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
result += '"';
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
function serializeArray(arr) {
|
|
78
|
-
const items = arr.map((item) => serializeValue(item));
|
|
79
|
-
return '[' + items.join(',') + ']';
|
|
80
|
-
}
|
|
81
|
-
function serializeObject(obj) {
|
|
82
|
-
const keys = Object.keys(obj).sort();
|
|
83
|
-
const pairs = keys
|
|
84
|
-
.filter((key) => obj[key] !== undefined)
|
|
85
|
-
.map((key) => serializeString(key) + ':' + serializeValue(obj[key]));
|
|
86
|
-
return '{' + pairs.join(',') + '}';
|
|
87
|
-
}
|
|
7
|
+
export { canonicalJson } from '@de-otio/crypto-envelope';
|
|
88
8
|
//# sourceMappingURL=canonical-json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-json.js","sourceRoot":"","sources":["../../crypto/canonical-json.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"canonical-json.js","sourceRoot":"","sources":["../../crypto/canonical-json.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* where blobIdBytes is the UTF-8 encoding of the blob ID string.
|
|
2
|
+
* Re-export of HMAC-SHA256 key-commitment primitives from
|
|
3
|
+
* `@de-otio/crypto-envelope/primitives`.
|
|
5
4
|
*/
|
|
6
|
-
export
|
|
7
|
-
/**
|
|
8
|
-
* Verify a key commitment using constant-time comparison.
|
|
9
|
-
* Returns true if the commitment is valid.
|
|
10
|
-
*/
|
|
11
|
-
export declare function verifyCommitment(commitKey: Uint8Array, blobId: string, rawCt: Uint8Array, expected: Uint8Array): boolean;
|
|
5
|
+
export { computeCommitment, verifyCommitment, } from '@de-otio/crypto-envelope/primitives';
|
|
12
6
|
//# sourceMappingURL=commitment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitment.d.ts","sourceRoot":"","sources":["../../crypto/commitment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commitment.d.ts","sourceRoot":"","sources":["../../crypto/commitment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qCAAqC,CAAC"}
|