Releases: davccavalcante/krikos
Releases · davccavalcante/krikos
Release list
[PUBLISHED ON NPMJS] @takk/krikos@1.0.0
STATUS: PUBLISHED ON NPMJS. This version was published to the npm registry on 2026-06-17T18:10:46Z with provenance attestation. View on npm: https://www.npmjs.com/package/@takk/krikos/v/1.0.0
STATUS: REVIEW REQUIRED, NOT YET ON NPMJS. This GitHub Release was created by the
release.ymlworkflow. The Creator must review the contents (tag, changelog, attached commit, pack-smoke result in the workflow logs) and then explicitly runnpm-publish.ymlto publish this version to the npm registry.
[1.0.0] - 2026-06-17T17:22:40Z
Initial stable release. Krikos: identity registry and lifecycle management for fleets of Massive Intelligence (IM) agents and non-human entities (NHE), with zero runtime dependencies, that never calls a provider API on its own.
Added
- Agent identity registry. Every agent is issued an opaque id, a deterministic content fingerprint, declared capabilities, an issuer, optional framework tag, and metadata. Records are immutable and frozen; the registry is deterministic, time comes from an injected clock and ids from a seeded counter.
- Enforced lifecycle state machine. Agents move through
provisioned,active,suspended,revoked,expired, andarchivedvia a single legal-transition table. Illegal moves throwERR_INVALID_TRANSITIONand leave the registry untouched. Operations:activate,suspend,resume,revoke,rotate,renew,archive. - Fail-closed capability authorization.
can()authorizes only an active, unexpired agent that declares a matching capability (name, action, and resource scope), with*and trailing-*resource patterns.authorize()is the same decision, recorded in the audit trail. Expiry is enforced on the read regardless of options, so authorization is always fail-closed. An optionalrequireResourceScopeenforces least privilege: a resource-bearing request is denied against an unscoped capability. - Credential rotation and expiry.
rotate()bumps the credential version, recomputes the fingerprint, and clears any attached signature.sweepExpired()transitions past-expiry agents toexpired;renew()extends expiry and can reactivate an expired identity. An optionaldefaultTtlMsapplies a default expiration window. - Cryptographic identity (
@takk/krikos/a2a). Optional Ed25519 signing of an agent's canonical passport, with interchangeable Node (node:crypto) and Web Crypto signers and byte-identical raw base64url key encoding. A2A-aligned Signed Agent Card export and trust-anchored verification:verifyAgentandverifyAgentCardverify against a pinned issuer key so an impersonated card signed by any other key is rejected, whileverifyAgentConsistencyandverifyCardConsistencycheck internal consistency only (explicitly not a trust check). IncludestoA2ACardandissueSignedconvenience. - Hash-chained audit trail. Every operation appends one frozen, hash-chained event;
verifyAuditChain()detects tampering. The trail is append-only and is never pruned.prune(beforeArchivedAt)drops only archived agent records to bound the live registry. - Persistence backends: in-memory, file (lazy
node:fs, atomic tmp-then-rename writes with corrupt-snapshot quarantine), and any structuralKvLikekey-value store. Snapshots are versioned and persist the agents, the audit trail, and the id and sequence counters. - Vercel AI SDK tool authorization (
@takk/krikos/vercel): wrap a tools record so each call is authorized against the acting agent's capabilities before it runs; a denial is recorded and rejected. - Model Context Protocol identity validation (
@takk/krikos/mcp): a fail-closed guard mapping MCP routes (method, or method plus tool) to capability requirements. - Stateless edge verifier (
@takk/krikos/edge): verify a presented Signed Agent Card and its capability, status, and expiry with no registry and no I/O. - Registry adapters (
@takk/krikos/store): write-through mirrors for Postgres and SQLite (sqlRegistryStore) and key-value stores (kvRegistryStore), plussyncAlland a livemirrorRegistry. Krikos imports no database driver. - Framework registration and sibling bridges (
@takk/krikos/integrations): register Hermes Agent, Mastra, and LangChain agents as identities, and bridge lifecycle to@takk/keymesh(revoke credentials),@takk/gaptime(record bi-temporal facts), and@takk/behavioralai(behavioral signals), all through local structural interfaces with no runtime import of a sibling. - CLI (
krikos):issue,list,show,activate,suspend,resume,revoke,rotate,renew,archive,grant,ungrant,can,authorize,sweep,audit,verify,stats,demo,inspect(with--watch), and a hardened read-onlyservebridge. - Entry points: universal core,
./a2a,./vercel,./mcp,./integrations,./store,./web, and./edge, dual ESM and CJS with their own type declarations. Runs in Node, edge runtimes, and the browser.
Quality
- 126 tests across 16 suites, green on Node 22 and Node 24, including an S1 to S10 fleet-governance scenario benchmark, a trust-anchor impersonation-defense regression, and a cross-bundle dist-parity smoke test.
- Statement coverage about 92 percent, line coverage about 92 percent.
- Core bundle about 4.7 kB brotli. Zero runtime dependencies.
publintclean,attwgreen across all entry points.