wolbarg 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,25 @@ All notable changes to this project are documented here.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/).
7
7
 
8
+ ## [0.5.0] — 2026-07-19
9
+
10
+ ### Added
11
+
12
+ - **Optional graph memory** — `graph` constructor option with `sqliteGraph({ path })` (local) and `neo4jGraph({ url, username, password })` (networked); optional peer `neo4j-driver`
13
+ - **Typed graph API** — `linkMemories()`, `getRelated()` on the facade; provider surface also includes `unlinkMemories`, `upsertEntity`, `linkEntityToMemory`, `deleteMemory`
14
+ - **`recall({ includeGraph: true })`** — attaches `related` neighbor memories from the graph
15
+ - **Cascade deletes** — `forget` / `clear` remove graph memory nodes and incident edges when graph is configured
16
+ - **Graph-aware checkpoints / export** — file-backed SQLite graph snapshots alongside memory DB; Neo4j refuses with `GraphCheckpointNotSupportedError` (`GRAPH_CHECKPOINT_NOT_SUPPORTED`)
17
+ - **Schema v4** — memory DB index / ANN housekeeping migration on open (graph tables live in a separate SQLite file or Neo4j)
18
+ - **Wolbarg Studio** — graph canvas, Connect for memory/telemetry/checkpoints/graph, ops filters for graph methods, stream / checkpoints / explain polish
19
+ - **Docs** — Graph memory, What's New 0.5, Observability screenshots, provider-isolated project layout
20
+
21
+ ### Compatibility
22
+
23
+ - Graph is **optional** and **additive**. Omitting `graph` leaves 0.4 behavior unchanged.
24
+ - No required constructor changes for upgrades from **0.4.x**.
25
+ - Raw Cypher `query()` is Neo4j-only; SQLite graph hard-errors (use typed methods for portable code).
26
+
8
27
  ## [0.4.0] — 2026-07-18
9
28
 
10
29
  ### Added
@@ -147,6 +166,7 @@ const ctx = wolbarg({
147
166
 
148
167
  - Initial npm release path (pre–modular storage / ingest)
149
168
 
169
+ [0.5.0]: https://github.com/wolbarg/wolbarg/releases/tag/v0.5.0
150
170
  [0.4.0]: https://github.com/wolbarg/wolbarg/releases/tag/v0.4.0
151
171
  [0.3.2]: https://github.com/wolbarg/wolbarg/releases/tag/v0.3.2
152
172
  [0.3.1]: https://github.com/wolbarg/wolbarg/releases/tag/v0.3.1
package/README.md CHANGED
@@ -4,13 +4,19 @@
4
4
 
5
5
  # Wolbarg
6
6
 
7
- **Modular, provider-agnostic semantic memory for AI agents (v0.3.1).**
7
+ **Modular, provider-agnostic semantic memory for AI agents (v0.5.0).**
8
8
 
9
9
  [![npm version](https://img.shields.io/npm/v/wolbarg.svg)](https://www.npmjs.com/package/wolbarg)
10
10
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)
11
11
  [![Docs](https://img.shields.io/badge/docs-wolbarg.com-black)](https://wolbarg.com)
12
12
  [![Benchmarks](https://img.shields.io/badge/benchmarks-Storage%20suite-black)](https://wolbarg.com/benchmarks)
13
13
 
14
+ ## What's new in 0.5.0
15
+
16
+ Optional **graph memory** (`sqliteGraph` / `neo4jGraph`), `linkMemories` / `getRelated`, `recall({ includeGraph: true })`, cascade forget, graph-aware checkpoints, and **Wolbarg Studio** graph canvas.
17
+
18
+ Full notes: [CHANGELOG](./CHANGELOG.md) · [Docs — What's New](https://wolbarg.com/docs/guides/whats-new) · [Graph memory](https://wolbarg.com/docs/graph-memory) · [Studio](https://wolbarg.com/docs/observability)
19
+
14
20
  ## Benchmarks
15
21
 
16
22
  **v0.2.1 Storage suite** (mock embeddings · scale quick) — dual-backend SQLite + PostgreSQL:
@@ -37,6 +43,7 @@ Node.js **22.5+**.
37
43
  | Peer | Required for |
38
44
  | --- | --- |
39
45
  | `pg` | `postgres({ … })` storage |
46
+ | `neo4j-driver` | `neo4jGraph({ … })` graph backend |
40
47
  | `pdf-parse` (pin `@1.1.4`) | `ingest()` of `.pdf` files |
41
48
  | `mammoth` | `ingest()` of `.docx` files |
42
49
  | `tesseract.js` | OCR provider for images |
@@ -85,6 +92,33 @@ const explained = await ctx.recall({ query: "invoices", explain: true });
85
92
  await ctx.checkpoint("before-compress");
86
93
  ```
87
94
 
95
+ ### Optional graph (0.5)
96
+
97
+ ```ts
98
+ import { wolbarg, openaiEmbedding, sqliteGraph } from "wolbarg";
99
+
100
+ const ctx = wolbarg({
101
+ organization: "my-org",
102
+ database: { provider: "sqlite", url: "./memory.db" },
103
+ embedding: openaiEmbedding({
104
+ apiKey: process.env.OPENAI_API_KEY!,
105
+ model: "text-embedding-3-small",
106
+ }),
107
+ graph: sqliteGraph({ path: "./graph.db" }),
108
+ });
109
+
110
+ const a = await ctx.remember({
111
+ agent: "research",
112
+ content: { text: "Refunds take 5 business days." },
113
+ });
114
+ const b = await ctx.remember({
115
+ agent: "research",
116
+ content: { text: "Chargebacks escalate to risk." },
117
+ });
118
+ await ctx.linkMemories(a.id, b.id, "related_to");
119
+ const related = await ctx.getRelated(a.id);
120
+ ```
121
+
88
122
  `new Wolbarg({ storage: sqlite("./memory.db"), embedding })` remains supported for backwards compatibility.
89
123
 
90
124
  ## Quick start (legacy constructor)