New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@openweave/weave-link

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openweave/weave-link

WeaveLink — MCP Server for integrating WeaveGraph with AI clients

latest
npmnpm
Version
0.6.0
Version published
Maintainers
1
Created
Source

🧠 weave-graph

WeaveGraph — The knowledge graph engine at the heart of OpenWeave.

Part of the OpenWeave monorepo.

What it does

WeaveGraph manages all memory for an OpenWeave session:

  • Stores concepts, decisions, errors and corrections as typed graph nodes
  • Connects them with semantic edges (relates, causes, corrects, implements, depends_on)
  • Compresses context into the graph when the LLM window reaches 75% capacity
  • Retrieves relevant nodes from long-term memory given a query
  • Persists everything to disk by chat_id, survives across sessions

Node Types

TypeDescription
CONCEPTA key idea or term in the project
DECISIONAn architectural or implementation decision
MILESTONEA planned deliverable
ERRORA response flagged as incorrect by the user (suppressed)
CORRECTIONThe correct version linked to an ERROR node
CODE_ENTITYA function, class, or module created during the session

Edge Types

RelationMeaning
RELATESGeneral semantic relationship
CAUSESA causes B
CORRECTSA is the correction of B (B is an ERROR node)
IMPLEMENTSA implements B (code → decision)
DEPENDS_ONA depends on B
BLOCKSA blocks B

Quick Start

from weave_graph import ContextGraphManager, NodeType, EdgeType

# Initialize for a session
graph = ContextGraphManager(chat_id="proj_abc123")

# Add a decision node
decision = graph.add_node(
    content="Use PostgreSQL for persistence, not SQLite — project will scale",
    node_type=NodeType.DECISION,
    tags=["database", "architecture"]
)

# Add a concept and relate it
concept = graph.add_node(
    content="Session persistence by chat_id",
    node_type=NodeType.CONCEPT
)
graph.add_edge(decision.id, concept.id, EdgeType.RELATES)

# Suppress an error and record correction
graph.suppress_error_node(
    node_id=bad_response_node.id,
    correction_content="Use async/await, not threading — the codebase is fully async"
)

# Query relevant context before responding
relevant = graph.query_relevant_nodes("database connection pooling", top_k=5)

# Compress context when window is getting full
compressed_summary = graph.compress_context_to_graph(
    context_text=long_conversation_text,
    llm_extractor_fn=my_extraction_function
)

Storage

All data is persisted to:

{storage_path}/{chat_id}/
├── context_graph.json    ← Full graph (nodes + edges)
├── roadmap.md            ← Human-readable milestone status
├── decisions.md          ← Decision log
└── errors.md             ← Error pattern registry

Installation

pip install openweave-graph
# or within the monorepo:
pnpm --filter weave-graph dev

Keywords

mcp

FAQs

Package last updated on 24 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts