@dungle-scrubs/hippo 0.1.0 → 0.2.1
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/README.md +57 -12
- package/dist/chunk-mutations.d.ts +28 -0
- package/dist/chunk-mutations.d.ts.map +1 -0
- package/dist/chunk-mutations.js +83 -0
- package/dist/chunk-mutations.js.map +1 -0
- package/dist/cli.js +7 -3
- package/dist/cli.js.map +1 -1
- package/dist/db.d.ts +13 -3
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +78 -10
- package/dist/db.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +63 -1
- package/dist/schema.js.map +1 -1
- package/dist/server/index.d.ts +3 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +96 -250
- package/dist/server/index.js.map +1 -1
- package/dist/tools/append-memory-block.d.ts +2 -1
- package/dist/tools/append-memory-block.d.ts.map +1 -1
- package/dist/tools/append-memory-block.js +4 -1
- package/dist/tools/append-memory-block.js.map +1 -1
- package/dist/tools/forget-memory.d.ts +3 -1
- package/dist/tools/forget-memory.d.ts.map +1 -1
- package/dist/tools/forget-memory.js +2 -2
- package/dist/tools/forget-memory.js.map +1 -1
- package/dist/tools/recall-memories.d.ts +4 -1
- package/dist/tools/recall-memories.d.ts.map +1 -1
- package/dist/tools/recall-memories.js +10 -4
- package/dist/tools/recall-memories.js.map +1 -1
- package/dist/tools/recall-memory-block.d.ts +2 -1
- package/dist/tools/recall-memory-block.d.ts.map +1 -1
- package/dist/tools/recall-memory-block.js +3 -1
- package/dist/tools/recall-memory-block.js.map +1 -1
- package/dist/tools/remember-facts.d.ts +2 -0
- package/dist/tools/remember-facts.d.ts.map +1 -1
- package/dist/tools/remember-facts.js +8 -4
- package/dist/tools/remember-facts.js.map +1 -1
- package/dist/tools/replace-memory-block.d.ts +2 -1
- package/dist/tools/replace-memory-block.d.ts.map +1 -1
- package/dist/tools/replace-memory-block.js +4 -1
- package/dist/tools/replace-memory-block.js.map +1 -1
- package/dist/tools/store-memory.d.ts +3 -1
- package/dist/tools/store-memory.d.ts.map +1 -1
- package/dist/tools/store-memory.js +5 -2
- package/dist/tools/store-memory.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -4
package/README.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/logo.png" alt="Hippo" width="200" height="200">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
1
5
|
# Hippo
|
|
2
6
|
|
|
3
7
|
Persistent memory for AI agents. Give your agent the ability to
|
|
@@ -13,9 +17,10 @@ on command — backed by SQLite, with no external services.
|
|
|
13
17
|
| **CLI** | `hippo` binary for inspection and management | Database admin, debugging, backup/restore |
|
|
14
18
|
|
|
15
19
|
All three share the same SQLite storage, strength model, and
|
|
16
|
-
conflict resolution. The library
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
conflict resolution. The library provides all 8 memory tools; the
|
|
21
|
+
MCP server exposes 7 (all except `recall_conversation`, which
|
|
22
|
+
requires a client-managed messages table). The CLI provides
|
|
23
|
+
read/write database access without embedding or LLM calls.
|
|
19
24
|
|
|
20
25
|
## Install
|
|
21
26
|
|
|
@@ -23,8 +28,19 @@ embedding or LLM calls.
|
|
|
23
28
|
pnpm add @dungle-scrubs/hippo
|
|
24
29
|
```
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
### Dependencies by usage mode
|
|
32
|
+
|
|
33
|
+
| Dependency | Library | MCP server | CLI |
|
|
34
|
+
|------------|---------|------------|-----|
|
|
35
|
+
| `better-sqlite3` | Required | Required | Required |
|
|
36
|
+
| `@mariozechner/pi-agent-core` | Required | — | — |
|
|
37
|
+
| `@mariozechner/pi-ai` | Required | — | — |
|
|
38
|
+
|
|
39
|
+
**Library mode** returns `AgentTool` instances from pi-agent-core,
|
|
40
|
+
so both pi packages are peer dependencies. **MCP server** and
|
|
41
|
+
**CLI** are standalone — they have no pi dependency. If you're
|
|
42
|
+
only using hippo as an MCP server or CLI tool, you only need
|
|
43
|
+
`better-sqlite3`.
|
|
28
44
|
|
|
29
45
|
## Quick start — Library
|
|
30
46
|
|
|
@@ -314,17 +330,26 @@ Memory blocks are not touched by `forget_memory` — use
|
|
|
314
330
|
|
|
315
331
|
```typescript
|
|
316
332
|
interface HippoOptions {
|
|
317
|
-
db: Database;
|
|
318
|
-
agentId: string;
|
|
319
|
-
embed: EmbedFn;
|
|
320
|
-
llm: LlmClient;
|
|
321
|
-
messagesTable?: string;
|
|
333
|
+
db: Database; // better-sqlite3 handle
|
|
334
|
+
agentId: string; // namespace for multi-agent isolation
|
|
335
|
+
embed: EmbedFn; // (text, signal?) => Float32Array
|
|
336
|
+
llm: LlmClient; // { complete(messages, systemPrompt, signal?) }
|
|
337
|
+
messagesTable?: string; // enables recall_conversation
|
|
338
|
+
scope?: string; // default write scope (optional)
|
|
339
|
+
recallScopes?: string | readonly string[]; // optional recall filter
|
|
322
340
|
}
|
|
323
341
|
```
|
|
324
342
|
|
|
325
343
|
**`agentId`** — all chunks and blocks are scoped to this ID.
|
|
326
344
|
Multiple agents can share one database without interference.
|
|
327
345
|
|
|
346
|
+
**`scope`** — optional default scope for writes (`remember_facts`,
|
|
347
|
+
`store_memory`, and memory block tools). Omit to write globally.
|
|
348
|
+
|
|
349
|
+
**`recallScopes`** — optional scope filter for recall operations
|
|
350
|
+
(`recall_memories`, `forget_memory`). Accepts one scope or many.
|
|
351
|
+
When omitted, recall behavior is unchanged (searches all scopes).
|
|
352
|
+
|
|
328
353
|
**`embed`** — you provide the embedding function. Hippo stores
|
|
329
354
|
the resulting `Float32Array` as a BLOB and does brute-force
|
|
330
355
|
cosine similarity at query time. Any embedding model works;
|
|
@@ -395,6 +420,23 @@ Brute-force cosine similarity is viable up to ~10k chunks per
|
|
|
395
420
|
agent. Beyond that, pre-filter by recency or tags. Past 50k,
|
|
396
421
|
consider migrating to sqlite-vec.
|
|
397
422
|
|
|
423
|
+
## Dashboard chunk mutations
|
|
424
|
+
|
|
425
|
+
These are library helpers for building edit/delete APIs outside the
|
|
426
|
+
agent tool interface:
|
|
427
|
+
|
|
428
|
+
```typescript
|
|
429
|
+
import { deleteChunk, updateChunk } from "@dungle-scrubs/hippo";
|
|
430
|
+
|
|
431
|
+
const updated = await updateChunk(db, embed, chunkId, "new content");
|
|
432
|
+
const deleted = deleteChunk(db, chunkId);
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
- `updateChunk` re-embeds content and updates chunk fields in a
|
|
436
|
+
single transaction.
|
|
437
|
+
- `deleteChunk` hard-deletes a chunk and clears supersession
|
|
438
|
+
references that pointed to it.
|
|
439
|
+
|
|
398
440
|
## Exports
|
|
399
441
|
|
|
400
442
|
The library exports both the tool factory and all building blocks:
|
|
@@ -407,6 +449,9 @@ export { createHippoTools } from "@dungle-scrubs/hippo";
|
|
|
407
449
|
export { createEmbeddingProvider } from "@dungle-scrubs/hippo";
|
|
408
450
|
export { createLlmProvider } from "@dungle-scrubs/hippo";
|
|
409
451
|
|
|
452
|
+
// Chunk mutation helpers
|
|
453
|
+
export { deleteChunk, updateChunk } from "@dungle-scrubs/hippo";
|
|
454
|
+
|
|
410
455
|
// Schema utilities
|
|
411
456
|
export { initSchema, verifyEmbeddingModel } from "@dungle-scrubs/hippo";
|
|
412
457
|
|
|
@@ -414,7 +459,7 @@ export { initSchema, verifyEmbeddingModel } from "@dungle-scrubs/hippo";
|
|
|
414
459
|
export type {
|
|
415
460
|
Chunk, ChunkKind, EmbedFn, HippoOptions,
|
|
416
461
|
LlmClient, MemoryBlock, RememberFactAction,
|
|
417
|
-
RememberFactsResult, SearchResult,
|
|
462
|
+
RememberFactsResult, ScopeFilter, SearchResult,
|
|
418
463
|
EmbeddingProviderConfig, LlmProviderConfig,
|
|
419
464
|
} from "@dungle-scrubs/hippo";
|
|
420
465
|
```
|
|
@@ -426,7 +471,7 @@ pnpm install
|
|
|
426
471
|
just ci # build + check + test
|
|
427
472
|
|
|
428
473
|
just build # tsc → dist/
|
|
429
|
-
just test # vitest run (
|
|
474
|
+
just test # vitest run (209 tests)
|
|
430
475
|
just test-watch # vitest watch mode
|
|
431
476
|
just typecheck # tsc --noEmit
|
|
432
477
|
just check # biome lint + format
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Database } from "better-sqlite3";
|
|
2
|
+
import type { Chunk, EmbedFn } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Update a chunk's content and embedding.
|
|
5
|
+
*
|
|
6
|
+
* Recomputes embedding and content hash, then applies all chunk updates in
|
|
7
|
+
* a single SQLite transaction.
|
|
8
|
+
*
|
|
9
|
+
* @param db - SQLite handle
|
|
10
|
+
* @param embed - Embedding function used to generate the new vector
|
|
11
|
+
* @param chunkId - Chunk ID to update
|
|
12
|
+
* @param newContent - New chunk content
|
|
13
|
+
* @returns The updated chunk row
|
|
14
|
+
* @throws Error when the chunk does not exist
|
|
15
|
+
*/
|
|
16
|
+
export declare function updateChunk(db: Database, embed: EmbedFn, chunkId: string, newContent: string): Promise<Chunk>;
|
|
17
|
+
/**
|
|
18
|
+
* Hard-delete a chunk by ID.
|
|
19
|
+
*
|
|
20
|
+
* Clears any `superseded_by` references that point at the deleted chunk so
|
|
21
|
+
* older superseded chunks become active again.
|
|
22
|
+
*
|
|
23
|
+
* @param db - SQLite handle
|
|
24
|
+
* @param chunkId - Chunk ID to delete
|
|
25
|
+
* @returns True when a chunk was deleted, otherwise false
|
|
26
|
+
*/
|
|
27
|
+
export declare function deleteChunk(db: Database, chunkId: string): boolean;
|
|
28
|
+
//# sourceMappingURL=chunk-mutations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-mutations.d.ts","sourceRoot":"","sources":["../src/chunk-mutations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAsBjD;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAChC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,KAAK,CAAC,CA0ChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAYlE"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { contentHash } from "./hash.js";
|
|
2
|
+
import { embeddingToBuffer } from "./similarity.js";
|
|
3
|
+
/**
|
|
4
|
+
* Load a chunk row by ID.
|
|
5
|
+
*
|
|
6
|
+
* @param db - SQLite handle
|
|
7
|
+
* @param chunkId - Chunk identifier
|
|
8
|
+
* @returns The chunk row if found, otherwise undefined
|
|
9
|
+
*/
|
|
10
|
+
function getChunkById(db, chunkId) {
|
|
11
|
+
return db.prepare("SELECT * FROM chunks WHERE id = ?").get(chunkId);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Update a chunk's content and embedding.
|
|
15
|
+
*
|
|
16
|
+
* Recomputes embedding and content hash, then applies all chunk updates in
|
|
17
|
+
* a single SQLite transaction.
|
|
18
|
+
*
|
|
19
|
+
* @param db - SQLite handle
|
|
20
|
+
* @param embed - Embedding function used to generate the new vector
|
|
21
|
+
* @param chunkId - Chunk ID to update
|
|
22
|
+
* @param newContent - New chunk content
|
|
23
|
+
* @returns The updated chunk row
|
|
24
|
+
* @throws Error when the chunk does not exist
|
|
25
|
+
*/
|
|
26
|
+
export async function updateChunk(db, embed, chunkId, newContent) {
|
|
27
|
+
const existing = getChunkById(db, chunkId);
|
|
28
|
+
if (!existing) {
|
|
29
|
+
throw new Error(`Chunk not found: ${chunkId}`);
|
|
30
|
+
}
|
|
31
|
+
const now = new Date().toISOString();
|
|
32
|
+
const nextEmbedding = await embed(newContent);
|
|
33
|
+
const params = {
|
|
34
|
+
content: newContent,
|
|
35
|
+
content_hash: existing.kind === "memory" ? contentHash(newContent) : null,
|
|
36
|
+
created_at: now,
|
|
37
|
+
embedding: embeddingToBuffer(nextEmbedding),
|
|
38
|
+
id: chunkId,
|
|
39
|
+
last_accessed_at: now,
|
|
40
|
+
};
|
|
41
|
+
const runUpdate = db.transaction((txParams) => {
|
|
42
|
+
const result = db
|
|
43
|
+
.prepare(`UPDATE chunks
|
|
44
|
+
SET content = @content,
|
|
45
|
+
content_hash = @content_hash,
|
|
46
|
+
created_at = @created_at,
|
|
47
|
+
embedding = @embedding,
|
|
48
|
+
last_accessed_at = @last_accessed_at
|
|
49
|
+
WHERE id = @id`)
|
|
50
|
+
.run(txParams);
|
|
51
|
+
if (result.changes === 0) {
|
|
52
|
+
throw new Error(`Chunk not found: ${txParams.id}`);
|
|
53
|
+
}
|
|
54
|
+
const updated = getChunkById(db, txParams.id);
|
|
55
|
+
if (!updated) {
|
|
56
|
+
throw new Error(`Chunk disappeared during update: ${txParams.id}`);
|
|
57
|
+
}
|
|
58
|
+
return updated;
|
|
59
|
+
});
|
|
60
|
+
return runUpdate(params);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Hard-delete a chunk by ID.
|
|
64
|
+
*
|
|
65
|
+
* Clears any `superseded_by` references that point at the deleted chunk so
|
|
66
|
+
* older superseded chunks become active again.
|
|
67
|
+
*
|
|
68
|
+
* @param db - SQLite handle
|
|
69
|
+
* @param chunkId - Chunk ID to delete
|
|
70
|
+
* @returns True when a chunk was deleted, otherwise false
|
|
71
|
+
*/
|
|
72
|
+
export function deleteChunk(db, chunkId) {
|
|
73
|
+
const runDelete = db.transaction((id) => {
|
|
74
|
+
const result = db.prepare("DELETE FROM chunks WHERE id = ?").run(id);
|
|
75
|
+
if (result.changes === 0) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
db.prepare("UPDATE chunks SET superseded_by = NULL WHERE superseded_by = ?").run(id);
|
|
79
|
+
return true;
|
|
80
|
+
});
|
|
81
|
+
return runDelete(chunkId);
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=chunk-mutations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-mutations.js","sourceRoot":"","sources":["../src/chunk-mutations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAYpD;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,EAAY,EAAE,OAAe;IAClD,OAAO,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAsB,CAAC;AAC1F,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,EAAY,EACZ,KAAc,EACd,OAAe,EACf,UAAkB;IAElB,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAsB;QACjC,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;QACzE,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,iBAAiB,CAAC,aAAa,CAAC;QAC3C,EAAE,EAAE,OAAO;QACX,gBAAgB,EAAE,GAAG;KACrB,CAAC;IAEF,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAA2B,EAAS,EAAE;QACvE,MAAM,MAAM,GAAG,EAAE;aACf,OAAO,CACP;;;;;;oBAMgB,CAChB;aACA,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhB,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,EAAY,EAAE,OAAe;IACxD,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,EAAU,EAAW,EAAE;QACxD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACd,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -75,7 +75,7 @@ const program = new Command()
|
|
|
75
75
|
"",
|
|
76
76
|
"Database path: pass --db <path> or set HIPPO_DB env var.",
|
|
77
77
|
].join("\n"))
|
|
78
|
-
.version("0.1
|
|
78
|
+
.version("0.2.1") // x-release-please-version
|
|
79
79
|
.option("--db <path>", "SQLite database path (env: HIPPO_DB)");
|
|
80
80
|
// ── init ─────────────────────────────────────────────────────────────
|
|
81
81
|
program
|
|
@@ -178,6 +178,7 @@ program
|
|
|
178
178
|
.option("--kind <type>", "Filter by kind: fact or memory")
|
|
179
179
|
.option("--superseded", "Include superseded chunks")
|
|
180
180
|
.option("--limit <n>", "Max results (default: 50)", "50")
|
|
181
|
+
.option("--offset <n>", "Skip first N results (default: 0)", "0")
|
|
181
182
|
.option("--json", "Output as JSON")
|
|
182
183
|
.action((agent, opts) => {
|
|
183
184
|
const dbPath = resolveDbPath(program);
|
|
@@ -191,8 +192,9 @@ program
|
|
|
191
192
|
sql += " AND kind = ?";
|
|
192
193
|
params.push(opts.kind);
|
|
193
194
|
}
|
|
194
|
-
sql += " ORDER BY last_accessed_at DESC LIMIT ?";
|
|
195
|
+
sql += " ORDER BY last_accessed_at DESC LIMIT ? OFFSET ?";
|
|
195
196
|
params.push(Number.parseInt(opts.limit, 10));
|
|
197
|
+
params.push(Number.parseInt(opts.offset, 10));
|
|
196
198
|
const rows = db.prepare(sql).all(...params);
|
|
197
199
|
db.close();
|
|
198
200
|
// Strip embedding BLOBs from JSON output — they're opaque binary
|
|
@@ -291,6 +293,7 @@ program
|
|
|
291
293
|
.option("--agent <id>", "Filter to a specific agent")
|
|
292
294
|
.option("--kind <type>", "Filter by kind: fact or memory")
|
|
293
295
|
.option("--limit <n>", "Max results (default: 20)", "20")
|
|
296
|
+
.option("--offset <n>", "Skip first N results (default: 0)", "0")
|
|
294
297
|
.option("--json", "Output as JSON")
|
|
295
298
|
.action((text, opts) => {
|
|
296
299
|
const dbPath = resolveDbPath(program);
|
|
@@ -305,8 +308,9 @@ program
|
|
|
305
308
|
sql += " AND kind = ?";
|
|
306
309
|
params.push(opts.kind);
|
|
307
310
|
}
|
|
308
|
-
sql += " ORDER BY last_accessed_at DESC LIMIT ?";
|
|
311
|
+
sql += " ORDER BY last_accessed_at DESC LIMIT ? OFFSET ?";
|
|
309
312
|
params.push(Number.parseInt(opts.limit, 10));
|
|
313
|
+
params.push(Number.parseInt(opts.offset, 10));
|
|
310
314
|
const rows = db.prepare(sql).all(...params);
|
|
311
315
|
db.close();
|
|
312
316
|
const clean = rows.map((r) => ({
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/db.d.ts
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
import type { Database, Statement } from "better-sqlite3";
|
|
2
|
-
import type { Chunk } from "./types.js";
|
|
2
|
+
import type { Chunk, ScopeFilter } from "./types.js";
|
|
3
3
|
/** Prepared statement cache, lazily built per database handle. */
|
|
4
4
|
export interface DbStatements {
|
|
5
|
+
readonly db: Database;
|
|
5
6
|
readonly clearSupersededBy: Statement;
|
|
7
|
+
readonly clearSupersededByScoped: Statement;
|
|
6
8
|
readonly deleteChunk: Statement;
|
|
7
9
|
readonly getAllActiveChunksByAgent: Statement;
|
|
10
|
+
readonly getAllActiveChunksByAgentAndScope: Statement;
|
|
8
11
|
readonly getActiveChunksByAgent: Statement;
|
|
12
|
+
readonly getActiveChunksByAgentAndScope: Statement;
|
|
9
13
|
readonly getBlockByKey: Statement;
|
|
14
|
+
readonly getBlockByKeyAndScope: Statement;
|
|
10
15
|
readonly getMemoryByHash: Statement;
|
|
16
|
+
readonly getMemoryByHashAndScope: Statement;
|
|
11
17
|
readonly insertChunk: Statement;
|
|
12
18
|
readonly reinforceChunk: Statement;
|
|
13
19
|
readonly supersedeChunk: Statement;
|
|
14
20
|
readonly touchChunk: Statement;
|
|
15
21
|
readonly upsertBlock: Statement;
|
|
16
22
|
}
|
|
23
|
+
/** Normalizes optional scope values to persisted form (empty string = global). */
|
|
24
|
+
export declare function normalizeScope(scope?: string): string;
|
|
17
25
|
/**
|
|
18
26
|
* Build all prepared statements for hippo operations.
|
|
19
27
|
*
|
|
@@ -28,9 +36,10 @@ export declare function prepareStatements(db: Database): DbStatements;
|
|
|
28
36
|
* @param agentId - Agent namespace
|
|
29
37
|
* @param kind - Chunk kind ('fact' or 'memory')
|
|
30
38
|
* @param limit - Max rows to return (-1 for unlimited, default -1)
|
|
39
|
+
* @param scope - Optional scope filter (single scope or list)
|
|
31
40
|
* @returns Array of chunks
|
|
32
41
|
*/
|
|
33
|
-
export declare function getActiveChunks(stmts: DbStatements, agentId: string, kind: "fact" | "memory", limit?: number): Chunk[];
|
|
42
|
+
export declare function getActiveChunks(stmts: DbStatements, agentId: string, kind: "fact" | "memory", limit?: number, scope?: ScopeFilter): Chunk[];
|
|
34
43
|
/**
|
|
35
44
|
* Get all active (non-superseded) chunks for an agent regardless of kind.
|
|
36
45
|
*
|
|
@@ -39,7 +48,8 @@ export declare function getActiveChunks(stmts: DbStatements, agentId: string, ki
|
|
|
39
48
|
* @param stmts - Prepared statements
|
|
40
49
|
* @param agentId - Agent namespace
|
|
41
50
|
* @param limit - Max rows to return (-1 for unlimited, default -1)
|
|
51
|
+
* @param scope - Optional scope filter (single scope or list)
|
|
42
52
|
* @returns Array of chunks (facts and memories combined)
|
|
43
53
|
*/
|
|
44
|
-
export declare function getAllActiveChunks(stmts: DbStatements, agentId: string, limit?: number): Chunk[];
|
|
54
|
+
export declare function getAllActiveChunks(stmts: DbStatements, agentId: string, limit?: number, scope?: ScopeFilter): Chunk[];
|
|
45
55
|
//# sourceMappingURL=db.d.ts.map
|
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErD,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,SAAS,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,yBAAyB,EAAE,SAAS,CAAC;IAC9C,QAAQ,CAAC,iCAAiC,EAAE,SAAS,CAAC;IACtD,QAAQ,CAAC,sBAAsB,EAAE,SAAS,CAAC;IAC3C,QAAQ,CAAC,8BAA8B,EAAE,SAAS,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;IAClC,QAAQ,CAAC,qBAAqB,EAAE,SAAS,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC;IACpC,QAAQ,CAAC,uBAAuB,EAAE,SAAS,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;CAChC;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAeD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,YAAY,CA2E5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,QAAQ,EACvB,KAAK,SAAK,EACV,KAAK,CAAC,EAAE,WAAW,GACjB,KAAK,EAAE,CAmBT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,SAAK,EACV,KAAK,CAAC,EAAE,WAAW,GACjB,KAAK,EAAE,CAmBT"}
|
package/dist/db.js
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
/** Normalizes optional scope values to persisted form (empty string = global). */
|
|
2
|
+
export function normalizeScope(scope) {
|
|
3
|
+
return scope?.trim() ?? "";
|
|
4
|
+
}
|
|
5
|
+
/** Normalizes optional scope filters to a de-duplicated list. */
|
|
6
|
+
function normalizeScopeFilter(filter) {
|
|
7
|
+
if (filter === undefined) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const raw = Array.isArray(filter) ? filter : [filter];
|
|
11
|
+
if (raw.length === 0) {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
const normalized = raw.map((entry) => normalizeScope(entry));
|
|
15
|
+
return [...new Set(normalized)];
|
|
16
|
+
}
|
|
1
17
|
/**
|
|
2
18
|
* Build all prepared statements for hippo operations.
|
|
3
19
|
*
|
|
@@ -6,7 +22,9 @@
|
|
|
6
22
|
*/
|
|
7
23
|
export function prepareStatements(db) {
|
|
8
24
|
return {
|
|
25
|
+
db,
|
|
9
26
|
clearSupersededBy: db.prepare("UPDATE chunks SET superseded_by = NULL WHERE superseded_by = ? AND agent_id = ?"),
|
|
27
|
+
clearSupersededByScoped: db.prepare("UPDATE chunks SET superseded_by = NULL WHERE superseded_by = ? AND agent_id = ? AND scope = ?"),
|
|
10
28
|
deleteChunk: db.prepare("DELETE FROM chunks WHERE id = ?"),
|
|
11
29
|
getAllActiveChunksByAgent: db.prepare(`
|
|
12
30
|
SELECT * FROM chunks
|
|
@@ -14,18 +32,32 @@ export function prepareStatements(db) {
|
|
|
14
32
|
ORDER BY last_accessed_at DESC
|
|
15
33
|
LIMIT ?
|
|
16
34
|
`),
|
|
35
|
+
getAllActiveChunksByAgentAndScope: db.prepare(`
|
|
36
|
+
SELECT * FROM chunks
|
|
37
|
+
WHERE agent_id = ? AND scope = ? AND superseded_by IS NULL
|
|
38
|
+
ORDER BY last_accessed_at DESC
|
|
39
|
+
LIMIT ?
|
|
40
|
+
`),
|
|
17
41
|
getActiveChunksByAgent: db.prepare(`
|
|
18
42
|
SELECT * FROM chunks
|
|
19
43
|
WHERE agent_id = ? AND kind = ? AND superseded_by IS NULL
|
|
20
44
|
ORDER BY last_accessed_at DESC
|
|
21
45
|
LIMIT ?
|
|
22
46
|
`),
|
|
23
|
-
|
|
47
|
+
getActiveChunksByAgentAndScope: db.prepare(`
|
|
48
|
+
SELECT * FROM chunks
|
|
49
|
+
WHERE agent_id = ? AND kind = ? AND scope = ? AND superseded_by IS NULL
|
|
50
|
+
ORDER BY last_accessed_at DESC
|
|
51
|
+
LIMIT ?
|
|
52
|
+
`),
|
|
53
|
+
getBlockByKey: db.prepare("SELECT * FROM memory_blocks WHERE agent_id = ? AND scope = '' AND key = ?"),
|
|
54
|
+
getBlockByKeyAndScope: db.prepare("SELECT * FROM memory_blocks WHERE agent_id = ? AND scope = ? AND key = ?"),
|
|
24
55
|
getMemoryByHash: db.prepare("SELECT * FROM chunks WHERE agent_id = ? AND content_hash = ? AND kind = 'memory' AND superseded_by IS NULL"),
|
|
56
|
+
getMemoryByHashAndScope: db.prepare("SELECT * FROM chunks WHERE agent_id = ? AND scope = ? AND content_hash = ? AND kind = 'memory' AND superseded_by IS NULL"),
|
|
25
57
|
insertChunk: db.prepare(`
|
|
26
|
-
INSERT INTO chunks (id, agent_id, content, content_hash, embedding, metadata,
|
|
58
|
+
INSERT INTO chunks (id, agent_id, scope, content, content_hash, embedding, metadata,
|
|
27
59
|
kind, running_intensity, encounter_count, access_count, last_accessed_at, created_at)
|
|
28
|
-
VALUES (@id, @agent_id, @content, @content_hash, @embedding, @metadata,
|
|
60
|
+
VALUES (@id, @agent_id, @scope, @content, @content_hash, @embedding, @metadata,
|
|
29
61
|
@kind, @running_intensity, @encounter_count, @access_count, @last_accessed_at, @created_at)
|
|
30
62
|
`),
|
|
31
63
|
reinforceChunk: db.prepare(`
|
|
@@ -45,9 +77,9 @@ export function prepareStatements(db) {
|
|
|
45
77
|
WHERE id = @id
|
|
46
78
|
`),
|
|
47
79
|
upsertBlock: db.prepare(`
|
|
48
|
-
INSERT INTO memory_blocks (agent_id, key, value, updated_at)
|
|
49
|
-
VALUES (@agent_id, @key, @value, @updated_at)
|
|
50
|
-
ON CONFLICT(agent_id, key) DO UPDATE
|
|
80
|
+
INSERT INTO memory_blocks (agent_id, scope, key, value, updated_at)
|
|
81
|
+
VALUES (@agent_id, @scope, @key, @value, @updated_at)
|
|
82
|
+
ON CONFLICT(agent_id, scope, key) DO UPDATE
|
|
51
83
|
SET value = @value, updated_at = @updated_at
|
|
52
84
|
`),
|
|
53
85
|
};
|
|
@@ -59,10 +91,28 @@ export function prepareStatements(db) {
|
|
|
59
91
|
* @param agentId - Agent namespace
|
|
60
92
|
* @param kind - Chunk kind ('fact' or 'memory')
|
|
61
93
|
* @param limit - Max rows to return (-1 for unlimited, default -1)
|
|
94
|
+
* @param scope - Optional scope filter (single scope or list)
|
|
62
95
|
* @returns Array of chunks
|
|
63
96
|
*/
|
|
64
|
-
export function getActiveChunks(stmts, agentId, kind, limit = -1) {
|
|
65
|
-
|
|
97
|
+
export function getActiveChunks(stmts, agentId, kind, limit = -1, scope) {
|
|
98
|
+
const scopes = normalizeScopeFilter(scope);
|
|
99
|
+
if (!scopes) {
|
|
100
|
+
return stmts.getActiveChunksByAgent.all(agentId, kind, limit);
|
|
101
|
+
}
|
|
102
|
+
if (scopes.length === 0) {
|
|
103
|
+
return [];
|
|
104
|
+
}
|
|
105
|
+
if (scopes.length === 1) {
|
|
106
|
+
return stmts.getActiveChunksByAgentAndScope.all(agentId, kind, scopes[0], limit);
|
|
107
|
+
}
|
|
108
|
+
const placeholders = scopes.map(() => "?").join(", ");
|
|
109
|
+
const sql = `
|
|
110
|
+
SELECT * FROM chunks
|
|
111
|
+
WHERE agent_id = ? AND kind = ? AND scope IN (${placeholders}) AND superseded_by IS NULL
|
|
112
|
+
ORDER BY last_accessed_at DESC
|
|
113
|
+
LIMIT ?
|
|
114
|
+
`;
|
|
115
|
+
return stmts.db.prepare(sql).all(agentId, kind, ...scopes, limit);
|
|
66
116
|
}
|
|
67
117
|
/**
|
|
68
118
|
* Get all active (non-superseded) chunks for an agent regardless of kind.
|
|
@@ -72,9 +122,27 @@ export function getActiveChunks(stmts, agentId, kind, limit = -1) {
|
|
|
72
122
|
* @param stmts - Prepared statements
|
|
73
123
|
* @param agentId - Agent namespace
|
|
74
124
|
* @param limit - Max rows to return (-1 for unlimited, default -1)
|
|
125
|
+
* @param scope - Optional scope filter (single scope or list)
|
|
75
126
|
* @returns Array of chunks (facts and memories combined)
|
|
76
127
|
*/
|
|
77
|
-
export function getAllActiveChunks(stmts, agentId, limit = -1) {
|
|
78
|
-
|
|
128
|
+
export function getAllActiveChunks(stmts, agentId, limit = -1, scope) {
|
|
129
|
+
const scopes = normalizeScopeFilter(scope);
|
|
130
|
+
if (!scopes) {
|
|
131
|
+
return stmts.getAllActiveChunksByAgent.all(agentId, limit);
|
|
132
|
+
}
|
|
133
|
+
if (scopes.length === 0) {
|
|
134
|
+
return [];
|
|
135
|
+
}
|
|
136
|
+
if (scopes.length === 1) {
|
|
137
|
+
return stmts.getAllActiveChunksByAgentAndScope.all(agentId, scopes[0], limit);
|
|
138
|
+
}
|
|
139
|
+
const placeholders = scopes.map(() => "?").join(", ");
|
|
140
|
+
const sql = `
|
|
141
|
+
SELECT * FROM chunks
|
|
142
|
+
WHERE agent_id = ? AND scope IN (${placeholders}) AND superseded_by IS NULL
|
|
143
|
+
ORDER BY last_accessed_at DESC
|
|
144
|
+
LIMIT ?
|
|
145
|
+
`;
|
|
146
|
+
return stmts.db.prepare(sql).all(agentId, ...scopes, limit);
|
|
79
147
|
}
|
|
80
148
|
//# sourceMappingURL=db.js.map
|
package/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,10 +10,11 @@ import type { HippoOptions } from "./types.js";
|
|
|
10
10
|
* @returns Array of AgentTool instances (7 or 8 depending on messagesTable)
|
|
11
11
|
*/
|
|
12
12
|
export declare function createHippoTools(opts: HippoOptions): AgentTool<any>[];
|
|
13
|
+
export { deleteChunk, updateChunk } from "./chunk-mutations.js";
|
|
13
14
|
export type { EmbeddingProviderConfig } from "./providers/embedding.js";
|
|
14
15
|
export { createEmbeddingProvider } from "./providers/embedding.js";
|
|
15
16
|
export type { LlmProviderConfig } from "./providers/llm.js";
|
|
16
17
|
export { createLlmProvider } from "./providers/llm.js";
|
|
17
18
|
export { initSchema, verifyEmbeddingModel } from "./schema.js";
|
|
18
|
-
export type { Chunk, ChunkKind, EmbedFn, HippoOptions, LlmClient, MemoryBlock, RememberFactAction, RememberFactsResult, SearchResult, } from "./types.js";
|
|
19
|
+
export type { Chunk, ChunkKind, EmbedFn, HippoOptions, LlmClient, MemoryBlock, RememberFactAction, RememberFactsResult, ScopeFilter, SearchResult, } from "./types.js";
|
|
19
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAa7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;GAQG;AAEH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAa7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;GAQG;AAEH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CA6BrE;AAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE/D,YAAY,EACX,KAAK,EACL,SAAS,EACT,OAAO,EACP,YAAY,EACZ,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,YAAY,GACZ,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,17 +14,18 @@ import { createAppendMemoryBlockTool, createForgetMemoryTool, createRecallConver
|
|
|
14
14
|
export function createHippoTools(opts) {
|
|
15
15
|
initSchema(opts.db);
|
|
16
16
|
const stmts = prepareStatements(opts.db);
|
|
17
|
-
const common = { agentId: opts.agentId, stmts };
|
|
17
|
+
const common = { agentId: opts.agentId, scope: opts.scope, stmts };
|
|
18
18
|
const withEmbed = { ...common, embed: opts.embed };
|
|
19
|
+
const recallScope = opts.recallScopes ?? (opts.scope !== undefined ? [opts.scope] : undefined);
|
|
19
20
|
// biome-ignore lint/suspicious/noExplicitAny: AgentTool generics don't unify across different parameter schemas
|
|
20
21
|
const tools = [
|
|
21
22
|
createRememberFactsTool({ ...withEmbed, db: opts.db, llm: opts.llm }),
|
|
22
23
|
createStoreMemoryTool(withEmbed),
|
|
23
|
-
createRecallMemoriesTool(withEmbed),
|
|
24
|
+
createRecallMemoriesTool({ ...withEmbed, scope: recallScope }),
|
|
24
25
|
createRecallMemoryBlockTool(common),
|
|
25
26
|
createReplaceMemoryBlockTool(common),
|
|
26
27
|
createAppendMemoryBlockTool(common),
|
|
27
|
-
createForgetMemoryTool({ ...withEmbed, db: opts.db }),
|
|
28
|
+
createForgetMemoryTool({ ...withEmbed, db: opts.db, scope: recallScope }),
|
|
28
29
|
];
|
|
29
30
|
if (opts.messagesTable) {
|
|
30
31
|
tools.push(createRecallConversationTool({
|
|
@@ -34,6 +35,7 @@ export function createHippoTools(opts) {
|
|
|
34
35
|
}
|
|
35
36
|
return tools;
|
|
36
37
|
}
|
|
38
|
+
export { deleteChunk, updateChunk } from "./chunk-mutations.js";
|
|
37
39
|
export { createEmbeddingProvider } from "./providers/embedding.js";
|
|
38
40
|
export { createLlmProvider } from "./providers/llm.js";
|
|
39
41
|
export { initSchema, verifyEmbeddingModel } from "./schema.js";
|