@qduc/term2 0.28.0 → 0.29.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/agent.d.ts +2 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +8 -2
- package/dist/agent.js.map +1 -1
- package/dist/app.js +1 -1
- package/dist/app.js.map +1 -1
- package/dist/build-info.json +3 -3
- package/dist/cli.js +7 -5
- package/dist/cli.js.map +1 -1
- package/dist/components/layout/Banner.d.ts +7 -0
- package/dist/components/layout/Banner.d.ts.map +1 -1
- package/dist/components/layout/Banner.js +23 -3
- package/dist/components/layout/Banner.js.map +1 -1
- package/dist/components/menu/settings-value-formatter.d.ts.map +1 -1
- package/dist/components/menu/settings-value-formatter.js +1 -6
- package/dist/components/menu/settings-value-formatter.js.map +1 -1
- package/dist/contracts/streamed-model-turn.d.ts +8 -0
- package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
- package/dist/contracts/streamed-model-turn.js +7 -1
- package/dist/contracts/streamed-model-turn.js.map +1 -1
- package/dist/gateway/gateway.d.ts.map +1 -1
- package/dist/gateway/gateway.js +5 -0
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/hooks/settings-completion-config.d.ts.map +1 -1
- package/dist/hooks/settings-completion-config.js +0 -1
- package/dist/hooks/settings-completion-config.js.map +1 -1
- package/dist/hooks/use-conversation.d.ts +1 -1
- package/dist/hooks/use-conversation.d.ts.map +1 -1
- package/dist/hooks/use-conversation.js +1 -1
- package/dist/hooks/use-conversation.js.map +1 -1
- package/dist/lib/agent-client.d.ts +1 -4
- package/dist/lib/agent-client.d.ts.map +1 -1
- package/dist/lib/agent-client.js +3 -18
- package/dist/lib/agent-client.js.map +1 -1
- package/dist/lib/agent-configuration.d.ts +2 -0
- package/dist/lib/agent-configuration.d.ts.map +1 -1
- package/dist/lib/agent-configuration.js +11 -1
- package/dist/lib/agent-configuration.js.map +1 -1
- package/dist/lib/agent-factory.d.ts +1 -0
- package/dist/lib/agent-factory.d.ts.map +1 -1
- package/dist/lib/agent-factory.js +1 -0
- package/dist/lib/agent-factory.js.map +1 -1
- package/dist/prompts/explorer-delegation-contract.test.ts +1 -1
- package/dist/prompts/{gpt-5.6.md → gpt.md} +13 -1
- package/dist/prompts/prompt-constructor.d.ts +14 -3
- package/dist/prompts/prompt-constructor.d.ts.map +1 -1
- package/dist/prompts/prompt-constructor.js +4 -5
- package/dist/prompts/prompt-constructor.js.map +1 -1
- package/dist/prompts/prompt-constructor.test.ts +82 -114
- package/dist/prompts/prompt-constructor.ts +14 -8
- package/dist/prompts/prompt-profiles.d.ts.map +1 -1
- package/dist/prompts/prompt-profiles.js +3 -39
- package/dist/prompts/prompt-profiles.js.map +1 -1
- package/dist/prompts/prompt-profiles.ts +3 -40
- package/dist/prompts/tool-surface-guidance.d.ts +2 -1
- package/dist/prompts/tool-surface-guidance.d.ts.map +1 -1
- package/dist/prompts/tool-surface-guidance.js +22 -9
- package/dist/prompts/tool-surface-guidance.js.map +1 -1
- package/dist/prompts/tool-surface-guidance.ts +26 -8
- package/dist/prompts/unified-gpt-prompt.test.ts +53 -0
- package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
- package/dist/providers/ai-sdk-streamed-model.js +15 -6
- package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
- package/dist/providers/codex-responses-model.js +2 -2
- package/dist/providers/codex-responses-model.js.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.d.ts +145 -89
- package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
- package/dist/providers/model-catalog/catalog.generated.js +145 -89
- package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
- package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -1
- package/dist/providers/model-catalog/generate-catalog.js +18 -1
- package/dist/providers/model-catalog/generate-catalog.js.map +1 -1
- package/dist/providers/openai-responses-model.d.ts +2 -0
- package/dist/providers/openai-responses-model.d.ts.map +1 -1
- package/dist/providers/openai-responses-model.js +9 -1
- package/dist/providers/openai-responses-model.js.map +1 -1
- package/dist/scripts/eval-gpt6-prompts.js +60 -25
- package/dist/scripts/eval-gpt6-prompts.js.map +1 -1
- package/dist/scripts/gpt6-probe-tools.d.ts +4 -0
- package/dist/scripts/gpt6-probe-tools.d.ts.map +1 -0
- package/dist/scripts/gpt6-probe-tools.js +43 -0
- package/dist/scripts/gpt6-probe-tools.js.map +1 -0
- package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
- package/dist/services/agent-runtime/application-run-loop.js +14 -4
- package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts +1 -1
- package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
- package/dist/services/conversation/conversation-adapter.js +3 -5
- package/dist/services/conversation/conversation-adapter.js.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
- package/dist/services/conversation/conversation-orchestrator.js +59 -3
- package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
- package/dist/services/conversation-agent-client.d.ts +2 -4
- package/dist/services/conversation-agent-client.d.ts.map +1 -1
- package/dist/services/memory/memory-capabilities.d.ts +2 -20
- package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
- package/dist/services/memory/memory-capabilities.js +23 -174
- package/dist/services/memory/memory-capabilities.js.map +1 -1
- package/dist/services/memory/memory-store.d.ts +5 -2
- package/dist/services/memory/memory-store.d.ts.map +1 -1
- package/dist/services/memory/memory-store.js +18 -13
- package/dist/services/memory/memory-store.js.map +1 -1
- package/dist/services/sandboxed-code-host/host-types.d.ts +4 -2
- package/dist/services/sandboxed-code-host/host-types.d.ts.map +1 -1
- package/dist/services/sandboxed-code-host/host-types.js.map +1 -1
- package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -1
- package/dist/services/sandboxed-code-host/host-worker.js +6 -3
- package/dist/services/sandboxed-code-host/host-worker.js.map +1 -1
- package/dist/services/session/session-composition.d.ts.map +1 -1
- package/dist/services/session/session-composition.js +1 -0
- package/dist/services/session/session-composition.js.map +1 -1
- package/dist/services/session/turn-attempt-factory.d.ts +0 -2
- package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
- package/dist/services/session/turn-attempt-factory.js.map +1 -1
- package/dist/services/session/turn-attempt.d.ts +0 -5
- package/dist/services/session/turn-attempt.d.ts.map +1 -1
- package/dist/services/session/turn-attempt.js +0 -9
- package/dist/services/session/turn-attempt.js.map +1 -1
- package/dist/services/session/turn-coordinator.d.ts +2 -1
- package/dist/services/session/turn-coordinator.d.ts.map +1 -1
- package/dist/services/session/turn-coordinator.js +1 -1
- package/dist/services/session/turn-coordinator.js.map +1 -1
- package/dist/services/session/turn-workflow.d.ts.map +1 -1
- package/dist/services/session/turn-workflow.js +0 -53
- package/dist/services/session/turn-workflow.js.map +1 -1
- package/dist/services/settings/settings-schema.d.ts +0 -4
- package/dist/services/settings/settings-schema.d.ts.map +1 -1
- package/dist/services/settings/settings-schema.js +0 -4
- package/dist/services/settings/settings-schema.js.map +1 -1
- package/dist/services/settings/settings-sources.d.ts +0 -1
- package/dist/services/settings/settings-sources.d.ts.map +1 -1
- package/dist/services/settings/settings-sources.js +0 -1
- package/dist/services/settings/settings-sources.js.map +1 -1
- package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -1
- package/dist/services/settings/settings-ui-metadata.js +0 -1
- package/dist/services/settings/settings-ui-metadata.js.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js +0 -1
- package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
- package/dist/tools/file/apply-patch.d.ts.map +1 -1
- package/dist/tools/file/apply-patch.js +10 -2
- package/dist/tools/file/apply-patch.js.map +1 -1
- package/dist/tools/file/grep.d.ts.map +1 -1
- package/dist/tools/file/grep.js +5 -1
- package/dist/tools/file/grep.js.map +1 -1
- package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -1
- package/dist/tools/file/upstream-apply-patch.js +17 -4
- package/dist/tools/file/upstream-apply-patch.js.map +1 -1
- package/dist/tools/system/run-code/run-code-runtime.d.ts +2 -0
- package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
- package/dist/tools/system/run-code/run-code-runtime.js +47 -3
- package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
- package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
- package/dist/tools/system/run-code/run-code.js +12 -0
- package/dist/tools/system/run-code/run-code.js.map +1 -1
- package/dist/tools/system/shell.d.ts +0 -2
- package/dist/tools/system/shell.d.ts.map +1 -1
- package/dist/tools/system/shell.js +2 -22
- package/dist/tools/system/shell.js.map +1 -1
- package/dist/types/user-turn.d.ts +0 -6
- package/dist/types/user-turn.d.ts.map +1 -1
- package/dist/types/user-turn.js +0 -1
- package/dist/types/user-turn.js.map +1 -1
- package/dist/utils/shell/execute-shell.js +3 -0
- package/dist/utils/shell/execute-shell.js.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
- package/dist/utils/shell/sandbox/sandbox-policy.js +0 -4
- package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
- package/dist/utils/value-suggestions.d.ts.map +1 -1
- package/dist/utils/value-suggestions.js +0 -4
- package/dist/utils/value-suggestions.js.map +1 -1
- package/package.json +1 -1
- package/dist/prompts/codex.md +0 -104
- package/dist/prompts/fragments/gpt-6.md +0 -13
- package/dist/prompts/gpt-5-modern.md +0 -114
- package/dist/prompts/gpt-5.4-mini.md +0 -111
- package/dist/prompts/gpt-5.5.md +0 -108
- package/dist/prompts/memory.md +0 -9
- package/dist/services/rtk-service.d.ts +0 -23
- package/dist/services/rtk-service.d.ts.map +0 -1
- package/dist/services/rtk-service.js +0 -251
- package/dist/services/rtk-service.js.map +0 -1
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
import { FileMemoryStore } from './memory-store.js';
|
|
2
|
-
import { rankMemorySearchResults } from './memory-search.js';
|
|
3
2
|
import { createMemoryToolDefinitions } from '../../tools/memory/memory-tools.js';
|
|
4
3
|
import { createHash } from 'node:crypto';
|
|
5
4
|
import { projectScopeKey } from '../../utils/project-scope.js';
|
|
6
5
|
import path from 'node:path';
|
|
7
|
-
import { MEMORY_RECALL_OVERHEAD, recallKey, renderMemoryRecall, renderRecallLine, } from '../../prompts/memory-recall-notice.js';
|
|
8
6
|
const READ_TOOL_COUNT = 4;
|
|
9
|
-
|
|
10
|
-
* Per-turn recall now stays in history, so every recalled line is paid for on
|
|
11
|
-
* every later request of the session. Keep it to the few best matches.
|
|
12
|
-
*/
|
|
13
|
-
const TURN_RECALL_MAX_MEMORIES = 3;
|
|
14
|
-
const TURN_RECALL_MAX_CHARS = 1500;
|
|
7
|
+
const GLOBAL_CONTEXT_BUDGET_CHARS = 3000;
|
|
15
8
|
const MAIN_GUIDANCE = `### Persistent memory
|
|
16
9
|
|
|
17
|
-
You have access to persistent memory.
|
|
10
|
+
You have access to persistent memory. {{GLOBAL_LOOKUP}} Treat summaries as leads, not authoritative facts.
|
|
18
11
|
|
|
19
|
-
Memory has two scopes: global for cross-project preferences
|
|
12
|
+
Memory has two scopes: global for cross-project user preferences, and project for all other durable memories. Read tools (memory_list, memory_get, memory_search, memory_retrieve) operate across both scopes together. Only the write tools (memory_create, memory_update, memory_delete) take a scope parameter and require it, so explicitly pass scope: "project" when writing project memory.
|
|
20
13
|
|
|
21
14
|
When you encounter uncertainty about prior conversations, user preferences, project decisions, or established conventions, retrieve relevant memories before making assumptions. Prefer memory_retrieve for ordinary retrieval: it returns complete ranked memories that fit and reports omissions. Use memory_search to inspect ranked metadata and excerpts, then memory_get for a specific memory; repeat memory_get with its cursor when a large memory is paged. Retrieve memory when it could materially improve correctness or avoid repeating work — not mechanically.
|
|
22
15
|
|
|
@@ -24,14 +17,14 @@ After reading a memory, treat it as normal context for the remainder of the task
|
|
|
24
17
|
|
|
25
18
|
Use memory_retrieve for one focused lookup. When the task depends on several memories, terminology may vary, or prior decisions may conflict or be stale, run memory_retrieve with several distinct search angles and synthesize the returned evidence in your own reasoning.
|
|
26
19
|
|
|
27
|
-
|
|
20
|
+
Create or update memory only for a durable user preference, correction, or decision the user actually stated (quote or closely paraphrase it and note the date), or an operational lesson that cannot be derived from repo docs or git history. Never store progress snapshots, milestone/status updates, commit or implementation summaries, or facts already recorded in repo docs or git. Before creating, check for an existing memory and update it instead. Use global scope only for cross-project user preferences; everything else is project scope.
|
|
28
21
|
|
|
29
22
|
Validate any memory proposals from subagents before acting on them. Persist only durable, useful information, and merge or update an existing memory rather than creating a duplicate when appropriate. Do not store temporary task state, intermediate reasoning, ordinary conversation details, duplicates, secrets, or sensitive data unless the user explicitly requests persistence.`;
|
|
30
23
|
const SUBAGENT_GUIDANCE = `### Persistent memory
|
|
31
24
|
|
|
32
25
|
You can read persistent memory from previous sessions, but cannot change it. No index is injected into your context; use memory_search and memory_get on demand.
|
|
33
26
|
|
|
34
|
-
Memory has global and project scopes.
|
|
27
|
+
Memory has global and project scopes. Global holds cross-project user preferences; project holds other durable memories. Read tools (memory_list, memory_get, memory_search, memory_retrieve) operate across both scopes together.
|
|
35
28
|
|
|
36
29
|
When you encounter uncertainty about prior context, user preferences, or project decisions, consider searching memory before making assumptions. memory_retrieve returns complete ranked memories that fit; use memory_search and cursor-paged memory_get when you need to inspect an omitted or large memory. Retrieve memory when it could materially improve correctness or avoid repeating work.
|
|
37
30
|
|
|
@@ -47,70 +40,7 @@ For **context retrieval** tasks, search memory from multiple angles, read full c
|
|
|
47
40
|
For **memory maintenance** tasks, review the memory store and existing memories, identify duplication and conflict, and recommend whether to create, update, merge, retain, or delete memory items. Present your recommendations as a reviewable proposal with clear rationale before executing any mutation. Only perform mutations through memory_create, memory_update, or memory_delete when the task explicitly asks you to apply the recommendations.
|
|
48
41
|
|
|
49
42
|
Always cite source memory IDs so the caller can trace claims to their sources. Treat all memory as potentially stale. Never fabricate memory content. Do not store temporary task state, intermediate reasoning, or sensitive data.`;
|
|
50
|
-
|
|
51
|
-
'the',
|
|
52
|
-
'can',
|
|
53
|
-
'we',
|
|
54
|
-
'were',
|
|
55
|
-
'doing',
|
|
56
|
-
'these',
|
|
57
|
-
'those',
|
|
58
|
-
'refine',
|
|
59
|
-
'feature',
|
|
60
|
-
'memory',
|
|
61
|
-
'memories',
|
|
62
|
-
'session',
|
|
63
|
-
'project',
|
|
64
|
-
'did',
|
|
65
|
-
'it',
|
|
66
|
-
'decide',
|
|
67
|
-
'decision',
|
|
68
|
-
'see',
|
|
69
|
-
'message',
|
|
70
|
-
'little',
|
|
71
|
-
'noisy',
|
|
72
|
-
'fix',
|
|
73
|
-
'please',
|
|
74
|
-
'help',
|
|
75
|
-
'show',
|
|
76
|
-
'tell',
|
|
77
|
-
'know',
|
|
78
|
-
'remember',
|
|
79
|
-
'and',
|
|
80
|
-
'for',
|
|
81
|
-
'are',
|
|
82
|
-
'was',
|
|
83
|
-
'with',
|
|
84
|
-
'from',
|
|
85
|
-
'this',
|
|
86
|
-
'that',
|
|
87
|
-
'what',
|
|
88
|
-
'when',
|
|
89
|
-
'where',
|
|
90
|
-
'which',
|
|
91
|
-
'should',
|
|
92
|
-
'would',
|
|
93
|
-
'could',
|
|
94
|
-
'have',
|
|
95
|
-
'about',
|
|
96
|
-
'into',
|
|
97
|
-
'back',
|
|
98
|
-
'how',
|
|
99
|
-
'why',
|
|
100
|
-
'our',
|
|
101
|
-
'your',
|
|
102
|
-
'you',
|
|
103
|
-
'they',
|
|
104
|
-
'them',
|
|
105
|
-
'its',
|
|
106
|
-
'not',
|
|
107
|
-
]);
|
|
108
|
-
function retrievalQuery(text) {
|
|
109
|
-
return [...new Set((text.toLowerCase().match(/[a-z0-9]{3,}/g) ?? []).filter((term) => !QUERY_STOP_WORDS.has(term)))]
|
|
110
|
-
.slice(0, 24)
|
|
111
|
-
.join(' ');
|
|
112
|
-
}
|
|
113
|
-
/** Resolves role-specific memory authority and the bounded root-turn working set. */
|
|
43
|
+
/** Resolves role-specific memory authority and the bounded session-start global index. */
|
|
114
44
|
export class MemoryCapabilityBuilder {
|
|
115
45
|
#settings;
|
|
116
46
|
#onWarning;
|
|
@@ -118,74 +48,6 @@ export class MemoryCapabilityBuilder {
|
|
|
118
48
|
this.#settings = settings;
|
|
119
49
|
this.#onWarning = options.onWarning ?? (() => { });
|
|
120
50
|
}
|
|
121
|
-
/** A per-turn, summary-only working set; search tools remain authoritative. */
|
|
122
|
-
async contextForTurn(query, options = {}) {
|
|
123
|
-
return (await this.selectForTurn(query, options)).text;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* The recall block for one user turn. `exclude` holds `recallKey`s already
|
|
127
|
-
* recalled into this conversation, so a memory is sent at most once.
|
|
128
|
-
*/
|
|
129
|
-
async selectForTurn(query, options = {}) {
|
|
130
|
-
const empty = () => ({ text: '', memories: [] });
|
|
131
|
-
if (!this.#settings.get('memory.enabled'))
|
|
132
|
-
return empty();
|
|
133
|
-
const terms = retrievalQuery(query);
|
|
134
|
-
if (!terms)
|
|
135
|
-
return empty();
|
|
136
|
-
const queryWords = terms.split(' ');
|
|
137
|
-
const budget = Math.min(this.#settings.get('memory.contextBudgetChars'), TURN_RECALL_MAX_CHARS);
|
|
138
|
-
try {
|
|
139
|
-
const stores = this.#createStores({
|
|
140
|
-
enabled: true,
|
|
141
|
-
directory: this.#settings.get('memory.directory'),
|
|
142
|
-
contextBudgetChars: budget,
|
|
143
|
-
searchDefaultLimit: this.#settings.get('memory.searchDefaultLimit'),
|
|
144
|
-
searchMaxLimit: this.#settings.get('memory.searchMaxLimit'),
|
|
145
|
-
}, options.projectPath ?? process.cwd());
|
|
146
|
-
// Search wide: already-recalled memories are filtered out after ranking and
|
|
147
|
-
// must not use up the result window.
|
|
148
|
-
const limit = this.#settings.get('memory.searchMaxLimit');
|
|
149
|
-
const [global, project] = await Promise.all([
|
|
150
|
-
stores.global.search(terms, { limit }),
|
|
151
|
-
stores.project.search(terms, { limit }),
|
|
152
|
-
]);
|
|
153
|
-
// A content-only hit has no relevant summary to show as turn guidance.
|
|
154
|
-
const ranked = rankMemorySearchResults([
|
|
155
|
-
...global.map((result) => ({ ...result, scope: 'global' })),
|
|
156
|
-
...project.map((result) => ({ ...result, scope: 'project' })),
|
|
157
|
-
]).filter(({ scope, memory }) => {
|
|
158
|
-
// Require evidence in the injected metadata, not a substring hit in full content.
|
|
159
|
-
// Known conversational padding cannot make a topical match more or less eligible.
|
|
160
|
-
// Ambiguous follow-ups can still use memory tools instead of a guessed summary.
|
|
161
|
-
const words = new Set([memory.id, memory.title, ...memory.tags, memory.summary]
|
|
162
|
-
.join(' ')
|
|
163
|
-
.toLowerCase()
|
|
164
|
-
.match(/[a-z0-9]+/g) ?? []);
|
|
165
|
-
return queryWords.some((word) => words.has(word)) && !options.exclude?.has(recallKey(scope, memory.id));
|
|
166
|
-
});
|
|
167
|
-
let used = MEMORY_RECALL_OVERHEAD;
|
|
168
|
-
const lines = [];
|
|
169
|
-
const memories = [];
|
|
170
|
-
for (const { scope, memory } of ranked) {
|
|
171
|
-
if (memories.length >= TURN_RECALL_MAX_MEMORIES)
|
|
172
|
-
break;
|
|
173
|
-
const title = memory.title.slice(0, 120);
|
|
174
|
-
const line = renderRecallLine({ scope, id: memory.id, title, summary: memory.summary });
|
|
175
|
-
if (used + line.length + 1 <= budget) {
|
|
176
|
-
used += line.length + 1;
|
|
177
|
-
lines.push(line);
|
|
178
|
-
memories.push({ scope, id: memory.id, title });
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
return memories.length ? { text: renderMemoryRecall(lines), memories, queryTerms: terms } : empty();
|
|
182
|
-
}
|
|
183
|
-
catch (error) {
|
|
184
|
-
const detail = error instanceof Error ? error.message : String(error);
|
|
185
|
-
this.#onWarning(`Persistent memory retrieval could not be loaded: ${detail}`);
|
|
186
|
-
return empty();
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
51
|
build(subject, options = {}) {
|
|
190
52
|
const access = this.#accessFor(subject);
|
|
191
53
|
const enabled = this.#settings.get('memory.enabled');
|
|
@@ -203,38 +65,23 @@ export class MemoryCapabilityBuilder {
|
|
|
203
65
|
const tools = createMemoryToolDefinitions(stores, { settingsService: this.#settings });
|
|
204
66
|
let context = '';
|
|
205
67
|
if (subject.kind === 'main' && access === 'write' && options.includeContext !== false) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
const projectFirst = stores.project.contextSync(projectBudget);
|
|
219
|
-
const slack = (text, budget) => (text.length < budget ? budget - text.length : 0);
|
|
220
|
-
const globalContext = stores.global.contextSync(globalBudget + slack(projectFirst, projectBudget));
|
|
221
|
-
const projectContext = stores.project.contextSync(projectBudget + slack(globalFirst, globalBudget));
|
|
222
|
-
context = [
|
|
223
|
-
globalContext && `Global scope:\n${globalContext}`,
|
|
224
|
-
projectContext && `Project scope:\n${projectContext}`,
|
|
225
|
-
]
|
|
226
|
-
.filter(Boolean)
|
|
227
|
-
.join('\n\n');
|
|
228
|
-
}
|
|
229
|
-
catch (error) {
|
|
230
|
-
const detail = error instanceof Error ? error.message : 'unknown storage error';
|
|
231
|
-
this.#onWarning(`Persistent memory context could not be loaded: ${detail}`);
|
|
232
|
-
}
|
|
68
|
+
const read = () => {
|
|
69
|
+
try {
|
|
70
|
+
const budget = Math.min(settings.contextBudgetChars, GLOBAL_CONTEXT_BUDGET_CHARS);
|
|
71
|
+
return budget > 0 ? stores.global.contextSync(budget, { pinnedGlobal: true }) : '';
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
const detail = error instanceof Error ? error.message : 'unknown storage error';
|
|
75
|
+
this.#onWarning(`Persistent memory context could not be loaded: ${detail}`);
|
|
76
|
+
return '';
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
context = options.snapshotGlobalContext ? options.snapshotGlobalContext(read) : read();
|
|
233
80
|
}
|
|
234
81
|
return {
|
|
235
82
|
access,
|
|
236
83
|
tools: access === 'read' ? tools.slice(0, READ_TOOL_COUNT) : tools,
|
|
237
|
-
guidance: this.#guidanceFor(subject),
|
|
84
|
+
guidance: this.#guidanceFor(subject, Boolean(context)),
|
|
238
85
|
// Subagents (including the librarian) search on demand.
|
|
239
86
|
context,
|
|
240
87
|
};
|
|
@@ -246,9 +93,11 @@ export class MemoryCapabilityBuilder {
|
|
|
246
93
|
return 'write';
|
|
247
94
|
return ['explorer', 'worker'].includes(subject.role) ? 'read' : 'none';
|
|
248
95
|
}
|
|
249
|
-
#guidanceFor(subject) {
|
|
96
|
+
#guidanceFor(subject, hasGlobalContext) {
|
|
250
97
|
if (subject.kind === 'main')
|
|
251
|
-
return MAIN_GUIDANCE
|
|
98
|
+
return MAIN_GUIDANCE.replace('{{GLOBAL_LOOKUP}}', hasGlobalContext
|
|
99
|
+
? 'Global memories are listed in your instructions; do not fetch them unless you need their history or full body. Search or retrieve project memories when relevant.'
|
|
100
|
+
: 'No global index is included in your instructions. Search or retrieve global and project memories when relevant.');
|
|
252
101
|
if (subject.role === 'librarian')
|
|
253
102
|
return LIBRARIAN_GUIDANCE;
|
|
254
103
|
return SUBAGENT_GUIDANCE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-capabilities.js","sourceRoot":"","sources":["../../../source/services/memory/memory-capabilities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"memory-capabilities.js","sourceRoot":"","sources":["../../../source/services/memory/memory-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,9 @@ export declare class MemoryAlreadyExistsError extends Error {
|
|
|
76
76
|
export declare class MemoryStorageError extends Error {
|
|
77
77
|
constructor(message: string);
|
|
78
78
|
}
|
|
79
|
+
export type MemoryIndexRenderOptions = {
|
|
80
|
+
pinnedGlobal?: boolean;
|
|
81
|
+
};
|
|
79
82
|
export type MemoryIndexRender = {
|
|
80
83
|
text: string;
|
|
81
84
|
total: number;
|
|
@@ -116,8 +119,8 @@ export declare class FileMemoryStore implements MemoryStore {
|
|
|
116
119
|
sessionId?: string;
|
|
117
120
|
}): Promise<Memory>;
|
|
118
121
|
remove(id: MemoryId): Promise<boolean>;
|
|
119
|
-
context(budgetChars: number): Promise<string>;
|
|
120
|
-
contextSync(budgetChars: number): string;
|
|
122
|
+
context(budgetChars: number, options?: MemoryIndexRenderOptions): Promise<string>;
|
|
123
|
+
contextSync(budgetChars: number, options?: MemoryIndexRenderOptions): string;
|
|
121
124
|
private itemPath;
|
|
122
125
|
private historyPath;
|
|
123
126
|
private load;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../../source/services/memory/memory-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../../source/services/memory/memory-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ const TITLE_RENDER_CAP = 120;
|
|
|
45
45
|
* the status line, and nothing is dropped silently: unlisted memories are
|
|
46
46
|
* counted and pointed at the retrieval tools.
|
|
47
47
|
*/
|
|
48
|
-
function renderMemoryIndex(memories, budgetChars) {
|
|
48
|
+
function renderMemoryIndex(memories, budgetChars, options = {}) {
|
|
49
49
|
if (!memories.length)
|
|
50
50
|
return { text: '', total: 0, summarized: 0, titleOnly: 0, notListed: 0 };
|
|
51
51
|
const sorted = [...memories].sort(byRecent);
|
|
@@ -60,16 +60,21 @@ function renderMemoryIndex(memories, budgetChars) {
|
|
|
60
60
|
titlePrefix.push(titlePrefix[index] + titleLines[index].length);
|
|
61
61
|
summaryPrefix.push(summaryPrefix[index] + SUMMARY_EXTENSION.length + sorted[index].summary.length);
|
|
62
62
|
}
|
|
63
|
-
const
|
|
63
|
+
const header = options.pinnedGlobal ? '### Global memories\n\n' : INDEX_HEADER;
|
|
64
|
+
const hint = options.pinnedGlobal ? '' : ` ${INDEX_RETRIEVAL_HINT}`;
|
|
65
|
+
const pointer = (count) => count > 0
|
|
66
|
+
? options.pinnedGlobal
|
|
67
|
+
? `+ ${count} more global memories exist; find them with memory_search.\n`
|
|
68
|
+
: `+ ${count} not listed — memory_list or memory_search for the full index.\n`
|
|
69
|
+
: '';
|
|
64
70
|
for (let listed = total; listed >= 1; listed -= 1) {
|
|
65
71
|
const notListed = total - listed;
|
|
66
72
|
const pointerLine = pointer(notListed);
|
|
67
73
|
for (let summarized = listed; summarized >= 0; summarized -= 1) {
|
|
68
74
|
const titleOnly = listed - summarized;
|
|
69
|
-
const status = `${total} memories · ${summarized} summarized · ${titleOnly} title-only · ${notListed} not listed
|
|
70
|
-
`${INDEX_RETRIEVAL_HINT}\n\n`;
|
|
75
|
+
const status = `${total} memories · ${summarized} summarized · ${titleOnly} title-only · ${notListed} not listed.${hint}\n\n`;
|
|
71
76
|
const divider = summarized > 0 && titleOnly > 0 ? INDEX_DIVIDER : '';
|
|
72
|
-
const length =
|
|
77
|
+
const length = header.length +
|
|
73
78
|
status.length +
|
|
74
79
|
titlePrefix[listed] +
|
|
75
80
|
summaryPrefix[summarized] +
|
|
@@ -82,7 +87,7 @@ function renderMemoryIndex(memories, budgetChars) {
|
|
|
82
87
|
.map((line, index) => index < summarized ? `${line.slice(0, -1)}${SUMMARY_EXTENSION}${sorted[index].summary}\n` : line)
|
|
83
88
|
.join('');
|
|
84
89
|
return {
|
|
85
|
-
text: `${
|
|
90
|
+
text: `${header}${status}${body}${divider}${pointerLine}`,
|
|
86
91
|
total,
|
|
87
92
|
summarized,
|
|
88
93
|
titleOnly,
|
|
@@ -90,10 +95,10 @@ function renderMemoryIndex(memories, budgetChars) {
|
|
|
90
95
|
};
|
|
91
96
|
}
|
|
92
97
|
}
|
|
93
|
-
// No entry fits.
|
|
98
|
+
// No entry fits. Show counted omissions only if even the floor fits.
|
|
94
99
|
const notListed = total;
|
|
95
|
-
const floor = `${
|
|
96
|
-
return { text: floor, total, summarized: 0, titleOnly: 0, notListed: total };
|
|
100
|
+
const floor = `${header}${total} memories · 0 summarized · 0 title-only · ${notListed} not listed.${hint}\n\n${pointer(notListed)}`;
|
|
101
|
+
return { text: floor.length <= budgetChars ? floor : '', total, summarized: 0, titleOnly: 0, notListed: total };
|
|
97
102
|
}
|
|
98
103
|
const SUMMARY_EXTENSION = ' — ';
|
|
99
104
|
const INDEX_DIVIDER = '— older entries, titles only —\n';
|
|
@@ -297,10 +302,10 @@ export class FileMemoryStore {
|
|
|
297
302
|
return true;
|
|
298
303
|
});
|
|
299
304
|
}
|
|
300
|
-
async context(budgetChars) {
|
|
301
|
-
return renderMemoryIndex([...(await this.load()).memories], budgetChars).text;
|
|
305
|
+
async context(budgetChars, options) {
|
|
306
|
+
return renderMemoryIndex([...(await this.load()).memories], budgetChars, options).text;
|
|
302
307
|
}
|
|
303
|
-
contextSync(budgetChars) {
|
|
308
|
+
contextSync(budgetChars, options) {
|
|
304
309
|
let index;
|
|
305
310
|
try {
|
|
306
311
|
index = validateIndex(JSON.parse(readFileSync(this.indexPath, 'utf8')));
|
|
@@ -310,7 +315,7 @@ export class FileMemoryStore {
|
|
|
310
315
|
return '';
|
|
311
316
|
throw new MemoryStorageError('Memory index.json is corrupted or unreadable.');
|
|
312
317
|
}
|
|
313
|
-
return renderMemoryIndex([...index.memories], budgetChars).text;
|
|
318
|
+
return renderMemoryIndex([...index.memories], budgetChars, options).text;
|
|
314
319
|
}
|
|
315
320
|
itemPath(id) {
|
|
316
321
|
validateId(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../../source/services/memory/memory-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../../source/services/memory/memory-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,10 +30,11 @@ export type HostResult = {
|
|
|
30
30
|
* the script rather than resolving to an error value.
|
|
31
31
|
*
|
|
32
32
|
* Only these two shapes exist, and both live verbatim in the worker template;
|
|
33
|
-
* generating a capability injects its
|
|
33
|
+
* generating a capability injects its name, member names, and host-constant
|
|
34
|
+
* hint strings, never code or host objects.
|
|
34
35
|
*/
|
|
35
36
|
export type CapabilityKind = 'factory' | 'namespace';
|
|
36
|
-
/**
|
|
37
|
+
/** Plain-data capability definition serialized into the worker template. */
|
|
37
38
|
export type CapabilityBinding = {
|
|
38
39
|
name: string;
|
|
39
40
|
kind: 'factory';
|
|
@@ -41,6 +42,7 @@ export type CapabilityBinding = {
|
|
|
41
42
|
name: string;
|
|
42
43
|
kind: 'namespace';
|
|
43
44
|
members: readonly string[];
|
|
45
|
+
unknownMemberHints?: Readonly<Record<string, string>>;
|
|
44
46
|
};
|
|
45
47
|
/** A call that passed `prepare` and is waiting to be invoked. */
|
|
46
48
|
export interface CapabilityCallContext {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-types.d.ts","sourceRoot":"","sources":["../../../source/services/sandboxed-code-host/host-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAE7E,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,eAAe,GACf,SAAS,GACT,UAAU,GACV,WAAW,GACX,gBAAgB,GAChB,mBAAmB,GACnB,qBAAqB,GACrB,gBAAgB,GAChB,gBAAgB,CAAC;AAErB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,MAAM,CAAC,EAAE,0BAA0B,GAAG,cAAc,GAAG,qBAAqB,CAAC;CAC9E;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEjH
|
|
1
|
+
{"version":3,"file":"host-types.d.ts","sourceRoot":"","sources":["../../../source/services/sandboxed-code-host/host-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-types.js","sourceRoot":"","sources":["../../../source/services/sandboxed-code-host/host-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"host-types.js","sourceRoot":"","sources":["../../../source/services/sandboxed-code-host/host-types.ts"],"names":[],"mappings":"AAyJA,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAE,KAA2B,CAAC,IAAI,KAAK,QAAQ,IAAK,KAA2B,CAAC,IAAI,KAAK,MAAM,CAAC,CACjG,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-worker.d.ts","sourceRoot":"","sources":["../../../source/services/sandboxed-code-host/host-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"host-worker.d.ts","sourceRoot":"","sources":["../../../source/services/sandboxed-code-host/host-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AA8czD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,MAAM,CAEhF"}
|
|
@@ -282,7 +282,7 @@ function installContextBindings() {
|
|
|
282
282
|
function factoryBinding(name) {
|
|
283
283
|
return (config) => Object.freeze({ run(input) { return call(name, { config, input }).promise; } });
|
|
284
284
|
}
|
|
285
|
-
function namespaceBinding(name, members) {
|
|
285
|
+
function namespaceBinding(name, members, unknownMemberHints) {
|
|
286
286
|
const namespace = Object.create(null);
|
|
287
287
|
for (const member of members) {
|
|
288
288
|
const callable = (params) => {
|
|
@@ -316,7 +316,10 @@ function installContextBindings() {
|
|
|
316
316
|
get(target, prop) {
|
|
317
317
|
if (prop in target) return target[prop];
|
|
318
318
|
if (typeof prop === 'string') {
|
|
319
|
-
const
|
|
319
|
+
const hint = unknownMemberHints && Object.prototype.hasOwnProperty.call(unknownMemberHints, prop)
|
|
320
|
+
? '. ' + unknownMemberHints[prop]
|
|
321
|
+
: '';
|
|
322
|
+
const unknown = new Error('Unknown tool "' + prop + '". Available: ' + members.join(', ') + hint);
|
|
320
323
|
unknown.code = 'unknown_tool';
|
|
321
324
|
throw unknown;
|
|
322
325
|
}
|
|
@@ -329,7 +332,7 @@ function installContextBindings() {
|
|
|
329
332
|
// Assignment gives the magic global __proto__ name prototype-mutating
|
|
330
333
|
// semantics. Define an own data property for every capability name.
|
|
331
334
|
Object.defineProperty(globalThis, capability.name, {
|
|
332
|
-
value: capability.kind === 'namespace' ? namespaceBinding(capability.name, capability.members) : factoryBinding(capability.name),
|
|
335
|
+
value: capability.kind === 'namespace' ? namespaceBinding(capability.name, capability.members, capability.unknownMemberHints) : factoryBinding(capability.name),
|
|
333
336
|
configurable: true,
|
|
334
337
|
enumerable: true,
|
|
335
338
|
writable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-worker.js","sourceRoot":"","sources":["../../../source/services/sandboxed-code-host/host-worker.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"host-worker.js","sourceRoot":"","sources":["../../../source/services/sandboxed-code-host/host-worker.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAicjC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAsC;IACtE,OAAO,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrF,CAAC"}
|