@caupulican/pi-adaptative 0.80.85 → 0.80.88

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 (340) hide show
  1. package/CHANGELOG.md +160 -1
  2. package/dist/core/agent-session.d.ts +394 -1
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +1862 -46
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/autonomy/approval-gate.d.ts +4 -0
  7. package/dist/core/autonomy/approval-gate.d.ts.map +1 -0
  8. package/dist/core/autonomy/approval-gate.js +27 -0
  9. package/dist/core/autonomy/approval-gate.js.map +1 -0
  10. package/dist/core/autonomy/bounded-completion.d.ts +27 -0
  11. package/dist/core/autonomy/bounded-completion.d.ts.map +1 -0
  12. package/dist/core/autonomy/bounded-completion.js +44 -0
  13. package/dist/core/autonomy/bounded-completion.js.map +1 -0
  14. package/dist/core/autonomy/contracts.d.ts +129 -0
  15. package/dist/core/autonomy/contracts.d.ts.map +1 -0
  16. package/dist/core/autonomy/contracts.js +2 -0
  17. package/dist/core/autonomy/contracts.js.map +1 -0
  18. package/dist/core/autonomy/gates.d.ts +15 -0
  19. package/dist/core/autonomy/gates.d.ts.map +1 -0
  20. package/dist/core/autonomy/gates.js +205 -0
  21. package/dist/core/autonomy/gates.js.map +1 -0
  22. package/dist/core/autonomy/lane-tracker.d.ts +48 -0
  23. package/dist/core/autonomy/lane-tracker.d.ts.map +1 -0
  24. package/dist/core/autonomy/lane-tracker.js +125 -0
  25. package/dist/core/autonomy/lane-tracker.js.map +1 -0
  26. package/dist/core/autonomy/path-scope.d.ts +9 -0
  27. package/dist/core/autonomy/path-scope.d.ts.map +1 -0
  28. package/dist/core/autonomy/path-scope.js +122 -0
  29. package/dist/core/autonomy/path-scope.js.map +1 -0
  30. package/dist/core/autonomy/risk-assessment.d.ts +3 -0
  31. package/dist/core/autonomy/risk-assessment.d.ts.map +1 -0
  32. package/dist/core/autonomy/risk-assessment.js +122 -0
  33. package/dist/core/autonomy/risk-assessment.js.map +1 -0
  34. package/dist/core/autonomy/session-lane-record.d.ts +10 -0
  35. package/dist/core/autonomy/session-lane-record.d.ts.map +1 -0
  36. package/dist/core/autonomy/session-lane-record.js +36 -0
  37. package/dist/core/autonomy/session-lane-record.js.map +1 -0
  38. package/dist/core/autonomy/status.d.ts +40 -0
  39. package/dist/core/autonomy/status.d.ts.map +1 -0
  40. package/dist/core/autonomy/status.js +107 -0
  41. package/dist/core/autonomy/status.js.map +1 -0
  42. package/dist/core/autonomy/subagent-prompt.d.ts +21 -0
  43. package/dist/core/autonomy/subagent-prompt.d.ts.map +1 -0
  44. package/dist/core/autonomy/subagent-prompt.js +28 -0
  45. package/dist/core/autonomy/subagent-prompt.js.map +1 -0
  46. package/dist/core/autonomy/telemetry-events.d.ts +18 -0
  47. package/dist/core/autonomy/telemetry-events.d.ts.map +1 -0
  48. package/dist/core/autonomy/telemetry-events.js +60 -0
  49. package/dist/core/autonomy/telemetry-events.js.map +1 -0
  50. package/dist/core/context/artifact-retrieval.d.ts +49 -0
  51. package/dist/core/context/artifact-retrieval.d.ts.map +1 -0
  52. package/dist/core/context/artifact-retrieval.js +49 -0
  53. package/dist/core/context/artifact-retrieval.js.map +1 -0
  54. package/dist/core/context/context-artifacts.d.ts +94 -0
  55. package/dist/core/context/context-artifacts.d.ts.map +1 -0
  56. package/dist/core/context/context-artifacts.js +307 -0
  57. package/dist/core/context/context-artifacts.js.map +1 -0
  58. package/dist/core/context/context-audit.d.ts +66 -0
  59. package/dist/core/context/context-audit.d.ts.map +1 -0
  60. package/dist/core/context/context-audit.js +173 -0
  61. package/dist/core/context/context-audit.js.map +1 -0
  62. package/dist/core/context/context-item.d.ts +117 -0
  63. package/dist/core/context/context-item.d.ts.map +1 -0
  64. package/dist/core/context/context-item.js +36 -0
  65. package/dist/core/context/context-item.js.map +1 -0
  66. package/dist/core/context/context-prompt-enforcement.d.ts +73 -0
  67. package/dist/core/context/context-prompt-enforcement.d.ts.map +1 -0
  68. package/dist/core/context/context-prompt-enforcement.js +153 -0
  69. package/dist/core/context/context-prompt-enforcement.js.map +1 -0
  70. package/dist/core/context/context-prompt-policy.d.ts +90 -0
  71. package/dist/core/context/context-prompt-policy.d.ts.map +1 -0
  72. package/dist/core/context/context-prompt-policy.js +73 -0
  73. package/dist/core/context/context-prompt-policy.js.map +1 -0
  74. package/dist/core/context/context-retention.d.ts +36 -0
  75. package/dist/core/context/context-retention.d.ts.map +1 -0
  76. package/dist/core/context/context-retention.js +108 -0
  77. package/dist/core/context/context-retention.js.map +1 -0
  78. package/dist/core/context/context-store.d.ts +37 -0
  79. package/dist/core/context/context-store.d.ts.map +1 -0
  80. package/dist/core/context/context-store.js +45 -0
  81. package/dist/core/context/context-store.js.map +1 -0
  82. package/dist/core/context/memory-diagnostics.d.ts +50 -0
  83. package/dist/core/context/memory-diagnostics.d.ts.map +1 -0
  84. package/dist/core/context/memory-diagnostics.js +43 -0
  85. package/dist/core/context/memory-diagnostics.js.map +1 -0
  86. package/dist/core/context/memory-index-store.d.ts +28 -0
  87. package/dist/core/context/memory-index-store.d.ts.map +1 -0
  88. package/dist/core/context/memory-index-store.js +38 -0
  89. package/dist/core/context/memory-index-store.js.map +1 -0
  90. package/dist/core/context/memory-prompt-block.d.ts +34 -0
  91. package/dist/core/context/memory-prompt-block.d.ts.map +1 -0
  92. package/dist/core/context/memory-prompt-block.js +58 -0
  93. package/dist/core/context/memory-prompt-block.js.map +1 -0
  94. package/dist/core/context/memory-provider-contract.d.ts +114 -0
  95. package/dist/core/context/memory-provider-contract.d.ts.map +1 -0
  96. package/dist/core/context/memory-provider-contract.js +121 -0
  97. package/dist/core/context/memory-provider-contract.js.map +1 -0
  98. package/dist/core/context/memory-retrieval.d.ts +27 -0
  99. package/dist/core/context/memory-retrieval.d.ts.map +1 -0
  100. package/dist/core/context/memory-retrieval.js +91 -0
  101. package/dist/core/context/memory-retrieval.js.map +1 -0
  102. package/dist/core/context/okf-memory-provider.d.ts +26 -0
  103. package/dist/core/context/okf-memory-provider.d.ts.map +1 -0
  104. package/dist/core/context/okf-memory-provider.js +154 -0
  105. package/dist/core/context/okf-memory-provider.js.map +1 -0
  106. package/dist/core/context/okf-memory.d.ts +42 -0
  107. package/dist/core/context/okf-memory.d.ts.map +1 -0
  108. package/dist/core/context/okf-memory.js +175 -0
  109. package/dist/core/context/okf-memory.js.map +1 -0
  110. package/dist/core/context/policy-engine.d.ts +66 -0
  111. package/dist/core/context/policy-engine.d.ts.map +1 -0
  112. package/dist/core/context/policy-engine.js +171 -0
  113. package/dist/core/context/policy-engine.js.map +1 -0
  114. package/dist/core/context/policy-types.d.ts +102 -0
  115. package/dist/core/context/policy-types.d.ts.map +1 -0
  116. package/dist/core/context/policy-types.js +7 -0
  117. package/dist/core/context/policy-types.js.map +1 -0
  118. package/dist/core/context/sqlite-runtime-index.d.ts +19 -0
  119. package/dist/core/context/sqlite-runtime-index.d.ts.map +1 -0
  120. package/dist/core/context/sqlite-runtime-index.js +344 -0
  121. package/dist/core/context/sqlite-runtime-index.js.map +1 -0
  122. package/dist/core/context/storage-authority.d.ts +20 -0
  123. package/dist/core/context/storage-authority.d.ts.map +1 -0
  124. package/dist/core/context/storage-authority.js +51 -0
  125. package/dist/core/context/storage-authority.js.map +1 -0
  126. package/dist/core/context/tool-output-packer.d.ts +75 -0
  127. package/dist/core/context/tool-output-packer.d.ts.map +1 -0
  128. package/dist/core/context/tool-output-packer.js +77 -0
  129. package/dist/core/context/tool-output-packer.js.map +1 -0
  130. package/dist/core/cost/session-usage.d.ts +20 -0
  131. package/dist/core/cost/session-usage.d.ts.map +1 -0
  132. package/dist/core/cost/session-usage.js +164 -0
  133. package/dist/core/cost/session-usage.js.map +1 -0
  134. package/dist/core/delegation/session-worker-result.d.ts +10 -0
  135. package/dist/core/delegation/session-worker-result.d.ts.map +1 -0
  136. package/dist/core/delegation/session-worker-result.js +36 -0
  137. package/dist/core/delegation/session-worker-result.js.map +1 -0
  138. package/dist/core/delegation/worker-result.d.ts +9 -0
  139. package/dist/core/delegation/worker-result.d.ts.map +1 -0
  140. package/dist/core/delegation/worker-result.js +152 -0
  141. package/dist/core/delegation/worker-result.js.map +1 -0
  142. package/dist/core/delegation/worker-runner.d.ts +58 -0
  143. package/dist/core/delegation/worker-runner.d.ts.map +1 -0
  144. package/dist/core/delegation/worker-runner.js +188 -0
  145. package/dist/core/delegation/worker-runner.js.map +1 -0
  146. package/dist/core/extensions/builtin.d.ts +5 -1
  147. package/dist/core/extensions/builtin.d.ts.map +1 -1
  148. package/dist/core/extensions/builtin.js +23 -1
  149. package/dist/core/extensions/builtin.js.map +1 -1
  150. package/dist/core/footer-data-provider.d.ts +5 -1
  151. package/dist/core/footer-data-provider.d.ts.map +1 -1
  152. package/dist/core/footer-data-provider.js +13 -0
  153. package/dist/core/footer-data-provider.js.map +1 -1
  154. package/dist/core/goals/goal-continuation-controller.d.ts +22 -0
  155. package/dist/core/goals/goal-continuation-controller.d.ts.map +1 -0
  156. package/dist/core/goals/goal-continuation-controller.js +88 -0
  157. package/dist/core/goals/goal-continuation-controller.js.map +1 -0
  158. package/dist/core/goals/goal-continuation-defaults.d.ts +10 -0
  159. package/dist/core/goals/goal-continuation-defaults.d.ts.map +1 -0
  160. package/dist/core/goals/goal-continuation-defaults.js +10 -0
  161. package/dist/core/goals/goal-continuation-defaults.js.map +1 -0
  162. package/dist/core/goals/goal-continuation-prompt.d.ts +18 -0
  163. package/dist/core/goals/goal-continuation-prompt.d.ts.map +1 -0
  164. package/dist/core/goals/goal-continuation-prompt.js +141 -0
  165. package/dist/core/goals/goal-continuation-prompt.js.map +1 -0
  166. package/dist/core/goals/goal-runtime-snapshot.d.ts +19 -0
  167. package/dist/core/goals/goal-runtime-snapshot.d.ts.map +1 -0
  168. package/dist/core/goals/goal-runtime-snapshot.js +23 -0
  169. package/dist/core/goals/goal-runtime-snapshot.js.map +1 -0
  170. package/dist/core/goals/goal-state.d.ts +87 -0
  171. package/dist/core/goals/goal-state.d.ts.map +1 -0
  172. package/dist/core/goals/goal-state.js +259 -0
  173. package/dist/core/goals/goal-state.js.map +1 -0
  174. package/dist/core/goals/goal-tool-core.d.ts +66 -0
  175. package/dist/core/goals/goal-tool-core.d.ts.map +1 -0
  176. package/dist/core/goals/goal-tool-core.js +146 -0
  177. package/dist/core/goals/goal-tool-core.js.map +1 -0
  178. package/dist/core/goals/session-goal-state.d.ts +10 -0
  179. package/dist/core/goals/session-goal-state.d.ts.map +1 -0
  180. package/dist/core/goals/session-goal-state.js +35 -0
  181. package/dist/core/goals/session-goal-state.js.map +1 -0
  182. package/dist/core/learning/learning-audit.d.ts +45 -0
  183. package/dist/core/learning/learning-audit.d.ts.map +1 -0
  184. package/dist/core/learning/learning-audit.js +139 -0
  185. package/dist/core/learning/learning-audit.js.map +1 -0
  186. package/dist/core/learning/learning-gate.d.ts +29 -0
  187. package/dist/core/learning/learning-gate.d.ts.map +1 -0
  188. package/dist/core/learning/learning-gate.js +150 -0
  189. package/dist/core/learning/learning-gate.js.map +1 -0
  190. package/dist/core/learning/session-learning-decision.d.ts +10 -0
  191. package/dist/core/learning/session-learning-decision.d.ts.map +1 -0
  192. package/dist/core/learning/session-learning-decision.js +36 -0
  193. package/dist/core/learning/session-learning-decision.js.map +1 -0
  194. package/dist/core/model-capability.d.ts +41 -0
  195. package/dist/core/model-capability.d.ts.map +1 -0
  196. package/dist/core/model-capability.js +101 -0
  197. package/dist/core/model-capability.js.map +1 -0
  198. package/dist/core/model-router/config-diagnostics.d.ts.map +1 -1
  199. package/dist/core/model-router/config-diagnostics.js +1 -0
  200. package/dist/core/model-router/config-diagnostics.js.map +1 -1
  201. package/dist/core/model-router/intent-classifier.d.ts +2 -0
  202. package/dist/core/model-router/intent-classifier.d.ts.map +1 -1
  203. package/dist/core/model-router/intent-classifier.js +154 -9
  204. package/dist/core/model-router/intent-classifier.js.map +1 -1
  205. package/dist/core/model-router/route-judge.d.ts +54 -0
  206. package/dist/core/model-router/route-judge.d.ts.map +1 -0
  207. package/dist/core/model-router/route-judge.js +128 -0
  208. package/dist/core/model-router/route-judge.js.map +1 -0
  209. package/dist/core/model-router/status.d.ts +4 -1
  210. package/dist/core/model-router/status.d.ts.map +1 -1
  211. package/dist/core/model-router/status.js +30 -6
  212. package/dist/core/model-router/status.js.map +1 -1
  213. package/dist/core/model-router/tool-escalation.d.ts +4 -6
  214. package/dist/core/model-router/tool-escalation.d.ts.map +1 -1
  215. package/dist/core/model-router/tool-escalation.js +1 -1
  216. package/dist/core/model-router/tool-escalation.js.map +1 -1
  217. package/dist/core/models/fitness-store.d.ts +40 -0
  218. package/dist/core/models/fitness-store.d.ts.map +1 -0
  219. package/dist/core/models/fitness-store.js +61 -0
  220. package/dist/core/models/fitness-store.js.map +1 -0
  221. package/dist/core/profile-registry.d.ts.map +1 -1
  222. package/dist/core/profile-registry.js +1 -1
  223. package/dist/core/profile-registry.js.map +1 -1
  224. package/dist/core/prompt-templates.d.ts +2 -0
  225. package/dist/core/prompt-templates.d.ts.map +1 -1
  226. package/dist/core/prompt-templates.js +12 -4
  227. package/dist/core/prompt-templates.js.map +1 -1
  228. package/dist/core/research/automata-provider.d.ts +5 -0
  229. package/dist/core/research/automata-provider.d.ts.map +1 -0
  230. package/dist/core/research/automata-provider.js +15 -0
  231. package/dist/core/research/automata-provider.js.map +1 -0
  232. package/dist/core/research/evidence-bundle.d.ts +10 -0
  233. package/dist/core/research/evidence-bundle.d.ts.map +1 -0
  234. package/dist/core/research/evidence-bundle.js +116 -0
  235. package/dist/core/research/evidence-bundle.js.map +1 -0
  236. package/dist/core/research/model-fitness.d.ts +79 -0
  237. package/dist/core/research/model-fitness.d.ts.map +1 -0
  238. package/dist/core/research/model-fitness.js +257 -0
  239. package/dist/core/research/model-fitness.js.map +1 -0
  240. package/dist/core/research/research-gate.d.ts +11 -0
  241. package/dist/core/research/research-gate.d.ts.map +1 -0
  242. package/dist/core/research/research-gate.js +82 -0
  243. package/dist/core/research/research-gate.js.map +1 -0
  244. package/dist/core/research/research-runner.d.ts +59 -0
  245. package/dist/core/research/research-runner.d.ts.map +1 -0
  246. package/dist/core/research/research-runner.js +155 -0
  247. package/dist/core/research/research-runner.js.map +1 -0
  248. package/dist/core/research/session-evidence-bundle.d.ts +11 -0
  249. package/dist/core/research/session-evidence-bundle.d.ts.map +1 -0
  250. package/dist/core/research/session-evidence-bundle.js +55 -0
  251. package/dist/core/research/session-evidence-bundle.js.map +1 -0
  252. package/dist/core/resource-loader.d.ts.map +1 -1
  253. package/dist/core/resource-loader.js +7 -1
  254. package/dist/core/resource-loader.js.map +1 -1
  255. package/dist/core/settings-manager.d.ts +147 -4
  256. package/dist/core/settings-manager.d.ts.map +1 -1
  257. package/dist/core/settings-manager.js +285 -9
  258. package/dist/core/settings-manager.js.map +1 -1
  259. package/dist/core/skills.d.ts +4 -0
  260. package/dist/core/skills.d.ts.map +1 -1
  261. package/dist/core/skills.js +18 -6
  262. package/dist/core/skills.js.map +1 -1
  263. package/dist/core/slash-commands.d.ts.map +1 -1
  264. package/dist/core/slash-commands.js +4 -0
  265. package/dist/core/slash-commands.js.map +1 -1
  266. package/dist/core/toolkit/script-registry.d.ts +34 -0
  267. package/dist/core/toolkit/script-registry.d.ts.map +1 -0
  268. package/dist/core/toolkit/script-registry.js +71 -0
  269. package/dist/core/toolkit/script-registry.js.map +1 -0
  270. package/dist/core/toolkit/script-runner.d.ts +28 -0
  271. package/dist/core/toolkit/script-runner.d.ts.map +1 -0
  272. package/dist/core/toolkit/script-runner.js +48 -0
  273. package/dist/core/toolkit/script-runner.js.map +1 -0
  274. package/dist/core/tools/artifact-retrieve.d.ts +23 -0
  275. package/dist/core/tools/artifact-retrieve.d.ts.map +1 -0
  276. package/dist/core/tools/artifact-retrieve.js +110 -0
  277. package/dist/core/tools/artifact-retrieve.js.map +1 -0
  278. package/dist/core/tools/delegate.d.ts +32 -0
  279. package/dist/core/tools/delegate.d.ts.map +1 -0
  280. package/dist/core/tools/delegate.js +60 -0
  281. package/dist/core/tools/delegate.js.map +1 -0
  282. package/dist/core/tools/fff-search-backend.d.ts +103 -0
  283. package/dist/core/tools/fff-search-backend.d.ts.map +1 -0
  284. package/dist/core/tools/fff-search-backend.js +151 -0
  285. package/dist/core/tools/fff-search-backend.js.map +1 -0
  286. package/dist/core/tools/find.d.ts +21 -1
  287. package/dist/core/tools/find.d.ts.map +1 -1
  288. package/dist/core/tools/find.js +183 -10
  289. package/dist/core/tools/find.js.map +1 -1
  290. package/dist/core/tools/goal.d.ts +35 -0
  291. package/dist/core/tools/goal.d.ts.map +1 -0
  292. package/dist/core/tools/goal.js +122 -0
  293. package/dist/core/tools/goal.js.map +1 -0
  294. package/dist/core/tools/grep.d.ts +21 -1
  295. package/dist/core/tools/grep.d.ts.map +1 -1
  296. package/dist/core/tools/grep.js +272 -27
  297. package/dist/core/tools/grep.js.map +1 -1
  298. package/dist/core/tools/index.d.ts +4 -1
  299. package/dist/core/tools/index.d.ts.map +1 -1
  300. package/dist/core/tools/index.js +9 -0
  301. package/dist/core/tools/index.js.map +1 -1
  302. package/dist/core/tools/model-fitness.d.ts +30 -0
  303. package/dist/core/tools/model-fitness.d.ts.map +1 -0
  304. package/dist/core/tools/model-fitness.js +38 -0
  305. package/dist/core/tools/model-fitness.js.map +1 -0
  306. package/dist/core/tools/run-toolkit-script.d.ts +24 -0
  307. package/dist/core/tools/run-toolkit-script.d.ts.map +1 -0
  308. package/dist/core/tools/run-toolkit-script.js +103 -0
  309. package/dist/core/tools/run-toolkit-script.js.map +1 -0
  310. package/dist/core/tools/search-router.d.ts +75 -0
  311. package/dist/core/tools/search-router.d.ts.map +1 -0
  312. package/dist/core/tools/search-router.js +85 -0
  313. package/dist/core/tools/search-router.js.map +1 -0
  314. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  315. package/dist/modes/interactive/components/footer.js +18 -16
  316. package/dist/modes/interactive/components/footer.js.map +1 -1
  317. package/dist/modes/interactive/components/settings-selector.d.ts +13 -1
  318. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  319. package/dist/modes/interactive/components/settings-selector.js +471 -11
  320. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  321. package/dist/modes/interactive/interactive-mode.d.ts +4 -0
  322. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  323. package/dist/modes/interactive/interactive-mode.js +220 -39
  324. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  325. package/dist/modes/print-mode.d.ts.map +1 -1
  326. package/dist/modes/print-mode.js +3 -0
  327. package/dist/modes/print-mode.js.map +1 -1
  328. package/dist/utils/tools-manager.d.ts +2 -0
  329. package/dist/utils/tools-manager.d.ts.map +1 -1
  330. package/dist/utils/tools-manager.js +154 -2
  331. package/dist/utils/tools-manager.js.map +1 -1
  332. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  333. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  334. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  335. package/examples/extensions/sandbox/package-lock.json +2 -2
  336. package/examples/extensions/sandbox/package.json +1 -1
  337. package/examples/extensions/with-deps/package-lock.json +2 -2
  338. package/examples/extensions/with-deps/package.json +1 -1
  339. package/npm-shrinkwrap.json +368 -12
  340. package/package.json +5 -4
@@ -1,18 +1,35 @@
1
1
  import type { Agent, AgentEvent, AgentMessage, AgentState, AgentTool, ThinkingLevel } from "@caupulican/pi-agent-core";
2
2
  import type { CacheRetention, ImageContent, Message, Model, StopReason, TextContent, Usage } from "@caupulican/pi-ai";
3
+ import type { CapabilityEnvelope, EvidenceBundle, LearningDecision, WorkerResult } from "./autonomy/contracts.ts";
4
+ import { type LaneRecord } from "./autonomy/lane-tracker.ts";
5
+ import type { AutonomyDiagnosticSnapshot, AutonomyStatusSnapshot } from "./autonomy/status.ts";
3
6
  import { type BashResult } from "./bash-executor.ts";
4
7
  import { type CompactionResult } from "./compaction/index.ts";
8
+ import { type ContextAuditReport } from "./context/context-audit.ts";
9
+ import { type PromptEnforcementReport } from "./context/context-prompt-enforcement.ts";
10
+ import { type PromptPolicyGcCorrelationReport, type PromptPolicyShadowReport } from "./context/context-prompt-policy.ts";
11
+ import { type MemoryPromptInclusionReport } from "./context/memory-diagnostics.ts";
12
+ import { type MemoryRetrievalReport } from "./context/memory-retrieval.ts";
5
13
  import { type ContextGcReport } from "./context-gc.ts";
6
14
  import { type DailyUsageTotals } from "./cost/daily-usage.ts";
7
15
  import { type CostGuardDecision } from "./cost-guard.ts";
16
+ import { type WorkerRunOutcome } from "./delegation/worker-runner.ts";
8
17
  import { type ContextUsage, type ExtensionCommandContextActions, type ExtensionContext, type ExtensionErrorListener, ExtensionRunner, type ExtensionUIContext, type InputSource, type ReplacedSessionContext, type SessionStartEvent, type ShutdownHandler, type ToolDefinition, type ToolInfo } from "./extensions/index.ts";
9
18
  import { type ChannelProvider, GatewayRegistry, type JobSchedulerProvider } from "./gateways/channel-provider.ts";
19
+ import { type GoalContinuationPrompt, type GoalContinuationPromptLimits } from "./goals/goal-continuation-prompt.ts";
20
+ import { type GoalRuntimeSnapshot, type GoalRuntimeSnapshotSettings } from "./goals/goal-runtime-snapshot.ts";
21
+ import type { GoalState } from "./goals/goal-state.ts";
22
+ import { type LearningAuditRecord } from "./learning/learning-audit.ts";
10
23
  import { type DemandSignals, type ReflectionResult } from "./learning/reflection-engine.ts";
11
24
  import { type CurationProposals } from "./learning/skill-curator.ts";
12
25
  import type { MemoryProvider } from "./memory/memory-provider.ts";
13
26
  import { type CustomMessage } from "./messages.ts";
27
+ import { type ModelCapabilityProfile } from "./model-capability.ts";
14
28
  import type { ModelRegistry } from "./model-registry.ts";
29
+ import { type StoredFitnessReport } from "./models/fitness-store.ts";
15
30
  import { type PromptTemplate } from "./prompt-templates.ts";
31
+ import { type ModelFitnessReport } from "./research/model-fitness.ts";
32
+ import { type ResearchRunResult } from "./research/research-runner.ts";
16
33
  import type { ResourceLoader } from "./resource-loader.ts";
17
34
  import type { BranchSummaryEntry, SessionManager } from "./session-manager.ts";
18
35
  import { type ResourceProfileFilterSettings, type SettingsManager } from "./settings-manager.ts";
@@ -50,6 +67,9 @@ export type AgentSessionEvent = Exclude<AgentEvent, {
50
67
  } | {
51
68
  type: "thinking_level_changed";
52
69
  level: ThinkingLevel;
70
+ } | {
71
+ type: "warning";
72
+ message: string;
53
73
  } | {
54
74
  type: "compaction_end";
55
75
  reason: "manual" | "threshold" | "overflow";
@@ -89,7 +109,7 @@ export interface AgentSessionConfig {
89
109
  customTools?: ToolDefinition[];
90
110
  /** Model registry for API key resolution and model discovery */
91
111
  modelRegistry: ModelRegistry;
92
- /** Initial active built-in tool names. Default: [read, bash, edit, write, context_audit] */
112
+ /** Initial active built-in tool names. Default: [read, bash, edit, write, context_audit, goal] */
93
113
  initialActiveToolNames?: string[];
94
114
  /** Optional allowlist of tool names. When provided, only these tool names are exposed. */
95
115
  allowedToolNames?: string[];
@@ -142,6 +162,8 @@ export interface PromptOptions {
142
162
  source?: InputSource;
143
163
  /** Internal hook used by RPC mode to observe prompt preflight acceptance or rejection. */
144
164
  preflightResult?: (success: boolean) => void;
165
+ /** Whether an idle active goal should auto-inject bounded continuation prompts after this prompt settles. Default: true. */
166
+ autoContinueGoal?: boolean;
145
167
  }
146
168
  /** Result from cycleModel() */
147
169
  export interface ModelCycleResult {
@@ -227,10 +249,49 @@ export interface IsolatedCompletionResult {
227
249
  usage: Usage;
228
250
  stopReason: StopReason;
229
251
  }
252
+ export interface ResearchLaneRunOutcome {
253
+ /** False when the pass was skipped before starting (see skipReason). */
254
+ started: boolean;
255
+ skipReason?: string;
256
+ /** Terminal lane record when the pass ran. */
257
+ record?: LaneRecord;
258
+ result?: ResearchRunResult;
259
+ }
260
+ export interface WorkerDelegationRunOutcome {
261
+ /** False when the delegation was skipped before starting (see skipReason). */
262
+ started: boolean;
263
+ skipReason?: string;
264
+ /** Terminal lane record when the delegation ran. */
265
+ record?: LaneRecord;
266
+ outcome?: WorkerRunOutcome;
267
+ }
268
+ export interface GoalContinuationOnceOptions {
269
+ maxStallTurns: number;
270
+ promptLimits?: GoalContinuationPromptLimits;
271
+ }
272
+ export interface GoalContinuationOnceResult {
273
+ submitted: boolean;
274
+ snapshot: GoalRuntimeSnapshot;
275
+ prompt?: GoalContinuationPrompt;
276
+ }
277
+ export type GoalContinuationLoopStopReason = "continuation_not_allowed" | "max_turns_reached" | "wall_clock_budget_reached" | "goal_state_not_advanced";
278
+ export interface GoalContinuationLoopOptions extends GoalContinuationOnceOptions {
279
+ maxTurns: number;
280
+ /** 0 or undefined disables wall-clock budget. */
281
+ maxWallClockMinutes?: number;
282
+ /** Test seam for wall-clock budget enforcement. Defaults to Date.now. */
283
+ now?: () => number;
284
+ }
285
+ export interface GoalContinuationLoopResult {
286
+ turnsSubmitted: number;
287
+ stopReason: GoalContinuationLoopStopReason;
288
+ finalSnapshot: GoalRuntimeSnapshot;
289
+ }
230
290
  export declare class AgentSession {
231
291
  readonly agent: Agent;
232
292
  readonly sessionManager: SessionManager;
233
293
  readonly settingsManager: SettingsManager;
294
+ capabilityEnvelope?: CapabilityEnvelope;
234
295
  private _scopedModels;
235
296
  private _unsubscribeAgent?;
236
297
  private _eventListeners;
@@ -245,10 +306,41 @@ export declare class AgentSession {
245
306
  private _pendingNextTurnMessages;
246
307
  /** Serializes prompt() submissions made while streaming so queued steering/follow-ups keep user-typed FIFO order. */
247
308
  private _streamingPromptSubmissionTail;
309
+ /** Pending idle timer that starts bounded goal continuation after the session becomes idle. */
310
+ private _goalAutoContinueTimer;
311
+ /** Guards bounded idle autosteer so continuation prompts do not recursively trigger themselves. */
312
+ private _isGoalAutoContinuing;
313
+ /** Pending idle timer that starts an autonomous research pass after the session becomes idle. */
314
+ private _researchLaneTimer;
315
+ /** Single-flight guard: at most one research pass runs at a time per session. */
316
+ private _isResearchLaneRunning;
317
+ /** Why the last idle research-lane evaluation skipped, for /autonomy diagnostics. */
318
+ private _lastResearchLaneSkipReason;
319
+ /** Live lane registry — the real source for AutonomyStatusSnapshot.activeLaneCount. */
320
+ private readonly _laneTracker;
321
+ /** Session-lifetime abort for in-flight research passes (same pattern as _reflectionAbort). */
322
+ private readonly _researchLaneAbort;
323
+ /** Single-flight guard: at most one delegated worker runs at a time per session. */
324
+ private _isWorkerDelegationRunning;
325
+ /** Session-lifetime abort for in-flight delegated workers. */
326
+ private readonly _workerDelegationAbort;
327
+ /**
328
+ * The last tool set requested via setActiveToolsByName BEFORE model-capability filtering, so
329
+ * switching from a small-window model back to a large one restores the full requested set.
330
+ */
331
+ private _requestedActiveToolNames;
248
332
  private _compactionAbortController;
249
333
  private _autoCompactionAbortController;
250
334
  private _overflowRecoveryAttempted;
251
335
  private _latestContextGcReport;
336
+ private _toolArtifactStore;
337
+ private _latestContextAuditReport;
338
+ private _latestPromptPolicyReport;
339
+ private _latestPromptPolicyGcCorrelation;
340
+ private _latestPromptEnforcementReport;
341
+ private _memoryOkfProvider;
342
+ private _latestMemoryRetrievalReport;
343
+ private _latestMemoryPromptInclusionReport;
252
344
  private _branchSummaryAbortController;
253
345
  private _retryAbortController;
254
346
  private _retryAttempt;
@@ -283,9 +375,12 @@ export declare class AgentSession {
283
375
  private _costGuardDowngraded;
284
376
  /** Active model-router intent for the current transient routed turn, if any. */
285
377
  private _activeModelRouterIntent?;
378
+ private _activeModelRouterRoute?;
286
379
  private _modelRouterSessionBuffer?;
287
380
  private _modelRouterEscalationRequested;
381
+ private _isModelRouterRetry;
288
382
  private _lastModelRouterDecision?;
383
+ private _lastAutonomyGateOutcome?;
289
384
  private _lastModelRouterSkipReason?;
290
385
  private _lastModelRouterIntent?;
291
386
  /** Lazily-built skill curator (#32) over `<agentDir>/skills`. */
@@ -369,7 +464,145 @@ export declare class AgentSession {
369
464
  private _installAgentTurnRefresh;
370
465
  private _createAgentContextSnapshot;
371
466
  private _contextGcStorageDir;
467
+ private _toolArtifactsDir;
468
+ /**
469
+ * Session-scoped, filesystem-backed artifact store for first-capture-then-bound tool
470
+ * output (grep/find only, for now -- see tool-output-artifacts.md). Lazily created and
471
+ * cached so every tool construction in this session shares one store instance.
472
+ *
473
+ * `packToolOutput()` registers a reference (the packing tool call's id) at pack time
474
+ * and fails closed, so packed artifacts are never prematurely collected.
475
+ * `_releaseGcPackedArtifactReferences()` (called from `_applyContextGc()`) releases
476
+ * that reference once context-gc packs the result out of live context, and
477
+ * opportunistically reclaims now-unreferenced artifacts via `cleanup()`.
478
+ * Remaining carry-forward gap: cleanup() now also runs at dispose(), but only reclaims
479
+ * already-released (zero-reference) artifacts. A session that ends before context-gc
480
+ * ever evicts a result never releases that reference, so its artifact stays on disk by
481
+ * design (resolvable on resume). Reclaiming those requires an explicit cross-session
482
+ * expiry/liveness policy, not just a sweep.
483
+ */
484
+ private _getToolArtifactStore;
485
+ /**
486
+ * Fixed path for this slice's local Pi OKF memory documents, shared across sessions
487
+ * under this agentDir (not session-scoped, unlike tool-artifacts/context-gc, since OKF
488
+ * memory represents durable cross-session knowledge, not a per-session capture). Not
489
+ * yet user-configurable -- see the memory-retrieval settings doc comment.
490
+ */
491
+ private _memoryOkfDir;
492
+ /**
493
+ * Session-scoped, read-only local OKF memory provider. Lazily created ONLY when memory
494
+ * retrieval is enabled (see `_runMemoryRetrieval`) -- never force-created, so a session
495
+ * with the setting off never touches `_memoryOkfDir()` at all (no directory access, no
496
+ * creation; `createOkfMemoryProvider` itself never writes/mkdirs either way).
497
+ */
498
+ private _getMemoryOkfProvider;
499
+ /**
500
+ * One pass over the current branch, mapping each toolResult's toolCallId to its
501
+ * persisted session-entry id. Rebuilt every audit pass (O(branch) per turn), so this is
502
+ * O(n^2) over a long session. Fine at current scale; after the artifact-read fix this is
503
+ * the next per-turn audit cost to optimize if it ever matters (e.g. cache/incrementally
504
+ * update instead of a full rebuild).
505
+ */
506
+ private _buildSessionEntryIdLookup;
507
+ /**
508
+ * Phase 1 observe-only audit pass (see context/context-audit.ts): converts live
509
+ * toolResult messages into ContextItems and runs the existing retention/hard-constraint
510
+ * evaluators over them, storing the latest deterministic report for tests/debugging.
511
+ * Read-only with respect to messages, the transcript, and artifact references -- uses
512
+ * `_toolArtifactStore` (the field), not `_getToolArtifactStore()` (the getter), so a
513
+ * session that never packed anything doesn't force-create a store/dir just to audit.
514
+ * Never throws into a live turn: any failure degrades to an empty report.
515
+ */
516
+ private _runContextAudit;
517
+ /**
518
+ * Read-only inspection of the context audit. With `messages`, recomputes fresh against
519
+ * the given array (still no mutation of messages/transcript/artifact refs); without,
520
+ * returns the last report computed during a real transform pass.
521
+ */
522
+ getContextAuditReport(messages?: AgentMessage[]): ContextAuditReport;
523
+ /**
524
+ * Observe-first shadow/planning pass (see context/context-prompt-policy.ts): re-shapes
525
+ * the audit report into a per-item policy plan whose `appliedAction` is always
526
+ * "keep_raw" -- this never enforces anything, it only records what the policy engine
527
+ * would say. Never throws into a live turn: any failure degrades to an empty report.
528
+ */
529
+ private _runPromptPolicyPlanning;
530
+ /**
531
+ * Read-only inspection of the shadow policy plan. With `messages`, recomputes fresh
532
+ * (audit + plan) against the given array; without, returns the last plan computed
533
+ * during a real transform pass. Never mutates messages/transcript/artifact refs.
534
+ */
535
+ getPromptPolicyReport(messages?: AgentMessage[]): PromptPolicyShadowReport;
536
+ /**
537
+ * Report-only correlation between the shadow plan just computed this turn and what the
538
+ * legacy context-gc pass actually packed. Runs after `_applyContextGc()` has already
539
+ * produced its report; never influences context-gc itself. Never throws into a live
540
+ * turn: any failure degrades to an empty correlation.
541
+ */
542
+ private _correlatePromptPolicyWithContextGc;
543
+ /** Read-only inspection of the latest shadow-plan/legacy-gc correlation, for tests/debugging. */
544
+ getPromptPolicyGcCorrelation(): PromptPolicyGcCorrelationReport;
545
+ /**
546
+ * First enforcement pilot (see context/context-prompt-enforcement.ts): opt-in,
547
+ * default-disabled stub-in-place of stale artifact-backed tool_output results in the
548
+ * provider-visible message array only. Runs on `messages` AFTER context-gc has already
549
+ * produced its own result, so legacy context-gc's own packing/reporting is completely
550
+ * unaffected by this pass -- it only ever acts on messages gc left untouched this turn.
551
+ * Never throws into a live turn: any failure degrades to returning `messages` unchanged.
552
+ */
553
+ private _runPromptEnforcement;
554
+ /** Read-only inspection of the latest prompt-enforcement report, for tests/debugging. */
555
+ getPromptEnforcementReport(): PromptEnforcementReport;
556
+ private _runMemoryRetrieval;
557
+ /** Read-only inspection of the latest memory-retrieval report, for tests/debugging. */
558
+ getMemoryRetrievalReport(): MemoryRetrievalReport;
559
+ /**
560
+ * Bounded prompt-surfacing pilot for local memory evidence (see
561
+ * context/memory-prompt-block.ts): opt-in, default disabled, and gated on TWO settings
562
+ * (`enabled` AND `includeInPrompt`) plus a non-empty `report.contextItems` -- the first
563
+ * two are belt-and-suspenders on top of the fact that `_runMemoryRetrieval` already
564
+ * leaves `contextItems` empty whenever `enabled` is false, regardless of
565
+ * `includeInPrompt`. Reuses the `report` this pass's `_runMemoryRetrieval` call already
566
+ * computed -- never re-queries the provider here.
567
+ *
568
+ * Appends exactly one ephemeral `custom`/"memory_evidence" message wrapped by
569
+ * `wrapUntrustedText` (the same nonce-fenced boundary + always-on system-prompt rule
570
+ * used for other untrusted content) to the END of `messages`. This is purely additive
571
+ * (never mutates an existing message) and purely transient: `messages` here is the
572
+ * array about to be sent to the provider, not `this.agent.state.messages` or anything
573
+ * persisted via `sessionManager` -- so the injected message can never reach the
574
+ * transcript, regardless of how many times this pass runs.
575
+ *
576
+ * Also records a `MemoryPromptInclusionReport` (context/memory-diagnostics.ts) at each
577
+ * branch below, for context_audit's diagnostic surface only -- this is pure bookkeeping
578
+ * alongside the existing branches, not a new branch/condition: the messages returned
579
+ * are unchanged by this recording.
580
+ */
581
+ private _maybeAppendMemoryEvidenceBlock;
582
+ /** Read-only inspection of the latest memory-prompt-inclusion decision, for tests/debugging and context_audit. */
583
+ getMemoryPromptInclusionReport(): MemoryPromptInclusionReport;
584
+ /**
585
+ * Combines the already-stored, no-arg latest reports (never re-queries the provider or
586
+ * touches the OKF directory) into the safe, allow-list-projected shape context_audit
587
+ * exposes. See context/memory-diagnostics.ts for why this projection is allow-list
588
+ * based rather than a spread-then-delete of the raw report.
589
+ */
590
+ private _getMemoryAuditDiagnostics;
372
591
  private _applyContextGc;
592
+ /**
593
+ * Reference-release + cleanup lifecycle: once context-gc has packed a grep/find tool
594
+ * result out of the live prompt (the message is no longer current/active working
595
+ * context -- see contracts-and-retention.md's "ephemeral"/"expired" retention
596
+ * classes), release the pack-time reference `packToolOutput()` registered for it, and
597
+ * opportunistically reclaim now-unreferenced artifacts. This is the other half of the
598
+ * D2b-1 gate: artifacts were being registered but never released, so they accumulated
599
+ * for the life of the session.
600
+ *
601
+ * `record.toolCallId` (from context-gc's packed record) is exactly the holder id
602
+ * `packToolOutput()` used when it called `addReference()` -- both trace back to the
603
+ * same tool call's id -- so no separate bookkeeping is needed to find it.
604
+ */
605
+ private _releaseGcPackedArtifactReferences;
373
606
  getContextGcReport(messages?: AgentMessage[]): ContextGcReport;
374
607
  private _estimateCurrentContextTokens;
375
608
  private _installAgentToolHooks;
@@ -445,6 +678,16 @@ export declare class AgentSession {
445
678
  * Only tools in the registry can be enabled. Unknown tool names are ignored.
446
679
  * Also rebuilds the system prompt to reflect the new tool set.
447
680
  * Changes take effect on the next agent turn.
681
+ *
682
+ * artifact_retrieve is auto-activated as a companion whenever grep or find ends up
683
+ * in the resulting active set and artifact_retrieve is registered (i.e. not excluded/
684
+ * blocked/outside an allowlist -- the registry itself is built with that same filter,
685
+ * so registry presence already tracks "allowed"). This is enforced here, not just in
686
+ * the settings/profile refresh flow, because this method is a public, extension-
687
+ * exposed activation path (`setActiveTools`) on its own: without this, grep/find could
688
+ * end up active while still being handed an artifact store (gated on "allowed" in
689
+ * `_buildRuntime`) with no active tool able to resolve the resulting
690
+ * "Full output: artifact tool-output:<id>" handle.
448
691
  */
449
692
  setActiveToolsByName(toolNames: string[]): void;
450
693
  /** Whether compaction or branch summarization is currently running */
@@ -484,7 +727,11 @@ export declare class AgentSession {
484
727
  private _buildAutonomyPrompt;
485
728
  private _rebuildSystemPrompt;
486
729
  private _runAgentPrompt;
730
+ private _isModelAvailableAndAuthed;
731
+ private _resolveModelRouterTurnRoute;
487
732
  private _resolveModelRouterModelForIntent;
733
+ private _resolveConfiguredTierModel;
734
+ private _resolveModelRouterTurnRouteJudged;
488
735
  private _resolveModelRouterTurnModel;
489
736
  getModelRouterStatus(formatLabel?: (label: string) => string): string;
490
737
  private _runAgentPromptWithModelRouter;
@@ -661,6 +908,19 @@ export declare class AgentSession {
661
908
  * Cancel in-progress branch summarization.
662
909
  */
663
910
  abortBranchSummary(): void;
911
+ /**
912
+ * Check if compaction is needed and run it.
913
+ * Called after agent_end and before prompt submission.
914
+ *
915
+ * Two cases:
916
+ * 1. Overflow: LLM returned context overflow error, remove error message from agent state, compact, auto-retry
917
+ * 2. Threshold: Context over threshold, compact, NO auto-retry (user continues manually)
918
+ *
919
+ * @param assistantMessage The assistant message to check
920
+ * @param skipAbortedCheck If false, include aborted messages (for pre-prompt check). Default: true
921
+ */
922
+ private _getAdaptedCompactionSettings;
923
+ private _checkContextWindowUsageWarning;
664
924
  private _checkCompaction;
665
925
  private _runAutoCompaction;
666
926
  /**
@@ -846,6 +1106,118 @@ export declare class AgentSession {
846
1106
  getSpawnedUsage(): SpawnedUsageTotals;
847
1107
  getDailyUsageTotals(now?: Date): DailyUsageTotals;
848
1108
  getDailyUsageBreakdown(formatLabel?: (label: string) => string, now?: Date): string;
1109
+ /**
1110
+ * Save a snapshot of the goal state to the session log.
1111
+ *
1112
+ * @returns the id of the appended custom entry
1113
+ */
1114
+ saveGoalStateSnapshot(state: GoalState): string;
1115
+ /**
1116
+ * Retrieve the latest valid goal state snapshot from the session log.
1117
+ */
1118
+ getGoalStateSnapshot(): GoalState | undefined;
1119
+ /**
1120
+ * Save a snapshot of the evidence bundle to the session log.
1121
+ *
1122
+ * @returns the id of the appended custom entry
1123
+ */
1124
+ saveEvidenceBundleSnapshot(bundle: EvidenceBundle): string;
1125
+ /**
1126
+ * Retrieve the latest valid evidence bundle snapshot from the session log.
1127
+ */
1128
+ getEvidenceBundleSnapshot(): EvidenceBundle | undefined;
1129
+ getEvidenceBundleSnapshots(): EvidenceBundle[];
1130
+ /** Live lane records tracked by this process (running and terminal). */
1131
+ getLaneRecords(): LaneRecord[];
1132
+ saveWorkerResultSnapshot(result: WorkerResult): string;
1133
+ getWorkerResultSnapshots(): WorkerResult[];
1134
+ saveLearningDecisionSnapshot(decision: LearningDecision): string;
1135
+ getLearningDecisionSnapshots(): LearningDecision[];
1136
+ getGoalRuntimeSnapshot(settings: GoalRuntimeSnapshotSettings): GoalRuntimeSnapshot;
1137
+ private _clearGoalAutoContinueTimer;
1138
+ private _scheduleGoalAutoContinueFromIdle;
1139
+ private _runScheduledGoalAutoContinue;
1140
+ private _clearResearchLaneTimer;
1141
+ /**
1142
+ * Derive the research demand from durable goal state: an active goal with open requirements,
1143
+ * deduplicated against the latest persisted bundle so the same requirement set is never
1144
+ * researched twice (the query is deterministic, so dedupe survives session reload).
1145
+ */
1146
+ private _buildResearchLaneDemand;
1147
+ /**
1148
+ * Idle trigger for the autonomous research lane (mirrors {@link _scheduleGoalAutoContinueFromIdle}).
1149
+ * All skips are recorded in `_lastResearchLaneSkipReason` and surfaced via diagnostics — the lane
1150
+ * informs, it never prompts or blocks the foreground.
1151
+ */
1152
+ private _scheduleResearchLaneFromIdle;
1153
+ private _runScheduledResearchLane;
1154
+ /**
1155
+ * Capability profile derived from the CURRENT session model's own metadata (context window),
1156
+ * honoring the modelCapability.mode setting ("off" disables, a class name forces).
1157
+ */
1158
+ getModelCapabilityProfile(): ModelCapabilityProfile;
1159
+ /** Capability profile for a specific lane model (lane budgets scale to the lane model's window). */
1160
+ private _laneCapabilityProfile;
1161
+ /**
1162
+ * Resolve the model for a background lane. Lanes are shipped BY this session, so they inherit
1163
+ * the session's own model unless a lane-specific model is explicitly configured — a single-model
1164
+ * setup (e.g. one local open model) runs its lanes on that same model. An explicitly configured
1165
+ * pattern that cannot resolve/authenticate is a visible skip, not a silent fallback.
1166
+ */
1167
+ private _resolveLaneModel;
1168
+ /**
1169
+ * Resolve what a lane ships with. Precedence: explicit lane model setting, then the lane
1170
+ * profile's model (a shipped profile with a model MUST be obeyed — unresolvable is a visible
1171
+ * skip, never a fallback), then generic inheritance of the session model.
1172
+ */
1173
+ private _resolveLaneShipment;
1174
+ /** UAC tool grants from a shipped lane profile, recorded on the lane envelope. */
1175
+ private _laneProfileToolGrants;
1176
+ /** Stripped research envelope — never the foreground/architect envelope. */
1177
+ private _buildResearchLaneEnvelope;
1178
+ /**
1179
+ * Run one bounded, read-only research pass and persist its results: evidence bundle snapshot,
1180
+ * terminal lane record, and spawned-usage cost report (single-hop invariant, idempotent on the
1181
+ * lane's reportId). Explicit calls (e.g. `/autonomy research`) express user intent and bypass the
1182
+ * enabled/mode/dedupe gates the idle scheduler enforces; budget and capability gates always apply.
1183
+ */
1184
+ runResearchLaneOnce(request?: {
1185
+ query?: string;
1186
+ context?: string;
1187
+ goalId?: string;
1188
+ }): Promise<ResearchLaneRunOutcome>;
1189
+ /**
1190
+ * Run one bounded scout-worker delegation: build a WorkerRequest with a stripped read-only
1191
+ * envelope, execute it as an isolated completion on a cheap lane, validate the result via
1192
+ * {@link validateWorkerResult} before acceptance, and persist result + lane record + spawned
1193
+ * usage (idempotent per-lane reportId). Consumed by the `delegate` tool.
1194
+ */
1195
+ runWorkerDelegationOnce(request: {
1196
+ instructions: string;
1197
+ /** Model-provided replacement for the worker role prompt (the level-0 core always remains). */
1198
+ systemPrompt?: string;
1199
+ }): Promise<WorkerDelegationRunOutcome>;
1200
+ /**
1201
+ * Probe a candidate model against the subagent contracts (research/worker/judge/search/
1202
+ * tool-call surfaces) via {@link runModelFitnessProbe}. The model must resolve and
1203
+ * authenticate; every probe call runs as an isolated completion on that model, and probe
1204
+ * spend is reported through spawned-usage accounting.
1205
+ */
1206
+ runModelFitness(args: {
1207
+ model: string;
1208
+ trials?: number;
1209
+ }): Promise<{
1210
+ started: true;
1211
+ model: string;
1212
+ report: ModelFitnessReport;
1213
+ } | {
1214
+ started: false;
1215
+ skipReason: string;
1216
+ }>;
1217
+ /** Fitness reports persisted for THIS host (measured evidence for architect/profile decisions). */
1218
+ getStoredFitnessReports(): StoredFitnessReport[];
1219
+ continueGoalOnce(options: GoalContinuationOnceOptions): Promise<GoalContinuationOnceResult>;
1220
+ continueGoalLoop(options: GoalContinuationLoopOptions): Promise<GoalContinuationLoopResult>;
849
1221
  /**
850
1222
  * Run a one-shot LLM completion fully ISOLATED from the main session — the load-bearing
851
1223
  * primitive for the native reflection engine (adaptive-agent design §6c/§7).
@@ -877,6 +1249,17 @@ export declare class AgentSession {
877
1249
  /** Stable id so a duplicate scheduling/retry of the same pass can't double-count its cost. */
878
1250
  reportId?: string;
879
1251
  }): Promise<ReflectionResult | null>;
1252
+ getLearningAuditRecords(): LearningAuditRecord[];
1253
+ /**
1254
+ * Roll back one applied durable learning change by executing the inverse operation recorded in
1255
+ * its audit record (memory ops run through the same bundled memory-tool path as the original
1256
+ * apply; promoted skills are archived). Appends a linked "rollback" audit record on success so
1257
+ * the change history stays complete and a change cannot be rolled back twice.
1258
+ */
1259
+ rollbackLearningWrite(auditId: string): Promise<{
1260
+ ok: boolean;
1261
+ reason: string;
1262
+ }>;
880
1263
  private _applyReflectionWrite;
881
1264
  /**
882
1265
  * R7: write a reflection-promoted skill as `<agentDir>/skills/<name>/SKILL.md` so it loads like any
@@ -903,6 +1286,16 @@ export declare class AgentSession {
903
1286
  * @returns Text content, or undefined if no assistant message exists
904
1287
  */
905
1288
  getLastAssistantText(): string | undefined;
1289
+ getAutonomyStatusSnapshot(): AutonomyStatusSnapshot;
1290
+ /**
1291
+ * Aggregate an effectiveness/autonomy dashboard: what Pi has actually been doing (recent
1292
+ * route choices, latest gate outcome, cost, and any research/delegation/learning/goal
1293
+ * activity). Read-only — combines existing session-log getters, never mutates state or
1294
+ * recomputes a route/gate decision.
1295
+ */
1296
+ getAutonomyDiagnosticSnapshot(options?: {
1297
+ maxEntriesPerFamily?: number;
1298
+ }): AutonomyDiagnosticSnapshot;
906
1299
  createReplacedSessionContext(): ReplacedSessionContext;
907
1300
  /**
908
1301
  * Check if extensions have handlers for a specific event type.