Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,42 @@ All notable changes to AgentVault will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased] - HyperVault integration

### Added
- **HyperVault ⇄ AgentVault bridge (`src/hypervault/`, `agentvault hypervault`).**
Makes the HyperVault cloud mind a first-class citizen across three tiers —
hot (cloud), warm (ICP canister), cold (Arweave):
- `HyperVaultClient` — typed REST client over undici with retry/backoff and
streamed NDJSON export (`GET /api/export`), plus import and archive-receipt
endpoints.
- `agentvault-hypervault-snapshot-v1` bundle format — reuses the
thoughtform-bundle envelope with per-entry SHA-256, a Merkle root, and an
ed25519 manifest signature. Encryption via the audited `CanisterEncryption`
(AES-256-GCM); private artifacts and conversations are always encrypted.
- Local indices — pure-TS weighted FTS index and a cosine `VectorIndex` over
exported embeddings, with reciprocal-rank hybrid recall and graceful
FTS-only fallback.
- Backbone/wiki adapters — `HyperVaultMemoryStore`, `HyperVaultKnowledgeStore`,
`HyperVaultWikiStore` run the existing interfaces against the cloud mind.
- On-chain mind mirror — topological, idempotent DAG replay onto a
`memory_repo` canister, with on-chain archive receipts.
- CLI: `hypervault connect · status · bootstrap · pull · push · snapshot ·
archive · verify · restore · reindex · recall`; `init --hypervault`.
- Native MCP server — `agentvault mcp serve` (stdio JSON-RPC, no new
dependency) exposing the `hypervault_*` pipeline tools and the existing
`wiki_*` tools.
- New package export subpath `agentvault/hypervault`.

### Security
- **C-1 (CRITICAL):** `vetkeys.decryptJSON` now validates the AES-256-GCM /
ChaCha20-Poly1305 authentication tag before returning plaintext (previously
`setAuthTag` was never called, so tampered ciphertext decrypted silently).
`EncryptedData` gains an optional `tag` field, a matching `encryptJSON` helper
is added, and payloads with no usable tag are refused rather than decrypted
unauthenticated. Legacy combined-layout payloads (tag appended to ciphertext)
are still supported.

## [1.0.4] - 2026-05-24 - Security & build hygiene refresh

### Security
Expand Down
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,27 @@ agentvault show --canister-id <your-canister-id>
agentvault fetch --canister-id <your-canister-id>
```

## HyperVault

[HyperVault](https://github.com/johnnyclem/hypervault) is the living cloud mind
(`hypervault.store`); AgentVault is the sovereign body. The `hypervault` command
group bridges them across three tiers — hot (cloud), warm (ICP canister), cold
(Arweave) — so a cloud account becomes reconstructible from chain alone.

```bash
# Bootstrap a HyperVault-backed agent — memories, mind history, and indices included
npx agentvault@latest hypervault bootstrap my-agent --key hv_...

# hypervault.store → fully secure, archived, blockchain-backed AgentVault
npx agentvault@latest hypervault archive --all --encrypt --network ic --arweave

# Resurrect anywhere from a single Arweave transaction
npx agentvault@latest hypervault restore ar://<tx-id> --to local
```

Both one-liners are also MCP tools via the native `agentvault mcp serve` server.
See [`docs/guides/hypervault.md`](docs/guides/hypervault.md) for the full guide.

## CLI Commands

### Core Commands
Expand Down
Loading
Loading