@caupulican/pi-adaptative 0.94.0 → 0.95.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 (371) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/dist/bundled-resources/extensions/tmux-agent-manager/README.md +32 -13
  3. package/dist/bundled-resources/extensions/tmux-agent-manager/index.d.ts +7 -4
  4. package/dist/bundled-resources/extensions/tmux-agent-manager/index.d.ts.map +1 -1
  5. package/dist/bundled-resources/extensions/tmux-agent-manager/index.js +173 -293
  6. package/dist/bundled-resources/extensions/tmux-agent-manager/index.js.map +1 -1
  7. package/dist/bundled-resources/extensions/tmux-agent-manager/index.ts +247 -392
  8. package/dist/bundled-resources/extensions/tmux-agent-manager/launch-profile.d.ts +52 -0
  9. package/dist/bundled-resources/extensions/tmux-agent-manager/launch-profile.d.ts.map +1 -0
  10. package/dist/bundled-resources/extensions/tmux-agent-manager/launch-profile.js +118 -0
  11. package/dist/bundled-resources/extensions/tmux-agent-manager/launch-profile.js.map +1 -0
  12. package/dist/bundled-resources/extensions/tmux-agent-manager/launch-profile.ts +169 -0
  13. package/dist/bundled-resources/extensions/tmux-agent-manager/templates/builder-validator.json +1 -1
  14. package/dist/bundled-resources/extensions/tmux-agent-manager/templates/provider-prompt-smoke.json +1 -1
  15. package/dist/bundled-resources/skills/pi-harness-learning/SKILL.md +13 -7
  16. package/dist/bundled-resources/skills/worker-profile-writer/SKILL.md +11 -11
  17. package/dist/core/agent-paths.d.ts +2 -0
  18. package/dist/core/agent-paths.d.ts.map +1 -1
  19. package/dist/core/agent-paths.js +7 -0
  20. package/dist/core/agent-paths.js.map +1 -1
  21. package/dist/core/agent-session.d.ts +11 -41
  22. package/dist/core/agent-session.d.ts.map +1 -1
  23. package/dist/core/agent-session.js +98 -161
  24. package/dist/core/agent-session.js.map +1 -1
  25. package/dist/core/autonomy/envelope-enforcement.d.ts +6 -1
  26. package/dist/core/autonomy/envelope-enforcement.d.ts.map +1 -1
  27. package/dist/core/autonomy/envelope-enforcement.js +26 -25
  28. package/dist/core/autonomy/envelope-enforcement.js.map +1 -1
  29. package/dist/core/autonomy/lane-private-paths.d.ts.map +1 -1
  30. package/dist/core/autonomy/lane-private-paths.js +2 -1
  31. package/dist/core/autonomy/lane-private-paths.js.map +1 -1
  32. package/dist/core/autonomy/lane-tool-surface.d.ts +8 -8
  33. package/dist/core/autonomy/lane-tool-surface.d.ts.map +1 -1
  34. package/dist/core/autonomy/lane-tool-surface.js +45 -30
  35. package/dist/core/autonomy/lane-tool-surface.js.map +1 -1
  36. package/dist/core/autonomy/worker-session-private-scope.d.ts +12 -0
  37. package/dist/core/autonomy/worker-session-private-scope.d.ts.map +1 -0
  38. package/dist/core/autonomy/worker-session-private-scope.js +42 -0
  39. package/dist/core/autonomy/worker-session-private-scope.js.map +1 -0
  40. package/dist/core/autonomy/worker-tool-adapter-registry.d.ts +65 -0
  41. package/dist/core/autonomy/worker-tool-adapter-registry.d.ts.map +1 -0
  42. package/dist/core/autonomy/worker-tool-adapter-registry.js +145 -0
  43. package/dist/core/autonomy/worker-tool-adapter-registry.js.map +1 -0
  44. package/dist/core/background-lane-controller.d.ts +9 -1
  45. package/dist/core/background-lane-controller.d.ts.map +1 -1
  46. package/dist/core/background-lane-controller.js +76 -6
  47. package/dist/core/background-lane-controller.js.map +1 -1
  48. package/dist/core/background-tool-task-controller.d.ts +23 -2
  49. package/dist/core/background-tool-task-controller.d.ts.map +1 -1
  50. package/dist/core/background-tool-task-controller.js +132 -17
  51. package/dist/core/background-tool-task-controller.js.map +1 -1
  52. package/dist/core/context/long-term-memory-trigger.d.ts +3 -1
  53. package/dist/core/context/long-term-memory-trigger.d.ts.map +1 -1
  54. package/dist/core/context/long-term-memory-trigger.js +1 -1
  55. package/dist/core/context/long-term-memory-trigger.js.map +1 -1
  56. package/dist/core/context/okf-memory-provider.d.ts +3 -0
  57. package/dist/core/context/okf-memory-provider.d.ts.map +1 -1
  58. package/dist/core/context/okf-memory-provider.js +66 -31
  59. package/dist/core/context/okf-memory-provider.js.map +1 -1
  60. package/dist/core/context/okf-memory.d.ts +18 -1
  61. package/dist/core/context/okf-memory.d.ts.map +1 -1
  62. package/dist/core/context/okf-memory.js +48 -0
  63. package/dist/core/context/okf-memory.js.map +1 -1
  64. package/dist/core/cost-guard-controller.d.ts +37 -0
  65. package/dist/core/cost-guard-controller.d.ts.map +1 -0
  66. package/dist/core/cost-guard-controller.js +71 -0
  67. package/dist/core/cost-guard-controller.js.map +1 -0
  68. package/dist/core/cost-guard.d.ts +9 -4
  69. package/dist/core/cost-guard.d.ts.map +1 -1
  70. package/dist/core/cost-guard.js +7 -3
  71. package/dist/core/cost-guard.js.map +1 -1
  72. package/dist/core/delegation/worker-agent-control.d.ts +4 -0
  73. package/dist/core/delegation/worker-agent-control.d.ts.map +1 -1
  74. package/dist/core/delegation/worker-agent-control.js.map +1 -1
  75. package/dist/core/delegation/worker-attempt-executor.d.ts +1 -1
  76. package/dist/core/delegation/worker-attempt-executor.d.ts.map +1 -1
  77. package/dist/core/delegation/worker-attempt-executor.js +0 -1
  78. package/dist/core/delegation/worker-attempt-executor.js.map +1 -1
  79. package/dist/core/delegation/worker-authority-resolver.d.ts +16 -3
  80. package/dist/core/delegation/worker-authority-resolver.d.ts.map +1 -1
  81. package/dist/core/delegation/worker-authority-resolver.js +114 -55
  82. package/dist/core/delegation/worker-authority-resolver.js.map +1 -1
  83. package/dist/core/delegation/worker-claim.d.ts +1 -2
  84. package/dist/core/delegation/worker-claim.d.ts.map +1 -1
  85. package/dist/core/delegation/worker-claim.js.map +1 -1
  86. package/dist/core/delegation/worker-delegation-controller.d.ts +19 -6
  87. package/dist/core/delegation/worker-delegation-controller.d.ts.map +1 -1
  88. package/dist/core/delegation/worker-delegation-controller.js +125 -40
  89. package/dist/core/delegation/worker-delegation-controller.js.map +1 -1
  90. package/dist/core/delegation/worker-delegation-request.d.ts +3 -3
  91. package/dist/core/delegation/worker-delegation-request.d.ts.map +1 -1
  92. package/dist/core/delegation/worker-delegation-request.js +13 -19
  93. package/dist/core/delegation/worker-delegation-request.js.map +1 -1
  94. package/dist/core/delegation/worker-execution-policy.d.ts +3 -2
  95. package/dist/core/delegation/worker-execution-policy.d.ts.map +1 -1
  96. package/dist/core/delegation/worker-execution-policy.js +54 -39
  97. package/dist/core/delegation/worker-execution-policy.js.map +1 -1
  98. package/dist/core/delegation/worker-fleet-limits.d.ts +3 -3
  99. package/dist/core/delegation/worker-fleet-limits.d.ts.map +1 -1
  100. package/dist/core/delegation/worker-fleet-limits.js +7 -7
  101. package/dist/core/delegation/worker-fleet-limits.js.map +1 -1
  102. package/dist/core/delegation/worker-machine-scope.d.ts +12 -0
  103. package/dist/core/delegation/worker-machine-scope.d.ts.map +1 -0
  104. package/dist/core/delegation/worker-machine-scope.js +38 -0
  105. package/dist/core/delegation/worker-machine-scope.js.map +1 -0
  106. package/dist/core/delegation/worker-notification-coordinator.d.ts +10 -0
  107. package/dist/core/delegation/worker-notification-coordinator.d.ts.map +1 -1
  108. package/dist/core/delegation/worker-notification-coordinator.js +69 -3
  109. package/dist/core/delegation/worker-notification-coordinator.js.map +1 -1
  110. package/dist/core/delegation/worker-recovery-coordinator.d.ts.map +1 -1
  111. package/dist/core/delegation/worker-recovery-coordinator.js +6 -1
  112. package/dist/core/delegation/worker-recovery-coordinator.js.map +1 -1
  113. package/dist/core/delegation/worker-runner.d.ts +5 -7
  114. package/dist/core/delegation/worker-runner.d.ts.map +1 -1
  115. package/dist/core/delegation/worker-runner.js +1 -4
  116. package/dist/core/delegation/worker-runner.js.map +1 -1
  117. package/dist/core/delegation/worker-write-reservation-coordinator.d.ts +3 -2
  118. package/dist/core/delegation/worker-write-reservation-coordinator.d.ts.map +1 -1
  119. package/dist/core/delegation/worker-write-reservation-coordinator.js +50 -25
  120. package/dist/core/delegation/worker-write-reservation-coordinator.js.map +1 -1
  121. package/dist/core/durable-custom-message-turn-controller.d.ts +6 -0
  122. package/dist/core/durable-custom-message-turn-controller.d.ts.map +1 -1
  123. package/dist/core/durable-custom-message-turn-controller.js +38 -15
  124. package/dist/core/durable-custom-message-turn-controller.js.map +1 -1
  125. package/dist/core/extension-binding-controller.d.ts +5 -1
  126. package/dist/core/extension-binding-controller.d.ts.map +1 -1
  127. package/dist/core/extension-binding-controller.js +15 -0
  128. package/dist/core/extension-binding-controller.js.map +1 -1
  129. package/dist/core/extensions/factory-runtime.d.ts.map +1 -1
  130. package/dist/core/extensions/factory-runtime.js +5 -0
  131. package/dist/core/extensions/factory-runtime.js.map +1 -1
  132. package/dist/core/extensions/runner.d.ts.map +1 -1
  133. package/dist/core/extensions/runner.js +1 -0
  134. package/dist/core/extensions/runner.js.map +1 -1
  135. package/dist/core/extensions/types.d.ts +8 -4
  136. package/dist/core/extensions/types.d.ts.map +1 -1
  137. package/dist/core/extensions/types.js.map +1 -1
  138. package/dist/core/foreground-terminal-handoff-controller.d.ts +31 -0
  139. package/dist/core/foreground-terminal-handoff-controller.d.ts.map +1 -1
  140. package/dist/core/foreground-terminal-handoff-controller.js +239 -55
  141. package/dist/core/foreground-terminal-handoff-controller.js.map +1 -1
  142. package/dist/core/goals/goal-session-controller.d.ts +2 -0
  143. package/dist/core/goals/goal-session-controller.d.ts.map +1 -1
  144. package/dist/core/goals/goal-session-controller.js +8 -0
  145. package/dist/core/goals/goal-session-controller.js.map +1 -1
  146. package/dist/core/goals/goal-tool-core.d.ts +5 -4
  147. package/dist/core/goals/goal-tool-core.d.ts.map +1 -1
  148. package/dist/core/goals/goal-tool-core.js +23 -19
  149. package/dist/core/goals/goal-tool-core.js.map +1 -1
  150. package/dist/core/learning/auto-learn-settings.d.ts +84 -0
  151. package/dist/core/learning/auto-learn-settings.d.ts.map +1 -0
  152. package/dist/core/learning/auto-learn-settings.js +66 -0
  153. package/dist/core/learning/auto-learn-settings.js.map +1 -0
  154. package/dist/core/learning/learning-audit.d.ts +5 -1
  155. package/dist/core/learning/learning-audit.d.ts.map +1 -1
  156. package/dist/core/learning/learning-audit.js +32 -1
  157. package/dist/core/learning/learning-audit.js.map +1 -1
  158. package/dist/core/learning/reflection-engine.d.ts +24 -0
  159. package/dist/core/learning/reflection-engine.d.ts.map +1 -1
  160. package/dist/core/learning/reflection-engine.js +104 -8
  161. package/dist/core/learning/reflection-engine.js.map +1 -1
  162. package/dist/core/local-prefix-warm-controller.d.ts +24 -0
  163. package/dist/core/local-prefix-warm-controller.d.ts.map +1 -0
  164. package/dist/core/local-prefix-warm-controller.js +79 -0
  165. package/dist/core/local-prefix-warm-controller.js.map +1 -0
  166. package/dist/core/memory/okf-project-memory-store.d.ts +28 -0
  167. package/dist/core/memory/okf-project-memory-store.d.ts.map +1 -0
  168. package/dist/core/memory/okf-project-memory-store.js +111 -0
  169. package/dist/core/memory/okf-project-memory-store.js.map +1 -0
  170. package/dist/core/memory/providers/file-store.d.ts +44 -1
  171. package/dist/core/memory/providers/file-store.d.ts.map +1 -1
  172. package/dist/core/memory/providers/file-store.js +341 -24
  173. package/dist/core/memory/providers/file-store.js.map +1 -1
  174. package/dist/core/memory/worker-memory-tools.d.ts +5 -0
  175. package/dist/core/memory/worker-memory-tools.d.ts.map +1 -0
  176. package/dist/core/memory/worker-memory-tools.js +5 -0
  177. package/dist/core/memory/worker-memory-tools.js.map +1 -0
  178. package/dist/core/memory-controller.d.ts +10 -1
  179. package/dist/core/memory-controller.d.ts.map +1 -1
  180. package/dist/core/memory-controller.js +72 -8
  181. package/dist/core/memory-controller.js.map +1 -1
  182. package/dist/core/model-capability.d.ts +7 -0
  183. package/dist/core/model-capability.d.ts.map +1 -1
  184. package/dist/core/model-capability.js +12 -0
  185. package/dist/core/model-capability.js.map +1 -1
  186. package/dist/core/model-registry.d.ts.map +1 -1
  187. package/dist/core/model-registry.js +2 -10
  188. package/dist/core/model-registry.js.map +1 -1
  189. package/dist/core/model-router-controller.d.ts +3 -2
  190. package/dist/core/model-router-controller.d.ts.map +1 -1
  191. package/dist/core/model-router-controller.js +3 -2
  192. package/dist/core/model-router-controller.js.map +1 -1
  193. package/dist/core/orchestration/contracts.d.ts +16 -12
  194. package/dist/core/orchestration/contracts.d.ts.map +1 -1
  195. package/dist/core/orchestration/contracts.js +2 -2
  196. package/dist/core/orchestration/contracts.js.map +1 -1
  197. package/dist/core/orchestration/lane-tool-manifests.d.ts +2 -2
  198. package/dist/core/orchestration/lane-tool-manifests.d.ts.map +1 -1
  199. package/dist/core/orchestration/lane-tool-manifests.js +6 -1
  200. package/dist/core/orchestration/lane-tool-manifests.js.map +1 -1
  201. package/dist/core/orchestration/profile-registry.d.ts.map +1 -1
  202. package/dist/core/orchestration/profile-registry.js +14 -0
  203. package/dist/core/orchestration/profile-registry.js.map +1 -1
  204. package/dist/core/orchestration/task-profile-writer.d.ts +7 -4
  205. package/dist/core/orchestration/task-profile-writer.d.ts.map +1 -1
  206. package/dist/core/orchestration/task-profile-writer.js +71 -59
  207. package/dist/core/orchestration/task-profile-writer.js.map +1 -1
  208. package/dist/core/orchestration/thinking-level-schema.d.ts +7 -0
  209. package/dist/core/orchestration/thinking-level-schema.d.ts.map +1 -0
  210. package/dist/core/orchestration/thinking-level-schema.js +19 -0
  211. package/dist/core/orchestration/thinking-level-schema.js.map +1 -0
  212. package/dist/core/orchestration/worker-execution-contract.d.ts.map +1 -1
  213. package/dist/core/orchestration/worker-execution-contract.js +12 -5
  214. package/dist/core/orchestration/worker-execution-contract.js.map +1 -1
  215. package/dist/core/provider-prompt-contracts.d.ts +1 -4
  216. package/dist/core/provider-prompt-contracts.d.ts.map +1 -1
  217. package/dist/core/provider-prompt-contracts.js +13 -29
  218. package/dist/core/provider-prompt-contracts.js.map +1 -1
  219. package/dist/core/provider-request-context-controller.d.ts +2 -0
  220. package/dist/core/provider-request-context-controller.d.ts.map +1 -1
  221. package/dist/core/provider-request-context-controller.js +10 -3
  222. package/dist/core/provider-request-context-controller.js.map +1 -1
  223. package/dist/core/reflection-controller.d.ts +63 -27
  224. package/dist/core/reflection-controller.d.ts.map +1 -1
  225. package/dist/core/reflection-controller.js +300 -132
  226. package/dist/core/reflection-controller.js.map +1 -1
  227. package/dist/core/runtime-builder.d.ts +1 -0
  228. package/dist/core/runtime-builder.d.ts.map +1 -1
  229. package/dist/core/runtime-builder.js +25 -14
  230. package/dist/core/runtime-builder.js.map +1 -1
  231. package/dist/core/secrets/credential-exposure-guard.d.ts.map +1 -1
  232. package/dist/core/secrets/credential-exposure-guard.js +55 -10
  233. package/dist/core/secrets/credential-exposure-guard.js.map +1 -1
  234. package/dist/core/session-role.d.ts +6 -8
  235. package/dist/core/session-role.d.ts.map +1 -1
  236. package/dist/core/session-role.js +8 -18
  237. package/dist/core/session-role.js.map +1 -1
  238. package/dist/core/settings-manager.d.ts +13 -16
  239. package/dist/core/settings-manager.d.ts.map +1 -1
  240. package/dist/core/settings-manager.js +53 -50
  241. package/dist/core/settings-manager.js.map +1 -1
  242. package/dist/core/skill-vault.d.ts +15 -0
  243. package/dist/core/skill-vault.d.ts.map +1 -1
  244. package/dist/core/skill-vault.js +79 -45
  245. package/dist/core/skill-vault.js.map +1 -1
  246. package/dist/core/skills.d.ts +3 -0
  247. package/dist/core/skills.d.ts.map +1 -1
  248. package/dist/core/skills.js +6 -6
  249. package/dist/core/skills.js.map +1 -1
  250. package/dist/core/system-prompt-builder.d.ts +2 -0
  251. package/dist/core/system-prompt-builder.d.ts.map +1 -1
  252. package/dist/core/system-prompt-builder.js +52 -12
  253. package/dist/core/system-prompt-builder.js.map +1 -1
  254. package/dist/core/system-prompt.js +1 -1
  255. package/dist/core/system-prompt.js.map +1 -1
  256. package/dist/core/tool-capability-policy.d.ts +3 -0
  257. package/dist/core/tool-capability-policy.d.ts.map +1 -1
  258. package/dist/core/tool-capability-policy.js +13 -2
  259. package/dist/core/tool-capability-policy.js.map +1 -1
  260. package/dist/core/toolkit/script-runner.d.ts +2 -1
  261. package/dist/core/toolkit/script-runner.d.ts.map +1 -1
  262. package/dist/core/toolkit/script-runner.js +10 -2
  263. package/dist/core/toolkit/script-runner.js.map +1 -1
  264. package/dist/core/tools/delegate-status.d.ts +3 -1
  265. package/dist/core/tools/delegate-status.d.ts.map +1 -1
  266. package/dist/core/tools/delegate-status.js +5 -1
  267. package/dist/core/tools/delegate-status.js.map +1 -1
  268. package/dist/core/tools/delegate.d.ts +4 -13
  269. package/dist/core/tools/delegate.d.ts.map +1 -1
  270. package/dist/core/tools/delegate.js +173 -73
  271. package/dist/core/tools/delegate.js.map +1 -1
  272. package/dist/core/tools/goal.d.ts +3 -4
  273. package/dist/core/tools/goal.d.ts.map +1 -1
  274. package/dist/core/tools/goal.js +24 -7
  275. package/dist/core/tools/goal.js.map +1 -1
  276. package/dist/core/tools/profile-writer.d.ts +2 -8
  277. package/dist/core/tools/profile-writer.d.ts.map +1 -1
  278. package/dist/core/tools/profile-writer.js +6 -18
  279. package/dist/core/tools/profile-writer.js.map +1 -1
  280. package/dist/core/tools/run-toolkit-script.d.ts +1 -1
  281. package/dist/core/tools/run-toolkit-script.d.ts.map +1 -1
  282. package/dist/core/tools/run-toolkit-script.js +2 -2
  283. package/dist/core/tools/run-toolkit-script.js.map +1 -1
  284. package/dist/core/tools/skill-audit.d.ts +28 -1
  285. package/dist/core/tools/skill-audit.d.ts.map +1 -1
  286. package/dist/core/tools/skill-audit.js +56 -12
  287. package/dist/core/tools/skill-audit.js.map +1 -1
  288. package/dist/core/tools/skill.d.ts +12 -1
  289. package/dist/core/tools/skill.d.ts.map +1 -1
  290. package/dist/core/tools/skill.js +52 -0
  291. package/dist/core/tools/skill.js.map +1 -1
  292. package/dist/core/tools/skillify.d.ts.map +1 -1
  293. package/dist/core/tools/skillify.js +16 -7
  294. package/dist/core/tools/skillify.js.map +1 -1
  295. package/dist/core/tools/task-steps.js +1 -1
  296. package/dist/core/tools/task-steps.js.map +1 -1
  297. package/dist/core/tools/tmux-dispatch.d.ts +4 -16
  298. package/dist/core/tools/tmux-dispatch.d.ts.map +1 -1
  299. package/dist/core/tools/tmux-dispatch.js +5 -20
  300. package/dist/core/tools/tmux-dispatch.js.map +1 -1
  301. package/dist/core/tools/tool-task.d.ts +1 -0
  302. package/dist/core/tools/tool-task.d.ts.map +1 -1
  303. package/dist/core/tools/tool-task.js +13 -8
  304. package/dist/core/tools/tool-task.js.map +1 -1
  305. package/dist/core/util/atomic-file.d.ts +2 -0
  306. package/dist/core/util/atomic-file.d.ts.map +1 -1
  307. package/dist/core/util/atomic-file.js +4 -0
  308. package/dist/core/util/atomic-file.js.map +1 -1
  309. package/dist/core/worktree-sync/codes.d.ts +1 -2
  310. package/dist/core/worktree-sync/codes.d.ts.map +1 -1
  311. package/dist/core/worktree-sync/codes.js +1 -2
  312. package/dist/core/worktree-sync/codes.js.map +1 -1
  313. package/dist/core/worktree-sync/lane-gate.d.ts +4 -8
  314. package/dist/core/worktree-sync/lane-gate.d.ts.map +1 -1
  315. package/dist/core/worktree-sync/lane-gate.js +5 -51
  316. package/dist/core/worktree-sync/lane-gate.js.map +1 -1
  317. package/dist/index.d.ts +5 -0
  318. package/dist/index.d.ts.map +1 -1
  319. package/dist/index.js +7 -0
  320. package/dist/index.js.map +1 -1
  321. package/dist/modes/interactive/auto-learn-controller.d.ts +6 -7
  322. package/dist/modes/interactive/auto-learn-controller.d.ts.map +1 -1
  323. package/dist/modes/interactive/auto-learn-controller.js +32 -207
  324. package/dist/modes/interactive/auto-learn-controller.js.map +1 -1
  325. package/dist/modes/interactive/autonomy-commands.js +2 -2
  326. package/dist/modes/interactive/autonomy-commands.js.map +1 -1
  327. package/dist/modes/interactive/components/activity-lane.d.ts.map +1 -1
  328. package/dist/modes/interactive/components/activity-lane.js +12 -23
  329. package/dist/modes/interactive/components/activity-lane.js.map +1 -1
  330. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  331. package/dist/modes/interactive/components/custom-message.js +142 -1
  332. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  333. package/dist/modes/interactive/components/fitness-role-selector.d.ts.map +1 -1
  334. package/dist/modes/interactive/components/fitness-role-selector.js +2 -2
  335. package/dist/modes/interactive/components/fitness-role-selector.js.map +1 -1
  336. package/dist/modes/interactive/components/footer.js +1 -1
  337. package/dist/modes/interactive/components/footer.js.map +1 -1
  338. package/dist/modes/interactive/components/settings-selector.d.ts +4 -0
  339. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  340. package/dist/modes/interactive/components/settings-selector.js +150 -73
  341. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  342. package/dist/modes/interactive/report-commands.d.ts.map +1 -1
  343. package/dist/modes/interactive/report-commands.js +8 -4
  344. package/dist/modes/interactive/report-commands.js.map +1 -1
  345. package/dist/modes/interactive/settings-selector-flow.d.ts.map +1 -1
  346. package/dist/modes/interactive/settings-selector-flow.js +10 -0
  347. package/dist/modes/interactive/settings-selector-flow.js.map +1 -1
  348. package/docs/extensions.md +8 -0
  349. package/docs/harness-architecture.md +28 -32
  350. package/docs/index.md +1 -1
  351. package/docs/process-matrix.md +8 -6
  352. package/docs/resources.md +1 -1
  353. package/docs/settings.md +61 -51
  354. package/docs/tmux-agent-manager.md +47 -40
  355. package/docs/usage.md +1 -1
  356. package/docs/worker-profiles.md +8 -6
  357. package/docs/worktree-sync.md +26 -20
  358. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  359. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  360. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  361. package/examples/extensions/sandbox/package-lock.json +2 -2
  362. package/examples/extensions/sandbox/package.json +1 -1
  363. package/examples/extensions/with-deps/package-lock.json +2 -2
  364. package/examples/extensions/with-deps/package.json +1 -1
  365. package/npm-shrinkwrap.json +12 -12
  366. package/package.json +4 -4
  367. package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.d.ts +0 -133
  368. package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.d.ts.map +0 -1
  369. package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.js +0 -199
  370. package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.js.map +0 -1
  371. package/dist/bundled-resources/extensions/tmux-agent-manager/dispatch-grant.ts +0 -312
@@ -0,0 +1,79 @@
1
+ /** Best-effort, preemptible standing-prefix warmup for loopback OpenAI-compatible models. */
2
+ import { projectToolsForProvider } from "@caupulican/pi-agent-core/provider-tool-projection";
3
+ import { formatModelRouterModel } from "./model-router-controller.js";
4
+ import { HF_TRANSFORMERS_PROVIDER, OLLAMA_PROVIDER } from "./models/local-registration.js";
5
+ import { isLoopbackModelEndpoint } from "./models/model-endpoint.js";
6
+ export function isWarmableLocalModel(model) {
7
+ return model.api === "openai-completions" && isLoopbackModelEndpoint(model.baseUrl);
8
+ }
9
+ export class LocalPrefixWarmController {
10
+ constructor(deps) {
11
+ this.completed = new Set();
12
+ this.deps = deps;
13
+ }
14
+ schedule(model) {
15
+ if (!model || !isWarmableLocalModel(model))
16
+ return;
17
+ const modelKey = formatModelRouterModel(model);
18
+ if (this.completed.has(modelKey) || this.active?.modelKey === modelKey)
19
+ return;
20
+ this.cancel();
21
+ const controller = new AbortController();
22
+ const timer = setTimeout(() => {
23
+ const active = this.active;
24
+ if (!active || active.controller !== controller || controller.signal.aborted)
25
+ return;
26
+ active.timer = undefined;
27
+ void this.run(model, modelKey, controller);
28
+ }, 0);
29
+ timer.unref?.();
30
+ this.active = { modelKey, controller, timer };
31
+ }
32
+ cancel() {
33
+ const active = this.active;
34
+ if (!active)
35
+ return;
36
+ if (active.timer)
37
+ clearTimeout(active.timer);
38
+ active.controller.abort(new Error("prefix warmer preempted"));
39
+ this.active = undefined;
40
+ }
41
+ async run(model, modelKey, controller) {
42
+ try {
43
+ const streamFn = this.deps.getStreamFn();
44
+ const options = {
45
+ maxTokens: 1,
46
+ signal: controller.signal,
47
+ ...this.deps.getRequestHooks(),
48
+ };
49
+ if (this.deps.isRawStreamSimple(streamFn)) {
50
+ const auth = await this.deps.getRequiredRequestAuth(model);
51
+ options.apiKey = auth.apiKey;
52
+ options.headers = auth.headers;
53
+ }
54
+ if (controller.signal.aborted)
55
+ return;
56
+ if (model.provider === OLLAMA_PROVIDER || model.provider === HF_TRANSFORMERS_PROVIDER) {
57
+ await this.deps.ensureManagedModelReady(model);
58
+ }
59
+ if (controller.signal.aborted)
60
+ return;
61
+ const stream = await streamFn(model, {
62
+ systemPrompt: this.deps.getSystemPrompt(),
63
+ tools: projectToolsForProvider(this.deps.getTools()),
64
+ messages: [],
65
+ }, options);
66
+ await stream.result();
67
+ if (!controller.signal.aborted)
68
+ this.completed.add(modelKey);
69
+ }
70
+ catch {
71
+ // A cache miss must never affect the real turn.
72
+ }
73
+ finally {
74
+ if (this.active?.controller === controller)
75
+ this.active = undefined;
76
+ }
77
+ }
78
+ }
79
+ //# sourceMappingURL=local-prefix-warm-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-prefix-warm-controller.js","sourceRoot":"","sources":["../../src/core/local-prefix-warm-controller.ts"],"names":[],"mappings":"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","sourcesContent":["/** Best-effort, preemptible standing-prefix warmup for loopback OpenAI-compatible models. */\n\nimport { projectToolsForProvider } from \"@caupulican/pi-agent-core/provider-tool-projection\";\nimport type { AgentTool, StreamFn } from \"@caupulican/pi-agent-core/types\";\nimport type { Api, Model, SimpleStreamOptions } from \"@caupulican/pi-ai\";\nimport { formatModelRouterModel } from \"./model-router-controller.ts\";\nimport { HF_TRANSFORMERS_PROVIDER, OLLAMA_PROVIDER } from \"./models/local-registration.ts\";\nimport { isLoopbackModelEndpoint } from \"./models/model-endpoint.ts\";\nimport type { RequestAuth } from \"./request-auth.ts\";\n\nexport interface LocalPrefixWarmControllerDeps {\n\tgetStreamFn(): StreamFn;\n\tgetTools(): AgentTool[];\n\tgetSystemPrompt(): string;\n\tgetRequestHooks(): Pick<SimpleStreamOptions, \"onPayload\" | \"onResponse\">;\n\tisRawStreamSimple(streamFn: StreamFn): boolean;\n\tgetRequiredRequestAuth(model: Model<Api>): Promise<RequestAuth>;\n\tensureManagedModelReady(model: Model<Api>): Promise<void>;\n}\n\nexport function isWarmableLocalModel(model: Model<Api>): boolean {\n\treturn model.api === \"openai-completions\" && isLoopbackModelEndpoint(model.baseUrl);\n}\n\nexport class LocalPrefixWarmController {\n\tprivate readonly deps: LocalPrefixWarmControllerDeps;\n\tprivate active: { modelKey: string; controller: AbortController; timer: NodeJS.Timeout | undefined } | undefined;\n\tprivate readonly completed = new Set<string>();\n\n\tconstructor(deps: LocalPrefixWarmControllerDeps) {\n\t\tthis.deps = deps;\n\t}\n\n\tschedule(model: Model<Api> | undefined): void {\n\t\tif (!model || !isWarmableLocalModel(model)) return;\n\t\tconst modelKey = formatModelRouterModel(model);\n\t\tif (this.completed.has(modelKey) || this.active?.modelKey === modelKey) return;\n\t\tthis.cancel();\n\t\tconst controller = new AbortController();\n\t\tconst timer = setTimeout(() => {\n\t\t\tconst active = this.active;\n\t\t\tif (!active || active.controller !== controller || controller.signal.aborted) return;\n\t\t\tactive.timer = undefined;\n\t\t\tvoid this.run(model, modelKey, controller);\n\t\t}, 0);\n\t\ttimer.unref?.();\n\t\tthis.active = { modelKey, controller, timer };\n\t}\n\n\tcancel(): void {\n\t\tconst active = this.active;\n\t\tif (!active) return;\n\t\tif (active.timer) clearTimeout(active.timer);\n\t\tactive.controller.abort(new Error(\"prefix warmer preempted\"));\n\t\tthis.active = undefined;\n\t}\n\n\tprivate async run(model: Model<Api>, modelKey: string, controller: AbortController): Promise<void> {\n\t\ttry {\n\t\t\tconst streamFn = this.deps.getStreamFn();\n\t\t\tconst options: SimpleStreamOptions = {\n\t\t\t\tmaxTokens: 1,\n\t\t\t\tsignal: controller.signal,\n\t\t\t\t...this.deps.getRequestHooks(),\n\t\t\t};\n\t\t\tif (this.deps.isRawStreamSimple(streamFn)) {\n\t\t\t\tconst auth = await this.deps.getRequiredRequestAuth(model);\n\t\t\t\toptions.apiKey = auth.apiKey;\n\t\t\t\toptions.headers = auth.headers;\n\t\t\t}\n\t\t\tif (controller.signal.aborted) return;\n\t\t\tif (model.provider === OLLAMA_PROVIDER || model.provider === HF_TRANSFORMERS_PROVIDER) {\n\t\t\t\tawait this.deps.ensureManagedModelReady(model);\n\t\t\t}\n\t\t\tif (controller.signal.aborted) return;\n\t\t\tconst stream = await streamFn(\n\t\t\t\tmodel,\n\t\t\t\t{\n\t\t\t\t\tsystemPrompt: this.deps.getSystemPrompt(),\n\t\t\t\t\ttools: projectToolsForProvider(this.deps.getTools()),\n\t\t\t\t\tmessages: [],\n\t\t\t\t},\n\t\t\t\toptions,\n\t\t\t);\n\t\t\tawait stream.result();\n\t\t\tif (!controller.signal.aborted) this.completed.add(modelKey);\n\t\t} catch {\n\t\t\t// A cache miss must never affect the real turn.\n\t\t} finally {\n\t\t\tif (this.active?.controller === controller) this.active = undefined;\n\t\t}\n\t}\n}\n"]}
@@ -0,0 +1,28 @@
1
+ import { type OkfMemoryDocumentInput, type PiOkfType } from "../context/okf-memory.ts";
2
+ export interface OkfProjectMemoryPutResult {
3
+ created: boolean;
4
+ digest: string;
5
+ path: string;
6
+ }
7
+ export interface OkfProjectMemoryRemoveResult {
8
+ removed: boolean;
9
+ }
10
+ /**
11
+ * Durable storage owner for model-authored project OKF records. It owns project identity, bounds,
12
+ * conflict policy, symlink containment, per-record locking, and atomic replacement. Existing
13
+ * different content is never overwritten by an `add`; reflection must confront it explicitly.
14
+ */
15
+ export declare class OkfProjectMemoryStore {
16
+ readonly projectId: string;
17
+ readonly projectRoot: string;
18
+ private readonly agentDir;
19
+ private readonly rootDir;
20
+ private readonly projectDir;
21
+ constructor(agentDir: string, cwd: string);
22
+ private recordPath;
23
+ private assertContained;
24
+ put(input: Omit<OkfMemoryDocumentInput, "projectId">): Promise<OkfProjectMemoryPutResult>;
25
+ remove(type: PiOkfType, title: string, expectedDigest?: string): Promise<OkfProjectMemoryRemoveResult>;
26
+ list(maxDocuments?: number): string;
27
+ }
28
+ //# sourceMappingURL=okf-project-memory-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"okf-project-memory-store.d.ts","sourceRoot":"","sources":["../../../src/core/memory/okf-project-memory-store.ts"],"names":[],"mappings":"AAKA,OAAO,EAEN,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EAEd,MAAM,0BAA0B,CAAC;AAYlC,MAAM,WAAW,yBAAyB;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,4BAA4B;IAC5C,OAAO,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,qBAAqB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YAAY,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAOxC;IAED,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,eAAe;IAgBjB,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAmB9F;IAEK,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAkB3G;IAED,IAAI,CAAC,YAAY,SAAK,GAAG,MAAM,CAc9B;CACD"}
@@ -0,0 +1,111 @@
1
+ import { createHash } from "node:crypto";
2
+ import { promises as fs } from "node:fs";
3
+ import { join } from "node:path";
4
+ import { okfMemoryDir, okfProjectMemoryDir } from "../agent-paths.js";
5
+ import { isPathWithinScope, safeRealpathSync } from "../autonomy/path-scope.js";
6
+ import { formatOkfMemoryDocument, validateOkfMemoryDocumentInput, } from "../context/okf-memory.js";
7
+ import { loadOkfMemoryBundle } from "../context/okf-memory-provider.js";
8
+ import { getDirectoryResourceProfileInfo } from "../settings-manager.js";
9
+ import { isMissingFileError, withFileLock, writeFileAtomic } from "../util/atomic-file.js";
10
+ import { readBoundedTextFile } from "../util/bounded-file.js";
11
+ const MAX_OKF_DOCUMENT_BYTES = 16_384;
12
+ function digest(content) {
13
+ return createHash("sha256").update(content, "utf8").digest("hex");
14
+ }
15
+ /**
16
+ * Durable storage owner for model-authored project OKF records. It owns project identity, bounds,
17
+ * conflict policy, symlink containment, per-record locking, and atomic replacement. Existing
18
+ * different content is never overwritten by an `add`; reflection must confront it explicitly.
19
+ */
20
+ export class OkfProjectMemoryStore {
21
+ constructor(agentDir, cwd) {
22
+ const identity = getDirectoryResourceProfileInfo(cwd, agentDir);
23
+ this.agentDir = agentDir;
24
+ this.rootDir = okfMemoryDir(agentDir);
25
+ this.projectId = identity.hash;
26
+ this.projectRoot = identity.root;
27
+ this.projectDir = okfProjectMemoryDir(agentDir, identity.hash);
28
+ }
29
+ recordPath(type, title) {
30
+ const path = join(this.projectDir, `${digest(`${type}\0${title}`)}.okf.md`);
31
+ if (!isPathWithinScope(path, this.projectDir))
32
+ throw new Error("OKF record escaped its project root.");
33
+ return path;
34
+ }
35
+ assertContained(path) {
36
+ const canonicalAgentDir = safeRealpathSync(this.agentDir);
37
+ const canonicalRootDir = safeRealpathSync(this.rootDir);
38
+ const canonicalProjectDir = safeRealpathSync(this.projectDir);
39
+ const canonicalPath = safeRealpathSync(path);
40
+ if (!isPathWithinScope(canonicalRootDir, canonicalAgentDir)) {
41
+ throw new Error("OKF memory root escapes the agent directory.");
42
+ }
43
+ if (!isPathWithinScope(canonicalProjectDir, canonicalRootDir)) {
44
+ throw new Error("OKF project root escapes the OKF memory root.");
45
+ }
46
+ if (!isPathWithinScope(canonicalPath, canonicalProjectDir)) {
47
+ throw new Error("OKF record escapes its project root.");
48
+ }
49
+ }
50
+ async put(input) {
51
+ const errors = validateOkfMemoryDocumentInput(input, { projectOnly: true, requireEvidence: true });
52
+ if (errors.length > 0)
53
+ throw new Error(`Invalid OKF record: ${errors.join("; ")}`);
54
+ const document = formatOkfMemoryDocument({ ...input, projectId: this.projectId });
55
+ const documentDigest = digest(document);
56
+ const path = this.recordPath(input.type, input.title);
57
+ this.assertContained(path);
58
+ return withFileLock(path, async () => {
59
+ this.assertContained(path);
60
+ try {
61
+ const existing = await readBoundedTextFile(path, MAX_OKF_DOCUMENT_BYTES, "OKF project record");
62
+ if (existing === document)
63
+ return { created: false, digest: documentDigest, path };
64
+ throw new Error("A different structured record already exists for this type and title.");
65
+ }
66
+ catch (error) {
67
+ if (!isMissingFileError(error))
68
+ throw error;
69
+ }
70
+ await writeFileAtomic(path, document, { mode: 0o600 });
71
+ return { created: true, digest: documentDigest, path };
72
+ });
73
+ }
74
+ async remove(type, title, expectedDigest) {
75
+ const path = this.recordPath(type, title);
76
+ this.assertContained(path);
77
+ return withFileLock(path, async () => {
78
+ this.assertContained(path);
79
+ let existing;
80
+ try {
81
+ existing = await readBoundedTextFile(path, MAX_OKF_DOCUMENT_BYTES, "OKF project record");
82
+ }
83
+ catch (error) {
84
+ if (isMissingFileError(error))
85
+ return { removed: false };
86
+ throw error;
87
+ }
88
+ if (expectedDigest !== undefined && digest(existing) !== expectedDigest) {
89
+ throw new Error("OKF record changed after the audited write; refusing removal.");
90
+ }
91
+ await fs.unlink(path);
92
+ return { removed: true };
93
+ });
94
+ }
95
+ list(maxDocuments = 64) {
96
+ return loadOkfMemoryBundle({
97
+ rootDir: this.rootDir,
98
+ projectId: this.projectId,
99
+ projectRoot: this.projectRoot,
100
+ maxDocuments,
101
+ })
102
+ .entries.map(({ relativePath, parsed }) => {
103
+ const item = parsed.item;
104
+ return item === undefined ? "" : `${relativePath}: ${item.title ?? "Untitled"} — ${item.summary}`;
105
+ })
106
+ .filter((entry) => entry.length > 0)
107
+ .join("\n")
108
+ .slice(0, 8_000);
109
+ }
110
+ }
111
+ //# sourceMappingURL=okf-project-memory-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"okf-project-memory-store.js","sourceRoot":"","sources":["../../../src/core/memory/okf-project-memory-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EACN,uBAAuB,EAGvB,8BAA8B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,SAAS,MAAM,CAAC,OAAe;IAC9B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAYD;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAOjC,YAAY,QAAgB,EAAE,GAAW;QACxC,MAAM,QAAQ,GAAG,+BAA+B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAEO,UAAU,CAAC,IAAe,EAAE,KAAa;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACvG,OAAO,IAAI,CAAC;IACb,CAAC;IAEO,eAAe,CAAC,IAAY;QACnC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACzD,CAAC;IACF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAgD;QACzD,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QACnG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnF,MAAM,QAAQ,GAAG,uBAAuB,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAClF,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,YAAY,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;gBAC/F,IAAI,QAAQ,KAAK,QAAQ;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;gBACnF,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAC1F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;YAC7C,CAAC;YACD,MAAM,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe,EAAE,KAAa,EAAE,cAAuB;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,YAAY,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,QAAgB,CAAC;YACrB,IAAI,CAAC;gBACJ,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;YAC1F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,kBAAkB,CAAC,KAAK,CAAC;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBACzD,MAAM,KAAK,CAAC;YACb,CAAC;YACD,IAAI,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,cAAc,EAAE,CAAC;gBACzE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,YAAY,GAAG,EAAE;QACrB,OAAO,mBAAmB,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY;SACZ,CAAC;aACA,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,IAAI,CAAC,KAAK,IAAI,UAAU,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACnG,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC;aACV,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACnB,CAAC;CACD","sourcesContent":["import { createHash } from \"node:crypto\";\nimport { promises as fs } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { okfMemoryDir, okfProjectMemoryDir } from \"../agent-paths.ts\";\nimport { isPathWithinScope, safeRealpathSync } from \"../autonomy/path-scope.ts\";\nimport {\n\tformatOkfMemoryDocument,\n\ttype OkfMemoryDocumentInput,\n\ttype PiOkfType,\n\tvalidateOkfMemoryDocumentInput,\n} from \"../context/okf-memory.ts\";\nimport { loadOkfMemoryBundle } from \"../context/okf-memory-provider.ts\";\nimport { getDirectoryResourceProfileInfo } from \"../settings-manager.ts\";\nimport { isMissingFileError, withFileLock, writeFileAtomic } from \"../util/atomic-file.ts\";\nimport { readBoundedTextFile } from \"../util/bounded-file.ts\";\n\nconst MAX_OKF_DOCUMENT_BYTES = 16_384;\n\nfunction digest(content: string): string {\n\treturn createHash(\"sha256\").update(content, \"utf8\").digest(\"hex\");\n}\n\nexport interface OkfProjectMemoryPutResult {\n\tcreated: boolean;\n\tdigest: string;\n\tpath: string;\n}\n\nexport interface OkfProjectMemoryRemoveResult {\n\tremoved: boolean;\n}\n\n/**\n * Durable storage owner for model-authored project OKF records. It owns project identity, bounds,\n * conflict policy, symlink containment, per-record locking, and atomic replacement. Existing\n * different content is never overwritten by an `add`; reflection must confront it explicitly.\n */\nexport class OkfProjectMemoryStore {\n\treadonly projectId: string;\n\treadonly projectRoot: string;\n\tprivate readonly agentDir: string;\n\tprivate readonly rootDir: string;\n\tprivate readonly projectDir: string;\n\n\tconstructor(agentDir: string, cwd: string) {\n\t\tconst identity = getDirectoryResourceProfileInfo(cwd, agentDir);\n\t\tthis.agentDir = agentDir;\n\t\tthis.rootDir = okfMemoryDir(agentDir);\n\t\tthis.projectId = identity.hash;\n\t\tthis.projectRoot = identity.root;\n\t\tthis.projectDir = okfProjectMemoryDir(agentDir, identity.hash);\n\t}\n\n\tprivate recordPath(type: PiOkfType, title: string): string {\n\t\tconst path = join(this.projectDir, `${digest(`${type}\\0${title}`)}.okf.md`);\n\t\tif (!isPathWithinScope(path, this.projectDir)) throw new Error(\"OKF record escaped its project root.\");\n\t\treturn path;\n\t}\n\n\tprivate assertContained(path: string): void {\n\t\tconst canonicalAgentDir = safeRealpathSync(this.agentDir);\n\t\tconst canonicalRootDir = safeRealpathSync(this.rootDir);\n\t\tconst canonicalProjectDir = safeRealpathSync(this.projectDir);\n\t\tconst canonicalPath = safeRealpathSync(path);\n\t\tif (!isPathWithinScope(canonicalRootDir, canonicalAgentDir)) {\n\t\t\tthrow new Error(\"OKF memory root escapes the agent directory.\");\n\t\t}\n\t\tif (!isPathWithinScope(canonicalProjectDir, canonicalRootDir)) {\n\t\t\tthrow new Error(\"OKF project root escapes the OKF memory root.\");\n\t\t}\n\t\tif (!isPathWithinScope(canonicalPath, canonicalProjectDir)) {\n\t\t\tthrow new Error(\"OKF record escapes its project root.\");\n\t\t}\n\t}\n\n\tasync put(input: Omit<OkfMemoryDocumentInput, \"projectId\">): Promise<OkfProjectMemoryPutResult> {\n\t\tconst errors = validateOkfMemoryDocumentInput(input, { projectOnly: true, requireEvidence: true });\n\t\tif (errors.length > 0) throw new Error(`Invalid OKF record: ${errors.join(\"; \")}`);\n\t\tconst document = formatOkfMemoryDocument({ ...input, projectId: this.projectId });\n\t\tconst documentDigest = digest(document);\n\t\tconst path = this.recordPath(input.type, input.title);\n\t\tthis.assertContained(path);\n\t\treturn withFileLock(path, async () => {\n\t\t\tthis.assertContained(path);\n\t\t\ttry {\n\t\t\t\tconst existing = await readBoundedTextFile(path, MAX_OKF_DOCUMENT_BYTES, \"OKF project record\");\n\t\t\t\tif (existing === document) return { created: false, digest: documentDigest, path };\n\t\t\t\tthrow new Error(\"A different structured record already exists for this type and title.\");\n\t\t\t} catch (error) {\n\t\t\t\tif (!isMissingFileError(error)) throw error;\n\t\t\t}\n\t\t\tawait writeFileAtomic(path, document, { mode: 0o600 });\n\t\t\treturn { created: true, digest: documentDigest, path };\n\t\t});\n\t}\n\n\tasync remove(type: PiOkfType, title: string, expectedDigest?: string): Promise<OkfProjectMemoryRemoveResult> {\n\t\tconst path = this.recordPath(type, title);\n\t\tthis.assertContained(path);\n\t\treturn withFileLock(path, async () => {\n\t\t\tthis.assertContained(path);\n\t\t\tlet existing: string;\n\t\t\ttry {\n\t\t\t\texisting = await readBoundedTextFile(path, MAX_OKF_DOCUMENT_BYTES, \"OKF project record\");\n\t\t\t} catch (error) {\n\t\t\t\tif (isMissingFileError(error)) return { removed: false };\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tif (expectedDigest !== undefined && digest(existing) !== expectedDigest) {\n\t\t\t\tthrow new Error(\"OKF record changed after the audited write; refusing removal.\");\n\t\t\t}\n\t\t\tawait fs.unlink(path);\n\t\t\treturn { removed: true };\n\t\t});\n\t}\n\n\tlist(maxDocuments = 64): string {\n\t\treturn loadOkfMemoryBundle({\n\t\t\trootDir: this.rootDir,\n\t\t\tprojectId: this.projectId,\n\t\t\tprojectRoot: this.projectRoot,\n\t\t\tmaxDocuments,\n\t\t})\n\t\t\t.entries.map(({ relativePath, parsed }) => {\n\t\t\t\tconst item = parsed.item;\n\t\t\t\treturn item === undefined ? \"\" : `${relativePath}: ${item.title ?? \"Untitled\"} — ${item.summary}`;\n\t\t\t})\n\t\t\t.filter((entry) => entry.length > 0)\n\t\t\t.join(\"\\n\")\n\t\t\t.slice(0, 8_000);\n\t}\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import type { MemoryPromptBudget } from "../../context/memory-prompt-budget.ts";
2
+ import { type PiOkfType } from "../../context/okf-memory.ts";
2
3
  import type { ToolDefinition } from "../../extensions/types.ts";
3
4
  import type { MemoryLifecycleContext, MemoryProvider } from "../memory-provider.ts";
4
5
  /**
@@ -9,8 +10,42 @@ import type { MemoryLifecycleContext, MemoryProvider } from "../memory-provider.
9
10
  export declare function supersedeNearDuplicateLine(existing: string, content: string): string | null;
10
11
  export interface FileStoreProviderOptions {
11
12
  onDurableMemoryChanged?: () => void;
13
+ /** Test seam between loss-safe OKF creation and exact hot-memory removal. */
14
+ beforeOrganizeHotRemoval?: () => void | Promise<void>;
12
15
  }
13
- export declare const FILE_STORE_MEMORY_SYSTEM_NOTE = "[System Note: Below is a snapshot of persistent memory. Proactively record verified reusable project facts and user preferences with the 'memory' tool; never store transient noise.]";
16
+ export type StructuredReflectionWrite = {
17
+ kind: "okf_add";
18
+ type: PiOkfType;
19
+ title: string;
20
+ description: string;
21
+ text: string;
22
+ tags?: string[];
23
+ evidenceRefs: string[];
24
+ } | {
25
+ kind: "okf_organize";
26
+ type: PiOkfType;
27
+ title: string;
28
+ description: string;
29
+ text: string;
30
+ sourceText: string;
31
+ tags?: string[];
32
+ evidenceRefs: string[];
33
+ };
34
+ export interface StructuredReflectionApplyResult {
35
+ applied: boolean;
36
+ created: boolean;
37
+ digest?: string;
38
+ sourceRemoved?: boolean;
39
+ error?: string;
40
+ }
41
+ export interface StructuredReflectionRollback {
42
+ type: PiOkfType;
43
+ title: string;
44
+ expectedDigest?: string;
45
+ sourceText?: string;
46
+ removeRecord: boolean;
47
+ }
48
+ export declare const FILE_STORE_MEMORY_SYSTEM_NOTE = "[System Note: Below is a snapshot of persistent memory. Proactively record verified reusable project facts and user preferences with the 'memory' tool. Keep MEMORY.md for compact hot facts, USER.md for preferences, and use target 'okf' for durable project decisions, architecture, rules, findings, and references. Never store transient noise.]";
14
49
  export declare class FileStoreProvider implements MemoryProvider {
15
50
  readonly name = "file-store";
16
51
  readonly egress = "local";
@@ -22,6 +57,7 @@ export declare class FileStoreProvider implements MemoryProvider {
22
57
  private lastWrittenMemory;
23
58
  private lastWrittenUser;
24
59
  private userArchive?;
60
+ private okfStore?;
25
61
  private readonly options;
26
62
  private static readonly BUDGET_MEMORY;
27
63
  private static readonly BUDGET_USER;
@@ -35,6 +71,13 @@ export declare class FileStoreProvider implements MemoryProvider {
35
71
  systemPromptBlock(budget?: MemoryPromptBudget): string;
36
72
  prefetch(_query: string): Promise<string>;
37
73
  shutdown(): Promise<void>;
74
+ private executeMemoryCommand;
75
+ private hasExactHotMemoryItem;
76
+ private removeExactHotMemoryItem;
77
+ /** Reflection-owned structured write. Organization is OKF-first, then exact hot-memory removal. */
78
+ applyStructuredReflectionWrite(write: StructuredReflectionWrite, signal?: AbortSignal): Promise<StructuredReflectionApplyResult>;
79
+ /** Restore hot memory first, then conditionally remove the exact audited OKF bytes. */
80
+ rollbackStructuredReflectionWrite(rollback: StructuredReflectionRollback, signal?: AbortSignal): Promise<boolean>;
38
81
  getContextMarkers(): string[];
39
82
  getToolDefinitions(): ToolDefinition[];
40
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-store.d.ts","sourceRoot":"","sources":["../../../../src/core/memory/providers/file-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGpF;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsB3F;AAiBD,MAAM,WAAW,wBAAwB;IACxC,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,6BAA6B,0LAC8I,CAAC;AA4GzL,qBAAa,iBAAkB,YAAW,cAAc;IACvD,SAAgB,IAAI,gBAAgB;IACpC,SAAgB,MAAM,WAAW;IAEjC,OAAO,CAAC,GAAG,CAAC,CAAyB;IACrC,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,aAAa,CAAM;IAE3B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAGnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAQ;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAQ;IAE3C,YAAY,OAAO,GAAE,wBAA6B,EAEjD;IAEM,WAAW,IAAI,OAAO,CAE5B;IAEM,eAAe;QACZ,QAAQ;MACjB;IAEY,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAatF;YAEa,qBAAqB;IA8B5B,iBAAiB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAyC5D;IAEY,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrD;IAEY,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAErC;IAEM,iBAAiB,IAAI,MAAM,EAAE,CAEnC;IAEM,kBAAkB,IAAI,cAAc,EAAE,CAwN5C;CACD"}
1
+ {"version":3,"file":"file-store.d.ts","sourceRoot":"","sources":["../../../../src/core/memory/providers/file-store.ts"],"names":[],"mappings":"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"}