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

@khoralabs/memories-ontologies

v0.4.0

Published

Default ontology vocabulary for memories knowledge graphs.

Downloads

812

Readme

@khoralabs/memories-ontologies

Ontology contracts, merge helpers, and default vocabulary families for personal and agent memory graphs.

Exports

  • Canonical families — grouped shape maps and formatters such as canonicalEntityNodeLabelShapes, canonicalKnowledgeNodeLabelShapes, canonicalTemporalNodeLabelShapes, canonicalRelationEdgeLabelShapes, canonicalRetrievalEdgeLabelShapes, canonicalSalienceNodeLabelShapes, and canonicalEntityLabelPropsSearchFormatter.
  • Individual canonical shapes — Zod schemas such as personNodeLabelShape, factNodeLabelShape, and referencesEdgeLabelShape for assembling only the ontology pieces your implementation needs.
  • canonicalOntology — deprecated compatibility export assembled from the family maps.
  • canonicalLabelPropsSearchFormatter — formatter for canonical ontology kinds in label-props search text.
  • defineOntology / mergeOntologies — ontology construction and composition helpers.

Usage

Assemble the shapes you need:

import {
  canonicalEntityNodeLabelShapes,
  canonicalKnowledgeNodeLabelShapes,
  canonicalRelationEdgeLabelShapes,
  defineOntology,
} from "@khoralabs/memories-ontologies";

export const appOntology = defineOntology({
  nodeLabels: {
    ...canonicalEntityNodeLabelShapes,
    ...canonicalKnowledgeNodeLabelShapes,
  },
  edgeLabels: {
    ...canonicalRelationEdgeLabelShapes,
  },
});

const client = new MemoriesClient(appOntology, { persistence });

Families are also available as subpath imports, for example @khoralabs/memories-ontologies/families/entities. Use @khoralabs/memories-ontologies/families/salience for generic memory / related labels with salience facets, or salienceRetrievalMemoryOntology when you also want retrieval similarity labels. canonicalOntology is still exported for compatibility, but new code should assemble shapes directly.

On kind collision, the last argument to mergeOntologies wins.

Custom ontologies

For app-specific vocabularies, call defineOntology directly with your own Zod node/edge label maps. Keep kinds stable across merges — they hash into catalog and assignment IDs in persistence.