@producible/cereworker-hippocampus 26.520.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.
Files changed (50) hide show
  1. package/LICENSE +21 -0
  2. package/dist/conversation-extractor.d.ts +23 -0
  3. package/dist/conversation-extractor.d.ts.map +1 -0
  4. package/dist/conversation-extractor.js +85 -0
  5. package/dist/conversation-extractor.js.map +1 -0
  6. package/dist/conversation-extractor.test.d.ts +2 -0
  7. package/dist/conversation-extractor.test.d.ts.map +1 -0
  8. package/dist/conversation-extractor.test.js +105 -0
  9. package/dist/conversation-extractor.test.js.map +1 -0
  10. package/dist/curator.d.ts +31 -0
  11. package/dist/curator.d.ts.map +1 -0
  12. package/dist/curator.js +219 -0
  13. package/dist/curator.js.map +1 -0
  14. package/dist/curator.test.d.ts +2 -0
  15. package/dist/curator.test.d.ts.map +1 -0
  16. package/dist/curator.test.js +209 -0
  17. package/dist/curator.test.js.map +1 -0
  18. package/dist/finetune-archive.d.ts +47 -0
  19. package/dist/finetune-archive.d.ts.map +1 -0
  20. package/dist/finetune-archive.js +203 -0
  21. package/dist/finetune-archive.js.map +1 -0
  22. package/dist/finetune-archive.test.d.ts +2 -0
  23. package/dist/finetune-archive.test.d.ts.map +1 -0
  24. package/dist/finetune-archive.test.js +74 -0
  25. package/dist/finetune-archive.test.js.map +1 -0
  26. package/dist/index.d.ts +8 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +6 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/store.d.ts +47 -0
  31. package/dist/store.d.ts.map +1 -0
  32. package/dist/store.js +277 -0
  33. package/dist/store.js.map +1 -0
  34. package/dist/store.test.d.ts +2 -0
  35. package/dist/store.test.d.ts.map +1 -0
  36. package/dist/store.test.js +200 -0
  37. package/dist/store.test.js.map +1 -0
  38. package/dist/tools.d.ts +37 -0
  39. package/dist/tools.d.ts.map +1 -0
  40. package/dist/tools.js +59 -0
  41. package/dist/tools.js.map +1 -0
  42. package/dist/tools.test.d.ts +2 -0
  43. package/dist/tools.test.d.ts.map +1 -0
  44. package/dist/tools.test.js +85 -0
  45. package/dist/tools.test.js.map +1 -0
  46. package/dist/types.d.ts +37 -0
  47. package/dist/types.d.ts.map +1 -0
  48. package/dist/types.js +2 -0
  49. package/dist/types.js.map +1 -0
  50. package/package.json +32 -0
package/dist/tools.js ADDED
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+ export const memoryReadParameters = z.object({
3
+ file: z
4
+ .string()
5
+ .optional()
6
+ .default('MEMORY.md')
7
+ .describe('Memory file to read. Defaults to MEMORY.md. Use a date like "2026-03-08.md" for daily logs.'),
8
+ });
9
+ export const memoryWriteParameters = z.object({
10
+ content: z.string().describe('Content to write to MEMORY.md (replaces existing content)'),
11
+ });
12
+ export const memoryLogParameters = z.object({
13
+ content: z.string().describe("Content to append to today's daily log"),
14
+ });
15
+ export const memorySearchParameters = z.object({
16
+ query: z.string().describe('Text to search for across all memory files'),
17
+ });
18
+ export function createMemoryTools(store) {
19
+ return {
20
+ executeMemoryRead: async (args) => {
21
+ const content = store.readFile(args.file);
22
+ if (content === null) {
23
+ const files = store.listAll();
24
+ if (files.length === 0) {
25
+ const starter = '# Memory\n\n_No memories yet. Use memory_write to save context here._\n';
26
+ store.writeMemory(starter);
27
+ return starter;
28
+ }
29
+ return `File "${args.file}" not found. Available files: ${files.join(', ')}`;
30
+ }
31
+ return content || '(empty file)';
32
+ },
33
+ executeMemoryWrite: async (args) => {
34
+ store.writeMemory(args.content);
35
+ return 'MEMORY.md updated successfully.';
36
+ },
37
+ executeMemoryLog: async (args) => {
38
+ store.appendDailyLog(args.content);
39
+ const today = new Date().toISOString().slice(0, 10);
40
+ return `Logged to ${today}.md`;
41
+ },
42
+ executeMemorySearch: async (args) => {
43
+ const results = store.search(args.query);
44
+ if (results.length === 0) {
45
+ return `No matches found for "${args.query}"`;
46
+ }
47
+ return results
48
+ .map((r) => {
49
+ const lines = r.content.split('\n');
50
+ const matchingLines = lines
51
+ .filter((l) => l.toLowerCase().includes(args.query.toLowerCase()))
52
+ .slice(0, 5);
53
+ return `## ${r.filename}\n${matchingLines.join('\n')}`;
54
+ })
55
+ .join('\n\n');
56
+ },
57
+ };
58
+ }
59
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tools.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.test.d.ts","sourceRoot":"","sources":["../src/tools.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,85 @@
1
+ import { describe, it, expect, afterEach } from 'vitest';
2
+ import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ import { tmpdir } from 'node:os';
5
+ import { HippocampusStore } from './store.js';
6
+ import { createMemoryTools } from './tools.js';
7
+ describe('createMemoryTools', () => {
8
+ let dir;
9
+ afterEach(() => {
10
+ rmSync(dir, { recursive: true, force: true });
11
+ });
12
+ function setup() {
13
+ dir = mkdtempSync(join(tmpdir(), 'cereworker-memtools-test-'));
14
+ const store = new HippocampusStore(dir);
15
+ return createMemoryTools(store);
16
+ }
17
+ describe('executeMemoryRead', () => {
18
+ it('reads MEMORY.md by default', async () => {
19
+ const tools = setup();
20
+ writeFileSync(join(dir, 'MEMORY.md'), '# Memory', 'utf-8');
21
+ const result = await tools.executeMemoryRead({ file: 'MEMORY.md' });
22
+ expect(result).toBe('# Memory');
23
+ });
24
+ it('reads a specific file', async () => {
25
+ const tools = setup();
26
+ writeFileSync(join(dir, 'notes.md'), 'my notes', 'utf-8');
27
+ const result = await tools.executeMemoryRead({ file: 'notes.md' });
28
+ expect(result).toBe('my notes');
29
+ });
30
+ it('initializes MEMORY.md when no files exist', async () => {
31
+ const tools = setup();
32
+ const result = await tools.executeMemoryRead({ file: 'MEMORY.md' });
33
+ expect(result).toContain('# Memory');
34
+ // Should be readable on second call too
35
+ const result2 = await tools.executeMemoryRead({ file: 'MEMORY.md' });
36
+ expect(result2).toBe(result);
37
+ });
38
+ it('lists available files when file not found', async () => {
39
+ const tools = setup();
40
+ writeFileSync(join(dir, 'MEMORY.md'), 'x', 'utf-8');
41
+ const result = await tools.executeMemoryRead({ file: 'missing.md' });
42
+ expect(result).toContain('not found');
43
+ expect(result).toContain('MEMORY.md');
44
+ });
45
+ it('returns (empty file) for empty content', async () => {
46
+ const tools = setup();
47
+ writeFileSync(join(dir, 'empty.md'), '', 'utf-8');
48
+ const result = await tools.executeMemoryRead({ file: 'empty.md' });
49
+ expect(result).toBe('(empty file)');
50
+ });
51
+ });
52
+ describe('executeMemoryWrite', () => {
53
+ it('writes content and returns success', async () => {
54
+ const tools = setup();
55
+ const result = await tools.executeMemoryWrite({ content: '# Hello' });
56
+ expect(result).toContain('updated successfully');
57
+ const readBack = await tools.executeMemoryRead({ file: 'MEMORY.md' });
58
+ expect(readBack).toBe('# Hello');
59
+ });
60
+ });
61
+ describe('executeMemoryLog', () => {
62
+ it('appends to daily log and returns date', async () => {
63
+ const tools = setup();
64
+ const result = await tools.executeMemoryLog({ content: 'test log' });
65
+ const today = new Date().toISOString().slice(0, 10);
66
+ expect(result).toContain(today);
67
+ });
68
+ });
69
+ describe('executeMemorySearch', () => {
70
+ it('finds matching lines', async () => {
71
+ const tools = setup();
72
+ writeFileSync(join(dir, 'session', 'notes.md'), 'TypeScript rocks\nPython too', 'utf-8');
73
+ const result = await tools.executeMemorySearch({ query: 'TypeScript' });
74
+ expect(result).toContain('notes.md');
75
+ expect(result).toContain('TypeScript rocks');
76
+ });
77
+ it('returns no matches message', async () => {
78
+ const tools = setup();
79
+ writeFileSync(join(dir, 'session', 'notes.md'), 'hello', 'utf-8');
80
+ const result = await tools.executeMemorySearch({ query: 'zzzzz' });
81
+ expect(result).toContain('No matches found');
82
+ });
83
+ });
84
+ });
85
+ //# sourceMappingURL=tools.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../src/tools.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export type TrainingExampleClass = 'discovery' | 'conversation' | 'curated-memory' | 'session-memory' | 'recovery' | 'verification';
2
+ export interface TrainingPair {
3
+ instruction: string;
4
+ response: string;
5
+ source: string;
6
+ createdAt: number;
7
+ instanceId?: string;
8
+ sessionId?: string;
9
+ exampleClass?: TrainingExampleClass;
10
+ }
11
+ export interface CurationResult {
12
+ pairs: TrainingPair[];
13
+ skipped: number;
14
+ errors: string[];
15
+ }
16
+ export interface MemoryEntry {
17
+ filename: string;
18
+ content: string;
19
+ date: string;
20
+ }
21
+ export interface SessionTurnEntry {
22
+ sessionId: string;
23
+ timestamp: string;
24
+ user: string;
25
+ assistant: string;
26
+ }
27
+ export interface TrainingCandidate {
28
+ kind: 'recovery' | 'completion' | 'verification' | 'session';
29
+ createdAt: number;
30
+ summary: string;
31
+ source: string;
32
+ instanceId?: string;
33
+ conversationId?: string;
34
+ sessionId?: string;
35
+ data?: Record<string, unknown>;
36
+ }
37
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GACX,cAAc,GACd,gBAAgB,GAChB,gBAAgB,GAChB,UAAU,GACV,cAAc,CAAC;AAEnB,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@producible/cereworker-hippocampus",
3
+ "version": "26.520.1",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/Producible/CereWorker.git",
16
+ "directory": "packages/hippocampus"
17
+ },
18
+ "dependencies": {
19
+ "zod": "^3.24.0",
20
+ "@producible/cereworker-core": "26.520.1",
21
+ "@producible/cereworker-config": "26.520.1"
22
+ },
23
+ "devDependencies": {
24
+ "typescript": "^5.7.3"
25
+ },
26
+ "scripts": {
27
+ "build": "tsc",
28
+ "typecheck": "tsc --noEmit",
29
+ "lint": "eslint src/",
30
+ "clean": "rm -rf dist"
31
+ }
32
+ }