npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

aeonora

v0.2.0

Published

Owner-controlled encrypted memory for AI agents. One MCP server, portable across harnesses.

Readme

Aeonora

One agent. Any runtime. Verifiable continuity.

Aeonora is an experimental open framework for durable, owner-controlled agents. It keeps public identity, constitution commitments, lifecycle, and receipt hashes verifiable while private memory, prompts, secrets, models, and execution stay off-chain.

Website

python3 -m http.server 4173

Open http://127.0.0.1:4173/site/.

Start in five minutes

Requires Node.js 22+ and npm.

npm install
npm link
aeonora validate examples/duckman.aeonora.json
aeonora keygen .aeonora/controller-key.json
aeonora bind-controller examples/duckman.aeonora.json .aeonora/controller-key.json .aeonora/duckman.json
aeonora register .aeonora/duckman.json .aeonora/controller-key.json
aeonora resolve <agentId>
aeonora verify <agentId>
aeonora authorize <agentId> research
aeonora authorize <agentId> publish
aeonora authorize <agentId> delete

Expected decisions: allow, require-human, deny. Full walkthrough: quickstart.

One command, then govern it

npm i -g aeonora
aeonora setup            # detects your brain, shows the path, asks which policy

setup finds an installed brain (Hermes, OpenClaw, NanoClaw, OpenHands, Claude Code, Codex, Cursor) or takes a folder — aeonora setup /path/to/notes, or OBSIDIAN_VAULT=/path aeonora setup obsidian. It encrypts what it finds, prints the MCP config to paste, and applies a policy.

From then on every tool call that touches the brain is gated and receipted:

aeonora policy                  # read freely; writes and exports need approval
aeonora grant write-memory      # 1 use, expires in 15 minutes
aeonora receipts --verify       # exit 0 intact, exit 1 tampered

An agent that tries to write without approval is refused and told to ask you:

remember refused by Aeonora governance (require-human): policy preset "guarded"
requires owner approval for write-memory
This needs the owner's approval. Ask them to run:  aeonora grant write-memory

Full rules, precedence, and limits: governance.

Run the portable-agent flow

Turn any folder of Markdown into an encrypted portable brain:

aeonora-portable init ./my-agent-brain hermes:local .aeonora/my-agent
aeonora-portable verify .aeonora/my-agent
aeonora-portable migrate .aeonora/my-agent openclaw:local ./restored-brain

Hosted encrypted sync:

aeonora-portable push .aeonora/my-agent https://aeonora.net/api/vault
aeonora-portable pull .aeonora/my-agent ./restored-brain

Browser vault: aeonora.net/app.

Migration preserves the agent ID, rotates the brain data key, records signed lineage, and restores the same Markdown through the new runtime profile. Runtime names are identifiers, not claims of shipped Hermes or OpenClaw adapters.

What is real now

  • canonical manifest validation and hashing
  • Ed25519 controller binding and signed version lineage
  • deterministic local agent identity
  • allow/deny/require-human policy decisions
  • brain governance at the MCP boundary: every read, write, import and export is gated and receipted
  • open/guarded/readonly policy presets, guarded by default
  • time-boxed, use-counted owner grants that lift require-human and never a deny
  • hash-chained, tamper-evident receipt log (aeonora receipts --verify)
  • runtime migration receipts and action receipts
  • suspension
  • minimal Solidity anchor with signed EVM client
  • independent local and chain-anchor verification
  • A2A discovery metadata example
  • copy-paste coding-agent prompt and reusable skill
  • encrypted Markdown brain capture, restore, and key-rotating runtime migration
  • deterministic portability/security eval suite
  • private hosted ciphertext sync with optimistic version checks
  • 24-word browser recovery and WebAuthn PRF passkey unlock
  • nine brain adapters: Hermes, OpenClaw, NanoClaw, OpenHands, Claude Code, Codex, Cursor, Obsidian, plain Markdown
  • one-command setup that detects installed brains, shows the path it would encrypt, and asks which policy to apply
  • authenticated self-hosted Kubo/IPFS mirroring of encrypted snapshots
  • controller transfer and two-day delayed guardian recovery in AeonoraRegistry
  • controller-gated on-chain encrypted-brain CID pointers
  • browser-wallet Base Sepolia deployment and anchoring flow
  • legacy encrypted storage, grants, compute, and workers retained as compatibility code

What is not done

  • independent professional security audit
  • canonical public registry deployment
  • ERC-8004 adapter
  • on-chain revocation primitive (expiring grants are implemented off-chain, not on-chain)
  • governance of plaintext once exported to disk: exports are gated and disclosed, but not enforceable after the write
  • live Duckman A2A/MCP endpoints
  • proof that an off-chain action was truthful

Do not market those items as shipped. See implementation status.

Core commands

aeonora setup | policy | grant | revoke | receipts
aeonora keygen | validate | register | resolve | verify | authorize | migrate | suspend
aeonora-chain register | resolve | verify-anchor | update | suspend | reactivate | commit-receipt

Documentation

Verify the repository

npm run check
npm run eval

This runs Aeonora unit checks, legacy compatibility checks, end-to-end flows, and Solidity compilation.

Deploy a development anchor

Start a local EVM node with an unlocked funded account:

npm run compile:contracts
RPC_URL=http://127.0.0.1:8545 DEPLOYER=0xUnlockedDevAccount npm run deploy:rpc

The on-chain workflow is documented in the quickstart. Never use unlocked accounts in production.