@qduc/term2 0.28.0 → 0.29.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 (197) hide show
  1. package/dist/agent.d.ts +2 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +8 -2
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.js +1 -1
  6. package/dist/app.js.map +1 -1
  7. package/dist/build-info.json +2 -2
  8. package/dist/cli.js +7 -5
  9. package/dist/cli.js.map +1 -1
  10. package/dist/components/layout/Banner.d.ts +7 -0
  11. package/dist/components/layout/Banner.d.ts.map +1 -1
  12. package/dist/components/layout/Banner.js +23 -3
  13. package/dist/components/layout/Banner.js.map +1 -1
  14. package/dist/components/menu/settings-value-formatter.d.ts.map +1 -1
  15. package/dist/components/menu/settings-value-formatter.js +1 -6
  16. package/dist/components/menu/settings-value-formatter.js.map +1 -1
  17. package/dist/contracts/streamed-model-turn.d.ts +8 -0
  18. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  19. package/dist/contracts/streamed-model-turn.js +7 -1
  20. package/dist/contracts/streamed-model-turn.js.map +1 -1
  21. package/dist/gateway/gateway.d.ts.map +1 -1
  22. package/dist/gateway/gateway.js +5 -0
  23. package/dist/gateway/gateway.js.map +1 -1
  24. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  25. package/dist/hooks/settings-completion-config.js +0 -1
  26. package/dist/hooks/settings-completion-config.js.map +1 -1
  27. package/dist/hooks/use-conversation.d.ts +1 -1
  28. package/dist/hooks/use-conversation.d.ts.map +1 -1
  29. package/dist/hooks/use-conversation.js +1 -1
  30. package/dist/hooks/use-conversation.js.map +1 -1
  31. package/dist/lib/agent-client.d.ts +1 -4
  32. package/dist/lib/agent-client.d.ts.map +1 -1
  33. package/dist/lib/agent-client.js +3 -18
  34. package/dist/lib/agent-client.js.map +1 -1
  35. package/dist/lib/agent-configuration.d.ts +2 -0
  36. package/dist/lib/agent-configuration.d.ts.map +1 -1
  37. package/dist/lib/agent-configuration.js +11 -1
  38. package/dist/lib/agent-configuration.js.map +1 -1
  39. package/dist/lib/agent-factory.d.ts +1 -0
  40. package/dist/lib/agent-factory.d.ts.map +1 -1
  41. package/dist/lib/agent-factory.js +1 -0
  42. package/dist/lib/agent-factory.js.map +1 -1
  43. package/dist/prompts/explorer-delegation-contract.test.ts +1 -1
  44. package/dist/prompts/{gpt-5.6.md → gpt.md} +13 -1
  45. package/dist/prompts/prompt-constructor.d.ts +14 -3
  46. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  47. package/dist/prompts/prompt-constructor.js +4 -5
  48. package/dist/prompts/prompt-constructor.js.map +1 -1
  49. package/dist/prompts/prompt-constructor.test.ts +82 -114
  50. package/dist/prompts/prompt-constructor.ts +14 -8
  51. package/dist/prompts/prompt-profiles.d.ts.map +1 -1
  52. package/dist/prompts/prompt-profiles.js +3 -39
  53. package/dist/prompts/prompt-profiles.js.map +1 -1
  54. package/dist/prompts/prompt-profiles.ts +3 -40
  55. package/dist/prompts/tool-surface-guidance.d.ts +2 -1
  56. package/dist/prompts/tool-surface-guidance.d.ts.map +1 -1
  57. package/dist/prompts/tool-surface-guidance.js +22 -9
  58. package/dist/prompts/tool-surface-guidance.js.map +1 -1
  59. package/dist/prompts/tool-surface-guidance.ts +26 -8
  60. package/dist/prompts/unified-gpt-prompt.test.ts +53 -0
  61. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  62. package/dist/providers/ai-sdk-streamed-model.js +15 -6
  63. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  64. package/dist/providers/codex-responses-model.js +2 -2
  65. package/dist/providers/codex-responses-model.js.map +1 -1
  66. package/dist/providers/model-catalog/catalog.generated.d.ts +145 -89
  67. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  68. package/dist/providers/model-catalog/catalog.generated.js +145 -89
  69. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  70. package/dist/providers/model-catalog/generate-catalog.d.ts.map +1 -1
  71. package/dist/providers/model-catalog/generate-catalog.js +18 -1
  72. package/dist/providers/model-catalog/generate-catalog.js.map +1 -1
  73. package/dist/providers/openai-responses-model.d.ts +2 -0
  74. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  75. package/dist/providers/openai-responses-model.js +9 -1
  76. package/dist/providers/openai-responses-model.js.map +1 -1
  77. package/dist/scripts/eval-gpt6-prompts.js +60 -25
  78. package/dist/scripts/eval-gpt6-prompts.js.map +1 -1
  79. package/dist/scripts/gpt6-probe-tools.d.ts +4 -0
  80. package/dist/scripts/gpt6-probe-tools.d.ts.map +1 -0
  81. package/dist/scripts/gpt6-probe-tools.js +43 -0
  82. package/dist/scripts/gpt6-probe-tools.js.map +1 -0
  83. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  84. package/dist/services/agent-runtime/application-run-loop.js +14 -4
  85. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  86. package/dist/services/conversation/conversation-adapter.d.ts +1 -1
  87. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  88. package/dist/services/conversation/conversation-adapter.js +3 -5
  89. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  90. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  91. package/dist/services/conversation/conversation-orchestrator.js +59 -3
  92. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  93. package/dist/services/conversation-agent-client.d.ts +2 -4
  94. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  95. package/dist/services/memory/memory-capabilities.d.ts +2 -20
  96. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  97. package/dist/services/memory/memory-capabilities.js +23 -174
  98. package/dist/services/memory/memory-capabilities.js.map +1 -1
  99. package/dist/services/memory/memory-store.d.ts +5 -2
  100. package/dist/services/memory/memory-store.d.ts.map +1 -1
  101. package/dist/services/memory/memory-store.js +18 -13
  102. package/dist/services/memory/memory-store.js.map +1 -1
  103. package/dist/services/retry/committed-tool-continuation.d.ts +24 -0
  104. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -1
  105. package/dist/services/retry/committed-tool-continuation.js +26 -0
  106. package/dist/services/retry/committed-tool-continuation.js.map +1 -1
  107. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  108. package/dist/services/retry/retry-classifier.js +11 -3
  109. package/dist/services/retry/retry-classifier.js.map +1 -1
  110. package/dist/services/sandboxed-code-host/host-types.d.ts +4 -2
  111. package/dist/services/sandboxed-code-host/host-types.d.ts.map +1 -1
  112. package/dist/services/sandboxed-code-host/host-types.js.map +1 -1
  113. package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -1
  114. package/dist/services/sandboxed-code-host/host-worker.js +6 -3
  115. package/dist/services/sandboxed-code-host/host-worker.js.map +1 -1
  116. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  117. package/dist/services/session/continuation-recovery-handler.js +6 -0
  118. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  119. package/dist/services/session/initial-turn-recovery-handler.d.ts +1 -1
  120. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  121. package/dist/services/session/initial-turn-recovery-handler.js +6 -0
  122. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  123. package/dist/services/session/session-composition.d.ts.map +1 -1
  124. package/dist/services/session/session-composition.js +1 -0
  125. package/dist/services/session/session-composition.js.map +1 -1
  126. package/dist/services/session/turn-attempt-factory.d.ts +0 -2
  127. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  128. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  129. package/dist/services/session/turn-attempt.d.ts +0 -5
  130. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  131. package/dist/services/session/turn-attempt.js +0 -9
  132. package/dist/services/session/turn-attempt.js.map +1 -1
  133. package/dist/services/session/turn-coordinator.d.ts +2 -1
  134. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  135. package/dist/services/session/turn-coordinator.js +1 -1
  136. package/dist/services/session/turn-coordinator.js.map +1 -1
  137. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  138. package/dist/services/session/turn-workflow.js +0 -53
  139. package/dist/services/session/turn-workflow.js.map +1 -1
  140. package/dist/services/settings/settings-schema.d.ts +0 -4
  141. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  142. package/dist/services/settings/settings-schema.js +0 -4
  143. package/dist/services/settings/settings-schema.js.map +1 -1
  144. package/dist/services/settings/settings-sources.d.ts +0 -1
  145. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  146. package/dist/services/settings/settings-sources.js +0 -1
  147. package/dist/services/settings/settings-sources.js.map +1 -1
  148. package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -1
  149. package/dist/services/settings/settings-ui-metadata.js +0 -1
  150. package/dist/services/settings/settings-ui-metadata.js.map +1 -1
  151. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +1 -1
  152. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  153. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +0 -1
  154. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  155. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  156. package/dist/tools/file/apply-patch.js +10 -2
  157. package/dist/tools/file/apply-patch.js.map +1 -1
  158. package/dist/tools/file/grep.d.ts.map +1 -1
  159. package/dist/tools/file/grep.js +5 -1
  160. package/dist/tools/file/grep.js.map +1 -1
  161. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -1
  162. package/dist/tools/file/upstream-apply-patch.js +17 -4
  163. package/dist/tools/file/upstream-apply-patch.js.map +1 -1
  164. package/dist/tools/system/run-code/run-code-runtime.d.ts +2 -0
  165. package/dist/tools/system/run-code/run-code-runtime.d.ts.map +1 -1
  166. package/dist/tools/system/run-code/run-code-runtime.js +47 -3
  167. package/dist/tools/system/run-code/run-code-runtime.js.map +1 -1
  168. package/dist/tools/system/run-code/run-code.d.ts.map +1 -1
  169. package/dist/tools/system/run-code/run-code.js +12 -0
  170. package/dist/tools/system/run-code/run-code.js.map +1 -1
  171. package/dist/tools/system/shell.d.ts +0 -2
  172. package/dist/tools/system/shell.d.ts.map +1 -1
  173. package/dist/tools/system/shell.js +2 -22
  174. package/dist/tools/system/shell.js.map +1 -1
  175. package/dist/types/user-turn.d.ts +0 -6
  176. package/dist/types/user-turn.d.ts.map +1 -1
  177. package/dist/types/user-turn.js +0 -1
  178. package/dist/types/user-turn.js.map +1 -1
  179. package/dist/utils/shell/execute-shell.js +3 -0
  180. package/dist/utils/shell/execute-shell.js.map +1 -1
  181. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  182. package/dist/utils/shell/sandbox/sandbox-policy.js +0 -4
  183. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  184. package/dist/utils/value-suggestions.d.ts.map +1 -1
  185. package/dist/utils/value-suggestions.js +0 -4
  186. package/dist/utils/value-suggestions.js.map +1 -1
  187. package/package.json +1 -1
  188. package/dist/prompts/codex.md +0 -104
  189. package/dist/prompts/fragments/gpt-6.md +0 -13
  190. package/dist/prompts/gpt-5-modern.md +0 -114
  191. package/dist/prompts/gpt-5.4-mini.md +0 -111
  192. package/dist/prompts/gpt-5.5.md +0 -108
  193. package/dist/prompts/memory.md +0 -9
  194. package/dist/services/rtk-service.d.ts +0 -23
  195. package/dist/services/rtk-service.d.ts.map +0 -1
  196. package/dist/services/rtk-service.js +0 -251
  197. 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. When memories look relevant to a user message, the harness adds their summaries in a <memory-recall> block ahead of that message; the user did not write it. Each memory is recalled at most once per conversation, and the block is not a complete index; when a relevant item is absent, use memory_search or memory_list. Treat summaries as retrieval triggers, not verified facts; read the full memory with memory_get when it could affect your decision.
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 and reusable knowledge, and project for repository-specific decisions and conventions. 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.
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
- Before finishing a task, briefly review whether the user established an explicit durable preference, accepted a lasting project decision, or corrected an existing memory. Persist or update only those high-confidence outcomes; do not create memory merely because a turn completed. Do not duplicate facts easily recovered by reading the repository; when useful, retain the hard-to-recover decision or lesson and point to its canonical source.
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. Use global for cross-project preferences and reusable knowledge; use project for repository-specific decisions and conventions. Read tools (memory_list, memory_get, memory_search, memory_retrieve) operate across both scopes together.
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
- const QUERY_STOP_WORDS = new Set([
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
- try {
207
- // Floor-and-reallocate: each scope gets half the budget. A scope that
208
- // rendered everything it has under its share donates the unused
209
- // remainder to the other scope instead of stranding it while the
210
- // other scope truncates.
211
- const fairShare = Math.max(1, Math.floor(settings.contextBudgetChars / 2));
212
- const globalLabel = 'Global scope:\n';
213
- const projectLabel = 'Project scope:\n';
214
- const budgetAfterLabel = (label) => Math.max(1, fairShare - label.length);
215
- const globalBudget = budgetAfterLabel(globalLabel);
216
- const projectBudget = budgetAfterLabel(projectLabel);
217
- const globalFirst = stores.global.contextSync(globalBudget);
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":"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"}
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 pointer = (count) => count > 0 ? `+ ${count} not listed — memory_list or memory_search for the full index.\n` : '';
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 = INDEX_HEADER.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: `${INDEX_HEADER}${status}${body}${divider}${pointerLine}`,
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. Keep the counts visible rather than rendering nothing.
98
+ // No entry fits. Show counted omissions only if even the floor fits.
94
99
  const notListed = total;
95
- const floor = `${INDEX_HEADER}${total} memories · 0 summarized · 0 title-only · ${notListed} not listed. ${INDEX_RETRIEVAL_HINT}\n\n${pointer(notListed)}`;
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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"}
@@ -1,5 +1,29 @@
1
1
  import type { ClassifiedFailure, CommittedToolContinuation } from './retry-contracts.js';
2
2
  export declare function isSettledCommittedToolContinuation(evidence: CommittedToolContinuation | undefined): boolean;
3
+ /**
4
+ * Provider-state rejection admission.
5
+ *
6
+ * A provider *state* rejection (e.g. 400 `Invalid previous_response_id`,
7
+ * `previous_response_not_found`) means the server refused the chained request
8
+ * before accepting anything, so chain recovery -- break the chain, rebuild the
9
+ * full request from durable history -- cannot replay committed work. It is not
10
+ * a replay.
11
+ *
12
+ * Requirement: every live-turn tool completed locally. How many tools are open
13
+ * or unknown is the only thing that can turn recovery into a replay of a tool
14
+ * that may have run, so it stays guarded (same `allToolsCompleted` /
15
+ * `completedToolCount > 0` rule as `isSettledCommittedToolContinuation`).
16
+ *
17
+ * The request-scoped `completedPairsPresentInHistory` check is deliberately
18
+ * *not* required here. The completed pairs are already durable in the tool
19
+ * ledger, but a provider compaction boundary makes `projectProviderHistory`
20
+ * refuse to insert them behind the boundary -- so the pairs can be durable and
21
+ * still absent from the projected request. Recovery still does not replay them
22
+ * (the `retry_fresh` executor settles the ledger into history before the
23
+ * full-history rebuild), so refusing the turn on that projection detail is a
24
+ * false negative that kills an otherwise healthy mid-turn continuation.
25
+ */
26
+ export declare function admitsProviderStateRejectionRecovery(evidence: CommittedToolContinuation | undefined): boolean;
3
27
  /**
4
28
  * Chain recovery rebuilds from durable history instead of replaying committed
5
29
  * work. Once every live-turn tool pair is settled, that is true for both a
@@ -1 +1 @@
1
- {"version":3,"file":"committed-tool-continuation.d.ts","sourceRoot":"","sources":["../../../source/services/retry/committed-tool-continuation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,yBAAyB,GAAG,SAAS,GAAG,OAAO,CAO3G;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,yBAAyB,GAAG,SAAS,GAC9C,OAAO,CAET"}
1
+ {"version":3,"file":"committed-tool-continuation.d.ts","sourceRoot":"","sources":["../../../source/services/retry/committed-tool-continuation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,yBAAyB,GAAG,SAAS,GAAG,OAAO,CAO3G;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,yBAAyB,GAAG,SAAS,GAAG,OAAO,CAE7G;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,yBAAyB,GAAG,SAAS,GAC9C,OAAO,CAET"}
@@ -4,6 +4,32 @@ export function isSettledCommittedToolContinuation(evidence) {
4
4
  evidence.allToolsCompleted &&
5
5
  evidence.completedPairsPresentInHistory);
6
6
  }
7
+ /**
8
+ * Provider-state rejection admission.
9
+ *
10
+ * A provider *state* rejection (e.g. 400 `Invalid previous_response_id`,
11
+ * `previous_response_not_found`) means the server refused the chained request
12
+ * before accepting anything, so chain recovery -- break the chain, rebuild the
13
+ * full request from durable history -- cannot replay committed work. It is not
14
+ * a replay.
15
+ *
16
+ * Requirement: every live-turn tool completed locally. How many tools are open
17
+ * or unknown is the only thing that can turn recovery into a replay of a tool
18
+ * that may have run, so it stays guarded (same `allToolsCompleted` /
19
+ * `completedToolCount > 0` rule as `isSettledCommittedToolContinuation`).
20
+ *
21
+ * The request-scoped `completedPairsPresentInHistory` check is deliberately
22
+ * *not* required here. The completed pairs are already durable in the tool
23
+ * ledger, but a provider compaction boundary makes `projectProviderHistory`
24
+ * refuse to insert them behind the boundary -- so the pairs can be durable and
25
+ * still absent from the projected request. Recovery still does not replay them
26
+ * (the `retry_fresh` executor settles the ledger into history before the
27
+ * full-history rebuild), so refusing the turn on that projection detail is a
28
+ * false negative that kills an otherwise healthy mid-turn continuation.
29
+ */
30
+ export function admitsProviderStateRejectionRecovery(evidence) {
31
+ return evidence !== undefined && evidence.completedToolCount > 0 && evidence.allToolsCompleted;
32
+ }
7
33
  /**
8
34
  * Chain recovery rebuilds from durable history instead of replaying committed
9
35
  * work. Once every live-turn tool pair is settled, that is true for both a
@@ -1 +1 @@
1
- {"version":3,"file":"committed-tool-continuation.js","sourceRoot":"","sources":["../../../source/services/retry/committed-tool-continuation.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kCAAkC,CAAC,QAA+C;IAChG,OAAO,CACL,QAAQ,KAAK,SAAS;QACtB,QAAQ,CAAC,kBAAkB,GAAG,CAAC;QAC/B,QAAQ,CAAC,iBAAiB;QAC1B,QAAQ,CAAC,8BAA8B,CACxC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAA0B,EAC1B,QAA+C;IAE/C,OAAO,OAAO,CAAC,IAAI,KAAK,gBAAgB,IAAI,kCAAkC,CAAC,QAAQ,CAAC,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"committed-tool-continuation.js","sourceRoot":"","sources":["../../../source/services/retry/committed-tool-continuation.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kCAAkC,CAAC,QAA+C;IAChG,OAAO,CACL,QAAQ,KAAK,SAAS;QACtB,QAAQ,CAAC,kBAAkB,GAAG,CAAC;QAC/B,QAAQ,CAAC,iBAAiB;QAC1B,QAAQ,CAAC,8BAA8B,CACxC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,oCAAoC,CAAC,QAA+C;IAClG,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,kBAAkB,GAAG,CAAC,IAAI,QAAQ,CAAC,iBAAiB,CAAC;AACjG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAA0B,EAC1B,QAA+C;IAE/C,OAAO,OAAO,CAAC,IAAI,KAAK,gBAAgB,IAAI,kCAAkC,CAAC,QAAQ,CAAC,CAAC;AAC3F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"retry-classifier.d.ts","sourceRoot":"","sources":["../../../source/services/retry/retry-classifier.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAuB/E,qBAAa,sBAAsB;IACrB,OAAO,CAAC,WAAW;IAA2B,OAAO,CAAC,MAAM;IAAxE,YAAoB,WAAW,EAAE,uBAAuB,EAAU,MAAM,GAAE,MAAM,MAAoB,EAEnG;IAED,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,iBAAiB,CAkJ1D;CACF"}
1
+ {"version":3,"file":"retry-classifier.d.ts","sourceRoot":"","sources":["../../../source/services/retry/retry-classifier.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AA0B/E,qBAAa,sBAAsB;IACrB,OAAO,CAAC,WAAW;IAA2B,OAAO,CAAC,MAAM;IAAxE,YAAoB,WAAW,EAAE,uBAAuB,EAAU,MAAM,GAAE,MAAM,MAAoB,EAEnG;IAED,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,iBAAiB,CA2J1D;CACF"}