@aiconnect/confidant 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/README.md +570 -0
- package/dist/api-client.d.ts +58 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +101 -0
- package/dist/api-client.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +69 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/create.d.ts +3 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +51 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/delete.d.ts +3 -0
- package/dist/commands/delete.d.ts.map +1 -0
- package/dist/commands/delete.js +29 -0
- package/dist/commands/delete.js.map +1 -0
- package/dist/commands/get-request.d.ts +3 -0
- package/dist/commands/get-request.d.ts.map +1 -0
- package/dist/commands/get-request.js +89 -0
- package/dist/commands/get-request.js.map +1 -0
- package/dist/commands/get.d.ts +3 -0
- package/dist/commands/get.d.ts.map +1 -0
- package/dist/commands/get.js +29 -0
- package/dist/commands/get.js.map +1 -0
- package/dist/commands/request.d.ts +3 -0
- package/dist/commands/request.d.ts.map +1 -0
- package/dist/commands/request.js +289 -0
- package/dist/commands/request.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +40 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/crypto.d.ts +32 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +79 -0
- package/dist/crypto.js.map +1 -0
- package/dist/crypto.test.d.ts +5 -0
- package/dist/crypto.test.d.ts.map +1 -0
- package/dist/crypto.test.js +77 -0
- package/dist/crypto.test.js.map +1 -0
- package/dist/i18n.d.ts +55 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +63 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/network-detection.d.ts +11 -0
- package/dist/network-detection.d.ts.map +1 -0
- package/dist/network-detection.js +54 -0
- package/dist/network-detection.js.map +1 -0
- package/dist/network-detection.test.d.ts +2 -0
- package/dist/network-detection.test.d.ts.map +1 -0
- package/dist/network-detection.test.js +150 -0
- package/dist/network-detection.test.js.map +1 -0
- package/dist/rate-limiter.d.ts +61 -0
- package/dist/rate-limiter.d.ts.map +1 -0
- package/dist/rate-limiter.js +128 -0
- package/dist/rate-limiter.js.map +1 -0
- package/dist/rate-limiter.test.d.ts +5 -0
- package/dist/rate-limiter.test.d.ts.map +1 -0
- package/dist/rate-limiter.test.js +130 -0
- package/dist/rate-limiter.test.js.map +1 -0
- package/dist/registry.d.ts +136 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +182 -0
- package/dist/registry.js.map +1 -0
- package/dist/registry.test.d.ts +13 -0
- package/dist/registry.test.d.ts.map +1 -0
- package/dist/registry.test.js +308 -0
- package/dist/registry.test.js.map +1 -0
- package/dist/routes.d.ts +4 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +931 -0
- package/dist/routes.js.map +1 -0
- package/dist/server.d.ts +27 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +79 -0
- package/dist/server.js.map +1 -0
- package/dist/storage.d.ts +150 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +298 -0
- package/dist/storage.js.map +1 -0
- package/dist/storage.test.d.ts +5 -0
- package/dist/storage.test.d.ts.map +1 -0
- package/dist/storage.test.js +466 -0
- package/dist/storage.test.js.map +1 -0
- package/dist/types.d.ts +144 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +56 -0
- package/dist/types.js.map +1 -0
- package/dist/url-helper.d.ts +16 -0
- package/dist/url-helper.d.ts.map +1 -0
- package/dist/url-helper.js +27 -0
- package/dist/url-helper.js.map +1 -0
- package/dist/url-helper.test.d.ts +2 -0
- package/dist/url-helper.test.d.ts.map +1 -0
- package/dist/url-helper.test.js +70 -0
- package/dist/url-helper.test.js.map +1 -0
- package/package.json +73 -0
- package/public/index.html +352 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server configuration options
|
|
3
|
+
*/
|
|
4
|
+
export interface ServerOptions {
|
|
5
|
+
port?: number;
|
|
6
|
+
host?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Start the Confidant server
|
|
10
|
+
*
|
|
11
|
+
* @param options - Server configuration options
|
|
12
|
+
* @returns A promise that resolves when the server is ready, with a cleanup function
|
|
13
|
+
*/
|
|
14
|
+
export declare function startServer(options?: ServerOptions): Promise<() => Promise<void>>;
|
|
15
|
+
/**
|
|
16
|
+
* Get server URLs for display
|
|
17
|
+
*
|
|
18
|
+
* @param port - Server port
|
|
19
|
+
* @param host - Server host
|
|
20
|
+
* @returns Object with localhost and network URLs
|
|
21
|
+
*/
|
|
22
|
+
export declare function getServerUrls(port: number, host: string): {
|
|
23
|
+
localhost: string;
|
|
24
|
+
network: string | null;
|
|
25
|
+
localIp: string | null;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAoBD;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CA2C3F;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;EAQvD"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { serve } from '@hono/node-server';
|
|
2
|
+
import { Hono } from 'hono';
|
|
3
|
+
import { routes } from './routes.js';
|
|
4
|
+
import { storageRegistry, validatorRegistry, transformerRegistry, MemoryStorageModule, BasicValidatorModule, UppercaseTransformerModule } from './registry.js';
|
|
5
|
+
import { detectLocalIp } from './network-detection.js';
|
|
6
|
+
/**
|
|
7
|
+
* Initialize the registries with default modules
|
|
8
|
+
*/
|
|
9
|
+
async function initializeRegistries() {
|
|
10
|
+
try {
|
|
11
|
+
// Register example storage module
|
|
12
|
+
await storageRegistry.register('memory', MemoryStorageModule);
|
|
13
|
+
// Register example validator module
|
|
14
|
+
await validatorRegistry.register('basic', BasicValidatorModule);
|
|
15
|
+
// Register example transformer module
|
|
16
|
+
await transformerRegistry.register('uppercase', UppercaseTransformerModule);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
throw new Error(`Failed to initialize registries: ${error instanceof Error ? error.message : String(error)}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Start the Confidant server
|
|
24
|
+
*
|
|
25
|
+
* @param options - Server configuration options
|
|
26
|
+
* @returns A promise that resolves when the server is ready, with a cleanup function
|
|
27
|
+
*/
|
|
28
|
+
export async function startServer(options = {}) {
|
|
29
|
+
const port = options.port ?? parseInt(process.env.CONFIDANT_PORT || process.env.PORT || '3000');
|
|
30
|
+
const host = options.host ?? 'localhost';
|
|
31
|
+
// Create Hono app
|
|
32
|
+
const app = new Hono();
|
|
33
|
+
// Register routes
|
|
34
|
+
app.route('/', routes);
|
|
35
|
+
// Health check endpoint
|
|
36
|
+
app.get('/health', (c) => {
|
|
37
|
+
return c.json({ status: 'ok', message: 'Confidant is running' });
|
|
38
|
+
});
|
|
39
|
+
// Initialize registries before starting server
|
|
40
|
+
await initializeRegistries();
|
|
41
|
+
// Create a promise that resolves when the server is ready
|
|
42
|
+
let serverReadyResolve;
|
|
43
|
+
const serverReady = new Promise((resolve) => {
|
|
44
|
+
serverReadyResolve = resolve;
|
|
45
|
+
});
|
|
46
|
+
// Start the server
|
|
47
|
+
const server = serve({
|
|
48
|
+
fetch: app.fetch,
|
|
49
|
+
port,
|
|
50
|
+
hostname: host,
|
|
51
|
+
}, (info) => {
|
|
52
|
+
serverReadyResolve();
|
|
53
|
+
});
|
|
54
|
+
// Wait for server to be ready
|
|
55
|
+
await serverReady;
|
|
56
|
+
// Return cleanup function
|
|
57
|
+
return async () => {
|
|
58
|
+
server.close();
|
|
59
|
+
await storageRegistry.clear();
|
|
60
|
+
await validatorRegistry.clear();
|
|
61
|
+
await transformerRegistry.clear();
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get server URLs for display
|
|
66
|
+
*
|
|
67
|
+
* @param port - Server port
|
|
68
|
+
* @param host - Server host
|
|
69
|
+
* @returns Object with localhost and network URLs
|
|
70
|
+
*/
|
|
71
|
+
export function getServerUrls(port, host) {
|
|
72
|
+
const localIp = detectLocalIp();
|
|
73
|
+
return {
|
|
74
|
+
localhost: `http://${host}:${port}`,
|
|
75
|
+
network: localIp ? `http://${localIp}:${port}` : null,
|
|
76
|
+
localIp,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TTL Storage Interface
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for storing and retrieving secrets with time-to-live expiration.
|
|
5
|
+
* This is a placeholder interface - implementation will be added in a future change.
|
|
6
|
+
*/
|
|
7
|
+
import { SecretRequest, SecretRequestStatus } from './types.js';
|
|
8
|
+
export interface SecretData {
|
|
9
|
+
id: string;
|
|
10
|
+
secret: string;
|
|
11
|
+
createdAt: Date;
|
|
12
|
+
expiresAt: Date;
|
|
13
|
+
accessCount: number;
|
|
14
|
+
maxAccessCount?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface StorageOptions {
|
|
17
|
+
ttl?: number;
|
|
18
|
+
maxAccessCount?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface TTLStorage {
|
|
21
|
+
/**
|
|
22
|
+
* Store a secret with TTL
|
|
23
|
+
* @param secret The secret string to store
|
|
24
|
+
* @param options Storage options including TTL and max access count
|
|
25
|
+
* @returns The secret ID for retrieval
|
|
26
|
+
*/
|
|
27
|
+
store(secret: string, options?: StorageOptions): Promise<string>;
|
|
28
|
+
/**
|
|
29
|
+
* Retrieve a secret by ID
|
|
30
|
+
* @param id The secret ID
|
|
31
|
+
* @returns The secret data or null if not found/expired
|
|
32
|
+
*/
|
|
33
|
+
retrieve(id: string): Promise<SecretData | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Delete a secret by ID
|
|
36
|
+
* @param id The secret ID
|
|
37
|
+
* @returns True if deleted, false if not found
|
|
38
|
+
*/
|
|
39
|
+
delete(id: string): Promise<boolean>;
|
|
40
|
+
/**
|
|
41
|
+
* Clean up expired secrets
|
|
42
|
+
* @returns Number of secrets cleaned up
|
|
43
|
+
*/
|
|
44
|
+
cleanup(): Promise<number>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Memory-based implementation of TTLStorage interface.
|
|
48
|
+
* Stores secrets in memory with automatic TTL expiration and access count limits.
|
|
49
|
+
*/
|
|
50
|
+
export declare class MemoryStorage implements TTLStorage {
|
|
51
|
+
private storage;
|
|
52
|
+
private requests;
|
|
53
|
+
private cleanupInterval;
|
|
54
|
+
private cleanupTimer;
|
|
55
|
+
/**
|
|
56
|
+
* Creates a new MemoryStorage instance.
|
|
57
|
+
* @param cleanupIntervalMs Interval in milliseconds for automatic cleanup (default: 60000ms/60s)
|
|
58
|
+
* @param enableAutoCleanup Enable automatic periodic cleanup (default: true)
|
|
59
|
+
*/
|
|
60
|
+
constructor(cleanupIntervalMs?: number, enableAutoCleanup?: boolean);
|
|
61
|
+
/**
|
|
62
|
+
* Store a secret with TTL
|
|
63
|
+
* @param secret The secret string to store
|
|
64
|
+
* @param options Storage options including TTL and max access count
|
|
65
|
+
* @returns The secret ID for retrieval
|
|
66
|
+
*/
|
|
67
|
+
store(secret: string, options?: StorageOptions): Promise<string>;
|
|
68
|
+
/**
|
|
69
|
+
* Retrieve a secret by ID
|
|
70
|
+
* @param id The secret ID
|
|
71
|
+
* @returns The secret data or null if not found/expired
|
|
72
|
+
*/
|
|
73
|
+
retrieve(id: string): Promise<SecretData | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Delete a secret by ID
|
|
76
|
+
* @param id The secret ID
|
|
77
|
+
* @returns True if deleted, false if not found
|
|
78
|
+
*/
|
|
79
|
+
delete(id: string): Promise<boolean>;
|
|
80
|
+
/**
|
|
81
|
+
* Clean up expired secrets
|
|
82
|
+
* @returns Number of secrets cleaned up
|
|
83
|
+
*/
|
|
84
|
+
cleanup(): Promise<number>;
|
|
85
|
+
/**
|
|
86
|
+
* Stop automatic periodic cleanup
|
|
87
|
+
* Call this method to disable the automatic cleanup timer
|
|
88
|
+
*/
|
|
89
|
+
stopAutoCleanup(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Start automatic periodic cleanup
|
|
92
|
+
*/
|
|
93
|
+
private startAutoCleanup;
|
|
94
|
+
/**
|
|
95
|
+
* Generate a unique secret ID using UUID v4 format
|
|
96
|
+
* @returns A unique secret ID
|
|
97
|
+
*/
|
|
98
|
+
private generateSecretId;
|
|
99
|
+
/**
|
|
100
|
+
* Create a new secret request
|
|
101
|
+
* @param expiresIn Time to live in seconds (default: 86400 = 24 hours)
|
|
102
|
+
* @param label Optional label to describe what secret is being requested
|
|
103
|
+
* @returns The secret request with id and hash
|
|
104
|
+
*/
|
|
105
|
+
createRequest(expiresIn?: number, label?: string): SecretRequest;
|
|
106
|
+
/**
|
|
107
|
+
* Get a request by hash (for form access)
|
|
108
|
+
* @param hash The request hash
|
|
109
|
+
* @returns The secret request or null if not found
|
|
110
|
+
*/
|
|
111
|
+
getRequestByHash(hash: string): SecretRequest | null;
|
|
112
|
+
/**
|
|
113
|
+
* Get a request by id (for polling)
|
|
114
|
+
* @param id The request id
|
|
115
|
+
* @returns The secret request or null if not found
|
|
116
|
+
*/
|
|
117
|
+
getRequestById(id: string): SecretRequest | null;
|
|
118
|
+
/**
|
|
119
|
+
* Update a request's status
|
|
120
|
+
* @param id The request id
|
|
121
|
+
* @param status The new status
|
|
122
|
+
* @returns The updated request or null if not found
|
|
123
|
+
*/
|
|
124
|
+
updateRequestStatus(id: string, status: SecretRequestStatus): SecretRequest | null;
|
|
125
|
+
/**
|
|
126
|
+
* Submit a secret for a request
|
|
127
|
+
* @param hash The request hash
|
|
128
|
+
* @param secret The secret to submit
|
|
129
|
+
* @returns The updated request or null if not found
|
|
130
|
+
*/
|
|
131
|
+
submitSecret(hash: string, secret: string): SecretRequest | null;
|
|
132
|
+
/**
|
|
133
|
+
* Get and delete the secret for a request (one-time retrieval)
|
|
134
|
+
* @param id The request id
|
|
135
|
+
* @returns The decrypted secret or null if not found/retrieved
|
|
136
|
+
*/
|
|
137
|
+
getAndDeleteSecret(id: string): string | null;
|
|
138
|
+
/**
|
|
139
|
+
* Clean up expired requests
|
|
140
|
+
* @returns Number of requests cleaned up
|
|
141
|
+
*/
|
|
142
|
+
cleanupExpiredRequests(): number;
|
|
143
|
+
/**
|
|
144
|
+
* Delete a request by id
|
|
145
|
+
* @param id The request id
|
|
146
|
+
* @returns True if deleted, false if not found
|
|
147
|
+
*/
|
|
148
|
+
deleteRequest(id: string): boolean;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGhE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEjD;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,aAAc,YAAW,UAAU;IAC9C,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAwB;IAE5C;;;;OAIG;gBACS,iBAAiB,GAAE,MAAc,EAAE,iBAAiB,GAAE,OAAc;IAWhF;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBtE;;;;OAIG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA6BtD;;;;OAIG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ1C;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAmBhC;;;OAGG;IACH,eAAe,IAAI,IAAI;IAOvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;;;OAKG;IACH,aAAa,CAAC,SAAS,GAAE,MAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa;IAqBvE;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAcpD;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAchD;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,aAAa,GAAG,IAAI;IAUlF;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAwBhE;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAgC7C;;;OAGG;IACH,sBAAsB,IAAI,MAAM;IAchC;;;;OAIG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAGnC"}
|
package/dist/storage.js
ADDED
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TTL Storage Interface
|
|
3
|
+
*
|
|
4
|
+
* Defines the contract for storing and retrieving secrets with time-to-live expiration.
|
|
5
|
+
* This is a placeholder interface - implementation will be added in a future change.
|
|
6
|
+
*/
|
|
7
|
+
import { generateHash, generateUUID, encryptSecret, decryptSecret } from './crypto.js';
|
|
8
|
+
/**
|
|
9
|
+
* Memory-based implementation of TTLStorage interface.
|
|
10
|
+
* Stores secrets in memory with automatic TTL expiration and access count limits.
|
|
11
|
+
*/
|
|
12
|
+
export class MemoryStorage {
|
|
13
|
+
storage;
|
|
14
|
+
requests;
|
|
15
|
+
cleanupInterval;
|
|
16
|
+
cleanupTimer;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new MemoryStorage instance.
|
|
19
|
+
* @param cleanupIntervalMs Interval in milliseconds for automatic cleanup (default: 60000ms/60s)
|
|
20
|
+
* @param enableAutoCleanup Enable automatic periodic cleanup (default: true)
|
|
21
|
+
*/
|
|
22
|
+
constructor(cleanupIntervalMs = 60000, enableAutoCleanup = true) {
|
|
23
|
+
this.storage = new Map();
|
|
24
|
+
this.requests = new Map();
|
|
25
|
+
this.cleanupInterval = cleanupIntervalMs;
|
|
26
|
+
this.cleanupTimer = null;
|
|
27
|
+
if (enableAutoCleanup) {
|
|
28
|
+
this.startAutoCleanup();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Store a secret with TTL
|
|
33
|
+
* @param secret The secret string to store
|
|
34
|
+
* @param options Storage options including TTL and max access count
|
|
35
|
+
* @returns The secret ID for retrieval
|
|
36
|
+
*/
|
|
37
|
+
async store(secret, options) {
|
|
38
|
+
// Generate unique secret ID
|
|
39
|
+
const id = this.generateSecretId();
|
|
40
|
+
// Create SecretData object
|
|
41
|
+
const now = new Date();
|
|
42
|
+
const secretData = {
|
|
43
|
+
id,
|
|
44
|
+
secret,
|
|
45
|
+
createdAt: now,
|
|
46
|
+
expiresAt: options?.ttl ? new Date(now.getTime() + options.ttl) : new Date(now.getTime() + 3600000), // Default 1 hour TTL
|
|
47
|
+
accessCount: 0,
|
|
48
|
+
maxAccessCount: options?.maxAccessCount
|
|
49
|
+
};
|
|
50
|
+
// Store in Map
|
|
51
|
+
this.storage.set(id, secretData);
|
|
52
|
+
// Return the generated ID
|
|
53
|
+
return id;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Retrieve a secret by ID
|
|
57
|
+
* @param id The secret ID
|
|
58
|
+
* @returns The secret data or null if not found/expired
|
|
59
|
+
*/
|
|
60
|
+
async retrieve(id) {
|
|
61
|
+
// Look up secret by ID in Map
|
|
62
|
+
const secretData = this.storage.get(id);
|
|
63
|
+
// Return null if secret not found
|
|
64
|
+
if (!secretData) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
// Check if secret has expired
|
|
68
|
+
const now = new Date();
|
|
69
|
+
if (secretData.expiresAt < now) {
|
|
70
|
+
// Remove expired secret
|
|
71
|
+
this.storage.delete(id);
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
// Check if maxAccessCount is set and accessCount has reached limit
|
|
75
|
+
if (secretData.maxAccessCount !== undefined && secretData.accessCount >= secretData.maxAccessCount) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
// Increment accessCount for successful retrieval
|
|
79
|
+
secretData.accessCount++;
|
|
80
|
+
// Return SecretData object for successful retrieval
|
|
81
|
+
return secretData;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Delete a secret by ID
|
|
85
|
+
* @param id The secret ID
|
|
86
|
+
* @returns True if deleted, false if not found
|
|
87
|
+
*/
|
|
88
|
+
async delete(id) {
|
|
89
|
+
// Check if secret ID exists in Map and delete it
|
|
90
|
+
const existed = this.storage.delete(id);
|
|
91
|
+
// Return true if deleted, false if not found
|
|
92
|
+
return existed;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Clean up expired secrets
|
|
96
|
+
* @returns Number of secrets cleaned up
|
|
97
|
+
*/
|
|
98
|
+
async cleanup() {
|
|
99
|
+
let deletedCount = 0;
|
|
100
|
+
const now = new Date();
|
|
101
|
+
// Iterate through all secrets in Map
|
|
102
|
+
// Using Array.from to safely iterate while deleting
|
|
103
|
+
for (const [id, secretData] of Array.from(this.storage.entries())) {
|
|
104
|
+
// Check each secret for expiration
|
|
105
|
+
if (secretData.expiresAt < now) {
|
|
106
|
+
// Delete expired secrets from Map
|
|
107
|
+
this.storage.delete(id);
|
|
108
|
+
deletedCount++;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// Count and return number of deleted secrets
|
|
112
|
+
return deletedCount;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Stop automatic periodic cleanup
|
|
116
|
+
* Call this method to disable the automatic cleanup timer
|
|
117
|
+
*/
|
|
118
|
+
stopAutoCleanup() {
|
|
119
|
+
if (this.cleanupTimer !== null) {
|
|
120
|
+
clearInterval(this.cleanupTimer);
|
|
121
|
+
this.cleanupTimer = null;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Start automatic periodic cleanup
|
|
126
|
+
*/
|
|
127
|
+
startAutoCleanup() {
|
|
128
|
+
// Implement periodic cleanup using setInterval
|
|
129
|
+
this.cleanupTimer = setInterval(async () => {
|
|
130
|
+
await this.cleanup();
|
|
131
|
+
}, this.cleanupInterval);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Generate a unique secret ID using UUID v4 format
|
|
135
|
+
* @returns A unique secret ID
|
|
136
|
+
*/
|
|
137
|
+
generateSecretId() {
|
|
138
|
+
// Generate UUID v4 format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
|
|
139
|
+
// where x is any hex digit and y is one of 8, 9, A, or B
|
|
140
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
141
|
+
const r = Math.random() * 16 | 0;
|
|
142
|
+
const v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
143
|
+
return v.toString(16);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
// ==================== Secret Request Methods ====================
|
|
147
|
+
/**
|
|
148
|
+
* Create a new secret request
|
|
149
|
+
* @param expiresIn Time to live in seconds (default: 86400 = 24 hours)
|
|
150
|
+
* @param label Optional label to describe what secret is being requested
|
|
151
|
+
* @returns The secret request with id and hash
|
|
152
|
+
*/
|
|
153
|
+
createRequest(expiresIn = 86400, label) {
|
|
154
|
+
const id = generateUUID();
|
|
155
|
+
const hash = generateHash();
|
|
156
|
+
const now = new Date();
|
|
157
|
+
const expiresAt = new Date(now.getTime() + expiresIn * 1000);
|
|
158
|
+
const request = {
|
|
159
|
+
id,
|
|
160
|
+
hash,
|
|
161
|
+
secret: null,
|
|
162
|
+
status: 'pending',
|
|
163
|
+
createdAt: now,
|
|
164
|
+
expiresAt,
|
|
165
|
+
retrievedAt: null,
|
|
166
|
+
label
|
|
167
|
+
};
|
|
168
|
+
this.requests.set(id, request);
|
|
169
|
+
return request;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get a request by hash (for form access)
|
|
173
|
+
* @param hash The request hash
|
|
174
|
+
* @returns The secret request or null if not found
|
|
175
|
+
*/
|
|
176
|
+
getRequestByHash(hash) {
|
|
177
|
+
// Find request by hash (need to iterate since we index by id)
|
|
178
|
+
for (const request of this.requests.values()) {
|
|
179
|
+
if (request.hash === hash) {
|
|
180
|
+
// Check if expired
|
|
181
|
+
if (request.expiresAt < new Date()) {
|
|
182
|
+
request.status = 'expired';
|
|
183
|
+
}
|
|
184
|
+
return request;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Get a request by id (for polling)
|
|
191
|
+
* @param id The request id
|
|
192
|
+
* @returns The secret request or null if not found
|
|
193
|
+
*/
|
|
194
|
+
getRequestById(id) {
|
|
195
|
+
const request = this.requests.get(id);
|
|
196
|
+
if (!request) {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
// Check if expired
|
|
200
|
+
if (request.expiresAt < new Date()) {
|
|
201
|
+
request.status = 'expired';
|
|
202
|
+
}
|
|
203
|
+
return request;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Update a request's status
|
|
207
|
+
* @param id The request id
|
|
208
|
+
* @param status The new status
|
|
209
|
+
* @returns The updated request or null if not found
|
|
210
|
+
*/
|
|
211
|
+
updateRequestStatus(id, status) {
|
|
212
|
+
const request = this.requests.get(id);
|
|
213
|
+
if (!request) {
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
request.status = status;
|
|
217
|
+
return request;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Submit a secret for a request
|
|
221
|
+
* @param hash The request hash
|
|
222
|
+
* @param secret The secret to submit
|
|
223
|
+
* @returns The updated request or null if not found
|
|
224
|
+
*/
|
|
225
|
+
submitSecret(hash, secret) {
|
|
226
|
+
const request = this.getRequestByHash(hash);
|
|
227
|
+
if (!request) {
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
230
|
+
// Check if request is still pending
|
|
231
|
+
if (request.status !== 'pending') {
|
|
232
|
+
return null;
|
|
233
|
+
}
|
|
234
|
+
// Check if expired
|
|
235
|
+
if (request.expiresAt < new Date()) {
|
|
236
|
+
request.status = 'expired';
|
|
237
|
+
return request;
|
|
238
|
+
}
|
|
239
|
+
// Encrypt and store the secret
|
|
240
|
+
request.secret = encryptSecret(secret, hash);
|
|
241
|
+
request.status = 'completed';
|
|
242
|
+
return request;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Get and delete the secret for a request (one-time retrieval)
|
|
246
|
+
* @param id The request id
|
|
247
|
+
* @returns The decrypted secret or null if not found/retrieved
|
|
248
|
+
*/
|
|
249
|
+
getAndDeleteSecret(id) {
|
|
250
|
+
const request = this.requests.get(id);
|
|
251
|
+
if (!request) {
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
// Check if request is completed
|
|
255
|
+
if (request.status !== 'completed') {
|
|
256
|
+
return null;
|
|
257
|
+
}
|
|
258
|
+
// Check if expired
|
|
259
|
+
if (request.expiresAt < new Date()) {
|
|
260
|
+
request.status = 'expired';
|
|
261
|
+
return null;
|
|
262
|
+
}
|
|
263
|
+
// Decrypt the secret
|
|
264
|
+
if (!request.secret) {
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
const decryptedSecret = decryptSecret(request.secret, request.hash);
|
|
268
|
+
// Mark as retrieved and delete the secret
|
|
269
|
+
request.status = 'retrieved';
|
|
270
|
+
request.retrievedAt = new Date();
|
|
271
|
+
request.secret = null;
|
|
272
|
+
return decryptedSecret;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Clean up expired requests
|
|
276
|
+
* @returns Number of requests cleaned up
|
|
277
|
+
*/
|
|
278
|
+
cleanupExpiredRequests() {
|
|
279
|
+
let deletedCount = 0;
|
|
280
|
+
const now = new Date();
|
|
281
|
+
for (const [id, request] of Array.from(this.requests.entries())) {
|
|
282
|
+
if (request.expiresAt < now) {
|
|
283
|
+
this.requests.delete(id);
|
|
284
|
+
deletedCount++;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
return deletedCount;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Delete a request by id
|
|
291
|
+
* @param id The request id
|
|
292
|
+
* @returns True if deleted, false if not found
|
|
293
|
+
*/
|
|
294
|
+
deleteRequest(id) {
|
|
295
|
+
return this.requests.delete(id);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.test.d.ts","sourceRoot":"","sources":["../src/storage.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|