@centient/secrets 0.9.0 → 0.10.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 (93) hide show
  1. package/README.md +70 -2
  2. package/dist/cli/secrets-cli.d.ts.map +1 -1
  3. package/dist/cli/secrets-cli.js +191 -32
  4. package/dist/cli/secrets-cli.js.map +1 -1
  5. package/dist/crypto/darwin-keychain.d.ts +394 -0
  6. package/dist/crypto/darwin-keychain.d.ts.map +1 -0
  7. package/dist/crypto/darwin-keychain.js +793 -0
  8. package/dist/crypto/darwin-keychain.js.map +1 -0
  9. package/dist/crypto/vault-common.d.ts +55 -12
  10. package/dist/crypto/vault-common.d.ts.map +1 -1
  11. package/dist/crypto/vault-common.js +74 -71
  12. package/dist/crypto/vault-common.js.map +1 -1
  13. package/dist/environment/EnvironmentManager.d.ts.map +1 -1
  14. package/dist/environment/EnvironmentManager.js +5 -10
  15. package/dist/environment/EnvironmentManager.js.map +1 -1
  16. package/dist/index.d.ts +20 -6
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +23 -5
  19. package/dist/index.js.map +1 -1
  20. package/dist/key-providers/keychain-provider.d.ts +30 -2
  21. package/dist/key-providers/keychain-provider.d.ts.map +1 -1
  22. package/dist/key-providers/keychain-provider.js +29 -5
  23. package/dist/key-providers/keychain-provider.js.map +1 -1
  24. package/dist/key-providers/onepassword-provider.d.ts +65 -5
  25. package/dist/key-providers/onepassword-provider.d.ts.map +1 -1
  26. package/dist/key-providers/onepassword-provider.js +159 -67
  27. package/dist/key-providers/onepassword-provider.js.map +1 -1
  28. package/dist/key-providers/op-cli.d.ts +78 -0
  29. package/dist/key-providers/op-cli.d.ts.map +1 -0
  30. package/dist/key-providers/op-cli.js +123 -0
  31. package/dist/key-providers/op-cli.js.map +1 -0
  32. package/dist/key-providers/passphrase-provider.d.ts +20 -0
  33. package/dist/key-providers/passphrase-provider.d.ts.map +1 -1
  34. package/dist/key-providers/passphrase-provider.js +49 -0
  35. package/dist/key-providers/passphrase-provider.js.map +1 -1
  36. package/dist/key-providers/probe.d.ts +46 -0
  37. package/dist/key-providers/probe.d.ts.map +1 -0
  38. package/dist/key-providers/probe.js +70 -0
  39. package/dist/key-providers/probe.js.map +1 -0
  40. package/dist/key-providers/types.d.ts +51 -1
  41. package/dist/key-providers/types.d.ts.map +1 -1
  42. package/dist/platform/agent-detect.d.ts +39 -3
  43. package/dist/platform/agent-detect.d.ts.map +1 -1
  44. package/dist/platform/agent-detect.js +55 -9
  45. package/dist/platform/agent-detect.js.map +1 -1
  46. package/dist/platform/session-context.d.ts +77 -0
  47. package/dist/platform/session-context.d.ts.map +1 -0
  48. package/dist/platform/session-context.js +83 -0
  49. package/dist/platform/session-context.js.map +1 -0
  50. package/dist/secret-state.d.ts +54 -0
  51. package/dist/secret-state.d.ts.map +1 -0
  52. package/dist/secret-state.js +2 -0
  53. package/dist/secret-state.js.map +1 -0
  54. package/dist/vault/session-vault-errors.d.ts +72 -4
  55. package/dist/vault/session-vault-errors.d.ts.map +1 -1
  56. package/dist/vault/session-vault-errors.js +95 -4
  57. package/dist/vault/session-vault-errors.js.map +1 -1
  58. package/dist/vault/session-vault.d.ts +102 -2
  59. package/dist/vault/session-vault.d.ts.map +1 -1
  60. package/dist/vault/session-vault.js +225 -36
  61. package/dist/vault/session-vault.js.map +1 -1
  62. package/dist/vault/types.d.ts +42 -1
  63. package/dist/vault/types.d.ts.map +1 -1
  64. package/dist/vault/types.js.map +1 -1
  65. package/dist/vault/vault-env.d.ts +14 -0
  66. package/dist/vault/vault-env.d.ts.map +1 -1
  67. package/dist/vault/vault-env.js +15 -0
  68. package/dist/vault/vault-env.js.map +1 -1
  69. package/dist/vault/vault-gpg.d.ts +5 -1
  70. package/dist/vault/vault-gpg.d.ts.map +1 -1
  71. package/dist/vault/vault-gpg.js +9 -8
  72. package/dist/vault/vault-gpg.js.map +1 -1
  73. package/dist/vault/vault-libsecret.d.ts +5 -1
  74. package/dist/vault/vault-libsecret.d.ts.map +1 -1
  75. package/dist/vault/vault-libsecret.js +9 -8
  76. package/dist/vault/vault-libsecret.js.map +1 -1
  77. package/dist/vault/vault-onepassword.d.ts +118 -0
  78. package/dist/vault/vault-onepassword.d.ts.map +1 -0
  79. package/dist/vault/vault-onepassword.js +270 -0
  80. package/dist/vault/vault-onepassword.js.map +1 -0
  81. package/dist/vault/vault-utils.d.ts +33 -0
  82. package/dist/vault/vault-utils.d.ts.map +1 -1
  83. package/dist/vault/vault-utils.js +61 -0
  84. package/dist/vault/vault-utils.js.map +1 -1
  85. package/dist/vault/vault-windows.d.ts +5 -1
  86. package/dist/vault/vault-windows.d.ts.map +1 -1
  87. package/dist/vault/vault-windows.js +9 -8
  88. package/dist/vault/vault-windows.js.map +1 -1
  89. package/dist/vault/vault.d.ts +116 -4
  90. package/dist/vault/vault.d.ts.map +1 -1
  91. package/dist/vault/vault.js +251 -12
  92. package/dist/vault/vault.js.map +1 -1
  93. package/package.json +1 -1
@@ -46,9 +46,12 @@ import { resolveKeyProvider } from "../key-providers/resolve.js";
46
46
  import { runBeforeHooks, runAfterHooks, rejectedEventType, } from "./policy.js";
47
47
  import { acquireWriteLock } from "./file-lock.js";
48
48
  import { readSidecar, writeSidecar, checkSidecarPerms, VAULT_FILE_MODE, VAULT_DIR_MODE, } from "./sidecar.js";
49
- import { VaultError, VaultUnlockError, VaultDecryptError, VaultRollbackError, VaultClosedError, VaultLockError, } from "./session-vault-errors.js";
49
+ import { VaultError, VaultUnlockError, VaultDecryptError, VaultRollbackError, VaultClosedError, VaultLockError, VaultRestoreError, InvalidCredentialKeyError, } from "./session-vault-errors.js";
50
50
  // Re-export errors so the public surface (index.ts) stays stable.
51
- export { VaultError, VaultUnlockError, VaultDecryptError, VaultRollbackError, VaultClosedError, VaultLockError, };
51
+ export { VaultError, VaultUnlockError, VaultDecryptError, VaultRollbackError, VaultClosedError, VaultLockError, VaultRestoreError,
52
+ // Raised by the credential cascade, not by SessionVault — re-exported here
53
+ // because this module is index.ts's single door onto the VaultError family.
54
+ InvalidCredentialKeyError, };
52
55
  // =============================================================================
53
56
  // Constants
54
57
  // =============================================================================
@@ -215,41 +218,19 @@ export async function openVault(opts = {}) {
215
218
  // write, at which point they're upgraded automatically and become
216
219
  // AAD-bound going forward.
217
220
  const initialBytes = readFileSync(vaultPath);
218
- let decoded = decryptObject(initialBytes, key, aad);
219
- let openedAsLegacy = false;
220
- if (decoded === null) {
221
- const legacy = decryptObject(initialBytes, key);
222
- if (legacy !== null) {
223
- decoded = legacy;
224
- openedAsLegacy = true;
225
- }
226
- else {
227
- key.fill(0);
228
- throw new VaultDecryptError(`Failed to decrypt vault at ${vaultPath} — wrong key, corrupted file, or AAD mismatch (schema version ${VAULT_SCHEMA_VERSION}; also tried legacy no-AAD format).`);
229
- }
221
+ let decodeResult;
222
+ try {
223
+ decodeResult = decodeVaultBytes(initialBytes, key, aad, vaultPath);
230
224
  }
231
- let payload = validatePayload(decoded);
232
- if (payload === null) {
233
- // Legacy flat-format detection: a pre-openVault CLI vault is a flat
234
- // `{ name: value, ... }` map at the top level. If every value is a string
235
- // and there's no `schema` field, accept as legacy schema-0.
236
- if (openedAsLegacy && !("schema" in decoded)) {
237
- const secrets = {};
238
- for (const [k, v] of Object.entries(decoded)) {
239
- if (typeof v !== "string") {
240
- key.fill(0);
241
- throw new VaultDecryptError(`Vault decrypted without AAD but contained a non-string value at key "${k}" — not a legacy CLI vault; possible corruption.`);
242
- }
243
- secrets[k] = v;
244
- }
245
- payload = { schema: 0, vaultVersion: 0, secrets };
246
- process.stderr.write(`[secrets] Opened legacy (pre-schema, AAD-less) vault at ${vaultPath}; ` +
247
- `will auto-upgrade to schema ${VAULT_SCHEMA_VERSION} with AAD binding on next write.\n`);
248
- }
249
- else {
250
- key.fill(0);
251
- throw new VaultDecryptError("Decrypted payload has invalid shape — possible corruption or format mismatch.");
252
- }
225
+ catch (err) {
226
+ key.fill(0);
227
+ throw err;
228
+ }
229
+ const payload = decodeResult.payload;
230
+ const openedAsLegacy = decodeResult.openedAsLegacy;
231
+ if (decodeResult.payload.schema === 0) {
232
+ process.stderr.write(`[secrets] Opened legacy (pre-schema, AAD-less) vault at ${vaultPath}; ` +
233
+ `will auto-upgrade to schema ${VAULT_SCHEMA_VERSION} with AAD binding on next write.\n`);
253
234
  }
254
235
  // --- Rollback check ---
255
236
  const sidecar = readSidecar(sidecarPath);
@@ -301,6 +282,168 @@ export async function openVault(opts = {}) {
301
282
  ttlMs,
302
283
  });
303
284
  }
285
+ /**
286
+ * Re-encrypt a vault in place under a different master key.
287
+ *
288
+ * Needed whenever the new key cannot be *chosen* — a `PassphraseProvider`
289
+ * derives its key from what the operator types and cannot store a
290
+ * caller-supplied one, so moving a vault to it means rewriting the ciphertext
291
+ * rather than copying the key to a new home. Provider-to-provider moves that
292
+ * only relocate the same key do not need this.
293
+ *
294
+ * The AAD binds the vault's resolved real path and schema, not the key, so the
295
+ * rekeyed ciphertext stays bound to the same file identity. Legacy AAD-less
296
+ * vaults are upgraded to schema 1 in the same step. The new version is one
297
+ * above both the payload's version and the sidecar's high-water mark, so a
298
+ * rekeyed vault can never land below a version already seen.
299
+ *
300
+ * Any process holding this vault open under the old key will fail its next
301
+ * decrypt with {@link VaultDecryptError} — an honest failure, by design: the
302
+ * old key genuinely no longer opens this vault.
303
+ *
304
+ * **Post-commit guarantee.** With one named exception, a throw means `commit`
305
+ * did not succeed and the prior ciphertext is back in place — nothing after a
306
+ * successful `commit` can throw, because the only step that follows it (the
307
+ * sidecar bump) is reported via {@link RekeyVaultResult.sidecarPublished}
308
+ * rather than thrown. Callers may therefore treat a throw as "nothing was
309
+ * committed" and clean up accordingly; that is what makes it safe for the CLI
310
+ * to delete freshly written passphrase metadata on failure.
311
+ *
312
+ * **The exception: {@link VaultRestoreError}.** If `commit` throws *and* the
313
+ * rollback write then fails, the file on disk may still be the new ciphertext.
314
+ * That state is neither committed nor undone, so it gets its own error type —
315
+ * callers MUST special-case it and must NOT discard key material for either
316
+ * key. Every other throw keeps the plain guarantee.
317
+ *
318
+ * @param opts - {@link RekeyVaultOptions}. `currentKey`/`nextKey` are required;
319
+ * both remain owned by the caller and are never zeroed here.
320
+ * @returns {@link RekeyVaultResult}.
321
+ * @throws {@link VaultError} `VAULT_NOT_FOUND` when the vault file is absent.
322
+ * @throws {@link VaultDecryptError} when `currentKey` does not open the vault.
323
+ * @throws {@link VaultError} `VAULT_SIDECAR_MISSING` when the sidecar is absent
324
+ * and neither `acceptMissingSidecar` nor the legacy exemption applies.
325
+ * @throws {@link VaultRollbackError} when the vault version trails the sidecar
326
+ * and `acceptRollback` is not set.
327
+ * @throws {@link VaultError} `VAULT_ENCRYPT_FAILED` when re-encryption fails.
328
+ * @throws Whatever `commit` throws, after restoring the prior ciphertext.
329
+ */
330
+ export async function rekeyVault(opts) {
331
+ const vaultPath = resolveVaultPath(opts.path ?? DEFAULT_VAULT_PATH);
332
+ const sidecarPath = pathResolve(opts.sidecarPath ?? join(dirname(vaultPath), "vault.seen-version"));
333
+ if (!existsSync(vaultPath)) {
334
+ throw new VaultError("VAULT_NOT_FOUND", `Vault file not found at ${vaultPath}. Initialize with \`centient secrets init\`.`);
335
+ }
336
+ checkVaultPerms(vaultPath);
337
+ checkSidecarPerms(sidecarPath);
338
+ const aad = deriveAad(vaultPath, VAULT_SCHEMA_VERSION);
339
+ const release = await acquireWriteLock(vaultPath);
340
+ try {
341
+ const originalBytes = readFileSync(vaultPath);
342
+ const { payload, openedAsLegacy } = decodeVaultBytes(originalBytes, opts.currentKey, aad, vaultPath);
343
+ // Rollback protection, same invariant openVault enforces. A rekey that
344
+ // accepted a rolled-back vault would be strictly worse than an open: it
345
+ // would re-publish the stale secrets at a fresh version and launder the
346
+ // rollback past every later check.
347
+ const sidecar = readSidecar(sidecarPath);
348
+ if (sidecar === null) {
349
+ if (opts.acceptMissingSidecar !== true && !openedAsLegacy) {
350
+ throw new VaultError("VAULT_SIDECAR_MISSING", `Sidecar file ${sidecarPath} is missing. Rollback protection requires ` +
351
+ `the sidecar to exist. If this is a legitimate first-use context, ` +
352
+ `pass { acceptMissingSidecar: true } to rekeyVault(). If the sidecar ` +
353
+ `was unexpectedly deleted, investigate before re-encrypting.`);
354
+ }
355
+ process.stderr.write(`[secrets] WARNING: sidecar file ${sidecarPath} is missing; ` +
356
+ `re-encrypting anyway per ` +
357
+ `${openedAsLegacy ? "legacy vault migration" : "acceptMissingSidecar: true"}.\n`);
358
+ }
359
+ else if (payload.vaultVersion < sidecar.highestSeenVersion) {
360
+ if (opts.acceptRollback !== true) {
361
+ throw new VaultRollbackError(sidecar.highestSeenVersion, payload.vaultVersion);
362
+ }
363
+ process.stderr.write(`[secrets] WARNING: re-encrypting a vault at version ` +
364
+ `${payload.vaultVersion} below the highest seen version ` +
365
+ `${sidecar.highestSeenVersion} per acceptRollback: true.\n`);
366
+ }
367
+ // Stay above the sidecar high-water mark as well as the payload's own
368
+ // version — an accepted rollback must still not land below a version the
369
+ // sidecar has already recorded.
370
+ const nextVersion = Math.max(payload.vaultVersion, sidecar?.highestSeenVersion ?? 0) + 1;
371
+ const nextPayload = {
372
+ schema: VAULT_SCHEMA_VERSION,
373
+ vaultVersion: nextVersion,
374
+ secrets: payload.secrets,
375
+ };
376
+ const encrypted = encryptObject(nextPayload, opts.nextKey, aad);
377
+ if (encrypted === null) {
378
+ throw new VaultError("VAULT_ENCRYPT_FAILED", "Re-encryption returned null — corrupted state; vault left unchanged.");
379
+ }
380
+ // Atomic swap, same temp-then-rename discipline as writeOp.
381
+ mkdirSync(dirname(vaultPath), { recursive: true, mode: VAULT_DIR_MODE });
382
+ const writeAtomically = (bytes) => {
383
+ const tmp = `${vaultPath}.${randomBytes(8).toString("hex")}.tmp`;
384
+ writeFileSync(tmp, bytes, { mode: VAULT_FILE_MODE });
385
+ renameSync(tmp, vaultPath);
386
+ };
387
+ writeAtomically(encrypted);
388
+ if (opts.commit !== undefined) {
389
+ try {
390
+ await opts.commit();
391
+ }
392
+ catch (err) {
393
+ // Put the original ciphertext back. The sidecar has not moved, so the
394
+ // restored (lower) version is still at or above its high-water mark.
395
+ try {
396
+ writeAtomically(originalBytes);
397
+ }
398
+ catch (restoreErr) {
399
+ // Both halves failed: the commit did not land AND the prior
400
+ // ciphertext is not reliably back. Whatever is on disk may be the
401
+ // NEW ciphertext, so this is NOT the ordinary "nothing committed"
402
+ // failure and must not be reported as one — a caller that cleans up
403
+ // on failure would discard key material the vault might now depend
404
+ // on. Distinct error type, distinct handling.
405
+ throw new VaultRestoreError(vaultPath, nextVersion, err, restoreErr);
406
+ }
407
+ throw err;
408
+ }
409
+ }
410
+ // Publish the version bump only once the whole step has committed.
411
+ //
412
+ // Past this line the rekey IS committed — the ciphertext landed and the
413
+ // caller's external commitment succeeded — so a sidecar failure here must
414
+ // NOT throw. Unwinding would report a committed rekey as a failed one, and
415
+ // a caller that cleans up on failure would then destroy key material the
416
+ // vault now depends on (for `migrate --to passphrase`, the metadata holding
417
+ // the salt: the vault would be permanently unopenable). A lagging sidecar
418
+ // is the benign direction — the next open sees `vaultVersion >
419
+ // highestSeenVersion` and catches it up — which is the same asymmetry
420
+ // `writeOp` relies on for a crash between the two writes.
421
+ let sidecarPublished = true;
422
+ try {
423
+ writeSidecar(sidecarPath, {
424
+ highestSeenVersion: Math.max(sidecar?.highestSeenVersion ?? 0, nextVersion),
425
+ });
426
+ }
427
+ catch (err) {
428
+ sidecarPublished = false;
429
+ const message = err instanceof Error ? err.message : String(err);
430
+ process.stderr.write(`[secrets] WARNING: vault re-encrypted successfully at version ` +
431
+ `${nextVersion}, but the sidecar ${sidecarPath} could not be ` +
432
+ `updated: ${message}. The rekey is committed and the vault is ` +
433
+ `usable; the sidecar catches up on the next successful write. ` +
434
+ `Rollback protection is degraded until it does.\n`);
435
+ }
436
+ return {
437
+ secretCount: Object.keys(payload.secrets).length,
438
+ vaultVersion: nextVersion,
439
+ upgradedFromLegacy: openedAsLegacy,
440
+ sidecarPublished,
441
+ };
442
+ }
443
+ finally {
444
+ release();
445
+ }
446
+ }
304
447
  function buildVault(args) {
305
448
  let key = args.key;
306
449
  let secrets = args.currentSecrets;
@@ -665,6 +808,52 @@ function validatePayload(decoded) {
665
808
  secrets,
666
809
  };
667
810
  }
811
+ /**
812
+ * Decrypt and validate raw vault bytes.
813
+ *
814
+ * Layered decrypt: AAD-bound v1 first, then the pre-`openVault` AAD-less CLI
815
+ * shape. A v1 decrypt that yields an unrecognized payload is a hard failure;
816
+ * only an AAD-less decrypt may fall through to the legacy flat
817
+ * `{ name: value }` reconstruction, which is surfaced as `schema: 0`.
818
+ *
819
+ * Shared by {@link openVault} and {@link rekeyVault} so the two entry points
820
+ * that must agree on "what is on disk" cannot drift. The in-session reload
821
+ * paths keep their own copies deliberately — their failure messages name the
822
+ * reload context, and their legacy handling is intentionally looser (a vault
823
+ * already opened as v1 can still be reloaded from a legacy write).
824
+ *
825
+ * @throws {@link VaultDecryptError} when neither decrypt succeeds, or when the
826
+ * decrypted payload has no recognizable shape.
827
+ */
828
+ function decodeVaultBytes(bytes, key, aad, vaultPath) {
829
+ let decoded = decryptObject(bytes, key, aad);
830
+ let openedAsLegacy = false;
831
+ if (decoded === null) {
832
+ const legacy = decryptObject(bytes, key);
833
+ if (legacy === null) {
834
+ throw new VaultDecryptError(`Failed to decrypt vault at ${vaultPath} — wrong key, corrupted file, or AAD mismatch (schema version ${VAULT_SCHEMA_VERSION}; also tried legacy no-AAD format).`);
835
+ }
836
+ decoded = legacy;
837
+ openedAsLegacy = true;
838
+ }
839
+ const payload = validatePayload(decoded);
840
+ if (payload !== null)
841
+ return { payload, openedAsLegacy };
842
+ // Legacy flat-shape detection: a pre-openVault CLI vault is a flat
843
+ // `{ name: value, ... }` map at the top level. If every value is a string
844
+ // and there's no `schema` field, accept as legacy schema-0.
845
+ if (!openedAsLegacy || "schema" in decoded) {
846
+ throw new VaultDecryptError("Decrypted payload has invalid shape — possible corruption or format mismatch.");
847
+ }
848
+ const secrets = {};
849
+ for (const [k, v] of Object.entries(decoded)) {
850
+ if (typeof v !== "string") {
851
+ throw new VaultDecryptError(`Vault decrypted without AAD but contained a non-string value at key "${k}" — not a legacy CLI vault; possible corruption.`);
852
+ }
853
+ secrets[k] = v;
854
+ }
855
+ return { payload: { schema: 0, vaultVersion: 0, secrets }, openedAsLegacy };
856
+ }
668
857
  /**
669
858
  * Reject names with control characters, path separators, null bytes, or
670
859
  * Unicode oddities that can confuse log scrapers, terminals, and path
@@ -1 +1 @@
1
- {"version":3,"file":"session-vault.js","sourceRoot":"","sources":["../../src/vault/session-vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-vault.js","sourceRoot":"","sources":["../../src/vault/session-vault.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Auth Module — Shared Type Definitions
3
3
  */
4
+ import type { SecretState } from "../secret-state.js";
4
5
  export interface TokenValidationResult {
5
6
  valid: boolean;
6
7
  status: "valid" | "expiring_soon" | "expired";
@@ -36,7 +37,7 @@ export interface CountdownHandle {
36
37
  /** Cancel the countdown early */
37
38
  cancel(): void;
38
39
  }
39
- export type VaultType = "keychain" | "windows" | "libsecret" | "gpg" | "env" | "session-vault" | "unknown";
40
+ export type VaultType = "keychain" | "windows" | "libsecret" | "gpg" | "env" | "1password" | "session-vault" | "unknown";
40
41
  export interface StoredCredentialMeta {
41
42
  source: "device-flow" | "api-key" | "env";
42
43
  storedAt: string;
@@ -45,6 +46,17 @@ export interface StoredCredentialMeta {
45
46
  /**
46
47
  * Common interface implemented by all vault backends.
47
48
  * Backends must implement store/retrieve/delete/listKeys plus a static detect() method.
49
+ *
50
+ * **Key contract (#168).** `key` must match the grammar in `vault-utils.ts`:
51
+ * 2-64 characters of lowercase alphanumerics with `-` or `.` as separators,
52
+ * beginning and ending with an alphanumeric. Implementations assert this with
53
+ * `assertValidKey` and throw `InvalidCredentialKeyError` — a malformed key is
54
+ * a caller-contract violation, not a storage outcome, so it must not be
55
+ * reported through the `false`/`null` channel that means "the write failed" or
56
+ * "no such credential". The cascade in `vault.ts` enforces the same rule
57
+ * before dispatching; backends re-assert it because they are individually
58
+ * constructible and several interpolate the key into a shell string or an
59
+ * `op://` reference, where the grammar is also the injection guard.
48
60
  */
49
61
  export interface VaultBackend {
50
62
  store(key: string, value: string): boolean;
@@ -72,5 +84,34 @@ export interface VaultBackend {
72
84
  * promise.
73
85
  */
74
86
  listKeys(prefix?: string): Promise<string[]>;
87
+ /**
88
+ * Optional value-free probe of one credential's state (#188).
89
+ *
90
+ * `retrieve()` answers `null` for "no such credential" and for "the
91
+ * credential is there and this context cannot open it" alike. Those have
92
+ * opposite remedies, and collapsing them is what turned a change of
93
+ * execution context into a silent outage — a reader logging "none
94
+ * configured" while the credential sat in a keychain it could not open.
95
+ *
96
+ * Implementations must never map one of those onto the other. A backend
97
+ * with no lock concept answers `found`/`absent` only; a backend that cannot
98
+ * exist on this platform answers `not-applicable`; a backend that was
99
+ * contacted and did not give a usable answer answers `failed`.
100
+ *
101
+ * **`found` means the reader will get bytes, not merely that an entry
102
+ * exists.** Presence is not readability: an item behind an ACL this context
103
+ * cannot satisfy, in a locked store, or written empty, is present and
104
+ * unreadable, and reporting it as `found` would be wrong in exactly the
105
+ * direction this probe exists to fix. An implementation must therefore
106
+ * exercise the same access path `retrieve()` would — and then discard what
107
+ * it read.
108
+ *
109
+ * No variant carries secret material — `found` has no value field, and a
110
+ * probe that has to read internally must discard what it read.
111
+ *
112
+ * Optional: `probeVaultBackendState()` falls back to a `retrieve()`-based
113
+ * `found`/`absent`/`failed` mapping for backends that do not implement it.
114
+ */
115
+ probe?(key: string): SecretState | Promise<SecretState>;
75
116
  }
76
117
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vault/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAAC;IAC9C,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,eAAe,GACf,eAAe,GACf,SAAS,GACT,SAAS,CAAC;AAEd,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,IAAI,EAAE,mBAAmB;gBAAzB,IAAI,EAAE,mBAAmB,EACzC,OAAO,EAAE,MAAM;CAKlB;AAMD,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yDAAyD;IACzD,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB;AAMD,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,SAAS,GACT,WAAW,GACX,KAAK,GACL,KAAK,GACL,eAAe,GACf,SAAS,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC9C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vault/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMtD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAAC;IAC9C,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,eAAe,GACf,eAAe,GACf,SAAS,GACT,SAAS,CAAC;AAEd,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,IAAI,EAAE,mBAAmB;gBAAzB,IAAI,EAAE,mBAAmB,EACzC,OAAO,EAAE,MAAM;CAKlB;AAMD,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yDAAyD;IACzD,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB;AAMD,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,SAAS,GACT,WAAW,GACX,KAAK,GACL,KAAK,GACL,WAAW,GACX,eAAe,GACf,SAAS,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vault/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwCH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAEtB;IADlB,YACkB,IAAyB,EACzC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAqB;QAIzC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vault/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0CH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAEtB;IADlB,YACkB,IAAyB,EACzC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAqB;QAIzC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
@@ -11,6 +11,7 @@
11
11
  * delete(key): boolean — always returns true (no-op; nothing to delete)
12
12
  * static detect(): boolean — always returns true (last-resort fallback)
13
13
  */
14
+ import type { SecretState } from "../secret-state.js";
14
15
  import type { VaultBackend } from "./types.js";
15
16
  /**
16
17
  * Environment-variable-only vault backend.
@@ -46,6 +47,19 @@ export declare class EnvVault implements VaultBackend {
46
47
  * @returns The credential value, or null if unavailable
47
48
  */
48
49
  retrieve(key: string): string | null;
50
+ /**
51
+ * Probe one credential's state (#188).
52
+ *
53
+ * Environment variables have no lock concept and no ACL: a variable is
54
+ * either set in this process or it is not, and there is no third state in
55
+ * which it exists but cannot be read. So this backend answers exactly
56
+ * `found`/`absent` and never `locked` — inventing one would be as dishonest
57
+ * as the collapse the probe exists to prevent, in the other direction.
58
+ *
59
+ * Value-free: the variable is read only to test it against `null`, and the
60
+ * value is discarded.
61
+ */
62
+ probe(key: string): SecretState;
49
63
  /**
50
64
  * Delete a credential.
51
65
  *
@@ -1 +1 @@
1
- {"version":3,"file":"vault-env.d.ts","sourceRoot":"","sources":["../../src/vault/vault-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;;;;GAMG;AACH,qBAAa,QAAS,YAAW,YAAY;IAC3C;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,OAAO;IAIxB;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAK5C;;;;;;;;;OASG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOpC;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7B;;;;;;;;;OASG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAKnD"}
1
+ {"version":3,"file":"vault-env.d.ts","sourceRoot":"","sources":["../../src/vault/vault-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;;;;GAMG;AACH,qBAAa,QAAS,YAAW,YAAY;IAC3C;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,OAAO;IAIxB;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAK5C;;;;;;;;;OASG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOpC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAI/B;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7B;;;;;;;;;OASG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAKnD"}
@@ -59,6 +59,21 @@ export class EnvVault {
59
59
  }
60
60
  return null;
61
61
  }
62
+ /**
63
+ * Probe one credential's state (#188).
64
+ *
65
+ * Environment variables have no lock concept and no ACL: a variable is
66
+ * either set in this process or it is not, and there is no third state in
67
+ * which it exists but cannot be read. So this backend answers exactly
68
+ * `found`/`absent` and never `locked` — inventing one would be as dishonest
69
+ * as the collapse the probe exists to prevent, in the other direction.
70
+ *
71
+ * Value-free: the variable is read only to test it against `null`, and the
72
+ * value is discarded.
73
+ */
74
+ probe(key) {
75
+ return this.retrieve(key) !== null ? { kind: "found" } : { kind: "absent" };
76
+ }
62
77
  /**
63
78
  * Delete a credential.
64
79
  *
@@ -1 +1 @@
1
- {"version":3,"file":"vault-env.js","sourceRoot":"","sources":["../../src/vault/vault-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,OAAO,QAAQ;IACnB;;;OAGG;IACH,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAY,EAAE,MAAc;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,GAAW;QAClB,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAe;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAC3D,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACxE,OAAO,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"vault-env.js","sourceRoot":"","sources":["../../src/vault/vault-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,OAAO,QAAQ;IACnB;;;OAGG;IACH,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAY,EAAE,MAAc;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,GAAW;QAClB,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9E,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAe;QAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAC3D,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACxE,OAAO,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;CACF"}
@@ -5,7 +5,11 @@
5
5
  * ~/.centient/auth/credentials-<key>.gpg. Falls back gracefully when GPG is
6
6
  * not installed or no keys are configured.
7
7
  *
8
- * Error handling: all methods return false/null on failure never throw.
8
+ * Error handling: a storage failure returns false/null this backend never
9
+ * throws for that. A credential key that violates the shared key grammar is
10
+ * NOT a storage failure and throws `InvalidCredentialKeyError` (#168): such a
11
+ * key is unaddressable here, and reporting it as a failed write or an absent
12
+ * credential would be indistinguishable from the ordinary miss.
9
13
  */
10
14
  import type { VaultBackend } from "./types.js";
11
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"vault-gpg.d.ts","sourceRoot":"","sources":["../../src/vault/vault-gpg.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4D/C;;;;GAIG;AACH,qBAAa,QAAS,YAAW,YAAY;IAC3C;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,OAAO;IASxB;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAuB1C;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkBpC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAmB5B;;;;;;;OAOG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CA0BnD"}
1
+ {"version":3,"file":"vault-gpg.d.ts","sourceRoot":"","sources":["../../src/vault/vault-gpg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4D/C;;;;GAIG;AACH,qBAAa,QAAS,YAAW,YAAY;IAC3C;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,OAAO;IASxB;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAuB1C;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkBpC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAmB5B;;;;;;;OAOG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CA0BnD"}
@@ -5,13 +5,17 @@
5
5
  * ~/.centient/auth/credentials-<key>.gpg. Falls back gracefully when GPG is
6
6
  * not installed or no keys are configured.
7
7
  *
8
- * Error handling: all methods return false/null on failure never throw.
8
+ * Error handling: a storage failure returns false/null this backend never
9
+ * throws for that. A credential key that violates the shared key grammar is
10
+ * NOT a storage failure and throws `InvalidCredentialKeyError` (#168): such a
11
+ * key is unaddressable here, and reporting it as a failed write or an absent
12
+ * credential would be indistinguishable from the ordinary miss.
9
13
  */
10
14
  import { execFileSync } from "child_process";
11
15
  import { mkdirSync, readdirSync, unlinkSync } from "fs";
12
16
  import { homedir } from "os";
13
17
  import { join } from "path";
14
- import { isValidKey } from "./vault-utils.js";
18
+ import { assertValidKey } from "./vault-utils.js";
15
19
  // =============================================================================
16
20
  // Constants
17
21
  // =============================================================================
@@ -84,8 +88,7 @@ export class GpgVault {
84
88
  * @returns true on success, false if GPG is unavailable or encryption fails
85
89
  */
86
90
  store(key, value) {
87
- if (!isValidKey(key))
88
- return false;
91
+ assertValidKey(key, "write");
89
92
  try {
90
93
  const keyId = getFirstGpgKeyId();
91
94
  if (keyId === null)
@@ -108,8 +111,7 @@ export class GpgVault {
108
111
  * @returns the plaintext credential, or null if not found / decryption fails
109
112
  */
110
113
  retrieve(key) {
111
- if (!isValidKey(key))
112
- return null;
114
+ assertValidKey(key, "read");
113
115
  try {
114
116
  const filePath = credentialPath(key);
115
117
  const result = execFileSync("gpg", ["--batch", "--quiet", "-d", filePath], {
@@ -128,8 +130,7 @@ export class GpgVault {
128
130
  * @returns true if the file was deleted or did not exist, false on unexpected error
129
131
  */
130
132
  delete(key) {
131
- if (!isValidKey(key))
132
- return false;
133
+ assertValidKey(key, "delete");
133
134
  try {
134
135
  unlinkSync(credentialPath(key));
135
136
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"vault-gpg.js","sourceRoot":"","sources":["../../src/vault/vault-gpg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault-gpg.js","sourceRoot":"","sources":["../../src/vault/vault-gpg.ts"],"names":[],"mappings":"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"}