compact-agent 1.8.4 → 1.10.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/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +145 -5
- package/dist/index.js.map +1 -1
- package/dist/mempalace/index.d.ts +100 -0
- package/dist/mempalace/index.js +196 -0
- package/dist/mempalace/index.js.map +1 -0
- package/dist/mempalace/search.d.ts +38 -0
- package/dist/mempalace/search.js +133 -0
- package/dist/mempalace/search.js.map +1 -0
- package/dist/mempalace/store.d.ts +77 -0
- package/dist/mempalace/store.js +332 -0
- package/dist/mempalace/store.js.map +1 -0
- package/dist/mempalace/types.d.ts +140 -0
- package/dist/mempalace/types.js +27 -0
- package/dist/mempalace/types.js.map +1 -0
- package/dist/permissions.js +16 -3
- package/dist/permissions.js.map +1 -1
- package/dist/query.js +8 -0
- package/dist/query.js.map +1 -1
- package/dist/system-prompt.js +41 -0
- package/dist/system-prompt.js.map +1 -1
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory.d.ts +30 -0
- package/dist/tools/memory.js +319 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/turn-context.d.ts +43 -0
- package/dist/turn-context.js +123 -0
- package/dist/turn-context.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +5 -2
package/dist/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
|
package/dist/system-prompt.js
CHANGED
|
@@ -96,6 +96,47 @@ ${fileList ? `- Files in cwd: ${fileList}` : ''}
|
|
|
96
96
|
# Available Tools (these and ONLY these — do not invent tool names)
|
|
97
97
|
${buildToolList()}
|
|
98
98
|
|
|
99
|
+
# Memory (MemPalace) — when to use the memory_* tools
|
|
100
|
+
|
|
101
|
+
This agent has a persistent memory subsystem with two scopes:
|
|
102
|
+
- **global** memory at ~/.crowcoder/memory/ — cross-project: user preferences,
|
|
103
|
+
style choices, recurring patterns, identity
|
|
104
|
+
- **project** memory at <cwd>/.crowcoder/memory/ — this-codebase-specific:
|
|
105
|
+
landmarks ("auth lives in src/auth"), gotchas, decisions
|
|
106
|
+
|
|
107
|
+
You have these memory tools available:
|
|
108
|
+
- **memory_search** — ALWAYS check before proposing something the user may
|
|
109
|
+
have told you before. If a search hits, recall + use the existing fact
|
|
110
|
+
instead of asking again.
|
|
111
|
+
- **memory_recall** — fetch a specific drawer's full content by id
|
|
112
|
+
- **memory_add** — save a NEW drawer when the user states a durable fact:
|
|
113
|
+
a preference ("I always use vitest"), a codebase landmark ("the queue
|
|
114
|
+
lives in services/queue/"), or a lesson worth keeping across sessions.
|
|
115
|
+
Use scope:"auto" by default — the system infers global vs project from
|
|
116
|
+
content signals.
|
|
117
|
+
- **memory_link** — connect related drawers (sparingly; only when the
|
|
118
|
+
relationship will be useful for later traversal)
|
|
119
|
+
- **memory_list** — orient yourself: what wings/rooms exist
|
|
120
|
+
- **memory_fact_add / memory_fact_query** — for atomic (subject, predicate,
|
|
121
|
+
object) facts you want to query in aggregate later
|
|
122
|
+
|
|
123
|
+
Be conservative — don't write a drawer for every passing comment. Write
|
|
124
|
+
when the user makes a STATEMENT OF FACT or PREFERENCE that you'd benefit
|
|
125
|
+
from knowing in a future session. Quality > quantity.
|
|
126
|
+
|
|
127
|
+
# Turn semantics — read carefully
|
|
128
|
+
Each user message is an INDEPENDENT request. Conversation history is a record
|
|
129
|
+
of past requests that are ALREADY DONE. Specifically:
|
|
130
|
+
- An assistant message tagged "[Completed in a prior turn. Tools used: …]"
|
|
131
|
+
means those tools have already been run for a previous user message. Do NOT
|
|
132
|
+
re-execute them. They appear in history only so you have continuity / context.
|
|
133
|
+
- The CURRENT request is the LATEST user message and only that one. Don't
|
|
134
|
+
invent additional sub-requests from earlier turns. If the user says "research
|
|
135
|
+
further please", do MORE research — don't ALSO re-write the poem from a
|
|
136
|
+
previous turn.
|
|
137
|
+
- If the current user message is ambiguous, ask one clarifying question rather
|
|
138
|
+
than guessing that they meant to repeat a previous task.
|
|
139
|
+
|
|
99
140
|
IMPORTANT — tool-call rules:
|
|
100
141
|
- The exact, allowed tool names are the bullet keys above. Calling any other name (e.g. \`web_search_exa\`, \`google_search\`, \`shell_exec\`) is an error and the call will fail.
|
|
101
142
|
- For web discovery: use \`web_search\` (returns title/URL/snippet for a keyword query).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { WebSearchTool } from './web-search.js';
|
|
|
9
9
|
import { ListDirTool } from './list-dir.js';
|
|
10
10
|
import { StitchTool } from './stitch.js';
|
|
11
11
|
import { stitchConfigured } from '../stitch.js';
|
|
12
|
+
import { MEMORY_TOOLS } from './memory.js';
|
|
12
13
|
// Stitch is only listed in the tool registry when configured — otherwise
|
|
13
14
|
// free models hallucinate calls to it and waste turns on auth errors.
|
|
14
15
|
const OPTIONAL_TOOLS = [];
|
|
@@ -24,6 +25,8 @@ export const ALL_TOOLS = [
|
|
|
24
25
|
ListDirTool,
|
|
25
26
|
WebFetchTool,
|
|
26
27
|
WebSearchTool,
|
|
28
|
+
// MemPalace memory tools — always available (zero external deps)
|
|
29
|
+
...MEMORY_TOOLS,
|
|
27
30
|
...OPTIONAL_TOOLS,
|
|
28
31
|
];
|
|
29
32
|
export function getToolNames() {
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,yEAAyE;AACzE,sEAAsE;AACtE,MAAM,cAAc,GAAW,EAAE,CAAC;AAClC,IAAI,gBAAgB,EAAE;IAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,SAAS,GAAW;IAC/B,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,aAAa;IACb,iEAAiE;IACjE,GAAG,YAAY;IACf,GAAG,cAAc;CAClB,CAAC;AAEF,MAAM,UAAU,YAAY;IAC1B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MemPalace-backed memory tools the agent can call.
|
|
3
|
+
*
|
|
4
|
+
* Surface (kept small, action-oriented):
|
|
5
|
+
* memory_search read full-text search across global + project stores
|
|
6
|
+
* memory_recall read fetch a specific drawer by id, plus its tunnels
|
|
7
|
+
* memory_add write create a new drawer (or save a fact via KG)
|
|
8
|
+
* memory_link write tunnel between two drawers
|
|
9
|
+
* memory_list read inventory: wings/rooms/recent drawers
|
|
10
|
+
*
|
|
11
|
+
* The agent should reach for these whenever the user mentions facts that
|
|
12
|
+
* are worth keeping across sessions ("I always use vitest, never jest"),
|
|
13
|
+
* codebase landmarks ("the auth flow lives in src/auth/oauth.ts"), or
|
|
14
|
+
* lessons learned during this turn that future sessions would benefit
|
|
15
|
+
* from. The system prompt nudges this — see src/system-prompt.ts.
|
|
16
|
+
*
|
|
17
|
+
* All write tools are marked isDestructive: false because they only
|
|
18
|
+
* append to a local file — no network, no external state. They still
|
|
19
|
+
* require permission in `ask` mode by default but don't trigger the
|
|
20
|
+
* destructive-action verbal-confirm path.
|
|
21
|
+
*/
|
|
22
|
+
import type { Tool } from './types.js';
|
|
23
|
+
export declare const MemoryAddTool: Tool;
|
|
24
|
+
export declare const MemorySearchTool: Tool;
|
|
25
|
+
export declare const MemoryRecallTool: Tool;
|
|
26
|
+
export declare const MemoryLinkTool: Tool;
|
|
27
|
+
export declare const MemoryListTool: Tool;
|
|
28
|
+
export declare const MemoryFactAddTool: Tool;
|
|
29
|
+
export declare const MemoryFactQueryTool: Tool;
|
|
30
|
+
export declare const MEMORY_TOOLS: Tool[];
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MemPalace-backed memory tools the agent can call.
|
|
3
|
+
*
|
|
4
|
+
* Surface (kept small, action-oriented):
|
|
5
|
+
* memory_search read full-text search across global + project stores
|
|
6
|
+
* memory_recall read fetch a specific drawer by id, plus its tunnels
|
|
7
|
+
* memory_add write create a new drawer (or save a fact via KG)
|
|
8
|
+
* memory_link write tunnel between two drawers
|
|
9
|
+
* memory_list read inventory: wings/rooms/recent drawers
|
|
10
|
+
*
|
|
11
|
+
* The agent should reach for these whenever the user mentions facts that
|
|
12
|
+
* are worth keeping across sessions ("I always use vitest, never jest"),
|
|
13
|
+
* codebase landmarks ("the auth flow lives in src/auth/oauth.ts"), or
|
|
14
|
+
* lessons learned during this turn that future sessions would benefit
|
|
15
|
+
* from. The system prompt nudges this — see src/system-prompt.ts.
|
|
16
|
+
*
|
|
17
|
+
* All write tools are marked isDestructive: false because they only
|
|
18
|
+
* append to a local file — no network, no external state. They still
|
|
19
|
+
* require permission in `ask` mode by default but don't trigger the
|
|
20
|
+
* destructive-action verbal-confirm path.
|
|
21
|
+
*/
|
|
22
|
+
import { addDrawer, getDrawer, listDrawers, search, linkDrawers, kgAdd, kgQuery, listWings, listRooms, stats, } from '../mempalace/index.js';
|
|
23
|
+
// ── memory_add ────────────────────────────────────────────
|
|
24
|
+
export const MemoryAddTool = {
|
|
25
|
+
name: 'memory_add',
|
|
26
|
+
description: 'Save a memory drawer to the MemPalace store. Use this when the user mentions ' +
|
|
27
|
+
'a fact, preference, codebase landmark, or lesson worth remembering across sessions. ' +
|
|
28
|
+
'Scope: "global" for user preferences / cross-project facts, "project" for ' +
|
|
29
|
+
'codebase-specific knowledge, "auto" (default) to infer from content. ' +
|
|
30
|
+
'Pick a sensible wing ("preferences", "code", "people", "projects", "lessons") and ' +
|
|
31
|
+
'a room (the project name, person name, or topic). Tag generously — tags are the ' +
|
|
32
|
+
'strongest search signal.',
|
|
33
|
+
parameters: {
|
|
34
|
+
type: 'object',
|
|
35
|
+
properties: {
|
|
36
|
+
wing: { type: 'string', description: 'Top-level domain, e.g. "preferences" / "code" / "lessons"' },
|
|
37
|
+
room: { type: 'string', description: 'Category within the wing, e.g. project name or topic' },
|
|
38
|
+
content: { type: 'string', description: 'The memory text. Be concise but specific.' },
|
|
39
|
+
tags: { type: 'array', description: 'Lowercase keywords for filtering + search', items: { type: 'string' } },
|
|
40
|
+
importance: { type: 'number', description: '0..1, default 0.5. Boosts search ranking.' },
|
|
41
|
+
scope: { type: 'string', description: '"global" | "project" | "auto" (default auto)' },
|
|
42
|
+
},
|
|
43
|
+
required: ['wing', 'room', 'content'],
|
|
44
|
+
},
|
|
45
|
+
isReadOnly: false,
|
|
46
|
+
isDestructive: false,
|
|
47
|
+
async call(input, cwd) {
|
|
48
|
+
try {
|
|
49
|
+
const drawer = addDrawer({
|
|
50
|
+
wing: input.wing,
|
|
51
|
+
room: input.room,
|
|
52
|
+
content: input.content,
|
|
53
|
+
tags: input.tags || [],
|
|
54
|
+
importance: typeof input.importance === 'number' ? input.importance : undefined,
|
|
55
|
+
scope: input.scope || 'auto',
|
|
56
|
+
cwd,
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
output: `Saved drawer ${drawer.id} (${drawer.scope}: ${drawer.wing}/${drawer.room}).`,
|
|
60
|
+
isError: false,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
return { output: `Error saving drawer: ${e instanceof Error ? e.message : e}`, isError: true };
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
// ── memory_search ─────────────────────────────────────────
|
|
69
|
+
export const MemorySearchTool = {
|
|
70
|
+
name: 'memory_search',
|
|
71
|
+
description: 'Search the MemPalace store for drawers matching a query. Searches both ' +
|
|
72
|
+
'global and project memory by default; pass scope to narrow. Returns top ' +
|
|
73
|
+
'hits ranked by relevance with their wing/room and content excerpt. Use ' +
|
|
74
|
+
'this BEFORE proposing something the user may have said before, and to ' +
|
|
75
|
+
'recall codebase landmarks instead of re-discovering them.',
|
|
76
|
+
parameters: {
|
|
77
|
+
type: 'object',
|
|
78
|
+
properties: {
|
|
79
|
+
query: { type: 'string', description: 'Free-text query; keywords work best' },
|
|
80
|
+
scope: { type: 'string', description: '"global" | "project" | "both" (default both)' },
|
|
81
|
+
wing: { type: 'string', description: 'Optional wing filter' },
|
|
82
|
+
room: { type: 'string', description: 'Optional room filter' },
|
|
83
|
+
tags: { type: 'array', description: 'Optional tag AND-filter', items: { type: 'string' } },
|
|
84
|
+
limit: { type: 'number', description: 'Max results, default 10' },
|
|
85
|
+
},
|
|
86
|
+
required: ['query'],
|
|
87
|
+
},
|
|
88
|
+
isReadOnly: true,
|
|
89
|
+
isDestructive: false,
|
|
90
|
+
async call(input, cwd) {
|
|
91
|
+
try {
|
|
92
|
+
const hits = search(input.query, cwd, {
|
|
93
|
+
scope: input.scope || 'both',
|
|
94
|
+
wing: input.wing,
|
|
95
|
+
room: input.room,
|
|
96
|
+
tags: input.tags || undefined,
|
|
97
|
+
limit: typeof input.limit === 'number' ? input.limit : 10,
|
|
98
|
+
});
|
|
99
|
+
if (hits.length === 0) {
|
|
100
|
+
return { output: `No drawers matched "${input.query}".`, isError: false };
|
|
101
|
+
}
|
|
102
|
+
const lines = hits.map((h) => {
|
|
103
|
+
const excerpt = h.drawer.content.length > 200
|
|
104
|
+
? h.drawer.content.slice(0, 200) + '…'
|
|
105
|
+
: h.drawer.content;
|
|
106
|
+
const tagStr = h.drawer.tags.length > 0 ? ` [${h.drawer.tags.join(', ')}]` : '';
|
|
107
|
+
return `${h.drawer.id} (${h.drawer.scope} · ${h.drawer.wing}/${h.drawer.room}${tagStr}) score=${h.score.toFixed(2)}\n ${excerpt}`;
|
|
108
|
+
});
|
|
109
|
+
return { output: `Found ${hits.length} drawer(s):\n\n${lines.join('\n\n')}`, isError: false };
|
|
110
|
+
}
|
|
111
|
+
catch (e) {
|
|
112
|
+
return { output: `Error searching: ${e instanceof Error ? e.message : e}`, isError: true };
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
// ── memory_recall ─────────────────────────────────────────
|
|
117
|
+
export const MemoryRecallTool = {
|
|
118
|
+
name: 'memory_recall',
|
|
119
|
+
description: 'Fetch a specific drawer by its id (returned by memory_search). Also lists ' +
|
|
120
|
+
'any tunnels (relationships) the drawer has to other drawers. Use to get ' +
|
|
121
|
+
'the full content + context of something a search surfaced.',
|
|
122
|
+
parameters: {
|
|
123
|
+
type: 'object',
|
|
124
|
+
properties: {
|
|
125
|
+
id: { type: 'string', description: 'Drawer id, e.g. "drw_xxxxxxx"' },
|
|
126
|
+
},
|
|
127
|
+
required: ['id'],
|
|
128
|
+
},
|
|
129
|
+
isReadOnly: true,
|
|
130
|
+
isDestructive: false,
|
|
131
|
+
async call(input, cwd) {
|
|
132
|
+
try {
|
|
133
|
+
const id = input.id;
|
|
134
|
+
const drawer = getDrawer(id, cwd);
|
|
135
|
+
if (!drawer)
|
|
136
|
+
return { output: `No drawer with id ${id} in either store.`, isError: false };
|
|
137
|
+
const tagStr = drawer.tags.length > 0 ? ` [${drawer.tags.join(', ')}]` : '';
|
|
138
|
+
const out = [
|
|
139
|
+
`${drawer.id} (${drawer.scope} · ${drawer.wing}/${drawer.room}${tagStr})`,
|
|
140
|
+
`importance: ${drawer.importance} created: ${drawer.createdAt} updated: ${drawer.updatedAt}`,
|
|
141
|
+
'',
|
|
142
|
+
drawer.content,
|
|
143
|
+
];
|
|
144
|
+
return { output: out.join('\n'), isError: false };
|
|
145
|
+
}
|
|
146
|
+
catch (e) {
|
|
147
|
+
return { output: `Error recalling: ${e instanceof Error ? e.message : e}`, isError: true };
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
// ── memory_link ───────────────────────────────────────────
|
|
152
|
+
export const MemoryLinkTool = {
|
|
153
|
+
name: 'memory_link',
|
|
154
|
+
description: 'Create a directed tunnel from one drawer to another with a labelled relation. ' +
|
|
155
|
+
'Both drawers must be in the same store (global or project). Examples of ' +
|
|
156
|
+
'relations: "supersedes", "inspired", "in-project", "depends-on", "refines". ' +
|
|
157
|
+
'Use sparingly — only link when the connection is genuinely useful for later ' +
|
|
158
|
+
'traversal.',
|
|
159
|
+
parameters: {
|
|
160
|
+
type: 'object',
|
|
161
|
+
properties: {
|
|
162
|
+
from_id: { type: 'string', description: 'Source drawer id' },
|
|
163
|
+
to_id: { type: 'string', description: 'Target drawer id' },
|
|
164
|
+
relation: { type: 'string', description: 'Verb describing how from relates to to' },
|
|
165
|
+
},
|
|
166
|
+
required: ['from_id', 'to_id', 'relation'],
|
|
167
|
+
},
|
|
168
|
+
isReadOnly: false,
|
|
169
|
+
isDestructive: false,
|
|
170
|
+
async call(input, cwd) {
|
|
171
|
+
try {
|
|
172
|
+
const t = linkDrawers(input.from_id, input.to_id, input.relation, cwd);
|
|
173
|
+
return { output: `Linked ${t.fromDrawerId} → ${t.toDrawerId} via "${t.relation}" (tunnel ${t.id}).`, isError: false };
|
|
174
|
+
}
|
|
175
|
+
catch (e) {
|
|
176
|
+
return { output: `Error linking: ${e instanceof Error ? e.message : e}`, isError: true };
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
};
|
|
180
|
+
// ── memory_list ───────────────────────────────────────────
|
|
181
|
+
export const MemoryListTool = {
|
|
182
|
+
name: 'memory_list',
|
|
183
|
+
description: 'Inventory the MemPalace store. With no args, returns wings + drawer counts ' +
|
|
184
|
+
'in both stores. With a wing arg, lists rooms within that wing. With wing + ' +
|
|
185
|
+
'room, lists drawer summaries. Use to orient before searching, or to see ' +
|
|
186
|
+
'"what do I know about X" at a glance.',
|
|
187
|
+
parameters: {
|
|
188
|
+
type: 'object',
|
|
189
|
+
properties: {
|
|
190
|
+
wing: { type: 'string', description: 'Optional wing to drill into' },
|
|
191
|
+
room: { type: 'string', description: 'Optional room (requires wing)' },
|
|
192
|
+
scope: { type: 'string', description: '"global" | "project" | "both" (default both)' },
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
isReadOnly: true,
|
|
196
|
+
isDestructive: false,
|
|
197
|
+
async call(input, cwd) {
|
|
198
|
+
try {
|
|
199
|
+
const scope = input.scope || 'both';
|
|
200
|
+
const wing = input.wing;
|
|
201
|
+
const room = input.room;
|
|
202
|
+
if (wing && room) {
|
|
203
|
+
const drawers = listDrawers({ wing, room, scope, cwd });
|
|
204
|
+
if (drawers.length === 0)
|
|
205
|
+
return { output: `No drawers in ${wing}/${room}.`, isError: false };
|
|
206
|
+
const lines = drawers.map((d) => {
|
|
207
|
+
const excerpt = d.content.length > 80 ? d.content.slice(0, 80) + '…' : d.content;
|
|
208
|
+
return `${d.id} (${d.scope}) ${excerpt}`;
|
|
209
|
+
});
|
|
210
|
+
return { output: `${drawers.length} drawer(s) in ${wing}/${room}:\n${lines.join('\n')}`, isError: false };
|
|
211
|
+
}
|
|
212
|
+
if (wing) {
|
|
213
|
+
const r = listRooms(cwd, wing, scope);
|
|
214
|
+
const all = [...r.global, ...r.project];
|
|
215
|
+
if (all.length === 0)
|
|
216
|
+
return { output: `No rooms in wing "${wing}".`, isError: false };
|
|
217
|
+
const lines = all.map((rm) => ` ${rm.wing}/${rm.name} — ${rm.drawerCount} drawer(s), last ${rm.lastTouched.slice(0, 10)}`);
|
|
218
|
+
return { output: `Rooms in "${wing}":\n${lines.join('\n')}`, isError: false };
|
|
219
|
+
}
|
|
220
|
+
const w = listWings(cwd, scope);
|
|
221
|
+
const s = stats(cwd);
|
|
222
|
+
const out = [];
|
|
223
|
+
out.push(`Global store: ${s.global.drawers} drawer(s), ${s.global.tunnels} tunnel(s), ${s.global.triples} triple(s)`);
|
|
224
|
+
for (const wm of w.global) {
|
|
225
|
+
out.push(` ${wm.name}: ${wm.drawerCount} drawer(s) across ${wm.rooms.length} room(s)`);
|
|
226
|
+
}
|
|
227
|
+
out.push('');
|
|
228
|
+
out.push(`Project store: ${s.project.drawers} drawer(s), ${s.project.tunnels} tunnel(s), ${s.project.triples} triple(s)${s.projectExists ? '' : ' (not yet created)'}`);
|
|
229
|
+
for (const wm of w.project) {
|
|
230
|
+
out.push(` ${wm.name}: ${wm.drawerCount} drawer(s) across ${wm.rooms.length} room(s)`);
|
|
231
|
+
}
|
|
232
|
+
return { output: out.join('\n'), isError: false };
|
|
233
|
+
}
|
|
234
|
+
catch (e) {
|
|
235
|
+
return { output: `Error listing: ${e instanceof Error ? e.message : e}`, isError: true };
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
};
|
|
239
|
+
// ── memory_fact_add / memory_fact_query (knowledge graph) ──
|
|
240
|
+
export const MemoryFactAddTool = {
|
|
241
|
+
name: 'memory_fact_add',
|
|
242
|
+
description: 'Record a structured fact in the knowledge graph: (subject, predicate, object). ' +
|
|
243
|
+
'Example: subject="rsfit" predicate="prefers" object="vitest over jest". ' +
|
|
244
|
+
'Use for atomic facts you want to be able to QUERY later by parts ' +
|
|
245
|
+
'("what does rsfit prefer?"). For longer narrative content, use memory_add ' +
|
|
246
|
+
'instead.',
|
|
247
|
+
parameters: {
|
|
248
|
+
type: 'object',
|
|
249
|
+
properties: {
|
|
250
|
+
subject: { type: 'string', description: 'Entity the fact is about' },
|
|
251
|
+
predicate: { type: 'string', description: 'Relation/verb' },
|
|
252
|
+
object: { type: 'string', description: 'Value or related entity' },
|
|
253
|
+
confidence: { type: 'number', description: '0..1, default 1.0 (certain)' },
|
|
254
|
+
scope: { type: 'string', description: '"global" | "project" (default global)' },
|
|
255
|
+
},
|
|
256
|
+
required: ['subject', 'predicate', 'object'],
|
|
257
|
+
},
|
|
258
|
+
isReadOnly: false,
|
|
259
|
+
isDestructive: false,
|
|
260
|
+
async call(input, cwd) {
|
|
261
|
+
try {
|
|
262
|
+
const scope = (input.scope || 'global');
|
|
263
|
+
const t = kgAdd({
|
|
264
|
+
subject: input.subject,
|
|
265
|
+
predicate: input.predicate,
|
|
266
|
+
object: input.object,
|
|
267
|
+
confidence: typeof input.confidence === 'number' ? input.confidence : 1.0,
|
|
268
|
+
}, scope, cwd);
|
|
269
|
+
return { output: `Added fact: (${t.subject}, ${t.predicate}, ${t.object}) [${t.scope}, confidence ${t.confidence}]`, isError: false };
|
|
270
|
+
}
|
|
271
|
+
catch (e) {
|
|
272
|
+
return { output: `Error adding fact: ${e instanceof Error ? e.message : e}`, isError: true };
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
};
|
|
276
|
+
export const MemoryFactQueryTool = {
|
|
277
|
+
name: 'memory_fact_query',
|
|
278
|
+
description: 'Query the knowledge graph for facts. Any of subject/predicate/object can be ' +
|
|
279
|
+
'left unspecified to act as a wildcard. e.g. predicate="prefers" finds all ' +
|
|
280
|
+
'preferences; subject="rsfit" finds everything we know about the user.',
|
|
281
|
+
parameters: {
|
|
282
|
+
type: 'object',
|
|
283
|
+
properties: {
|
|
284
|
+
subject: { type: 'string' },
|
|
285
|
+
predicate: { type: 'string' },
|
|
286
|
+
object: { type: 'string' },
|
|
287
|
+
scope: { type: 'string', description: '"global" | "project" | "both" (default both)' },
|
|
288
|
+
},
|
|
289
|
+
},
|
|
290
|
+
isReadOnly: true,
|
|
291
|
+
isDestructive: false,
|
|
292
|
+
async call(input, cwd) {
|
|
293
|
+
try {
|
|
294
|
+
const triples = kgQuery({
|
|
295
|
+
subject: input.subject,
|
|
296
|
+
predicate: input.predicate,
|
|
297
|
+
object: input.object,
|
|
298
|
+
}, cwd, input.scope || 'both');
|
|
299
|
+
if (triples.length === 0)
|
|
300
|
+
return { output: 'No matching facts.', isError: false };
|
|
301
|
+
const lines = triples.map((t) => `(${t.subject}, ${t.predicate}, ${t.object}) [${t.scope}, confidence ${t.confidence}, ${t.createdAt.slice(0, 10)}]`);
|
|
302
|
+
return { output: `${triples.length} fact(s):\n${lines.join('\n')}`, isError: false };
|
|
303
|
+
}
|
|
304
|
+
catch (e) {
|
|
305
|
+
return { output: `Error querying: ${e instanceof Error ? e.message : e}`, isError: true };
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
};
|
|
309
|
+
// Convenience export for the tool registry
|
|
310
|
+
export const MEMORY_TOOLS = [
|
|
311
|
+
MemorySearchTool,
|
|
312
|
+
MemoryRecallTool,
|
|
313
|
+
MemoryAddTool,
|
|
314
|
+
MemoryLinkTool,
|
|
315
|
+
MemoryListTool,
|
|
316
|
+
MemoryFactAddTool,
|
|
317
|
+
MemoryFactQueryTool,
|
|
318
|
+
];
|
|
319
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turn-boundary context cleanup.
|
|
3
|
+
*
|
|
4
|
+
* Background. The conversation history sent to the model grows as:
|
|
5
|
+
* [user, assistant(tool_calls), tool, assistant(tool_calls), tool, …,
|
|
6
|
+
* assistant(final text), user, assistant(tool_calls), tool, …]
|
|
7
|
+
*
|
|
8
|
+
* Once a turn is *complete* (assistant returned text with no tool_calls),
|
|
9
|
+
* the in-progress scaffolding from that turn — the assistant messages
|
|
10
|
+
* carrying tool_calls and the tool-result messages — is no longer
|
|
11
|
+
* actionable. But it still LOOKS actionable to a weaker model: it sees
|
|
12
|
+
* "tool_calls" entries and treats them as pending TODOs, which is why
|
|
13
|
+
* owl-alpha kept re-writing the same poem on every new user turn:
|
|
14
|
+
*
|
|
15
|
+
* turn 1 user: "write a poem"
|
|
16
|
+
* ... model writes poem ...
|
|
17
|
+
* turn 2 user: "find a github repo for X"
|
|
18
|
+
* model: "I'll handle BOTH requests" (because it still sees the
|
|
19
|
+
* poem's tool_calls scaffolding as if it hadn't run)
|
|
20
|
+
* turn 3 user: "research further"
|
|
21
|
+
* model: "I'll handle all THREE requests" ← infinite re-execution
|
|
22
|
+
*
|
|
23
|
+
* Fix. Before each new turn, walk back through history. For every
|
|
24
|
+
* COMPLETED turn (any turn before the latest user message), collapse the
|
|
25
|
+
* [user, ...intermediate scaffolding..., final assistant text] sequence
|
|
26
|
+
* into [user, "final assistant text + [Completed: used X, Y]"]. The model
|
|
27
|
+
* sees a clean conversational record of what already happened, with no
|
|
28
|
+
* dangling tool_calls signals to misinterpret.
|
|
29
|
+
*
|
|
30
|
+
* The currently-active turn (everything from the latest user message
|
|
31
|
+
* forward) is left untouched — its tool_calls and tool-result messages
|
|
32
|
+
* are still in-flight and the API protocol requires them paired.
|
|
33
|
+
*/
|
|
34
|
+
import type { Message } from './types.js';
|
|
35
|
+
/**
|
|
36
|
+
* Collapse all completed turns in a message list. Returns a new array;
|
|
37
|
+
* input is not mutated.
|
|
38
|
+
*
|
|
39
|
+
* A completed turn is any turn ENDING before the latest user message.
|
|
40
|
+
* The latest user message and everything after it is the "active turn"
|
|
41
|
+
* and is passed through unchanged.
|
|
42
|
+
*/
|
|
43
|
+
export declare function collapseCompletedTurns(messages: Message[]): Message[];
|