@namzu/sdk 61.4.0 → 62.0.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.
Files changed (302) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/dist/agents/QueryAgent.d.ts.map +1 -1
  3. package/dist/agents/QueryAgent.js +2 -0
  4. package/dist/agents/QueryAgent.js.map +1 -1
  5. package/dist/bridge/acp/permission.d.ts +8 -0
  6. package/dist/bridge/acp/permission.d.ts.map +1 -1
  7. package/dist/bridge/acp/permission.js.map +1 -1
  8. package/dist/bridge/acp/server.d.ts.map +1 -1
  9. package/dist/bridge/acp/server.js +8 -1
  10. package/dist/bridge/acp/server.js.map +1 -1
  11. package/dist/constants/tools/index.d.ts +2 -0
  12. package/dist/constants/tools/index.d.ts.map +1 -1
  13. package/dist/constants/tools/index.js +23 -0
  14. package/dist/constants/tools/index.js.map +1 -1
  15. package/dist/eval/harness-protection.js +1 -1
  16. package/dist/eval/harness-protection.js.map +1 -1
  17. package/dist/learning/cycle.d.ts +5 -3
  18. package/dist/learning/cycle.d.ts.map +1 -1
  19. package/dist/learning/cycle.js +11 -13
  20. package/dist/learning/cycle.js.map +1 -1
  21. package/dist/learning/guidance.d.ts +74 -0
  22. package/dist/learning/guidance.d.ts.map +1 -0
  23. package/dist/learning/guidance.js +259 -0
  24. package/dist/learning/guidance.js.map +1 -0
  25. package/dist/learning/skill.d.ts +2 -2
  26. package/dist/learning/skill.d.ts.map +1 -1
  27. package/dist/learning/skill.js +6 -6
  28. package/dist/learning/skill.js.map +1 -1
  29. package/dist/learning/store.d.ts.map +1 -1
  30. package/dist/learning/store.js +6 -6
  31. package/dist/learning/store.js.map +1 -1
  32. package/dist/pals/communication/ingress-schema.d.ts +8 -8
  33. package/dist/pals/communication/schema.d.ts +2 -2
  34. package/dist/peers/client.d.ts +2 -3
  35. package/dist/peers/client.d.ts.map +1 -1
  36. package/dist/peers/client.js +2 -3
  37. package/dist/peers/client.js.map +1 -1
  38. package/dist/peers/endpoint.d.ts +1 -2
  39. package/dist/peers/endpoint.d.ts.map +1 -1
  40. package/dist/peers/endpoint.js +1 -2
  41. package/dist/peers/endpoint.js.map +1 -1
  42. package/dist/peers/protocol.d.ts.map +1 -1
  43. package/dist/peers/protocol.js +1 -0
  44. package/dist/peers/protocol.js.map +1 -1
  45. package/dist/prompt/coding-agent-doctrine.d.ts +4 -4
  46. package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
  47. package/dist/prompt/coding-agent-doctrine.js +5 -3
  48. package/dist/prompt/coding-agent-doctrine.js.map +1 -1
  49. package/dist/prompt/index.d.ts +0 -4
  50. package/dist/prompt/index.d.ts.map +1 -1
  51. package/dist/prompt/index.js +0 -2
  52. package/dist/prompt/index.js.map +1 -1
  53. package/dist/provider/fallback.d.ts.map +1 -1
  54. package/dist/provider/fallback.js +3 -0
  55. package/dist/provider/fallback.js.map +1 -1
  56. package/dist/provider/idle-timeout.d.ts.map +1 -1
  57. package/dist/provider/idle-timeout.js +5 -0
  58. package/dist/provider/idle-timeout.js.map +1 -1
  59. package/dist/provider/model-window-suffix.d.ts.map +1 -1
  60. package/dist/provider/model-window-suffix.js +1 -0
  61. package/dist/provider/model-window-suffix.js.map +1 -1
  62. package/dist/provider/retry.d.ts.map +1 -1
  63. package/dist/provider/retry.js +5 -0
  64. package/dist/provider/retry.js.map +1 -1
  65. package/dist/provider/step-stopped.d.ts +19 -0
  66. package/dist/provider/step-stopped.d.ts.map +1 -0
  67. package/dist/provider/step-stopped.js +25 -0
  68. package/dist/provider/step-stopped.js.map +1 -0
  69. package/dist/provider/token-budget.d.ts.map +1 -1
  70. package/dist/provider/token-budget.js +6 -1
  71. package/dist/provider/token-budget.js.map +1 -1
  72. package/dist/public-runtime.d.ts +3 -14
  73. package/dist/public-runtime.d.ts.map +1 -1
  74. package/dist/public-runtime.js +3 -14
  75. package/dist/public-runtime.js.map +1 -1
  76. package/dist/public-tools.d.ts +0 -2
  77. package/dist/public-tools.d.ts.map +1 -1
  78. package/dist/public-tools.js +0 -2
  79. package/dist/public-tools.js.map +1 -1
  80. package/dist/public-types.d.ts +3 -21
  81. package/dist/public-types.d.ts.map +1 -1
  82. package/dist/runtime/query/iteration/index.d.ts +17 -0
  83. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  84. package/dist/runtime/query/iteration/index.js +168 -5
  85. package/dist/runtime/query/iteration/index.js.map +1 -1
  86. package/dist/runtime/query/iteration/phases/per-call-review.d.ts.map +1 -1
  87. package/dist/runtime/query/iteration/phases/per-call-review.js +4 -5
  88. package/dist/runtime/query/iteration/phases/per-call-review.js.map +1 -1
  89. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  90. package/dist/runtime/query/iteration/phases/tool-review.js +6 -3
  91. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  92. package/dist/runtime/query/iteration/stream-turn.d.ts +9 -1
  93. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  94. package/dist/runtime/query/iteration/stream-turn.js +48 -2
  95. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  96. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  97. package/dist/runtime/query/resume-pending.js +7 -4
  98. package/dist/runtime/query/resume-pending.js.map +1 -1
  99. package/dist/runtime/query/review-policy.d.ts +40 -8
  100. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  101. package/dist/runtime/query/review-policy.js +139 -24
  102. package/dist/runtime/query/review-policy.js.map +1 -1
  103. package/dist/runtime/query/turn/completion-audit.d.ts +32 -0
  104. package/dist/runtime/query/turn/completion-audit.d.ts.map +1 -0
  105. package/dist/runtime/query/turn/completion-audit.js +56 -0
  106. package/dist/runtime/query/turn/completion-audit.js.map +1 -0
  107. package/dist/runtime/query/turn/stall-monitor.d.ts +78 -0
  108. package/dist/runtime/query/turn/stall-monitor.d.ts.map +1 -0
  109. package/dist/runtime/query/turn/stall-monitor.js +101 -0
  110. package/dist/runtime/query/turn/stall-monitor.js.map +1 -0
  111. package/dist/session/paths.d.ts +1 -2
  112. package/dist/session/paths.d.ts.map +1 -1
  113. package/dist/session/paths.js +1 -4
  114. package/dist/session/paths.js.map +1 -1
  115. package/dist/tools/builtins/bash.d.ts +2 -1
  116. package/dist/tools/builtins/bash.d.ts.map +1 -1
  117. package/dist/tools/builtins/bash.js +5 -2
  118. package/dist/tools/builtins/bash.js.map +1 -1
  119. package/dist/tools/builtins/content-fingerprint.d.ts +13 -0
  120. package/dist/tools/builtins/content-fingerprint.d.ts.map +1 -1
  121. package/dist/tools/builtins/content-fingerprint.js +25 -0
  122. package/dist/tools/builtins/content-fingerprint.js.map +1 -1
  123. package/dist/tools/builtins/edit.d.ts.map +1 -1
  124. package/dist/tools/builtins/edit.js +7 -2
  125. package/dist/tools/builtins/edit.js.map +1 -1
  126. package/dist/tools/builtins/shell-read-credit.d.ts +15 -0
  127. package/dist/tools/builtins/shell-read-credit.d.ts.map +1 -0
  128. package/dist/tools/builtins/shell-read-credit.js +161 -0
  129. package/dist/tools/builtins/shell-read-credit.js.map +1 -0
  130. package/dist/tools/paths.d.ts +15 -2
  131. package/dist/tools/paths.d.ts.map +1 -1
  132. package/dist/tools/paths.js +17 -2
  133. package/dist/tools/paths.js.map +1 -1
  134. package/dist/turn/evidence-recall.d.ts +1 -1
  135. package/dist/turn/evidence-recall.d.ts.map +1 -1
  136. package/dist/turn/evidence-recall.js +5 -14
  137. package/dist/turn/evidence-recall.js.map +1 -1
  138. package/dist/types/acp/index.d.ts +6 -0
  139. package/dist/types/acp/index.d.ts.map +1 -1
  140. package/dist/types/agent/base.d.ts +4 -0
  141. package/dist/types/agent/base.d.ts.map +1 -1
  142. package/dist/types/hitl/index.d.ts +8 -0
  143. package/dist/types/hitl/index.d.ts.map +1 -1
  144. package/dist/types/hitl/index.js.map +1 -1
  145. package/dist/types/ids/index.d.ts +1 -1
  146. package/dist/types/message/index.d.ts +1 -1
  147. package/dist/types/message/index.d.ts.map +1 -1
  148. package/dist/types/message/index.js +1 -0
  149. package/dist/types/message/index.js.map +1 -1
  150. package/dist/types/provider/interface.d.ts +12 -0
  151. package/dist/types/provider/interface.d.ts.map +1 -1
  152. package/dist/types/session/config.d.ts +25 -0
  153. package/dist/types/session/config.d.ts.map +1 -1
  154. package/dist/types/session/records.d.ts.map +1 -1
  155. package/dist/types/session/records.js +2 -0
  156. package/dist/types/session/records.js.map +1 -1
  157. package/dist/types/session/turn.d.ts +1 -1
  158. package/dist/types/session/turn.d.ts.map +1 -1
  159. package/dist/types/session/turn.js.map +1 -1
  160. package/package.json +1 -1
  161. package/src/agents/QueryAgent.ts +2 -0
  162. package/src/bridge/acp/permission.ts +8 -0
  163. package/src/bridge/acp/server.ts +7 -1
  164. package/src/constants/tools/index.ts +27 -0
  165. package/src/eval/harness-protection.ts +1 -1
  166. package/src/learning/cycle.ts +15 -16
  167. package/src/learning/guidance.ts +339 -0
  168. package/src/learning/skill.ts +7 -7
  169. package/src/learning/store.ts +5 -6
  170. package/src/peers/client.ts +2 -3
  171. package/src/peers/endpoint.ts +1 -2
  172. package/src/peers/protocol.ts +1 -0
  173. package/src/prompt/coding-agent-doctrine.ts +5 -3
  174. package/src/prompt/index.ts +0 -4
  175. package/src/provider/fallback.ts +7 -0
  176. package/src/provider/idle-timeout.ts +8 -0
  177. package/src/provider/model-window-suffix.ts +1 -0
  178. package/src/provider/retry.ts +8 -0
  179. package/src/provider/step-stopped.ts +27 -0
  180. package/src/provider/token-budget.ts +6 -1
  181. package/src/public-runtime.ts +6 -28
  182. package/src/public-tools.ts +0 -3
  183. package/src/public-types.ts +5 -137
  184. package/src/runtime/query/iteration/index.ts +207 -5
  185. package/src/runtime/query/iteration/phases/per-call-review.ts +7 -5
  186. package/src/runtime/query/iteration/phases/tool-review.ts +5 -3
  187. package/src/runtime/query/iteration/stream-turn.ts +51 -1
  188. package/src/runtime/query/resume-pending.ts +11 -4
  189. package/src/runtime/query/review-policy.ts +157 -24
  190. package/src/runtime/query/turn/completion-audit.ts +71 -0
  191. package/src/runtime/query/turn/stall-monitor.ts +158 -0
  192. package/src/session/paths.ts +2 -6
  193. package/src/tools/builtins/bash.ts +6 -2
  194. package/src/tools/builtins/content-fingerprint.ts +25 -0
  195. package/src/tools/builtins/edit.ts +11 -2
  196. package/src/tools/builtins/shell-read-credit.ts +159 -0
  197. package/src/tools/paths.ts +18 -2
  198. package/src/turn/evidence-recall.ts +7 -15
  199. package/src/types/acp/index.ts +6 -0
  200. package/src/types/agent/base.ts +4 -0
  201. package/src/types/hitl/index.ts +8 -0
  202. package/src/types/ids/index.ts +1 -1
  203. package/src/types/message/index.ts +1 -0
  204. package/src/types/provider/interface.ts +13 -0
  205. package/src/types/session/config.ts +27 -0
  206. package/src/types/session/records.ts +2 -0
  207. package/src/types/session/turn.ts +2 -1
  208. package/dist/learning/deprecated.d.ts +0 -86
  209. package/dist/learning/deprecated.d.ts.map +0 -1
  210. package/dist/learning/deprecated.js +0 -22
  211. package/dist/learning/deprecated.js.map +0 -1
  212. package/dist/manager/resident/activity.d.ts +0 -74
  213. package/dist/manager/resident/activity.d.ts.map +0 -1
  214. package/dist/manager/resident/activity.js +0 -125
  215. package/dist/manager/resident/activity.js.map +0 -1
  216. package/dist/manager/resident/agenda.d.ts +0 -167
  217. package/dist/manager/resident/agenda.d.ts.map +0 -1
  218. package/dist/manager/resident/agenda.js +0 -588
  219. package/dist/manager/resident/agenda.js.map +0 -1
  220. package/dist/manager/resident/consumption.d.ts +0 -98
  221. package/dist/manager/resident/consumption.d.ts.map +0 -1
  222. package/dist/manager/resident/consumption.js +0 -237
  223. package/dist/manager/resident/consumption.js.map +0 -1
  224. package/dist/manager/resident/delivery-window.d.ts +0 -28
  225. package/dist/manager/resident/delivery-window.d.ts.map +0 -1
  226. package/dist/manager/resident/delivery-window.js +0 -80
  227. package/dist/manager/resident/delivery-window.js.map +0 -1
  228. package/dist/manager/resident/evidence-recall.d.ts +0 -30
  229. package/dist/manager/resident/evidence-recall.d.ts.map +0 -1
  230. package/dist/manager/resident/evidence-recall.js +0 -297
  231. package/dist/manager/resident/evidence-recall.js.map +0 -1
  232. package/dist/manager/resident/history-disk.d.ts +0 -10
  233. package/dist/manager/resident/history-disk.d.ts.map +0 -1
  234. package/dist/manager/resident/history-disk.js +0 -50
  235. package/dist/manager/resident/history-disk.js.map +0 -1
  236. package/dist/manager/resident/history.d.ts +0 -115
  237. package/dist/manager/resident/history.d.ts.map +0 -1
  238. package/dist/manager/resident/history.js +0 -203
  239. package/dist/manager/resident/history.js.map +0 -1
  240. package/dist/manager/resident/host.d.ts +0 -112
  241. package/dist/manager/resident/host.d.ts.map +0 -1
  242. package/dist/manager/resident/host.js +0 -254
  243. package/dist/manager/resident/host.js.map +0 -1
  244. package/dist/manager/resident/initiative.d.ts +0 -86
  245. package/dist/manager/resident/initiative.d.ts.map +0 -1
  246. package/dist/manager/resident/initiative.js +0 -131
  247. package/dist/manager/resident/initiative.js.map +0 -1
  248. package/dist/manager/resident/loop.d.ts +0 -49
  249. package/dist/manager/resident/loop.d.ts.map +0 -1
  250. package/dist/manager/resident/loop.js +0 -75
  251. package/dist/manager/resident/loop.js.map +0 -1
  252. package/dist/manager/resident/outbox.d.ts +0 -124
  253. package/dist/manager/resident/outbox.d.ts.map +0 -1
  254. package/dist/manager/resident/outbox.js +0 -216
  255. package/dist/manager/resident/outbox.js.map +0 -1
  256. package/dist/manager/resident/proposal.d.ts +0 -65
  257. package/dist/manager/resident/proposal.d.ts.map +0 -1
  258. package/dist/manager/resident/proposal.js +0 -77
  259. package/dist/manager/resident/proposal.js.map +0 -1
  260. package/dist/manager/resident/store.d.ts +0 -108
  261. package/dist/manager/resident/store.d.ts.map +0 -1
  262. package/dist/manager/resident/store.js +0 -205
  263. package/dist/manager/resident/store.js.map +0 -1
  264. package/dist/manager/resident/tool-evidence.d.ts +0 -112
  265. package/dist/manager/resident/tool-evidence.d.ts.map +0 -1
  266. package/dist/manager/resident/tool-evidence.js +0 -289
  267. package/dist/manager/resident/tool-evidence.js.map +0 -1
  268. package/dist/prompt/resident-learning.d.ts +0 -29
  269. package/dist/prompt/resident-learning.d.ts.map +0 -1
  270. package/dist/prompt/resident-learning.js +0 -126
  271. package/dist/prompt/resident-learning.js.map +0 -1
  272. package/dist/prompt/resident-step.d.ts +0 -42
  273. package/dist/prompt/resident-step.d.ts.map +0 -1
  274. package/dist/prompt/resident-step.js +0 -137
  275. package/dist/prompt/resident-step.js.map +0 -1
  276. package/dist/tools/resident-history.d.ts +0 -12
  277. package/dist/tools/resident-history.d.ts.map +0 -1
  278. package/dist/tools/resident-history.js +0 -82
  279. package/dist/tools/resident-history.js.map +0 -1
  280. package/dist/tools/resident-tool-evidence.d.ts +0 -9
  281. package/dist/tools/resident-tool-evidence.d.ts.map +0 -1
  282. package/dist/tools/resident-tool-evidence.js +0 -61
  283. package/dist/tools/resident-tool-evidence.js.map +0 -1
  284. package/src/learning/deprecated.ts +0 -124
  285. package/src/manager/resident/activity.ts +0 -211
  286. package/src/manager/resident/agenda.ts +0 -937
  287. package/src/manager/resident/consumption.ts +0 -335
  288. package/src/manager/resident/delivery-window.ts +0 -99
  289. package/src/manager/resident/evidence-recall.ts +0 -369
  290. package/src/manager/resident/history-disk.ts +0 -63
  291. package/src/manager/resident/history.ts +0 -348
  292. package/src/manager/resident/host.ts +0 -390
  293. package/src/manager/resident/initiative.ts +0 -231
  294. package/src/manager/resident/loop.ts +0 -119
  295. package/src/manager/resident/outbox.ts +0 -341
  296. package/src/manager/resident/proposal.ts +0 -119
  297. package/src/manager/resident/store.ts +0 -279
  298. package/src/manager/resident/tool-evidence.ts +0 -455
  299. package/src/prompt/resident-learning.ts +0 -152
  300. package/src/prompt/resident-step.ts +0 -182
  301. package/src/tools/resident-history.ts +0 -88
  302. package/src/tools/resident-tool-evidence.ts +0 -72
@@ -1,297 +0,0 @@
1
- import { z } from 'zod';
2
- import { createScopedEvidenceRecallStep, evidenceRecallQueryTokens, refineEvidenceRecallTerms, } from '../../turn/evidence-recall.js';
3
- import { evidenceTokenKey } from '../../utils/evidence-tokens.js';
4
- import { residentStateSchema } from './store.js';
5
- const ownerSchema = z.object({
6
- tenantId: z.string().uuid(),
7
- projectId: z.string().uuid(),
8
- sessionId: z.string().uuid(),
9
- turnId: z.string().uuid(),
10
- });
11
- const historicalScopeSchema = ownerSchema.omit({ sessionId: true, turnId: true }).extend({
12
- agentKey: z.string().min(1).max(200),
13
- pursuitId: z.string().uuid(),
14
- throughRevision: z.number().int().positive().safe(),
15
- });
16
- // Sample both ends without merging or manufacturing a word at the cut. The
17
- // field still contributes at most 4000 characters; its omitted middle is not
18
- // inspected. Alternating ends also gives late corrections a term slot.
19
- function residentQueryWords(text) {
20
- const words = text.length <= 4000
21
- ? evidenceRecallQueryTokens(text)
22
- : [
23
- ...evidenceRecallQueryTokens(text
24
- .slice(0, 2000)
25
- .replace(/[\uD800-\uDBFF]$/u, '')
26
- .replace(/[\p{L}\p{N}_]+$/u, '')),
27
- ...evidenceRecallQueryTokens(text
28
- .slice(-2000)
29
- .replace(/^[\uDC00-\uDFFF]/u, '')
30
- .replace(/^[\p{L}\p{N}_]+/u, '')),
31
- ];
32
- const result = [];
33
- for (let left = 0, right = words.length - 1; left <= right; left++, right--) {
34
- const first = words[left];
35
- const last = words[right];
36
- if (first)
37
- result.push(first);
38
- if (left !== right && last)
39
- result.push(last);
40
- }
41
- return result;
42
- }
43
- /**
44
- * Reuses the shared bounded ranking/rendering engine while retaining the
45
- * pursuit's settlement authority. No arbitrary Session discovery, saved fact
46
- * cache, inference, workspace reread or action replay is performed here.
47
- *
48
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
49
- */
50
- export function createResidentEvidenceRecallStep(options) {
51
- const state = residentStateSchema.parse(options.state);
52
- const owner = Object.freeze(ownerSchema.parse(options.scope));
53
- const source = options.source;
54
- const historicalScope = Object.freeze(historicalScopeSchema.parse(source.scope));
55
- if (state.phase !== 'running' ||
56
- !state.claimId ||
57
- state.tenantId !== owner.tenantId ||
58
- state.tenantId !== historicalScope.tenantId ||
59
- owner.projectId !== historicalScope.projectId ||
60
- state.agentKey !== historicalScope.agentKey ||
61
- state.pursuitId !== historicalScope.pursuitId)
62
- throw new Error('Resident recall requires one admitted pursuit and its authorized source.');
63
- const exclusions = options.excludeSuccessfulTools
64
- ? [...new Set(options.excludeSuccessfulTools)].sort()
65
- : undefined;
66
- if (exclusions &&
67
- (exclusions.length > 16 ||
68
- exclusions.some((name) => typeof name !== 'string' || !name.length || name.length > 256)))
69
- throw new Error('Resident recall exclusions are invalid.');
70
- if (Buffer.byteLength(JSON.stringify({
71
- terms: ['x'],
72
- ...(exclusions?.length ? { excludeSuccessfulTools: exclusions } : {}),
73
- })) > 512)
74
- throw new Error('Resident recall exclusions leave no bounded search room.');
75
- const snapshot = JSON.stringify(historicalScope);
76
- function assertSource() {
77
- if (JSON.stringify(historicalScopeSchema.parse(source.scope)) !== snapshot)
78
- throw new Error('Resident recall source changed ownership or admission boundary.');
79
- }
80
- // Round-robin categories keep a long objective or derived summary from
81
- // monopolizing all search terms. Within wakes, newer accepted inputs start
82
- // first; their original committed index is retained in query metadata.
83
- const wakes = (state.wakeEvidence ?? [])
84
- .map((wake, index) => ({
85
- kind: 'accepted_wake',
86
- index,
87
- words: residentQueryWords(wake.reason),
88
- }))
89
- .reverse();
90
- const wakeWords = [];
91
- for (let word = 0; word < 256; word++)
92
- for (const wake of wakes) {
93
- const term = wake.words[word];
94
- if (term)
95
- wakeWords.push({ term, source: wake.kind, wakeIndex: wake.index });
96
- }
97
- const groups = [
98
- wakeWords,
99
- residentQueryWords(state.objective).map((term) => ({ term, source: 'objective' })),
100
- residentQueryWords(state.summary ?? '').map((term) => ({
101
- term,
102
- source: 'derived_summary',
103
- })),
104
- ];
105
- const selected = [];
106
- const seen = new Set();
107
- const offsets = [0, 0, 0];
108
- for (let round = 0; round < 16; round++) {
109
- for (const [i, group] of groups.entries()) {
110
- while ((offsets[i] ?? 0) < group.length && selected.length < 16) {
111
- const entry = group[offsets[i] ?? 0];
112
- offsets[i] = (offsets[i] ?? 0) + 1;
113
- if (!entry || seen.has(evidenceTokenKey(entry.term)))
114
- continue;
115
- const terms = [...selected.map((item) => item.term), entry.term];
116
- if (Buffer.byteLength(JSON.stringify({
117
- terms,
118
- ...(exclusions?.length ? { excludeSuccessfulTools: exclusions } : {}),
119
- })) > 512)
120
- continue;
121
- selected.push(entry);
122
- seen.add(evidenceTokenKey(entry.term));
123
- break;
124
- }
125
- }
126
- }
127
- const query = {
128
- terms: selected.map(({ term }) => term),
129
- metadata: {
130
- kind: 'literal_resident_state',
131
- terms: selected,
132
- throughRevision: historicalScope.throughRevision,
133
- guidance: 'Words select historical tool records only. Objective/wakes are accepted inputs; derived_summary is a prior claim, not a new observation. Selection may omit relevant words. Fields over 4000 characters contribute their first/last 2000 characters; terms alternate ends. Query/ranking do not resolve ambiguous references or establish truth, freshness or completeness. Use read_resident_tool with revision/address/byteOffset for exact retained text.',
134
- },
135
- };
136
- const addresses = new WeakMap();
137
- const search = source.search.bind(source);
138
- const retrieve = async (request) => {
139
- if (request.turnId !== owner.turnId)
140
- throw new Error('Resident recall called from a different turn.');
141
- assertSource();
142
- const candidates = [];
143
- let scannedBytes = 0;
144
- let incomplete = false;
145
- const scans = [{ terms: request.terms, started: false }];
146
- let excludedToolResults = 0;
147
- for (let pageNumber = 0; pageNumber < 4; pageNumber++) {
148
- const scan = [...scans].reverse().find((entry) => !entry.started || entry.cursor);
149
- if (!scan)
150
- break;
151
- request.signal.throwIfAborted();
152
- const allowance = request.maxReadBytes - scannedBytes;
153
- if (allowance <= 1024 * 1024 || candidates.length >= request.maxCandidates)
154
- break;
155
- const page = await search({
156
- ...(scan.cursor
157
- ? {
158
- cursor: scan.cursor,
159
- ...(scan.refineTerms ? { refineTerms: scan.refineTerms } : {}),
160
- }
161
- : {
162
- terms: [...scan.terms],
163
- ...(exclusions?.length ? { excludeSuccessfulTools: exclusions } : {}),
164
- }),
165
- maxReadBytes: allowance,
166
- }, request.signal);
167
- request.signal.throwIfAborted();
168
- assertSource();
169
- if (JSON.stringify(historicalScopeSchema.parse(page.scope)) !== snapshot ||
170
- !Number.isSafeInteger(page.chargedBytes) ||
171
- (page.chargedBytes ?? -1) < 0 ||
172
- (page.chargedBytes ?? Number.POSITIVE_INFINITY) > allowance ||
173
- typeof page.incomplete !== 'boolean' ||
174
- !Array.isArray(page.unavailableRevisions) ||
175
- page.unavailableRevisions.some((revision) => !Number.isSafeInteger(revision) ||
176
- revision < 1 ||
177
- revision > historicalScope.throughRevision) ||
178
- (page.nextCursor !== null &&
179
- (typeof page.nextCursor !== 'string' ||
180
- !page.nextCursor.length ||
181
- page.nextCursor.length > 8192)))
182
- throw new Error('Resident recall received an invalid bounded page.');
183
- scannedBytes += page.chargedBytes ?? 0;
184
- // A page with a continuation is locally incomplete even when all
185
- // records visited so far are valid. Clearing traversal later is safe;
186
- // unavailable evidence stays incomplete for this entire pass.
187
- incomplete ||=
188
- (page.incomplete && !page.nextCursor) ||
189
- page.unavailableRevisions.length > 0 ||
190
- !!page.evidence?.incomplete;
191
- const evidence = page.evidence;
192
- if (evidence) {
193
- const original = ownerSchema.parse(evidence.scope);
194
- if (original.tenantId !== owner.tenantId ||
195
- original.projectId !== owner.projectId ||
196
- original.turnId === owner.turnId ||
197
- !Number.isSafeInteger(page.revision) ||
198
- (page.revision ?? 0) < 1 ||
199
- (page.revision ?? Number.POSITIVE_INFINITY) > historicalScope.throughRevision ||
200
- !z.string().uuid().safeParse(page.claimId).success ||
201
- page.claimId === state.claimId ||
202
- !Array.isArray(evidence.matches) ||
203
- evidence.matches.length > 24)
204
- throw new Error('Resident recall returned an unauthorized invocation.');
205
- if (evidence.excludedToolResults !== undefined &&
206
- (!Number.isSafeInteger(evidence.excludedToolResults) || evidence.excludedToolResults < 0))
207
- throw new Error('Resident recall returned an invalid exclusion count.');
208
- excludedToolResults += evidence.excludedToolResults ?? 0;
209
- for (const match of evidence.matches) {
210
- if (typeof match.address !== 'string' ||
211
- !match.address.length ||
212
- match.address.length > 8192)
213
- throw new Error('Resident recall returned an invalid archive address.');
214
- const candidate = {
215
- scope: original,
216
- seq: match.seq,
217
- recordedAt: match.recordedAt,
218
- source: 'tool_completed',
219
- toolName: match.toolName,
220
- isError: match.isError,
221
- retained: match.retained,
222
- excerpt: match.excerpt,
223
- excerptComplete: match.excerptComplete,
224
- byteOffset: match.byteOffset,
225
- };
226
- addresses.set(candidate, {
227
- sessionId: original.sessionId,
228
- turnId: original.turnId,
229
- seq: match.seq,
230
- pursuitId: historicalScope.pursuitId,
231
- revision: page.revision,
232
- claimId: page.claimId,
233
- address: match.address,
234
- byteOffset: match.byteOffset,
235
- });
236
- candidates.push(candidate);
237
- }
238
- }
239
- scan.started = true;
240
- scan.cursor = page.nextCursor ?? undefined;
241
- scan.refineTerms = undefined;
242
- // One strict-subset scan spends the SAME page/byte allowance. Keep
243
- // the broad cursor: finishing a subset never exhausts the full query.
244
- if (scans.length === 1 &&
245
- scan.cursor &&
246
- pageNumber < 3 &&
247
- (evidence?.matches.length ?? 0) >= 4) {
248
- const focused = refineEvidenceRecallTerms(scan.terms, candidates.map((candidate) => candidate.excerpt));
249
- if (focused)
250
- scans.push({
251
- terms: focused,
252
- started: false,
253
- ...(source.supportsTermRefinement === true
254
- ? { cursor: scan.cursor, refineTerms: focused }
255
- : {}),
256
- });
257
- }
258
- }
259
- const continuations = scans.flatMap((scan) => scan.started && scan.cursor
260
- ? [{ toolName: 'search_resident_tools', input: { cursor: scan.cursor } }]
261
- : []);
262
- return {
263
- candidates,
264
- scannedBytes,
265
- incomplete: incomplete || scans.some((scan) => !scan.started || !!scan.cursor),
266
- excludedToolResults,
267
- continuations,
268
- };
269
- };
270
- const step = createScopedEvidenceRecallStep({
271
- retrieve,
272
- maxChars: options.maxChars,
273
- maxPassages: options.maxPassages,
274
- timeoutMs: options.timeoutMs,
275
- }, {
276
- kind: 'resident',
277
- selectQuery: () => query,
278
- validate(candidate) {
279
- assertSource();
280
- if (!addresses.has(candidate))
281
- throw new Error('Unowned resident evidence candidate.');
282
- },
283
- address(candidate) {
284
- const address = addresses.get(candidate);
285
- if (!address)
286
- throw new Error('Missing resident evidence address.');
287
- return address;
288
- },
289
- });
290
- return async (context) => {
291
- if (context.turnId !== owner.turnId)
292
- throw new Error('Resident recall called from a different turn.');
293
- assertSource();
294
- return step(context);
295
- };
296
- }
297
- //# sourceMappingURL=evidence-recall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evidence-recall.js","sourceRoot":"","sources":["../../../src/manager/resident/evidence-recall.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export interface ResidentHistoryReadBudget {
2
- remaining: number;
3
- bytesRead: number;
4
- signal?: AbortSignal;
5
- }
6
- export declare class ResidentHistoryPageLimit extends Error {
7
- }
8
- /** Bounded read of an immutable record in a private host-owned hierarchy. */
9
- export declare function readResidentHistoryRecord(root: string, path: string, budget: ResidentHistoryReadBudget): Promise<unknown>;
10
- //# sourceMappingURL=history-disk.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history-disk.d.ts","sourceRoot":"","sources":["../../../src/manager/resident/history-disk.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,yBAAyB;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,qBAAa,wBAAyB,SAAQ,KAAK;CAAG;AAEtD,6EAA6E;AAC7E,wBAAsB,yBAAyB,CAC9C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,yBAAyB,GAC/B,OAAO,CAAC,OAAO,CAAC,CA2ClB"}
@@ -1,50 +0,0 @@
1
- import { constants } from 'node:fs';
2
- import { lstat, open } from 'node:fs/promises';
3
- import { join, relative, resolve, sep } from 'node:path';
4
- const RECORD_BYTES = 4 * 1024 * 1024;
5
- export class ResidentHistoryPageLimit extends Error {
6
- }
7
- /** Bounded read of an immutable record in a private host-owned hierarchy. */
8
- export async function readResidentHistoryRecord(root, path, budget) {
9
- budget.signal?.throwIfAborted();
10
- const base = resolve(root);
11
- const suffix = relative(base, resolve(path));
12
- if (suffix === '..' || suffix.startsWith(`..${sep}`))
13
- throw new Error('Invalid history path.');
14
- let current = base;
15
- for (const part of ['', ...suffix.split(sep).filter(Boolean)]) {
16
- current = join(current, part);
17
- if ((await lstat(current)).isSymbolicLink())
18
- throw new Error('History symlinks are refused.');
19
- }
20
- const handle = await open(path, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
21
- try {
22
- const before = await handle.stat();
23
- if (!before.isFile() || before.size > RECORD_BYTES)
24
- throw new Error('History record is not a bounded regular file.');
25
- if (before.size > budget.remaining)
26
- throw new ResidentHistoryPageLimit();
27
- const bytes = Buffer.alloc(before.size);
28
- let offset = 0;
29
- while (offset < bytes.length) {
30
- budget.signal?.throwIfAborted();
31
- const { bytesRead } = await handle.read(bytes, offset, Math.min(64 * 1024, bytes.length - offset), offset);
32
- budget.remaining -= bytesRead;
33
- budget.bytesRead += bytesRead;
34
- if (!bytesRead)
35
- throw new Error('History record shortened during read.');
36
- offset += bytesRead;
37
- }
38
- budget.signal?.throwIfAborted();
39
- const after = await handle.stat();
40
- if (after.size !== before.size ||
41
- after.mtimeMs !== before.mtimeMs ||
42
- after.ctimeMs !== before.ctimeMs)
43
- throw new Error('History record changed during read.');
44
- return JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(bytes));
45
- }
46
- finally {
47
- await handle.close();
48
- }
49
- }
50
- //# sourceMappingURL=history-disk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history-disk.js","sourceRoot":"","sources":["../../../src/manager/resident/history-disk.ts"],"names":[],"mappings":"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"}
@@ -1,115 +0,0 @@
1
- import type { ResidentAgendaState } from './agenda.js';
2
- import { type ResidentHistoryReadBudget } from './history-disk.js';
3
- /**
4
- * @experimental Host-bound historical scope; the upper revision never advances implicitly.
5
- *
6
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
7
- */
8
- export interface ResidentHistoryScope {
9
- readonly tenantId: string;
10
- readonly agentKey: string;
11
- readonly pursuitId: string;
12
- readonly throughRevision: number;
13
- }
14
- /**
15
- * @experimental Revision plus part identifies retained text within one pursuit.
16
- *
17
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
18
- */
19
- export interface ResidentHistoryAddress {
20
- readonly revision: number;
21
- readonly part: number;
22
- }
23
- /**
24
- * @experimental Summary or accepted wake input from a settled historical step.
25
- *
26
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
27
- */
28
- export interface ResidentHistoryMatch extends ResidentHistoryAddress {
29
- readonly step: number;
30
- readonly claimId: string;
31
- readonly kind: 'wait' | 'complete' | 'blocked';
32
- readonly source: 'summary' | 'wake';
33
- readonly excerpt: string;
34
- readonly matchingParts: readonly number[];
35
- }
36
- /**
37
- * @experimental Empty query browses recent steps; cursor is the next inclusive revision.
38
- *
39
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
40
- */
41
- export interface ResidentHistorySearchOptions {
42
- /** Optional per-call ceiling, 1 byte–8 MiB. Defaults to 8 MiB. */
43
- readonly maxReadBytes?: number;
44
- readonly query?: string;
45
- readonly cursor?: number;
46
- readonly limit?: number;
47
- }
48
- /**
49
- * @experimental Counts describe this page, not the whole history.
50
- *
51
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
52
- */
53
- export interface ResidentHistorySearchResult {
54
- readonly matches: readonly ResidentHistoryMatch[];
55
- readonly nextCursor: number | null;
56
- readonly scannedRevisions: number;
57
- readonly scannedBytes: number;
58
- readonly unavailableRevisions: readonly number[];
59
- readonly incomplete: boolean;
60
- }
61
- /**
62
- * @experimental Use the returned nextOffset to continue exact Unicode-safe text.
63
- *
64
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
65
- */
66
- export interface ResidentHistoryReadOptions extends ResidentHistoryAddress {
67
- readonly offset?: number;
68
- /** Optional per-call ceiling, 1 byte–8 MiB. Defaults to 8 MiB. */
69
- readonly maxReadBytes?: number;
70
- }
71
- /**
72
- * @experimental A recorded claim remains historical evidence, not proof of current validity.
73
- *
74
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
75
- */
76
- export interface ResidentHistoryText extends ResidentHistoryAddress {
77
- readonly step: number;
78
- readonly claimId: string;
79
- readonly kind: 'wait' | 'complete' | 'blocked';
80
- readonly source: 'summary' | 'wake';
81
- readonly receivedAt?: number;
82
- readonly text: string;
83
- readonly offset: number;
84
- readonly totalChars: number;
85
- readonly nextOffset: number | null;
86
- }
87
- /**
88
- * @experimental Null with unavailable revisions means unreadable evidence, not proven absence.
89
- *
90
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
91
- */
92
- export interface ResidentHistoryReadResult {
93
- readonly entry: ResidentHistoryText | null;
94
- readonly scannedRevisions: number;
95
- readonly scannedBytes: number;
96
- readonly unavailableRevisions: readonly number[];
97
- }
98
- /**
99
- * @experimental A backend must enforce its bound scope and bounded reads.
100
- *
101
- * @deprecated Residents are deprecated and removed in the next major release. Learning (`runLearningCycle` and the other `Learning*` names) keeps working, but `runLearningCycle` still takes a resident agenda until learning gets its own activation target in the next major release; for long-running work use scheduled tasks (`LocalTaskScheduler`), session goals and background agents.
102
- */
103
- export interface ResidentHistorySource {
104
- readonly scope: ResidentHistoryScope;
105
- search(options?: ResidentHistorySearchOptions, signal?: AbortSignal): Promise<ResidentHistorySearchResult>;
106
- read(options: ResidentHistoryReadOptions, signal?: AbortSignal): Promise<ResidentHistoryReadResult>;
107
- }
108
- type LoadRevision = (revision: number, budget: ResidentHistoryReadBudget) => Promise<ResidentAgendaState>;
109
- /** Internal disk adapter. Other backends may implement ResidentHistorySource directly. */
110
- export declare function createResidentHistorySource(scopeInput: ResidentHistoryScope, identity: {
111
- identity: string;
112
- objective: string;
113
- }, load: LoadRevision): ResidentHistorySource;
114
- export {};
115
- //# sourceMappingURL=history.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/manager/resident/history.ts"],"names":[],"mappings":"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"}