@pcircle/footprint 1.0.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 +21 -0
- package/README.md +80 -0
- package/SKILL.md +355 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +690 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/crypto/decrypt.d.ts +11 -0
- package/dist/lib/crypto/decrypt.d.ts.map +1 -0
- package/dist/lib/crypto/decrypt.js +30 -0
- package/dist/lib/crypto/decrypt.js.map +1 -0
- package/dist/lib/crypto/encrypt.d.ts +13 -0
- package/dist/lib/crypto/encrypt.d.ts.map +1 -0
- package/dist/lib/crypto/encrypt.js +24 -0
- package/dist/lib/crypto/encrypt.js.map +1 -0
- package/dist/lib/crypto/index.d.ts +6 -0
- package/dist/lib/crypto/index.d.ts.map +1 -0
- package/dist/lib/crypto/index.js +5 -0
- package/dist/lib/crypto/index.js.map +1 -0
- package/dist/lib/crypto/key-derivation.d.ts +30 -0
- package/dist/lib/crypto/key-derivation.d.ts.map +1 -0
- package/dist/lib/crypto/key-derivation.js +63 -0
- package/dist/lib/crypto/key-derivation.js.map +1 -0
- package/dist/lib/crypto/types.d.ts +22 -0
- package/dist/lib/crypto/types.d.ts.map +1 -0
- package/dist/lib/crypto/types.js +10 -0
- package/dist/lib/crypto/types.js.map +1 -0
- package/dist/lib/storage/database.d.ts +116 -0
- package/dist/lib/storage/database.d.ts.map +1 -0
- package/dist/lib/storage/database.js +390 -0
- package/dist/lib/storage/database.js.map +1 -0
- package/dist/lib/storage/export.d.ts +26 -0
- package/dist/lib/storage/export.d.ts.map +1 -0
- package/dist/lib/storage/export.js +113 -0
- package/dist/lib/storage/export.js.map +1 -0
- package/dist/lib/storage/git.d.ts +16 -0
- package/dist/lib/storage/git.d.ts.map +1 -0
- package/dist/lib/storage/git.js +55 -0
- package/dist/lib/storage/git.js.map +1 -0
- package/dist/lib/storage/index.d.ts +6 -0
- package/dist/lib/storage/index.d.ts.map +1 -0
- package/dist/lib/storage/index.js +5 -0
- package/dist/lib/storage/index.js.map +1 -0
- package/dist/lib/storage/schema.d.ts +17 -0
- package/dist/lib/storage/schema.d.ts.map +1 -0
- package/dist/lib/storage/schema.js +103 -0
- package/dist/lib/storage/schema.js.map +1 -0
- package/dist/lib/storage/types.d.ts +26 -0
- package/dist/lib/storage/types.d.ts.map +1 -0
- package/dist/lib/storage/types.js +2 -0
- package/dist/lib/storage/types.js.map +1 -0
- package/dist/test-helpers.d.ts +33 -0
- package/dist/test-helpers.d.ts.map +1 -0
- package/dist/test-helpers.js +108 -0
- package/dist/test-helpers.js.map +1 -0
- package/dist/types.d.ts +29 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/dashboard.html +965 -0
- package/dist/ui/detail.html +348 -0
- package/dist/ui/export.html +409 -0
- package/dist/ui/register.d.ts +7 -0
- package/dist/ui/register.d.ts.map +1 -0
- package/dist/ui/register.js +154 -0
- package/dist/ui/register.js.map +1 -0
- package/dist/ui-tmp/ui/export.html +409 -0
- package/package.json +78 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decrypt ciphertext using XChaCha20-Poly1305 AEAD
|
|
3
|
+
*
|
|
4
|
+
* @param ciphertext - Encrypted data
|
|
5
|
+
* @param nonce - 24-byte nonce used during encryption
|
|
6
|
+
* @param key - 32-byte encryption key
|
|
7
|
+
* @returns Decrypted plaintext
|
|
8
|
+
* @throws Error if authentication fails or key is wrong
|
|
9
|
+
*/
|
|
10
|
+
export declare function decrypt(ciphertext: Uint8Array, nonce: Uint8Array, key: Uint8Array): string;
|
|
11
|
+
//# sourceMappingURL=decrypt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decrypt.d.ts","sourceRoot":"","sources":["../../../src/lib/crypto/decrypt.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,UAAU,GACd,MAAM,CAqBR"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { xchacha20poly1305 } from '@noble/ciphers/chacha';
|
|
2
|
+
/**
|
|
3
|
+
* Decrypt ciphertext using XChaCha20-Poly1305 AEAD
|
|
4
|
+
*
|
|
5
|
+
* @param ciphertext - Encrypted data
|
|
6
|
+
* @param nonce - 24-byte nonce used during encryption
|
|
7
|
+
* @param key - 32-byte encryption key
|
|
8
|
+
* @returns Decrypted plaintext
|
|
9
|
+
* @throws Error if authentication fails or key is wrong
|
|
10
|
+
*/
|
|
11
|
+
export function decrypt(ciphertext, nonce, key) {
|
|
12
|
+
if (key.length !== 32) {
|
|
13
|
+
throw new Error('Key must be 32 bytes');
|
|
14
|
+
}
|
|
15
|
+
if (nonce.length !== 24) {
|
|
16
|
+
throw new Error('Nonce must be 24 bytes');
|
|
17
|
+
}
|
|
18
|
+
// Create cipher instance
|
|
19
|
+
const cipher = xchacha20poly1305(key, nonce);
|
|
20
|
+
try {
|
|
21
|
+
// Decrypt and verify authentication tag
|
|
22
|
+
const plaintextBytes = cipher.decrypt(ciphertext);
|
|
23
|
+
// Convert bytes back to string
|
|
24
|
+
return new TextDecoder().decode(plaintextBytes);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
throw new Error('Decryption failed: invalid key or tampered data');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=decrypt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../../src/lib/crypto/decrypt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CACrB,UAAsB,EACtB,KAAiB,EACjB,GAAe;IAEf,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,yBAAyB;IACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,wCAAwC;QACxC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAElD,+BAA+B;QAC/B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface EncryptedData {
|
|
2
|
+
ciphertext: Uint8Array;
|
|
3
|
+
nonce: Uint8Array;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Encrypt plaintext using XChaCha20-Poly1305 AEAD
|
|
7
|
+
*
|
|
8
|
+
* @param plaintext - Text to encrypt
|
|
9
|
+
* @param key - 32-byte encryption key
|
|
10
|
+
* @returns Encrypted data with nonce
|
|
11
|
+
*/
|
|
12
|
+
export declare function encrypt(plaintext: string, key: Uint8Array): EncryptedData;
|
|
13
|
+
//# sourceMappingURL=encrypt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt.d.ts","sourceRoot":"","sources":["../../../src/lib/crypto/encrypt.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,aAAa,CAkBzE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { xchacha20poly1305 } from '@noble/ciphers/chacha';
|
|
2
|
+
import { randomBytes } from '@noble/hashes/utils';
|
|
3
|
+
/**
|
|
4
|
+
* Encrypt plaintext using XChaCha20-Poly1305 AEAD
|
|
5
|
+
*
|
|
6
|
+
* @param plaintext - Text to encrypt
|
|
7
|
+
* @param key - 32-byte encryption key
|
|
8
|
+
* @returns Encrypted data with nonce
|
|
9
|
+
*/
|
|
10
|
+
export function encrypt(plaintext, key) {
|
|
11
|
+
if (key.length !== 32) {
|
|
12
|
+
throw new Error('Key must be 32 bytes');
|
|
13
|
+
}
|
|
14
|
+
// Generate random 24-byte nonce (XChaCha20 extended nonce)
|
|
15
|
+
const nonce = randomBytes(24);
|
|
16
|
+
// Convert plaintext to bytes
|
|
17
|
+
const plaintextBytes = new TextEncoder().encode(plaintext);
|
|
18
|
+
// Create cipher instance
|
|
19
|
+
const cipher = xchacha20poly1305(key, nonce);
|
|
20
|
+
// Encrypt with authentication
|
|
21
|
+
const ciphertext = cipher.encrypt(plaintextBytes);
|
|
22
|
+
return { ciphertext, nonce };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=encrypt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../../../src/lib/crypto/encrypt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOlD;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,SAAiB,EAAE,GAAe;IACxD,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,2DAA2D;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAE9B,6BAA6B;IAC7B,MAAM,cAAc,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE3D,yBAAyB;IACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE7C,8BAA8B;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAElD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { deriveKey, verifyKey } from './key-derivation.js';
|
|
2
|
+
export { encrypt } from './encrypt.js';
|
|
3
|
+
export { decrypt } from './decrypt.js';
|
|
4
|
+
export type { DerivedKey, KeyDerivationParams, EncryptedData } from './types.js';
|
|
5
|
+
export { DEFAULT_KDF_PARAMS } from './types.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/crypto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/crypto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { DerivedKey, KeyDerivationParams } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Derive encryption key from password using Argon2id
|
|
4
|
+
*
|
|
5
|
+
* @param password - User password (must not be empty)
|
|
6
|
+
* @param params - Optional KDF parameters (uses OWASP defaults)
|
|
7
|
+
* @returns Derived key and salt
|
|
8
|
+
*
|
|
9
|
+
* @security When comparing derived keys for authentication,
|
|
10
|
+
* use constant-time comparison to prevent timing attacks:
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { timingSafeEqual } from 'node:crypto';
|
|
14
|
+
*
|
|
15
|
+
* const derived = await deriveKey('password');
|
|
16
|
+
* // SECURE - constant-time comparison
|
|
17
|
+
* const match = timingSafeEqual(derived.key, storedKey);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function deriveKey(password: string, params?: Partial<KeyDerivationParams>): Promise<DerivedKey>;
|
|
21
|
+
/**
|
|
22
|
+
* Re-derive key from password and existing salt (for verification)
|
|
23
|
+
*
|
|
24
|
+
* @param password - User password
|
|
25
|
+
* @param salt - Existing salt (from previous derivation)
|
|
26
|
+
* @param params - Optional KDF parameters
|
|
27
|
+
* @returns Derived key with same salt
|
|
28
|
+
*/
|
|
29
|
+
export declare function verifyKey(password: string, salt: Uint8Array, params?: Partial<KeyDerivationParams>): Promise<DerivedKey>;
|
|
30
|
+
//# sourceMappingURL=key-derivation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-derivation.d.ts","sourceRoot":"","sources":["../../../src/lib/crypto/key-derivation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGlE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,OAAO,CAAC,UAAU,CAAC,CAuBrB;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,EAChB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,OAAO,CAAC,UAAU,CAAC,CAwBrB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { argon2id } from '@noble/hashes/argon2';
|
|
2
|
+
import { randomBytes } from '@noble/hashes/utils';
|
|
3
|
+
import { DEFAULT_KDF_PARAMS } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Derive encryption key from password using Argon2id
|
|
6
|
+
*
|
|
7
|
+
* @param password - User password (must not be empty)
|
|
8
|
+
* @param params - Optional KDF parameters (uses OWASP defaults)
|
|
9
|
+
* @returns Derived key and salt
|
|
10
|
+
*
|
|
11
|
+
* @security When comparing derived keys for authentication,
|
|
12
|
+
* use constant-time comparison to prevent timing attacks:
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { timingSafeEqual } from 'node:crypto';
|
|
16
|
+
*
|
|
17
|
+
* const derived = await deriveKey('password');
|
|
18
|
+
* // SECURE - constant-time comparison
|
|
19
|
+
* const match = timingSafeEqual(derived.key, storedKey);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export async function deriveKey(password, params = {}) {
|
|
23
|
+
if (!password || password.length === 0) {
|
|
24
|
+
throw new Error('Password cannot be empty');
|
|
25
|
+
}
|
|
26
|
+
const kdfParams = { ...DEFAULT_KDF_PARAMS, ...params };
|
|
27
|
+
// Generate random salt (16 bytes)
|
|
28
|
+
const salt = randomBytes(16);
|
|
29
|
+
// Derive key using Argon2id
|
|
30
|
+
const key = argon2id(password, salt, {
|
|
31
|
+
m: kdfParams.memory,
|
|
32
|
+
t: kdfParams.iterations,
|
|
33
|
+
p: kdfParams.parallelism,
|
|
34
|
+
dkLen: kdfParams.keyLength,
|
|
35
|
+
});
|
|
36
|
+
return { key, salt };
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Re-derive key from password and existing salt (for verification)
|
|
40
|
+
*
|
|
41
|
+
* @param password - User password
|
|
42
|
+
* @param salt - Existing salt (from previous derivation)
|
|
43
|
+
* @param params - Optional KDF parameters
|
|
44
|
+
* @returns Derived key with same salt
|
|
45
|
+
*/
|
|
46
|
+
export async function verifyKey(password, salt, params = {}) {
|
|
47
|
+
if (!password || password.length === 0) {
|
|
48
|
+
throw new Error('Password cannot be empty');
|
|
49
|
+
}
|
|
50
|
+
const kdfParams = { ...DEFAULT_KDF_PARAMS, ...params };
|
|
51
|
+
if (salt.length !== 16) {
|
|
52
|
+
throw new Error('Salt must be 16 bytes');
|
|
53
|
+
}
|
|
54
|
+
// Re-derive key using same salt
|
|
55
|
+
const key = argon2id(password, salt, {
|
|
56
|
+
m: kdfParams.memory,
|
|
57
|
+
t: kdfParams.iterations,
|
|
58
|
+
p: kdfParams.parallelism,
|
|
59
|
+
dkLen: kdfParams.keyLength,
|
|
60
|
+
});
|
|
61
|
+
return { key, salt };
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=key-derivation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-derivation.js","sourceRoot":"","sources":["../../../src/lib/crypto/key-derivation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,SAAuC,EAAE;IAEzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,MAAM,EAAE,CAAC;IAEvD,kCAAkC;IAClC,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAE7B,4BAA4B;IAC5B,MAAM,GAAG,GAAG,QAAQ,CAClB,QAAQ,EACR,IAAI,EACJ;QACE,CAAC,EAAE,SAAS,CAAC,MAAM;QACnB,CAAC,EAAE,SAAS,CAAC,UAAU;QACvB,CAAC,EAAE,SAAS,CAAC,WAAW;QACxB,KAAK,EAAE,SAAS,CAAC,SAAS;KAC3B,CACF,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,IAAgB,EAChB,SAAuC,EAAE;IAEzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,MAAM,EAAE,CAAC;IAEvD,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,gCAAgC;IAChC,MAAM,GAAG,GAAG,QAAQ,CAClB,QAAQ,EACR,IAAI,EACJ;QACE,CAAC,EAAE,SAAS,CAAC,MAAM;QACnB,CAAC,EAAE,SAAS,CAAC,UAAU;QACvB,CAAC,EAAE,SAAS,CAAC,WAAW;QACxB,KAAK,EAAE,SAAS,CAAC,SAAS;KAC3B,CACF,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encryption key derived from user password
|
|
3
|
+
*/
|
|
4
|
+
export interface DerivedKey {
|
|
5
|
+
key: Uint8Array;
|
|
6
|
+
salt: Uint8Array;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Parameters for Argon2 key derivation
|
|
10
|
+
*/
|
|
11
|
+
export interface KeyDerivationParams {
|
|
12
|
+
memory: number;
|
|
13
|
+
iterations: number;
|
|
14
|
+
parallelism: number;
|
|
15
|
+
keyLength: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Default Argon2id parameters (OWASP recommended)
|
|
19
|
+
*/
|
|
20
|
+
export declare const DEFAULT_KDF_PARAMS: KeyDerivationParams;
|
|
21
|
+
export type { EncryptedData } from './encrypt.js';
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/crypto/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBAKhC,CAAC;AAEF,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/crypto/types.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,MAAM,EAAE,KAAK,EAAO,QAAQ;IAC5B,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,EAAE;CACd,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { Evidence } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Evidence database with CRUD operations
|
|
4
|
+
* Manages encrypted evidence storage with SQLite backend
|
|
5
|
+
*/
|
|
6
|
+
export declare class EvidenceDatabase {
|
|
7
|
+
private db;
|
|
8
|
+
/**
|
|
9
|
+
* Creates or opens an evidence database
|
|
10
|
+
* @param dbPath - Path to SQLite database file
|
|
11
|
+
*/
|
|
12
|
+
constructor(dbPath: string);
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new evidence record
|
|
15
|
+
* @param evidence - Evidence data without id, createdAt, updatedAt
|
|
16
|
+
* @returns UUID of created evidence
|
|
17
|
+
*/
|
|
18
|
+
create(evidence: Omit<Evidence, 'id' | 'createdAt' | 'updatedAt'>): string;
|
|
19
|
+
/**
|
|
20
|
+
* Finds evidence by ID
|
|
21
|
+
* @param id - Evidence UUID
|
|
22
|
+
* @returns Evidence or null if not found
|
|
23
|
+
*/
|
|
24
|
+
findById(id: string): Evidence | null;
|
|
25
|
+
/**
|
|
26
|
+
* Finds all evidences for a conversation
|
|
27
|
+
* @param conversationId - Conversation identifier
|
|
28
|
+
* @returns Array of evidences (empty if none found)
|
|
29
|
+
*/
|
|
30
|
+
findByConversationId(conversationId: string): Evidence[];
|
|
31
|
+
/**
|
|
32
|
+
* Lists evidences with pagination
|
|
33
|
+
* @param options - Pagination options (limit, offset)
|
|
34
|
+
* @returns Array of evidences
|
|
35
|
+
*/
|
|
36
|
+
list(options?: {
|
|
37
|
+
limit?: number;
|
|
38
|
+
offset?: number;
|
|
39
|
+
}): Evidence[];
|
|
40
|
+
/**
|
|
41
|
+
* Updates git commit information for an evidence
|
|
42
|
+
* @param id - Evidence UUID
|
|
43
|
+
* @param gitCommitHash - Git commit hash
|
|
44
|
+
* @param gitTimestamp - Git commit timestamp (ISO 8601)
|
|
45
|
+
*/
|
|
46
|
+
updateGitInfo(id: string, gitCommitHash: string, gitTimestamp: string): void;
|
|
47
|
+
/**
|
|
48
|
+
* Adds tags to an evidence (appends to existing tags)
|
|
49
|
+
* @param id - Evidence UUID
|
|
50
|
+
* @param tags - Array of tags to add
|
|
51
|
+
*/
|
|
52
|
+
addTags(id: string, tags: string[]): void;
|
|
53
|
+
/**
|
|
54
|
+
* Search and filter evidences by various criteria
|
|
55
|
+
* @param options - Search and filter options
|
|
56
|
+
* @returns Array of matching evidences
|
|
57
|
+
*/
|
|
58
|
+
search(options: {
|
|
59
|
+
query?: string;
|
|
60
|
+
tags?: string[];
|
|
61
|
+
dateFrom?: string;
|
|
62
|
+
dateTo?: string;
|
|
63
|
+
limit?: number;
|
|
64
|
+
offset?: number;
|
|
65
|
+
}): Evidence[];
|
|
66
|
+
/**
|
|
67
|
+
* Deletes evidence by ID
|
|
68
|
+
* @param id - Evidence UUID
|
|
69
|
+
* @returns true if deleted, false if not found
|
|
70
|
+
*/
|
|
71
|
+
delete(id: string): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Deletes multiple evidences by IDs
|
|
74
|
+
* @param ids - Array of evidence UUIDs
|
|
75
|
+
* @returns Number of evidences deleted
|
|
76
|
+
*/
|
|
77
|
+
deleteMany(ids: string[]): number;
|
|
78
|
+
/**
|
|
79
|
+
* Updates tags for an evidence (replaces existing tags)
|
|
80
|
+
* @param id - Evidence UUID
|
|
81
|
+
* @param tags - New tags (comma-separated string or null)
|
|
82
|
+
* @returns true if updated, false if not found
|
|
83
|
+
*/
|
|
84
|
+
updateTags(id: string, tags: string | null): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Renames a tag across all evidences
|
|
87
|
+
* @param oldTag - Tag to rename
|
|
88
|
+
* @param newTag - New tag name
|
|
89
|
+
* @returns Number of evidences updated
|
|
90
|
+
*/
|
|
91
|
+
renameTag(oldTag: string, newTag: string): number;
|
|
92
|
+
/**
|
|
93
|
+
* Removes a tag from all evidences
|
|
94
|
+
* @param tag - Tag to remove
|
|
95
|
+
* @returns Number of evidences updated
|
|
96
|
+
*/
|
|
97
|
+
removeTag(tag: string): number;
|
|
98
|
+
/**
|
|
99
|
+
* Gets all unique tags with their counts
|
|
100
|
+
* @returns Map of tag to count
|
|
101
|
+
*/
|
|
102
|
+
getTagCounts(): Map<string, number>;
|
|
103
|
+
/**
|
|
104
|
+
* Closes the database connection
|
|
105
|
+
* Should be called when done with the database
|
|
106
|
+
*/
|
|
107
|
+
close(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Converts database row to Evidence object
|
|
110
|
+
* Handles BLOB to Uint8Array conversion
|
|
111
|
+
* @param row - Raw database row
|
|
112
|
+
* @returns Evidence object
|
|
113
|
+
*/
|
|
114
|
+
private rowToEvidence;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=database.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/lib/storage/database.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAqB3C;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAoB;IAE9B;;;OAGG;gBACS,MAAM,EAAE,MAAM;IAK1B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,MAAM;IAmC1E;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAkBrC;;;;OAIG;IACH,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,EAAE;IAiBxD;;;;OAIG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,QAAQ,EAAE;IA4B/D;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAoB5E;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IA8BzC;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,QAAQ,EAAE;IAqEd;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAU3B;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAajC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAepD;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAuBjD;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAuB9B;;;OAGG;IACH,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAmBnC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAiBtB"}
|