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

@evomap/gep-sdk

v1.5.0

Published

Single source of truth for the Genome Evolution Protocol (GEP): JSON Schemas, specification, and protocol-level helpers (canonicalize / computeAssetId / verifyAssetId).

Readme

@evomap/gep-sdk

Single source of truth for the Genome Evolution Protocol (GEP): JSON Schemas, the human-readable specification, and the protocol-level helpers that downstream implementations need to agree on asset_id values across runtimes.

This package intentionally carries no algorithm code. Selection, signal extraction, gene scoring and the rest of the evolution behaviour live in concrete implementations (@evomap/evolver, @evomap/gep-mcp-server, the evox Rust crates). They consume the schemas and helpers shipped here so that bumping a field in schemas/gene.schema.json propagates to every implementation in lockstep — instead of drifting silently across four hand-maintained copies.

What's in the package

| Path | Contents | |------|----------| | schemas/gene.schema.json | Gene asset schema (Draft-07 JSON Schema) | | schemas/capsule.schema.json | Capsule asset schema | | schemas/evolution-event.schema.json | EvolutionEvent asset schema | | schemas/mutation.schema.json | Mutation asset schema | | schemas/task.schema.json | Task asset schema (bounty work items) | | spec/gep-spec-v1.md | Full protocol specification | | src/contentHash.js | SCHEMA_VERSION, canonicalize, computeAssetId, verifyAssetId | | src/protocolConstants.js | Shared protocol enums such as GEP_GENE_CATEGORIES and GEP_OUTCOME_STATUSES |

Install

npm install @evomap/gep-sdk

Use as a schema source

import geneSchema from '@evomap/gep-sdk/schemas/gene.schema.json' with { type: 'json' };
import { SCHEMA_VERSION, GEP_GENE_CATEGORIES } from '@evomap/gep-sdk';
// or: import { canonicalize, computeAssetId } from '@evomap/gep-sdk/content-hash';

Rust / non-JS consumers can resolve the same files through the package on disk (e.g. node_modules/@evomap/gep-sdk/schemas/gene.schema.json) and feed them into a code-generator such as typify.

Use the asset-id helpers

import { SCHEMA_VERSION, computeAssetId, verifyAssetId } from '@evomap/gep-sdk';

const gene = {
  type: 'Gene',
  schema_version: SCHEMA_VERSION,
  id: 'gene_repair_from_errors',
  category: 'repair',
  signals_match: ['log_error'],
  strategy: ['Inspect logs', 'Apply fix', 'Re-run validation'],
  constraints: { max_files: 20, forbidden_paths: ['.git', 'node_modules'] },
  validation: ['npm test'],
};
gene.asset_id = computeAssetId(gene);

verifyAssetId(gene); // true

canonicalize produces deterministic JSON (sorted keys at every level, non-finite numbers and undefined coerced to null); computeAssetId applies SHA-256 to the canonicalized form and prefixes sha256:.

Stability

| Surface | Stability | |---------|-----------| | Schemas (schemas/*.schema.json) | @stable — additive minor bumps; breaking changes require a major version | | Specification (spec/gep-spec-v1.md) | @stable | | SCHEMA_VERSION, canonicalize, computeAssetId, verifyAssetId | @stable | | Protocol constants (GEP_*) | @stable — kept in lockstep with the shipped schemas |

Anything not listed above is not part of this package.

Migrating from 1.1.x

@evomap/[email protected] exposed selection / signal-extraction / memory-graph / asset-store helpers (selectGene, extractSignals, MemoryGraph, AssetStore, …). Those modules have been removed in 1.2.0 because they conflated a protocol package with implementation behaviour. If you depended on any of them:

  • Use @evomap/evolver for a complete self-evolution engine.
  • Use @evomap/gep-mcp-server to expose evolution as MCP tools.
  • For ad-hoc projects that really need the JS algorithm code, pin @evomap/[email protected]. That release line will not receive new features, only critical fixes.

Requirements

  • Node.js >= 18.0.0
  • Zero runtime dependencies

Related

Contributing

Pull requests are welcome. All contributors must sign our Individual CLA (or Corporate CLA) before merge — see CONTRIBUTING.md for the workflow. The CLA is modelled on the Apache Software Foundation's and is enforced via a CLA Assistant GitHub Action.

Licence

The licences cover code and documentation only. "EvoMap", "GEP", and "Genome Evolution Protocol" are trademarks of EvoMap. Apache 2.0 and CC-BY-4.0 do not grant trademark rights (see Section 6 of the Apache License and the NOTICE file). Independent implementations of the protocol are welcome and encouraged, but must not be marketed under these names without prior written permission from EvoMap. Contact [email protected] to discuss attribution or co-marketing.

Pre-1.3 history

@evomap/gep-sdk 1.0.x – 1.2.x was published under GPL-3.0-or-later. Versions 1.3.0 and later are Apache-2.0. If you have an existing deployment on 1.2.x and need to remain on the GPL line, those releases remain available on npm; new fixes will be backported only on a best-effort basis.