@amaster.ai/pi-memory 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threat-patterns.js","sourceRoot":"","sources":["../src/threat-patterns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ToolDefinition } from '@earendil-works/pi-coding-agent';
2
+ import type { MemoryStore } from './store.js';
3
+ export declare function createMemoryTools(store: MemoryStore): ToolDefinition[];
4
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,cAAc,EACf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAgB,WAAW,EAAgB,MAAM,YAAY,CAAC;AAiC1E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,EAAE,CAiGtE"}
package/dist/tools.js ADDED
@@ -0,0 +1,99 @@
1
+ import { Type } from 'typebox';
2
+ const targetSchema = Type.Union([Type.Literal('memory'), Type.Literal('user')], {
3
+ description: "Which memory store: 'memory' (your notes) or 'user' (user profile).",
4
+ });
5
+ function textResult(text) {
6
+ return { content: [{ type: 'text', text }], details: undefined };
7
+ }
8
+ function jsonResult(value) {
9
+ return textResult(JSON.stringify(value, null, 2));
10
+ }
11
+ function asTarget(raw) {
12
+ return raw === 'user' ? 'user' : 'memory';
13
+ }
14
+ const memoryToolDescription = 'Save durable information to persistent memory that survives across sessions. ' +
15
+ 'Memory is injected into the system prompt at session start, so keep entries compact ' +
16
+ 'and focused on facts that will still matter later.\n\n' +
17
+ 'WHEN TO SAVE proactively:\n' +
18
+ "- User corrects you or says 'remember this' / 'don't do that again'.\n" +
19
+ '- User shares a preference, habit, or personal detail (name, role, timezone, coding style).\n' +
20
+ '- You discover something stable about the environment (OS, installed tools, project structure).\n' +
21
+ "- You learn a convention, API quirk, or workflow specific to this user's setup.\n\n" +
22
+ 'PRIORITY: User preferences and corrections > environment facts > procedural knowledge.\n\n' +
23
+ 'Do NOT save task progress, session outcomes, or temporary TODO state.\n\n' +
24
+ "TARGETS: 'user' for who the user is; 'memory' for your own notes.";
25
+ export function createMemoryTools(store) {
26
+ const addTool = {
27
+ name: 'memory_add',
28
+ label: 'Memory',
29
+ description: `Append a new entry to memory. ${memoryToolDescription}`,
30
+ promptSnippet: 'Append durable facts to MEMORY.md or USER.md.',
31
+ parameters: Type.Object({
32
+ target: targetSchema,
33
+ content: Type.String({ description: 'The entry content to append.' }),
34
+ }),
35
+ async execute(_toolCallId, params, _signal, _onUpdate, _ctx) {
36
+ const target = asTarget(params.target);
37
+ const content = String(params.content ?? '');
38
+ const result = await store.add(target, content);
39
+ return jsonResult(result);
40
+ },
41
+ };
42
+ const replaceTool = {
43
+ name: 'memory_replace',
44
+ label: 'Memory',
45
+ description: 'Replace an existing memory entry. Find the entry by short unique substring (oldText), ' +
46
+ 'replace it with newContent. Use this to update an outdated entry instead of removing + adding.',
47
+ promptSnippet: 'Update an existing MEMORY.md or USER.md entry.',
48
+ parameters: Type.Object({
49
+ target: targetSchema,
50
+ oldText: Type.String({
51
+ description: 'A short substring uniquely identifying the entry to replace. Must match exactly one entry.',
52
+ }),
53
+ newContent: Type.String({ description: 'The replacement entry content.' }),
54
+ }),
55
+ async execute(_toolCallId, params) {
56
+ const target = asTarget(params.target);
57
+ const oldText = String(params.oldText ?? '');
58
+ const newContent = String(params.newContent ?? '');
59
+ const result = await store.replace(target, oldText, newContent);
60
+ return jsonResult(result);
61
+ },
62
+ };
63
+ const removeTool = {
64
+ name: 'memory_remove',
65
+ label: 'Memory',
66
+ description: 'Remove a memory entry. Find the entry by short unique substring (oldText). ' +
67
+ 'Use this when an entry is no longer relevant or was wrong.',
68
+ promptSnippet: 'Delete an entry from MEMORY.md or USER.md.',
69
+ parameters: Type.Object({
70
+ target: targetSchema,
71
+ oldText: Type.String({
72
+ description: 'A short substring uniquely identifying the entry to remove. Must match exactly one entry.',
73
+ }),
74
+ }),
75
+ async execute(_toolCallId, params) {
76
+ const target = asTarget(params.target);
77
+ const oldText = String(params.oldText ?? '');
78
+ const result = await store.remove(target, oldText);
79
+ return jsonResult(result);
80
+ },
81
+ };
82
+ const readTool = {
83
+ name: 'memory_read',
84
+ label: 'Memory',
85
+ description: 'Return live entries and usage for a memory store. Use this to inspect what is currently saved ' +
86
+ 'before deciding to add, replace, or remove.',
87
+ promptSnippet: 'Read the current contents of MEMORY.md or USER.md.',
88
+ parameters: Type.Object({
89
+ target: targetSchema,
90
+ }),
91
+ async execute(_toolCallId, params) {
92
+ const target = asTarget(params.target);
93
+ const result = await store.read(target);
94
+ return jsonResult(result);
95
+ },
96
+ };
97
+ return [addTool, replaceTool, removeTool, readTool];
98
+ }
99
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,88 @@
1
+ {
2
+ "name": "@amaster.ai/pi-memory",
3
+ "version": "0.1.0",
4
+ "description": "Pi extension providing persistent curated memory (MEMORY.md + USER.md) injected into the system prompt as a frozen snapshot.",
5
+ "keywords": [
6
+ "pi-package",
7
+ "pi",
8
+ "extension",
9
+ "memory",
10
+ "persistence"
11
+ ],
12
+ "license": "Apache-2.0",
13
+ "type": "module",
14
+ "sideEffects": false,
15
+ "main": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "default": "./dist/index.js"
21
+ },
22
+ "./store": {
23
+ "types": "./dist/store.d.ts",
24
+ "default": "./dist/store.js"
25
+ },
26
+ "./extension": {
27
+ "types": "./dist/extension.d.ts",
28
+ "default": "./dist/extension.js"
29
+ },
30
+ "./tools": {
31
+ "types": "./dist/tools.d.ts",
32
+ "default": "./dist/tools.js"
33
+ },
34
+ "./threat-patterns": {
35
+ "types": "./dist/threat-patterns.d.ts",
36
+ "default": "./dist/threat-patterns.js"
37
+ },
38
+ "./package.json": {
39
+ "default": "./package.json"
40
+ }
41
+ },
42
+ "pi": {
43
+ "image": "https://raw.githubusercontent.com/TGYD-helige/pi/master/packages/pi-memory/preview.png",
44
+ "extensions": [
45
+ "./dist/index.js"
46
+ ]
47
+ },
48
+ "files": [
49
+ "dist",
50
+ "preview.png",
51
+ "README.md"
52
+ ],
53
+ "publishConfig": {
54
+ "access": "public"
55
+ },
56
+ "repository": {
57
+ "type": "git",
58
+ "url": "https://github.com/TGYD-helige/pi.git",
59
+ "directory": "packages/pi-memory"
60
+ },
61
+ "dependencies": {
62
+ "proper-lockfile": "^4.1.2",
63
+ "@amaster.ai/pi-shared": "0.1.0"
64
+ },
65
+ "peerDependencies": {
66
+ "@earendil-works/pi-coding-agent": ">=0.74.0",
67
+ "typebox": "*"
68
+ },
69
+ "peerDependenciesMeta": {
70
+ "@earendil-works/pi-coding-agent": {
71
+ "optional": true
72
+ },
73
+ "typebox": {
74
+ "optional": true
75
+ }
76
+ },
77
+ "devDependencies": {
78
+ "@earendil-works/pi-coding-agent": "0.74.0",
79
+ "@types/proper-lockfile": "^4.1.4",
80
+ "typebox": "*",
81
+ "vitest": "^4.0.0"
82
+ },
83
+ "scripts": {
84
+ "build": "tsc -b",
85
+ "typecheck": "tsc -b --pretty false",
86
+ "test": "vitest run"
87
+ }
88
+ }
package/preview.png ADDED
Binary file