@aiconnect/confidant 1.0.2 → 1.3.4
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 +27 -6
- package/dist/cli.js +8 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/request.d.ts +7 -0
- package/dist/commands/request.d.ts.map +1 -1
- package/dist/commands/request.js +29 -14
- package/dist/commands/request.js.map +1 -1
- package/dist/commands/serve-request.d.ts +3 -0
- package/dist/commands/serve-request.d.ts.map +1 -0
- package/dist/commands/serve-request.js +90 -0
- package/dist/commands/serve-request.js.map +1 -0
- package/dist/crypto.d.ts +1 -1
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +2 -6
- package/dist/crypto.js.map +1 -1
- package/dist/i18n.d.ts +1 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +1 -0
- package/dist/i18n.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +4 -6
- package/dist/registry.js.map +1 -1
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +11 -400
- package/dist/routes.js.map +1 -1
- package/dist/storage.d.ts +14 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +32 -10
- package/dist/storage.js.map +1 -1
- package/dist/templates/request-form.d.ts +15 -0
- package/dist/templates/request-form.d.ts.map +1 -0
- package/dist/templates/request-form.js +533 -0
- package/dist/templates/request-form.js.map +1 -0
- package/package.json +1 -1
package/dist/routes.js
CHANGED
|
@@ -2,6 +2,7 @@ import { Hono } from 'hono';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { MemoryStorage } from './storage.js';
|
|
4
4
|
import { detectLocalIp } from './network-detection.js';
|
|
5
|
+
import { getRequestFormHtml } from './templates/request-form.js';
|
|
5
6
|
/**
|
|
6
7
|
* API Routes
|
|
7
8
|
*
|
|
@@ -171,7 +172,9 @@ routes.get('/secrets/:id', async (c) => {
|
|
|
171
172
|
// we can't distinguish without additional logic. For simplicity, return 404.
|
|
172
173
|
return c.json(errorResponse("Secret not found"), 404);
|
|
173
174
|
}
|
|
174
|
-
//
|
|
175
|
+
// Note: This check is a safety net. After retrieve() increments accessCount,
|
|
176
|
+
// accessCount can equal maxAccessCount on the last valid access, which is correct.
|
|
177
|
+
// We only reject if accessCount somehow exceeded the limit.
|
|
175
178
|
if (secretData.maxAccessCount !== undefined && secretData.accessCount > secretData.maxAccessCount) {
|
|
176
179
|
return c.json(errorResponse("Secret access limit exceeded"), 410);
|
|
177
180
|
}
|
|
@@ -271,28 +274,12 @@ routes.get('/secrets/:id/status', async (c) => {
|
|
|
271
274
|
if (!validationResult.success) {
|
|
272
275
|
return c.json(errorResponse(validationResult.error.errors[0].message), 400);
|
|
273
276
|
}
|
|
274
|
-
//
|
|
275
|
-
|
|
276
|
-
// The storage interface doesn't have a method to check without incrementing.
|
|
277
|
-
// For now, we'll use retrieve() and document that this increments the count.
|
|
278
|
-
// This is a limitation that could be addressed in a future enhancement.
|
|
279
|
-
const secretData = await storage.retrieve(id);
|
|
277
|
+
// Use peek() to check status without incrementing access count
|
|
278
|
+
const secretData = await storage.peek(id);
|
|
280
279
|
if (!secretData) {
|
|
281
|
-
// Secret doesn't exist or
|
|
282
|
-
// We can't distinguish without additional storage methods
|
|
280
|
+
// Secret doesn't exist, is expired, or access limit exceeded
|
|
283
281
|
return c.json({ id, exists: false, expired: false }, 200);
|
|
284
282
|
}
|
|
285
|
-
// Check if secret is expired
|
|
286
|
-
const now = new Date();
|
|
287
|
-
if (secretData.expiresAt < now) {
|
|
288
|
-
// Delete expired secret
|
|
289
|
-
await storage.delete(id);
|
|
290
|
-
return c.json({ id, exists: false, expired: true }, 200);
|
|
291
|
-
}
|
|
292
|
-
// Check if access limit exceeded
|
|
293
|
-
if (secretData.maxAccessCount !== undefined && secretData.accessCount >= secretData.maxAccessCount) {
|
|
294
|
-
return c.json({ id, exists: false, expired: false, accessLimitExceeded: true }, 200);
|
|
295
|
-
}
|
|
296
283
|
// Secret is valid
|
|
297
284
|
return c.json({
|
|
298
285
|
id: secretData.id,
|
|
@@ -402,394 +389,18 @@ routes.get('/requests/:hash', async (c) => {
|
|
|
402
389
|
// Get the request
|
|
403
390
|
const request = storage.getRequestByHash(hash);
|
|
404
391
|
if (!request) {
|
|
405
|
-
|
|
406
|
-
return c.html(`
|
|
407
|
-
<!DOCTYPE html>
|
|
408
|
-
<html lang="en">
|
|
409
|
-
<head>
|
|
410
|
-
<meta charset="UTF-8">
|
|
411
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
412
|
-
<title>Request Not Found - Confidant</title>
|
|
413
|
-
<style>
|
|
414
|
-
body {
|
|
415
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
416
|
-
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
417
|
-
min-height: 100vh;
|
|
418
|
-
display: flex;
|
|
419
|
-
align-items: center;
|
|
420
|
-
justify-content: center;
|
|
421
|
-
padding: 20px;
|
|
422
|
-
}
|
|
423
|
-
.container {
|
|
424
|
-
background: white;
|
|
425
|
-
border-radius: 12px;
|
|
426
|
-
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
|
|
427
|
-
padding: 40px;
|
|
428
|
-
max-width: 500px;
|
|
429
|
-
width: 100%;
|
|
430
|
-
text-align: center;
|
|
431
|
-
}
|
|
432
|
-
h1 {
|
|
433
|
-
color: #1f2937;
|
|
434
|
-
margin-bottom: 16px;
|
|
435
|
-
}
|
|
436
|
-
p {
|
|
437
|
-
color: #6b7280;
|
|
438
|
-
margin-bottom: 24px;
|
|
439
|
-
}
|
|
440
|
-
</style>
|
|
441
|
-
</head>
|
|
442
|
-
<body>
|
|
443
|
-
<div class="container">
|
|
444
|
-
<h1>Request Not Found</h1>
|
|
445
|
-
<p>The secret request you're looking for doesn't exist or has been removed.</p>
|
|
446
|
-
</div>
|
|
447
|
-
</body>
|
|
448
|
-
</html>
|
|
449
|
-
`, 404);
|
|
392
|
+
return c.html(getRequestFormHtml({ hash, type: 'not-found', expiresAt: new Date() }), 404);
|
|
450
393
|
}
|
|
451
394
|
// Check if expired
|
|
452
395
|
if (request.status === 'expired') {
|
|
453
|
-
return c.html(
|
|
454
|
-
<!DOCTYPE html>
|
|
455
|
-
<html lang="en">
|
|
456
|
-
<head>
|
|
457
|
-
<meta charset="UTF-8">
|
|
458
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
459
|
-
<title>Request Expired - Confidant</title>
|
|
460
|
-
<style>
|
|
461
|
-
body {
|
|
462
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
463
|
-
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
464
|
-
min-height: 100vh;
|
|
465
|
-
display: flex;
|
|
466
|
-
align-items: center;
|
|
467
|
-
justify-content: center;
|
|
468
|
-
padding: 20px;
|
|
469
|
-
}
|
|
470
|
-
.container {
|
|
471
|
-
background: white;
|
|
472
|
-
border-radius: 12px;
|
|
473
|
-
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
|
|
474
|
-
padding: 40px;
|
|
475
|
-
max-width: 500px;
|
|
476
|
-
width: 100%;
|
|
477
|
-
text-align: center;
|
|
478
|
-
}
|
|
479
|
-
h1 {
|
|
480
|
-
color: #1f2937;
|
|
481
|
-
margin-bottom: 16px;
|
|
482
|
-
}
|
|
483
|
-
p {
|
|
484
|
-
color: #6b7280;
|
|
485
|
-
margin-bottom: 24px;
|
|
486
|
-
}
|
|
487
|
-
</style>
|
|
488
|
-
</head>
|
|
489
|
-
<body>
|
|
490
|
-
<div class="container">
|
|
491
|
-
<h1>Request Expired</h1>
|
|
492
|
-
<p>This secret request has expired and is no longer available.</p>
|
|
493
|
-
</div>
|
|
494
|
-
</body>
|
|
495
|
-
</html>
|
|
496
|
-
`, 410);
|
|
396
|
+
return c.html(getRequestFormHtml({ hash, type: 'expired', expiresAt: request.expiresAt }), 410);
|
|
497
397
|
}
|
|
498
398
|
// Check if already completed
|
|
499
399
|
if (request.status === 'completed' || request.status === 'retrieved') {
|
|
500
|
-
return c.html(
|
|
501
|
-
<!DOCTYPE html>
|
|
502
|
-
<html lang="en">
|
|
503
|
-
<head>
|
|
504
|
-
<meta charset="UTF-8">
|
|
505
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
506
|
-
<title>Secret Already Submitted - Confidant</title>
|
|
507
|
-
<style>
|
|
508
|
-
body {
|
|
509
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
510
|
-
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
511
|
-
min-height: 100vh;
|
|
512
|
-
display: flex;
|
|
513
|
-
align-items: center;
|
|
514
|
-
justify-content: center;
|
|
515
|
-
padding: 20px;
|
|
516
|
-
}
|
|
517
|
-
.container {
|
|
518
|
-
background: white;
|
|
519
|
-
border-radius: 12px;
|
|
520
|
-
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
|
|
521
|
-
padding: 40px;
|
|
522
|
-
max-width: 500px;
|
|
523
|
-
width: 100%;
|
|
524
|
-
text-align: center;
|
|
525
|
-
}
|
|
526
|
-
h1 {
|
|
527
|
-
color: #1f2937;
|
|
528
|
-
margin-bottom: 16px;
|
|
529
|
-
}
|
|
530
|
-
p {
|
|
531
|
-
color: #6b7280;
|
|
532
|
-
margin-bottom: 24px;
|
|
533
|
-
}
|
|
534
|
-
</style>
|
|
535
|
-
</head>
|
|
536
|
-
<body>
|
|
537
|
-
<div class="container">
|
|
538
|
-
<h1>Secret Already Submitted</h1>
|
|
539
|
-
<p>This request has already been completed and the secret has been retrieved.</p>
|
|
540
|
-
</div>
|
|
541
|
-
</body>
|
|
542
|
-
</html>
|
|
543
|
-
`, 200);
|
|
400
|
+
return c.html(getRequestFormHtml({ hash, type: 'completed', expiresAt: request.expiresAt }), 200);
|
|
544
401
|
}
|
|
545
402
|
// Return the form
|
|
546
|
-
return c.html(
|
|
547
|
-
<!DOCTYPE html>
|
|
548
|
-
<html lang="en">
|
|
549
|
-
<head>
|
|
550
|
-
<meta charset="UTF-8">
|
|
551
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
552
|
-
<title>Submit Secret - Confidant</title>
|
|
553
|
-
<style>
|
|
554
|
-
* {
|
|
555
|
-
margin: 0;
|
|
556
|
-
padding: 0;
|
|
557
|
-
box-sizing: border-box;
|
|
558
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
559
|
-
}
|
|
560
|
-
body {
|
|
561
|
-
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
562
|
-
min-height: 100vh;
|
|
563
|
-
display: flex;
|
|
564
|
-
align-items: center;
|
|
565
|
-
justify-content: center;
|
|
566
|
-
padding: 20px;
|
|
567
|
-
}
|
|
568
|
-
.container {
|
|
569
|
-
background: white;
|
|
570
|
-
border-radius: 12px;
|
|
571
|
-
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
|
|
572
|
-
padding: 40px;
|
|
573
|
-
max-width: 600px;
|
|
574
|
-
width: 100%;
|
|
575
|
-
}
|
|
576
|
-
h1 {
|
|
577
|
-
color: #1f2937;
|
|
578
|
-
margin-bottom: 8px;
|
|
579
|
-
font-size: 28px;
|
|
580
|
-
font-weight: 600;
|
|
581
|
-
}
|
|
582
|
-
.subtitle {
|
|
583
|
-
color: #6b7280;
|
|
584
|
-
margin-bottom: 24px;
|
|
585
|
-
font-size: 14px;
|
|
586
|
-
}
|
|
587
|
-
.form-group {
|
|
588
|
-
margin-bottom: 20px;
|
|
589
|
-
}
|
|
590
|
-
label {
|
|
591
|
-
display: block;
|
|
592
|
-
margin-bottom: 8px;
|
|
593
|
-
color: #374151;
|
|
594
|
-
font-weight: 500;
|
|
595
|
-
font-size: 14px;
|
|
596
|
-
}
|
|
597
|
-
textarea {
|
|
598
|
-
width: 100%;
|
|
599
|
-
padding: 12px 16px;
|
|
600
|
-
border: 2px solid #e2e8f0;
|
|
601
|
-
border-radius: 8px;
|
|
602
|
-
font-size: 16px;
|
|
603
|
-
font-family: monospace;
|
|
604
|
-
min-height: 150px;
|
|
605
|
-
resize: vertical;
|
|
606
|
-
transition: border-color 0.3s, box-shadow 0.3s;
|
|
607
|
-
}
|
|
608
|
-
textarea:focus {
|
|
609
|
-
outline: none;
|
|
610
|
-
border-color: #667eea;
|
|
611
|
-
box-shadow: 0 0 0 8px rgba(102, 126, 234, 0.2);
|
|
612
|
-
}
|
|
613
|
-
.char-counter {
|
|
614
|
-
text-align: right;
|
|
615
|
-
font-size: 12px;
|
|
616
|
-
color: #6b7280;
|
|
617
|
-
margin-top: 4px;
|
|
618
|
-
}
|
|
619
|
-
.expires-info {
|
|
620
|
-
background: #f0f9ff;
|
|
621
|
-
border-left: 4px solid #3b82f6;
|
|
622
|
-
padding: 12px 16px;
|
|
623
|
-
margin-bottom: 20px;
|
|
624
|
-
border-radius: 4px;
|
|
625
|
-
font-size: 14px;
|
|
626
|
-
color: #1e40af;
|
|
627
|
-
}
|
|
628
|
-
.label-display {
|
|
629
|
-
background: #fef3c7;
|
|
630
|
-
border-left: 4px solid #f59e0b;
|
|
631
|
-
padding: 16px 20px;
|
|
632
|
-
margin-bottom: 24px;
|
|
633
|
-
border-radius: 8px;
|
|
634
|
-
font-size: 16px;
|
|
635
|
-
font-weight: 600;
|
|
636
|
-
color: #92400e;
|
|
637
|
-
word-wrap: break-word;
|
|
638
|
-
}
|
|
639
|
-
button {
|
|
640
|
-
width: 100%;
|
|
641
|
-
padding: 14px 24px;
|
|
642
|
-
background: #667eea;
|
|
643
|
-
color: white;
|
|
644
|
-
border: none;
|
|
645
|
-
border-radius: 8px;
|
|
646
|
-
font-size: 16px;
|
|
647
|
-
font-weight: 600;
|
|
648
|
-
cursor: pointer;
|
|
649
|
-
transition: background-color 0.3s, transform 0.1s;
|
|
650
|
-
}
|
|
651
|
-
button:hover {
|
|
652
|
-
background: #5568d3;
|
|
653
|
-
transform: translateY(-2px);
|
|
654
|
-
}
|
|
655
|
-
button:active {
|
|
656
|
-
transform: translateY(0);
|
|
657
|
-
}
|
|
658
|
-
button:disabled {
|
|
659
|
-
background: #9ca3af;
|
|
660
|
-
cursor: not-allowed;
|
|
661
|
-
transform: none;
|
|
662
|
-
}
|
|
663
|
-
.message {
|
|
664
|
-
margin-top: 20px;
|
|
665
|
-
padding: 16px 20px;
|
|
666
|
-
border-radius: 8px;
|
|
667
|
-
display: none;
|
|
668
|
-
font-weight: 500;
|
|
669
|
-
}
|
|
670
|
-
.message.success {
|
|
671
|
-
display: block;
|
|
672
|
-
background: #10b981;
|
|
673
|
-
color: white;
|
|
674
|
-
}
|
|
675
|
-
.message.error {
|
|
676
|
-
display: block;
|
|
677
|
-
background: #ef4444;
|
|
678
|
-
color: white;
|
|
679
|
-
}
|
|
680
|
-
</style>
|
|
681
|
-
</head>
|
|
682
|
-
<body>
|
|
683
|
-
<div class="container">
|
|
684
|
-
<h1>Submit Secret</h1>
|
|
685
|
-
<p class="subtitle">Someone is requesting a secret from you securely.</p>
|
|
686
|
-
|
|
687
|
-
<div class="expires-info">
|
|
688
|
-
This request expires on: ${request.expiresAt.toLocaleString()}
|
|
689
|
-
</div>
|
|
690
|
-
|
|
691
|
-
${request.label ? `
|
|
692
|
-
<div class="label-display">
|
|
693
|
-
${request.label}
|
|
694
|
-
</div>
|
|
695
|
-
` : ''}
|
|
696
|
-
|
|
697
|
-
<form id="secretForm">
|
|
698
|
-
<div class="form-group">
|
|
699
|
-
<label for="secret">Secret <span style="color: #ef4444;">*</span></label>
|
|
700
|
-
<textarea
|
|
701
|
-
id="secret"
|
|
702
|
-
name="secret"
|
|
703
|
-
required
|
|
704
|
-
placeholder="Enter the secret here..."
|
|
705
|
-
maxlength="65536"
|
|
706
|
-
></textarea>
|
|
707
|
-
<div class="char-counter">
|
|
708
|
-
<span id="charCount">0</span> / 65536 characters
|
|
709
|
-
</div>
|
|
710
|
-
</div>
|
|
711
|
-
|
|
712
|
-
<button type="submit" id="submitBtn">Submit Secret</button>
|
|
713
|
-
</form>
|
|
714
|
-
|
|
715
|
-
<div id="message" class="message"></div>
|
|
716
|
-
</div>
|
|
717
|
-
|
|
718
|
-
<script>
|
|
719
|
-
const API_URL = window.location.origin;
|
|
720
|
-
const hash = '${hash}';
|
|
721
|
-
|
|
722
|
-
// Character counter
|
|
723
|
-
const secretInput = document.getElementById('secret');
|
|
724
|
-
const charCount = document.getElementById('charCount');
|
|
725
|
-
|
|
726
|
-
secretInput.addEventListener('input', () => {
|
|
727
|
-
charCount.textContent = secretInput.value.length;
|
|
728
|
-
});
|
|
729
|
-
|
|
730
|
-
// Form submission
|
|
731
|
-
document.getElementById('secretForm').addEventListener('submit', async (e) => {
|
|
732
|
-
e.preventDefault();
|
|
733
|
-
|
|
734
|
-
const secret = secretInput.value.trim();
|
|
735
|
-
const submitBtn = document.getElementById('submitBtn');
|
|
736
|
-
const messageDiv = document.getElementById('message');
|
|
737
|
-
|
|
738
|
-
if (!secret) {
|
|
739
|
-
showMessage('Please enter a secret.', 'error');
|
|
740
|
-
return;
|
|
741
|
-
}
|
|
742
|
-
|
|
743
|
-
if (secret.length > 65536) {
|
|
744
|
-
showMessage('Secret is too large (max 64KB).', 'error');
|
|
745
|
-
return;
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
submitBtn.disabled = true;
|
|
749
|
-
submitBtn.textContent = 'Submitting...';
|
|
750
|
-
|
|
751
|
-
try {
|
|
752
|
-
const response = await fetch(\`\${API_URL}/requests/\${hash}\`, {
|
|
753
|
-
method: 'POST',
|
|
754
|
-
headers: {
|
|
755
|
-
'Content-Type': 'application/json'
|
|
756
|
-
},
|
|
757
|
-
body: JSON.stringify({ secret })
|
|
758
|
-
});
|
|
759
|
-
|
|
760
|
-
const data = await response.json();
|
|
761
|
-
|
|
762
|
-
if (response.status === 200) {
|
|
763
|
-
showMessage('Secret submitted successfully! The requester will be able to retrieve it.', 'success');
|
|
764
|
-
secretInput.value = '';
|
|
765
|
-
charCount.textContent = '0';
|
|
766
|
-
submitBtn.style.display = 'none';
|
|
767
|
-
} else if (response.status === 409) {
|
|
768
|
-
showMessage('This request has already been completed.', 'error');
|
|
769
|
-
} else if (response.status === 410) {
|
|
770
|
-
showMessage('This request has expired.', 'error');
|
|
771
|
-
} else {
|
|
772
|
-
showMessage(data.error || 'Failed to submit secret. Please try again.', 'error');
|
|
773
|
-
}
|
|
774
|
-
} catch (error) {
|
|
775
|
-
showMessage('Network error. Please check your connection and try again.', 'error');
|
|
776
|
-
} finally {
|
|
777
|
-
if (submitBtn.style.display !== 'none') {
|
|
778
|
-
submitBtn.disabled = false;
|
|
779
|
-
submitBtn.textContent = 'Submit Secret';
|
|
780
|
-
}
|
|
781
|
-
}
|
|
782
|
-
});
|
|
783
|
-
|
|
784
|
-
function showMessage(text, type) {
|
|
785
|
-
const messageDiv = document.getElementById('message');
|
|
786
|
-
messageDiv.textContent = text;
|
|
787
|
-
messageDiv.className = \`message \${type}\`;
|
|
788
|
-
}
|
|
789
|
-
</script>
|
|
790
|
-
</body>
|
|
791
|
-
</html>
|
|
792
|
-
`, 200);
|
|
403
|
+
return c.html(getRequestFormHtml({ hash, label: request.label, expiresAt: request.expiresAt, type: 'form' }), 200);
|
|
793
404
|
}
|
|
794
405
|
catch (error) {
|
|
795
406
|
return c.json(errorResponse("Internal server error"), 500);
|
package/dist/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -31,6 +31,12 @@ export interface TTLStorage {
|
|
|
31
31
|
* @returns The secret data or null if not found/expired
|
|
32
32
|
*/
|
|
33
33
|
retrieve(id: string): Promise<SecretData | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Peek at a secret by ID without incrementing access count
|
|
36
|
+
* @param id The secret ID
|
|
37
|
+
* @returns The secret data or null if not found/expired
|
|
38
|
+
*/
|
|
39
|
+
peek(id: string): Promise<SecretData | null>;
|
|
34
40
|
/**
|
|
35
41
|
* Delete a secret by ID
|
|
36
42
|
* @param id The secret ID
|
|
@@ -71,6 +77,13 @@ export declare class MemoryStorage implements TTLStorage {
|
|
|
71
77
|
* @returns The secret data or null if not found/expired
|
|
72
78
|
*/
|
|
73
79
|
retrieve(id: string): Promise<SecretData | null>;
|
|
80
|
+
/**
|
|
81
|
+
* Peek at a secret by ID without incrementing access count
|
|
82
|
+
* Used for checking status without consuming an access
|
|
83
|
+
* @param id The secret ID
|
|
84
|
+
* @returns The secret data or null if not found/expired/access limit exceeded
|
|
85
|
+
*/
|
|
86
|
+
peek(id: string): Promise<SecretData | null>;
|
|
74
87
|
/**
|
|
75
88
|
* Delete a secret by ID
|
|
76
89
|
* @param id The secret ID
|
|
@@ -92,7 +105,7 @@ export declare class MemoryStorage implements TTLStorage {
|
|
|
92
105
|
*/
|
|
93
106
|
private startAutoCleanup;
|
|
94
107
|
/**
|
|
95
|
-
* Generate a unique secret ID using UUID v4
|
|
108
|
+
* Generate a unique secret ID using cryptographically secure UUID v4
|
|
96
109
|
* @returns A unique secret ID
|
|
97
110
|
*/
|
|
98
111
|
private generateSecretId;
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,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,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAE7C;;;;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;;;;;OAKG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA0BlD;;;;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;IAMxB;;;;;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
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* Defines the contract for storing and retrieving secrets with time-to-live expiration.
|
|
5
5
|
* This is a placeholder interface - implementation will be added in a future change.
|
|
6
6
|
*/
|
|
7
|
-
import
|
|
7
|
+
import * as crypto from 'node:crypto';
|
|
8
|
+
import { generateHash, encryptSecret, decryptSecret } from './crypto.js';
|
|
8
9
|
/**
|
|
9
10
|
* Memory-based implementation of TTLStorage interface.
|
|
10
11
|
* Stores secrets in memory with automatic TTL expiration and access count limits.
|
|
@@ -80,6 +81,33 @@ export class MemoryStorage {
|
|
|
80
81
|
// Return SecretData object for successful retrieval
|
|
81
82
|
return secretData;
|
|
82
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Peek at a secret by ID without incrementing access count
|
|
86
|
+
* Used for checking status without consuming an access
|
|
87
|
+
* @param id The secret ID
|
|
88
|
+
* @returns The secret data or null if not found/expired/access limit exceeded
|
|
89
|
+
*/
|
|
90
|
+
async peek(id) {
|
|
91
|
+
// Look up secret by ID in Map
|
|
92
|
+
const secretData = this.storage.get(id);
|
|
93
|
+
// Return null if secret not found
|
|
94
|
+
if (!secretData) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
// Check if secret has expired
|
|
98
|
+
const now = new Date();
|
|
99
|
+
if (secretData.expiresAt < now) {
|
|
100
|
+
// Remove expired secret
|
|
101
|
+
this.storage.delete(id);
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
// Check if maxAccessCount is set and accessCount has reached limit
|
|
105
|
+
if (secretData.maxAccessCount !== undefined && secretData.accessCount >= secretData.maxAccessCount) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
// Return SecretData WITHOUT incrementing accessCount
|
|
109
|
+
return secretData;
|
|
110
|
+
}
|
|
83
111
|
/**
|
|
84
112
|
* Delete a secret by ID
|
|
85
113
|
* @param id The secret ID
|
|
@@ -131,17 +159,11 @@ export class MemoryStorage {
|
|
|
131
159
|
}, this.cleanupInterval);
|
|
132
160
|
}
|
|
133
161
|
/**
|
|
134
|
-
* Generate a unique secret ID using UUID v4
|
|
162
|
+
* Generate a unique secret ID using cryptographically secure UUID v4
|
|
135
163
|
* @returns A unique secret ID
|
|
136
164
|
*/
|
|
137
165
|
generateSecretId() {
|
|
138
|
-
|
|
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
|
-
});
|
|
166
|
+
return crypto.randomUUID();
|
|
145
167
|
}
|
|
146
168
|
// ==================== Secret Request Methods ====================
|
|
147
169
|
/**
|
|
@@ -151,7 +173,7 @@ export class MemoryStorage {
|
|
|
151
173
|
* @returns The secret request with id and hash
|
|
152
174
|
*/
|
|
153
175
|
createRequest(expiresIn = 86400, label) {
|
|
154
|
-
const id =
|
|
176
|
+
const id = crypto.randomUUID();
|
|
155
177
|
const hash = generateHash();
|
|
156
178
|
const now = new Date();
|
|
157
179
|
const expiresAt = new Date(now.getTime() + expiresIn * 1000);
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|