singularity-forge/packages/pi-coding-agent/src
Mikael Hugo a2a44f8d15 feat: implement Tier 1.1 Vault secret resolver
- Create vault-resolver.js: URI parser, auth chain (env → file → AppRole), in-memory caching
- Add resolveConfigValueAsync() to pi-coding-agent for lazy vault URI resolution
- Integrate vault credential resolution into auth-storage credential loading path
- Add doctor check (checkVaultHealth) for vault setup validation at startup
- Document vault setup, auth methods, examples, troubleshooting in preferences-reference.md
- Add comprehensive test suite (18 tests) for vault URI parsing, auth, caching, fallback

Auth Chain:
1. VAULT_TOKEN env var (simplest for local dev)
2. ~/.vault-token file (recommended for local dev)
3. VAULT_ROLE_ID + VAULT_SECRET_ID env vars (AppRole for CI/CD)

Fail-open behavior: If vault unavailable, falls back to plaintext URIs to allow continued operation.

URI Format: vault://secret/path/to/secret#fieldname
Example: ANTHROPIC_API_KEY=vault://secret/anthropic/prod#api_key

Tests: parseVaultUri, isVaultUri, resolveSecret, caching, edge cases all passing (18/18).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-07 02:39:51 +02:00
..
cli refactor: remove legacy autonomous aliases 2026-05-05 18:47:50 +02:00
core feat: implement Tier 1.1 Vault secret resolver 2026-05-07 02:39:51 +02:00
modes test: harden uok self-evolution paths 2026-05-06 22:55:35 +02:00
resources/extensions/memory chore: commit current workspace state 2026-05-05 14:46:18 +02:00
tests chore: commit current workspace state 2026-05-05 14:46:18 +02:00
types fix(gsd): align ADR-009 integration with type-safe builds 2026-04-14 20:46:46 -05:00
utils fix: clean provider surfaces and core build 2026-05-05 16:31:53 +02:00
cli.ts style: format repository with biome 2026-05-05 14:31:16 +02:00
config.ts chore: commit current workspace state 2026-05-05 14:46:18 +02:00
index.ts sf snapshot: uncommitted changes after 39m inactivity 2026-05-06 08:15:40 +02:00
main.ts chore: commit current workspace state 2026-05-05 14:46:18 +02:00
migrations.ts chore: commit current workspace state 2026-05-05 14:46:18 +02:00