@happyvertical/smrt-secrets 0.40.65 → 0.40.66

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.
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
+ "sensitiveFieldsExcluded": true,
3
4
  "generatedAt": "1970-01-01T00:00:00.000Z",
4
5
  "packageName": "@happyvertical/smrt-secrets",
5
- "packageVersion": "0.40.65",
6
+ "packageVersion": "0.40.66",
6
7
  "sourceManifestPath": "dist/manifest.json",
7
8
  "agentDocPath": "AGENTS.md",
8
9
  "sourceHashes": {
9
- "manifest": "73bb2e2a6e94f7608dfcfeed7ab14f2cf1380269062e3f919b24e52799314d52",
10
- "packageJson": "ccca5c866806aa93ebf07d2bff4033206ccba910e551529fc49a9a201738b8ec",
10
+ "manifest": "3c59ec684f5d80e87e16d95be4201f4579d7df4b5faf0f1f994d567820134ca0",
11
+ "packageJson": "d7e067a4b8b689bff9a985129037a8897bd72bb797b6f90753fc698f632edcde",
11
12
  "agents": "c2be546ffbe79a0df95401c10a60e23f4f31cb8232cb1349fcdb7e5682852d4a"
12
13
  },
13
14
  "exports": [
@@ -63,6 +64,80 @@
63
64
  "getUserActivity",
64
65
  "listLogs"
65
66
  ],
67
+ "methodSignatures": [
68
+ {
69
+ "name": "cleanup",
70
+ "async": true,
71
+ "params": [
72
+ "olderThanDays?: number"
73
+ ],
74
+ "returns": "Promise<number>"
75
+ },
76
+ {
77
+ "name": "countByAction",
78
+ "async": true,
79
+ "params": [
80
+ "tenantId: string | null",
81
+ "since?: Date"
82
+ ],
83
+ "returns": "Promise<Record<SecretAuditAction, number>>"
84
+ },
85
+ {
86
+ "name": "countByResult",
87
+ "async": true,
88
+ "params": [
89
+ "tenantId: string | null",
90
+ "since?: Date"
91
+ ],
92
+ "returns": "Promise<Record<SecretAuditResult, number>>"
93
+ },
94
+ {
95
+ "name": "getRecentDenials",
96
+ "async": true,
97
+ "params": [
98
+ "tenantId: string | null",
99
+ "limit?: number"
100
+ ],
101
+ "returns": "Promise<SecretAuditLog[]>"
102
+ },
103
+ {
104
+ "name": "getRecentFailures",
105
+ "async": true,
106
+ "params": [
107
+ "tenantId: string | null",
108
+ "limit?: number"
109
+ ],
110
+ "returns": "Promise<SecretAuditLog[]>"
111
+ },
112
+ {
113
+ "name": "getSecretHistory",
114
+ "async": true,
115
+ "params": [
116
+ "tenantId: string | null",
117
+ "secretName: string",
118
+ "limit?: number"
119
+ ],
120
+ "returns": "Promise<SecretAuditLog[]>"
121
+ },
122
+ {
123
+ "name": "getUserActivity",
124
+ "async": true,
125
+ "params": [
126
+ "tenantId: string | null",
127
+ "userId: string",
128
+ "limit?: number"
129
+ ],
130
+ "returns": "Promise<SecretAuditLog[]>"
131
+ },
132
+ {
133
+ "name": "listLogs",
134
+ "async": true,
135
+ "params": [
136
+ "options?: ListAuditLogsOptions"
137
+ ],
138
+ "returns": "Promise<SecretAuditLog[]>"
139
+ }
140
+ ],
66
141
  "surfaces": [],
67
142
  "relationshipFeatures": [
68
143
  "uuidColumns"
@@ -89,6 +164,77 @@
89
164
  "listExpiring",
90
165
  "listSecrets"
91
166
  ],
167
+ "methodSignatures": [
168
+ {
169
+ "name": "countByStatus",
170
+ "async": true,
171
+ "params": [
172
+ "tenantId: string"
173
+ ],
174
+ "returns": "Promise<Record<SecretStatus, number>>"
175
+ },
176
+ {
177
+ "name": "deleteByName",
178
+ "async": true,
179
+ "params": [
180
+ "tenantId: string",
181
+ "name: string"
182
+ ],
183
+ "returns": "Promise<boolean>"
184
+ },
185
+ {
186
+ "name": "findByName",
187
+ "async": true,
188
+ "params": [
189
+ "tenantId: string",
190
+ "name: string"
191
+ ],
192
+ "returns": "Promise<Secret | null>"
193
+ },
194
+ {
195
+ "name": "getCategories",
196
+ "async": true,
197
+ "params": [
198
+ "tenantId: string"
199
+ ],
200
+ "returns": "Promise<string[]>"
201
+ },
202
+ {
203
+ "name": "listActive",
204
+ "async": true,
205
+ "params": [
206
+ "tenantId: string"
207
+ ],
208
+ "returns": "Promise<Secret[]>"
209
+ },
210
+ {
211
+ "name": "listByCategory",
212
+ "async": true,
213
+ "params": [
214
+ "tenantId: string",
215
+ "category: string"
216
+ ],
217
+ "returns": "Promise<Secret[]>"
218
+ },
219
+ {
220
+ "name": "listExpiring",
221
+ "async": true,
222
+ "params": [
223
+ "tenantId: string",
224
+ "daysAhead?: number"
225
+ ],
226
+ "returns": "Promise<Secret[]>"
227
+ },
228
+ {
229
+ "name": "listSecrets",
230
+ "async": true,
231
+ "params": [
232
+ "tenantId: string",
233
+ "options?: ListSecretsOptions"
234
+ ],
235
+ "returns": "Promise<Secret[]>"
236
+ }
237
+ ],
92
238
  "surfaces": [],
93
239
  "relationshipFeatures": [
94
240
  "uuidColumns"
@@ -115,6 +261,65 @@
115
261
  "listKeyVersions",
116
262
  "markCompromised"
117
263
  ],
264
+ "methodSignatures": [
265
+ {
266
+ "name": "cleanupRetiredKeys",
267
+ "async": true,
268
+ "params": [
269
+ "olderThanDays?: number"
270
+ ],
271
+ "returns": "Promise<number>"
272
+ },
273
+ {
274
+ "name": "countByStatus",
275
+ "async": true,
276
+ "returns": "Promise<Record<TenantKeyStatus, number>>"
277
+ },
278
+ {
279
+ "name": "findKeysNeedingRotation",
280
+ "async": true,
281
+ "returns": "Promise<TenantKey[]>"
282
+ },
283
+ {
284
+ "name": "getActiveKey",
285
+ "async": true,
286
+ "params": [
287
+ "tenantId: string"
288
+ ],
289
+ "returns": "Promise<TenantKey | null>"
290
+ },
291
+ {
292
+ "name": "getKeyVersion",
293
+ "async": true,
294
+ "params": [
295
+ "tenantId: string",
296
+ "version: number"
297
+ ],
298
+ "returns": "Promise<TenantKey | null>"
299
+ },
300
+ {
301
+ "name": "listAllActiveKeys",
302
+ "async": true,
303
+ "returns": "Promise<TenantKey[]>"
304
+ },
305
+ {
306
+ "name": "listKeyVersions",
307
+ "async": true,
308
+ "params": [
309
+ "tenantId: string"
310
+ ],
311
+ "returns": "Promise<TenantKey[]>"
312
+ },
313
+ {
314
+ "name": "markCompromised",
315
+ "async": true,
316
+ "params": [
317
+ "tenantId: string",
318
+ "keyId: string"
319
+ ],
320
+ "returns": "Promise<boolean>"
321
+ }
322
+ ],
118
323
  "surfaces": [],
119
324
  "relationshipFeatures": [
120
325
  "uuidColumns"
@@ -134,43 +339,50 @@
134
339
  "name": "tenantId",
135
340
  "type": "text",
136
341
  "required": false,
137
- "columnType": "UUID"
342
+ "columnType": "UUID",
343
+ "default": ""
138
344
  },
139
345
  {
140
346
  "name": "name",
141
347
  "type": "text",
142
348
  "required": false,
143
- "columnType": "TEXT"
349
+ "columnType": "TEXT",
350
+ "default": ""
144
351
  },
145
352
  {
146
353
  "name": "description",
147
354
  "type": "text",
148
355
  "required": false,
149
- "columnType": "TEXT"
356
+ "columnType": "TEXT",
357
+ "default": ""
150
358
  },
151
359
  {
152
360
  "name": "category",
153
361
  "type": "text",
154
362
  "required": false,
155
- "columnType": "TEXT"
363
+ "columnType": "TEXT",
364
+ "default": ""
156
365
  },
157
366
  {
158
367
  "name": "encryptedValue",
159
368
  "type": "text",
160
369
  "required": false,
161
- "columnType": "TEXT"
370
+ "columnType": "TEXT",
371
+ "default": ""
162
372
  },
163
373
  {
164
374
  "name": "keyVersion",
165
375
  "type": "integer",
166
376
  "required": false,
167
- "columnType": "INTEGER"
377
+ "columnType": "INTEGER",
378
+ "default": 1
168
379
  },
169
380
  {
170
381
  "name": "status",
171
382
  "type": "text",
172
383
  "required": false,
173
- "columnType": "TEXT"
384
+ "columnType": "TEXT",
385
+ "default": "active"
174
386
  },
175
387
  {
176
388
  "name": "expiresAt",
@@ -188,13 +400,15 @@
188
400
  "name": "accessCount",
189
401
  "type": "integer",
190
402
  "required": false,
191
- "columnType": "INTEGER"
403
+ "columnType": "INTEGER",
404
+ "default": 0
192
405
  },
193
406
  {
194
407
  "name": "metadata",
195
408
  "type": "json",
196
409
  "required": false,
197
- "columnType": "JSON"
410
+ "columnType": "JSON",
411
+ "default": {}
198
412
  }
199
413
  ],
200
414
  "relationships": [],
@@ -206,6 +420,37 @@
206
420
  "isUsable",
207
421
  "recordAccess"
208
422
  ],
423
+ "methodSignatures": [
424
+ {
425
+ "name": "disable",
426
+ "returns": "void"
427
+ },
428
+ {
429
+ "name": "enable",
430
+ "returns": "void"
431
+ },
432
+ {
433
+ "name": "isActive",
434
+ "returns": "boolean"
435
+ },
436
+ {
437
+ "name": "isExpired",
438
+ "returns": "boolean"
439
+ },
440
+ {
441
+ "name": "isUsable",
442
+ "returns": "boolean"
443
+ },
444
+ {
445
+ "name": "recordAccess",
446
+ "returns": "void"
447
+ }
448
+ ],
449
+ "tenant": {
450
+ "scoped": true,
451
+ "mode": "required",
452
+ "field": "tenantId"
453
+ },
209
454
  "surfaces": [
210
455
  {
211
456
  "kind": "cli",
@@ -245,7 +490,8 @@
245
490
  "name": "secretName",
246
491
  "type": "text",
247
492
  "required": false,
248
- "columnType": "TEXT"
493
+ "columnType": "TEXT",
494
+ "default": ""
249
495
  },
250
496
  {
251
497
  "name": "userId",
@@ -258,31 +504,36 @@
258
504
  "name": "action",
259
505
  "type": "text",
260
506
  "required": false,
261
- "columnType": "TEXT"
507
+ "columnType": "TEXT",
508
+ "default": "read"
262
509
  },
263
510
  {
264
511
  "name": "result",
265
512
  "type": "text",
266
513
  "required": false,
267
- "columnType": "TEXT"
514
+ "columnType": "TEXT",
515
+ "default": "success"
268
516
  },
269
517
  {
270
518
  "name": "ipAddress",
271
519
  "type": "text",
272
520
  "required": false,
273
- "columnType": "TEXT"
521
+ "columnType": "TEXT",
522
+ "default": ""
274
523
  },
275
524
  {
276
525
  "name": "userAgent",
277
526
  "type": "text",
278
527
  "required": false,
279
- "columnType": "TEXT"
528
+ "columnType": "TEXT",
529
+ "default": ""
280
530
  },
281
531
  {
282
532
  "name": "details",
283
533
  "type": "json",
284
534
  "required": false,
285
- "columnType": "JSON"
535
+ "columnType": "JSON",
536
+ "default": {}
286
537
  }
287
538
  ],
288
539
  "relationships": [
@@ -309,6 +560,37 @@
309
560
  "isSuccess",
310
561
  "isWriteAction"
311
562
  ],
563
+ "methodSignatures": [
564
+ {
565
+ "name": "isDenied",
566
+ "returns": "boolean"
567
+ },
568
+ {
569
+ "name": "isFailure",
570
+ "returns": "boolean"
571
+ },
572
+ {
573
+ "name": "isKeyOperation",
574
+ "returns": "boolean"
575
+ },
576
+ {
577
+ "name": "isReadAction",
578
+ "returns": "boolean"
579
+ },
580
+ {
581
+ "name": "isSuccess",
582
+ "returns": "boolean"
583
+ },
584
+ {
585
+ "name": "isWriteAction",
586
+ "returns": "boolean"
587
+ }
588
+ ],
589
+ "tenant": {
590
+ "scoped": true,
591
+ "mode": "required",
592
+ "field": "tenantId"
593
+ },
312
594
  "surfaces": [
313
595
  {
314
596
  "kind": "cli",
@@ -337,31 +619,36 @@
337
619
  "name": "tenantId",
338
620
  "type": "text",
339
621
  "required": false,
340
- "columnType": "TEXT"
622
+ "columnType": "TEXT",
623
+ "default": ""
341
624
  },
342
625
  {
343
626
  "name": "wrappedKey",
344
627
  "type": "text",
345
628
  "required": false,
346
- "columnType": "TEXT"
629
+ "columnType": "TEXT",
630
+ "default": ""
347
631
  },
348
632
  {
349
633
  "name": "amkKeyId",
350
634
  "type": "text",
351
635
  "required": false,
352
- "columnType": "TEXT"
636
+ "columnType": "TEXT",
637
+ "default": ""
353
638
  },
354
639
  {
355
640
  "name": "status",
356
641
  "type": "text",
357
642
  "required": false,
358
- "columnType": "TEXT"
643
+ "columnType": "TEXT",
644
+ "default": "active"
359
645
  },
360
646
  {
361
647
  "name": "version",
362
648
  "type": "integer",
363
649
  "required": false,
364
- "columnType": "INTEGER"
650
+ "columnType": "INTEGER",
651
+ "default": 1
365
652
  },
366
653
  {
367
654
  "name": "rotateAfter",
@@ -387,6 +674,40 @@
387
674
  "needsRotation",
388
675
  "retire"
389
676
  ],
677
+ "methodSignatures": [
678
+ {
679
+ "name": "canDecrypt",
680
+ "returns": "boolean"
681
+ },
682
+ {
683
+ "name": "canEncrypt",
684
+ "returns": "boolean"
685
+ },
686
+ {
687
+ "name": "isActive",
688
+ "returns": "boolean"
689
+ },
690
+ {
691
+ "name": "isCompromised",
692
+ "returns": "boolean"
693
+ },
694
+ {
695
+ "name": "isRetired",
696
+ "returns": "boolean"
697
+ },
698
+ {
699
+ "name": "markCompromised",
700
+ "returns": "void"
701
+ },
702
+ {
703
+ "name": "needsRotation",
704
+ "returns": "boolean"
705
+ },
706
+ {
707
+ "name": "retire",
708
+ "returns": "void"
709
+ }
710
+ ],
390
711
  "surfaces": [
391
712
  {
392
713
  "kind": "cli",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-secrets",
3
- "version": "0.40.65",
3
+ "version": "0.40.66",
4
4
  "description": "Per-tenant secret management with envelope encryption for SMRT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -27,19 +27,19 @@
27
27
  }
28
28
  },
29
29
  "dependencies": {
30
- "@happyvertical/logger": "^0.86.1",
31
- "@happyvertical/secrets": "^0.86.1",
32
- "@happyvertical/sql": "^0.86.1",
33
- "@happyvertical/utils": "^0.86.1",
34
- "@happyvertical/smrt-core": "0.40.65",
35
- "@happyvertical/smrt-tenancy": "0.40.65"
30
+ "@happyvertical/logger": "^0.86.3",
31
+ "@happyvertical/secrets": "^0.86.3",
32
+ "@happyvertical/sql": "^0.86.3",
33
+ "@happyvertical/utils": "^0.86.3",
34
+ "@happyvertical/smrt-core": "0.40.66",
35
+ "@happyvertical/smrt-tenancy": "0.40.66"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "24.13.2",
39
39
  "typescript": "5.9.3",
40
40
  "vite": "8.1.4",
41
41
  "vitest": "4.1.10",
42
- "@happyvertical/smrt-vitest": "0.40.65"
42
+ "@happyvertical/smrt-vitest": "0.40.66"
43
43
  },
44
44
  "keywords": [
45
45
  "smrt",