@centient/secrets 0.4.0 → 0.6.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 (64) hide show
  1. package/README.md +2 -0
  2. package/dist/cli/hidden-input.d.ts +52 -0
  3. package/dist/cli/hidden-input.d.ts.map +1 -0
  4. package/dist/cli/hidden-input.js +109 -0
  5. package/dist/cli/hidden-input.js.map +1 -0
  6. package/dist/cli/secrets-cli.d.ts +9 -0
  7. package/dist/cli/secrets-cli.d.ts.map +1 -1
  8. package/dist/cli/secrets-cli.js +251 -169
  9. package/dist/cli/secrets-cli.js.map +1 -1
  10. package/dist/crypto/vault-common.d.ts +23 -4
  11. package/dist/crypto/vault-common.d.ts.map +1 -1
  12. package/dist/crypto/vault-common.js +47 -6
  13. package/dist/crypto/vault-common.js.map +1 -1
  14. package/dist/index.d.ts +5 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +8 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/vault/file-lock.d.ts +33 -0
  19. package/dist/vault/file-lock.d.ts.map +1 -0
  20. package/dist/vault/file-lock.js +143 -0
  21. package/dist/vault/file-lock.js.map +1 -0
  22. package/dist/vault/policy.d.ts +50 -0
  23. package/dist/vault/policy.d.ts.map +1 -0
  24. package/dist/vault/policy.js +68 -0
  25. package/dist/vault/policy.js.map +1 -0
  26. package/dist/vault/session-vault-errors.d.ts +38 -0
  27. package/dist/vault/session-vault-errors.d.ts.map +1 -0
  28. package/dist/vault/session-vault-errors.js +67 -0
  29. package/dist/vault/session-vault-errors.js.map +1 -0
  30. package/dist/vault/session-vault.d.ts +147 -0
  31. package/dist/vault/session-vault.d.ts.map +1 -0
  32. package/dist/vault/session-vault.js +667 -0
  33. package/dist/vault/session-vault.js.map +1 -0
  34. package/dist/vault/sidecar.d.ts +37 -0
  35. package/dist/vault/sidecar.d.ts.map +1 -0
  36. package/dist/vault/sidecar.js +84 -0
  37. package/dist/vault/sidecar.js.map +1 -0
  38. package/dist/vault/types.d.ts +7 -4
  39. package/dist/vault/types.d.ts.map +1 -1
  40. package/dist/vault/vault-env.d.ts +1 -1
  41. package/dist/vault/vault-env.d.ts.map +1 -1
  42. package/dist/vault/vault-env.js +1 -1
  43. package/dist/vault/vault-env.js.map +1 -1
  44. package/dist/vault/vault-gpg.d.ts +1 -1
  45. package/dist/vault/vault-gpg.d.ts.map +1 -1
  46. package/dist/vault/vault-gpg.js +1 -1
  47. package/dist/vault/vault-gpg.js.map +1 -1
  48. package/dist/vault/vault-libsecret.d.ts +28 -14
  49. package/dist/vault/vault-libsecret.d.ts.map +1 -1
  50. package/dist/vault/vault-libsecret.js +76 -15
  51. package/dist/vault/vault-libsecret.js.map +1 -1
  52. package/dist/vault/vault-utils.d.ts +12 -2
  53. package/dist/vault/vault-utils.d.ts.map +1 -1
  54. package/dist/vault/vault-utils.js +21 -4
  55. package/dist/vault/vault-utils.js.map +1 -1
  56. package/dist/vault/vault-windows.d.ts +1 -1
  57. package/dist/vault/vault-windows.d.ts.map +1 -1
  58. package/dist/vault/vault-windows.js +1 -1
  59. package/dist/vault/vault-windows.js.map +1 -1
  60. package/dist/vault/vault.d.ts +5 -4
  61. package/dist/vault/vault.d.ts.map +1 -1
  62. package/dist/vault/vault.js +83 -8
  63. package/dist/vault/vault.js.map +1 -1
  64. package/package.json +4 -1
@@ -61,13 +61,14 @@ export declare function deleteCredential(key: string): Promise<boolean>;
61
61
  * @param prefix - optional key prefix filter. When omitted, all keys are
62
62
  * returned.
63
63
  *
64
- * Note: credential keys must match `isValidKey` (`[a-z0-9][a-z0-9-]*[a-z0-9]`,
65
- * <=64 chars) lowercase alphanumeric plus hyphen, no dots. Callers that want
66
- * a namespace separator should use hyphens (`soma-anthropic-token1`).
64
+ * Note: credential keys must match `isValidKey` — lowercase alphanumeric
65
+ * plus hyphen and dot, first and last character alphanumeric, <=64 chars.
66
+ * Both `-` and `.` work as namespace separators; pick whichever convention
67
+ * reads best.
67
68
  *
68
69
  * @example
69
70
  * // Enumerate all soma-owned Anthropic credentials
70
- * const keys = await listCredentials("soma-anthropic-");
71
+ * const keys = await listCredentials("soma.anthropic.");
71
72
  * for (const key of keys) {
72
73
  * const value = await getCredential(key);
73
74
  * // ... round-robin rotation, etc.
@@ -1 +1 @@
1
- {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/vault/vault.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAC;AAgE1D;;;GAGG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAWD;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,SAAS,CAE9C;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIvE;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIxE"}
1
+ {"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/vault/vault.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAC;AAiE1D;;;GAGG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAkBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,SAAS,CAE9C;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BvE;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYpE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BxE"}
@@ -20,6 +20,7 @@ import { WindowsVault } from "./vault-windows.js";
20
20
  import { LibsecretVault } from "./vault-libsecret.js";
21
21
  import { GpgVault } from "./vault-gpg.js";
22
22
  import { EnvVault } from "./vault-env.js";
23
+ import { runBeforeHooks, runAfterHooks } from "./policy.js";
23
24
  // =============================================================================
24
25
  // Constants
25
26
  // =============================================================================
@@ -45,7 +46,7 @@ class KeychainVault {
45
46
  delete(key) {
46
47
  return deleteFromKeychain(AUTH_KEYCHAIN_SERVICE, key);
47
48
  }
48
- listKeys(prefix) {
49
+ async listKeys(prefix) {
49
50
  return listAccountsInKeychain(AUTH_KEYCHAIN_SERVICE, prefix);
50
51
  }
51
52
  }
@@ -88,6 +89,13 @@ function touchSession() {
88
89
  }
89
90
  // =============================================================================
90
91
  // Public API
92
+ //
93
+ // Known limitation (0.5.0): when a `before` policy hook rejects an
94
+ // operation by throwing, the rejection propagates to the caller but no
95
+ // `after` event is emitted. This means policy-rejected operations are
96
+ // invisible to the audit trail. The full onion model — where `after`
97
+ // hooks on already-entered policies still fire on abort — ships in 1.0
98
+ // as part of `createSecretsClient`. See ADR-002 §1.0.0.
91
99
  // =============================================================================
92
100
  /**
93
101
  * Returns the type identifier for the active vault backend.
@@ -106,9 +114,18 @@ export function getActiveVaultType() {
106
114
  * @returns true on success, false if the backend write fails
107
115
  */
108
116
  export async function storeCredential(key, value) {
117
+ const start = performance.now();
118
+ await runBeforeHooks({ type: "write", key });
109
119
  const success = activeBackend.store(key, value);
110
120
  if (success)
111
121
  touchSession();
122
+ runAfterHooks({
123
+ type: success ? "credential_written" : "credential_write_failed",
124
+ timestamp: new Date().toISOString(),
125
+ backend: activeVaultType,
126
+ key,
127
+ durationMs: performance.now() - start,
128
+ });
112
129
  return success;
113
130
  }
114
131
  /**
@@ -118,9 +135,32 @@ export async function storeCredential(key, value) {
118
135
  * @returns The stored value, or null if not found / backend unavailable
119
136
  */
120
137
  export async function getCredential(key) {
121
- const value = activeBackend.retrieve(key);
138
+ const start = performance.now();
139
+ await runBeforeHooks({ type: "read", key });
140
+ let value;
141
+ try {
142
+ value = activeBackend.retrieve(key);
143
+ }
144
+ catch (err) {
145
+ runAfterHooks({
146
+ type: "credential_read_failed",
147
+ timestamp: new Date().toISOString(),
148
+ backend: activeVaultType,
149
+ key,
150
+ error: err instanceof Error ? err.message : String(err),
151
+ durationMs: performance.now() - start,
152
+ });
153
+ throw err;
154
+ }
122
155
  if (value !== null)
123
156
  touchSession();
157
+ runAfterHooks({
158
+ type: value !== null ? "credential_read" : "credential_read_missing",
159
+ timestamp: new Date().toISOString(),
160
+ backend: activeVaultType,
161
+ key,
162
+ durationMs: performance.now() - start,
163
+ });
124
164
  return value;
125
165
  }
126
166
  /**
@@ -130,7 +170,17 @@ export async function getCredential(key) {
130
170
  * @returns true on success (including "already deleted"), false on unexpected error
131
171
  */
132
172
  export async function deleteCredential(key) {
133
- return activeBackend.delete(key);
173
+ const start = performance.now();
174
+ await runBeforeHooks({ type: "delete", key });
175
+ const success = activeBackend.delete(key);
176
+ runAfterHooks({
177
+ type: success ? "credential_deleted" : "credential_delete_failed",
178
+ timestamp: new Date().toISOString(),
179
+ backend: activeVaultType,
180
+ key,
181
+ durationMs: performance.now() - start,
182
+ });
183
+ return success;
134
184
  }
135
185
  /**
136
186
  * Enumerate credential keys in the active vault backend, optionally
@@ -143,22 +193,47 @@ export async function deleteCredential(key) {
143
193
  * @param prefix - optional key prefix filter. When omitted, all keys are
144
194
  * returned.
145
195
  *
146
- * Note: credential keys must match `isValidKey` (`[a-z0-9][a-z0-9-]*[a-z0-9]`,
147
- * <=64 chars) lowercase alphanumeric plus hyphen, no dots. Callers that want
148
- * a namespace separator should use hyphens (`soma-anthropic-token1`).
196
+ * Note: credential keys must match `isValidKey` — lowercase alphanumeric
197
+ * plus hyphen and dot, first and last character alphanumeric, <=64 chars.
198
+ * Both `-` and `.` work as namespace separators; pick whichever convention
199
+ * reads best.
149
200
  *
150
201
  * @example
151
202
  * // Enumerate all soma-owned Anthropic credentials
152
- * const keys = await listCredentials("soma-anthropic-");
203
+ * const keys = await listCredentials("soma.anthropic.");
153
204
  * for (const key of keys) {
154
205
  * const value = await getCredential(key);
155
206
  * // ... round-robin rotation, etc.
156
207
  * }
157
208
  */
158
209
  export async function listCredentials(prefix) {
159
- const keys = activeBackend.listKeys(prefix);
210
+ const start = performance.now();
211
+ await runBeforeHooks({ type: "enumerate", prefix });
212
+ let keys;
213
+ try {
214
+ keys = await activeBackend.listKeys(prefix);
215
+ }
216
+ catch (err) {
217
+ runAfterHooks({
218
+ type: "credential_enumerate_failed",
219
+ timestamp: new Date().toISOString(),
220
+ backend: activeVaultType,
221
+ prefix,
222
+ error: err instanceof Error ? err.message : String(err),
223
+ durationMs: performance.now() - start,
224
+ });
225
+ throw err;
226
+ }
160
227
  if (keys.length > 0)
161
228
  touchSession();
229
+ runAfterHooks({
230
+ type: "credential_enumerated",
231
+ timestamp: new Date().toISOString(),
232
+ backend: activeVaultType,
233
+ prefix,
234
+ keyCount: keys.length,
235
+ durationMs: performance.now() - start,
236
+ });
162
237
  return keys;
163
238
  }
164
239
  //# sourceMappingURL=vault.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/vault/vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/vault/vault.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@centient/secrets",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "Cross-platform secrets vault with AES-256-GCM encryption and platform-native key storage",
5
5
  "repository": {
6
6
  "type": "git",
@@ -45,6 +45,9 @@
45
45
  "node": ">=18.0.0"
46
46
  },
47
47
  "license": "MIT",
48
+ "dependencies": {
49
+ "dbus-next": "^0.10.2"
50
+ },
48
51
  "scripts": {
49
52
  "build": "tsc",
50
53
  "dev": "tsc --watch",