@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.
Files changed (103) hide show
  1. package/README.md +570 -0
  2. package/dist/api-client.d.ts +58 -0
  3. package/dist/api-client.d.ts.map +1 -0
  4. package/dist/api-client.js +101 -0
  5. package/dist/api-client.js.map +1 -0
  6. package/dist/cli.d.ts +3 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +69 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/commands/create.d.ts +3 -0
  11. package/dist/commands/create.d.ts.map +1 -0
  12. package/dist/commands/create.js +51 -0
  13. package/dist/commands/create.js.map +1 -0
  14. package/dist/commands/delete.d.ts +3 -0
  15. package/dist/commands/delete.d.ts.map +1 -0
  16. package/dist/commands/delete.js +29 -0
  17. package/dist/commands/delete.js.map +1 -0
  18. package/dist/commands/get-request.d.ts +3 -0
  19. package/dist/commands/get-request.d.ts.map +1 -0
  20. package/dist/commands/get-request.js +89 -0
  21. package/dist/commands/get-request.js.map +1 -0
  22. package/dist/commands/get.d.ts +3 -0
  23. package/dist/commands/get.d.ts.map +1 -0
  24. package/dist/commands/get.js +29 -0
  25. package/dist/commands/get.js.map +1 -0
  26. package/dist/commands/request.d.ts +3 -0
  27. package/dist/commands/request.d.ts.map +1 -0
  28. package/dist/commands/request.js +289 -0
  29. package/dist/commands/request.js.map +1 -0
  30. package/dist/commands/status.d.ts +3 -0
  31. package/dist/commands/status.d.ts.map +1 -0
  32. package/dist/commands/status.js +40 -0
  33. package/dist/commands/status.js.map +1 -0
  34. package/dist/crypto.d.ts +32 -0
  35. package/dist/crypto.d.ts.map +1 -0
  36. package/dist/crypto.js +79 -0
  37. package/dist/crypto.js.map +1 -0
  38. package/dist/crypto.test.d.ts +5 -0
  39. package/dist/crypto.test.d.ts.map +1 -0
  40. package/dist/crypto.test.js +77 -0
  41. package/dist/crypto.test.js.map +1 -0
  42. package/dist/i18n.d.ts +55 -0
  43. package/dist/i18n.d.ts.map +1 -0
  44. package/dist/i18n.js +63 -0
  45. package/dist/i18n.js.map +1 -0
  46. package/dist/index.d.ts +2 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +53 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/network-detection.d.ts +11 -0
  51. package/dist/network-detection.d.ts.map +1 -0
  52. package/dist/network-detection.js +54 -0
  53. package/dist/network-detection.js.map +1 -0
  54. package/dist/network-detection.test.d.ts +2 -0
  55. package/dist/network-detection.test.d.ts.map +1 -0
  56. package/dist/network-detection.test.js +150 -0
  57. package/dist/network-detection.test.js.map +1 -0
  58. package/dist/rate-limiter.d.ts +61 -0
  59. package/dist/rate-limiter.d.ts.map +1 -0
  60. package/dist/rate-limiter.js +128 -0
  61. package/dist/rate-limiter.js.map +1 -0
  62. package/dist/rate-limiter.test.d.ts +5 -0
  63. package/dist/rate-limiter.test.d.ts.map +1 -0
  64. package/dist/rate-limiter.test.js +130 -0
  65. package/dist/rate-limiter.test.js.map +1 -0
  66. package/dist/registry.d.ts +136 -0
  67. package/dist/registry.d.ts.map +1 -0
  68. package/dist/registry.js +182 -0
  69. package/dist/registry.js.map +1 -0
  70. package/dist/registry.test.d.ts +13 -0
  71. package/dist/registry.test.d.ts.map +1 -0
  72. package/dist/registry.test.js +308 -0
  73. package/dist/registry.test.js.map +1 -0
  74. package/dist/routes.d.ts +4 -0
  75. package/dist/routes.d.ts.map +1 -0
  76. package/dist/routes.js +931 -0
  77. package/dist/routes.js.map +1 -0
  78. package/dist/server.d.ts +27 -0
  79. package/dist/server.d.ts.map +1 -0
  80. package/dist/server.js +79 -0
  81. package/dist/server.js.map +1 -0
  82. package/dist/storage.d.ts +150 -0
  83. package/dist/storage.d.ts.map +1 -0
  84. package/dist/storage.js +298 -0
  85. package/dist/storage.js.map +1 -0
  86. package/dist/storage.test.d.ts +5 -0
  87. package/dist/storage.test.d.ts.map +1 -0
  88. package/dist/storage.test.js +466 -0
  89. package/dist/storage.test.js.map +1 -0
  90. package/dist/types.d.ts +144 -0
  91. package/dist/types.d.ts.map +1 -0
  92. package/dist/types.js +56 -0
  93. package/dist/types.js.map +1 -0
  94. package/dist/url-helper.d.ts +16 -0
  95. package/dist/url-helper.d.ts.map +1 -0
  96. package/dist/url-helper.js +27 -0
  97. package/dist/url-helper.js.map +1 -0
  98. package/dist/url-helper.test.d.ts +2 -0
  99. package/dist/url-helper.test.d.ts.map +1 -0
  100. package/dist/url-helper.test.js +70 -0
  101. package/dist/url-helper.test.js.map +1 -0
  102. package/package.json +73 -0
  103. 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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"}
@@ -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"}
@@ -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,5 @@
1
+ /**
2
+ * Tests for MemoryStorage class
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=storage.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.test.d.ts","sourceRoot":"","sources":["../src/storage.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}