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

deepadata-zep-adapter

v0.1.0

Published

EDM enrichment layer for Zep — structured salience data for temporal memory scoring

Downloads

87

Readme

deepadata-zep-adapter

EDM enrichment layer for Zep.

Zep scores temporal memory for retrieval. EDM captures the emotional salience of why those memories matter — as structured data that maps to Zep's weighting model.

Installation

npm install deepadata-zep-adapter deepadata-edm-sdk

Usage

import { enrichWithEDM } from 'deepadata-zep-adapter';
import { ZepClient } from '@getzep/zep-cloud';

const zep = new ZepClient({ apiKey: process.env.ZEP_API_KEY });
const text = "Finally resolved the conflict with my team lead. It's been weighing on me for months but we talked it through and I feel like a weight has been lifted.";

// EDM enrichment (emotional salience)
const { edmArtifact, gravity } = await enrichWithEDM(text, { profile: 'extended' });

// Zep storage (unchanged — Zep does what Zep does)
await zep.memory.add(sessionId, {
  messages: [{ role: 'user', content: text }],
});

// Now you have both:
// - Zep memory for temporal retrieval
// - EDM artifact for emotional governance
//
// Gravity domain fields for retrieval weighting:
//   gravity.emotionalWeight  → 0.85 (high significance)
//   gravity.recurrencePattern → "chronic" (ongoing theme)
//   gravity.strengthScore    → 0.9
//   gravity.temporalDecay    → "slow" (long-lasting impact)

Gravity Domain → Zep Scoring

EDM's Gravity domain produces structured salience data that maps naturally to Zep's temporal memory scoring:

| EDM Gravity Field | Zep Use Case | |-------------------|--------------| | emotional_weight (0-1) | Boost retrieval relevance for high-salience memories | | recurrence_pattern | Detect chronic vs isolated themes (cyclical, isolated, chronic, emerging) | | strength_score (0-1) | Weight memory importance in search results | | temporal_decay | Adjust decay rate based on emotional permanence (slow, moderate, fast) |

What You Get

From the same text input, you now have:

| Zep | EDM | |-----|-----| | Stores temporal memory | Captures emotional context | | Scores for retrieval | Scores for salience | | Platform-specific | Portable standard | | When it happened | Why it mattered |

API

enrichWithEDM(text, options?)

const { edmArtifact, confidence, model, profile, gravity } = await enrichWithEDM(text, {
  // EDM profile (default: "extended" for Zep)
  profile: "extended",  // includes full Gravity domain

  // LLM provider (default: "anthropic")
  provider: "anthropic",

  // Governance
  subjectId: "user123",
  jurisdiction: "GDPR",
  consentBasis: "consent",
});

// Gravity summary for quick access
console.log(gravity.emotionalWeight);    // 0.85
console.log(gravity.recurrencePattern);  // "chronic"
console.log(gravity.strengthScore);      // 0.9
console.log(gravity.temporalDecay);      // "slow"

Profiles

| Profile | Fields | Use Case | |---------|--------|----------| | core | ~20 | Basic emotional context | | extended | ~45 | Full Gravity domain (recommended for Zep) | | full | 96 | Clinical, therapeutic applications |

For Zep integrations, extended profile is recommended to get all Gravity fields.

Why Both?

Zep excels at temporal memory — knowing what happened when and retrieving relevant context. But enterprise customers ask:

  • "How do you weight memory importance?"
  • "Can you detect emotionally significant patterns?"
  • "How do you handle GDPR for emotional data?"

EDM answers these with structured salience data:

  • Gravity domain — emotional_weight, recurrence_pattern, strength_score, temporal_decay
  • Governance domain — consent, retention, subject rights
  • Portable format — moves with the user, not locked to Zep

Environment Variables

| Variable | Description | |----------|-------------| | ANTHROPIC_API_KEY | Claude extraction (default) | | OPENAI_API_KEY | GPT extraction | | MOONSHOT_API_KEY | Kimi extraction |

Related

License

MIT