@myagentroam/agent 0.11.32 → 0.11.34

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 (856) hide show
  1. package/dist/cli/catalog-file.d.ts +78 -0
  2. package/dist/cli/catalog-file.js +102 -0
  3. package/dist/cli/codex-auth-file.d.ts +1 -1
  4. package/dist/cli/codex-auth-file.js +9 -10
  5. package/dist/cli/main.js +44 -54
  6. package/dist/error.d.ts +15 -0
  7. package/dist/error.js +74 -0
  8. package/dist/extensions/agents.d.ts +100 -0
  9. package/dist/extensions/agents.js +121 -0
  10. package/dist/extensions/capabilities.d.ts +4 -0
  11. package/dist/extensions/commands.d.ts +23 -0
  12. package/dist/extensions/commands.js +45 -0
  13. package/dist/extensions/compaction.d.ts +36 -0
  14. package/dist/extensions/contracts.d.ts +147 -0
  15. package/dist/extensions/data.d.ts +81 -0
  16. package/dist/extensions/data.js +78 -0
  17. package/dist/extensions/environment.d.ts +39 -0
  18. package/dist/extensions/environment.js +52 -0
  19. package/dist/extensions/files.d.ts +68 -0
  20. package/dist/extensions/files.js +26 -0
  21. package/dist/extensions/hooks.d.ts +32 -0
  22. package/dist/extensions/host-ports.d.ts +24 -0
  23. package/dist/extensions/manager.d.ts +42 -0
  24. package/dist/extensions/manager.js +457 -0
  25. package/dist/extensions/mcp.d.ts +116 -0
  26. package/dist/extensions/mcp.js +434 -0
  27. package/dist/extensions/model-request.d.ts +65 -0
  28. package/dist/extensions/model-request.js +197 -0
  29. package/dist/extensions/model-stream.d.ts +18 -0
  30. package/dist/extensions/model-stream.js +108 -0
  31. package/dist/extensions/models.d.ts +46 -0
  32. package/dist/extensions/models.js +7 -0
  33. package/dist/extensions/network.d.ts +40 -0
  34. package/dist/extensions/network.js +97 -0
  35. package/dist/extensions/operation.d.ts +32 -0
  36. package/dist/extensions/processes.d.ts +64 -0
  37. package/dist/extensions/processes.js +284 -0
  38. package/dist/extensions/prompt-composition.d.ts +38 -0
  39. package/dist/extensions/prompt-composition.js +100 -0
  40. package/dist/extensions/prompt-input.d.ts +30 -0
  41. package/dist/extensions/prompt-input.js +48 -0
  42. package/dist/extensions/prompts.d.ts +31 -0
  43. package/dist/extensions/prompts.js +88 -0
  44. package/dist/extensions/resources.d.ts +26 -0
  45. package/dist/extensions/resources.js +221 -0
  46. package/dist/extensions/services.d.ts +31 -0
  47. package/dist/extensions/services.js +61 -0
  48. package/dist/extensions/session-api.d.ts +6 -0
  49. package/dist/extensions/session-api.js +52 -0
  50. package/dist/extensions/session-input.d.ts +184 -0
  51. package/dist/extensions/session-input.js +422 -0
  52. package/dist/extensions/session-messages.d.ts +41 -0
  53. package/dist/extensions/session-messages.js +76 -0
  54. package/dist/extensions/session-tools.d.ts +32 -0
  55. package/dist/extensions/session-tools.js +208 -0
  56. package/dist/extensions/session.d.ts +60 -0
  57. package/dist/extensions/session.js +265 -0
  58. package/dist/extensions/settings.d.ts +76 -0
  59. package/dist/extensions/settings.js +115 -0
  60. package/dist/extensions/store.d.ts +10 -0
  61. package/dist/extensions/store.js +131 -0
  62. package/dist/extensions/tool-runtime.d.ts +16 -0
  63. package/dist/extensions/tools.d.ts +80 -0
  64. package/dist/extensions/tools.js +270 -0
  65. package/dist/extensions.d.ts +22 -0
  66. package/dist/host/contracts.d.ts +58 -0
  67. package/dist/host/contracts.js +18 -0
  68. package/dist/host/description.d.ts +19 -0
  69. package/dist/host/local-agent-host.d.ts +96 -0
  70. package/dist/host/local-agent-host.js +429 -0
  71. package/dist/host/local-exec-tool.d.ts +26 -0
  72. package/dist/host/local-exec-tool.js +686 -0
  73. package/dist/host/local-file-access.d.ts +30 -0
  74. package/dist/host/local-file-access.js +107 -0
  75. package/dist/host/local-network-access.d.ts +6 -0
  76. package/dist/host/local-network-access.js +101 -0
  77. package/dist/host/local-process-executor.d.ts +5 -0
  78. package/dist/host/local-process-executor.js +17 -0
  79. package/dist/host/local-session-environment.d.ts +18 -0
  80. package/dist/host/local-shell.d.ts +3 -0
  81. package/dist/host/local-tool-registry.d.ts +34 -0
  82. package/dist/host/local-tool-registry.js +134 -0
  83. package/dist/host/network.d.ts +5 -0
  84. package/dist/host/network.js +42 -0
  85. package/dist/host/process-control.d.ts +2 -0
  86. package/dist/host/process-control.js +26 -0
  87. package/dist/host/skill-contract.d.ts +6 -0
  88. package/dist/host.d.ts +17 -0
  89. package/dist/host.js +3 -0
  90. package/dist/index.d.ts +26 -51
  91. package/dist/index.js +9 -12
  92. package/dist/model/anthropic-messages.d.ts +10 -0
  93. package/dist/model/anthropic-messages.js +692 -0
  94. package/dist/model/anthropic-thinking.js +33 -0
  95. package/dist/model/configuration.d.ts +111 -0
  96. package/dist/model/configuration.js +201 -0
  97. package/dist/model/contracts.d.ts +229 -0
  98. package/dist/model/http.d.ts +13 -0
  99. package/dist/model/http.js +119 -0
  100. package/dist/model/image-contract.d.ts +10 -0
  101. package/dist/model/image.d.ts +9 -0
  102. package/dist/model/inline-media-budget.d.ts +7 -0
  103. package/dist/model/inline-media-budget.js +36 -0
  104. package/dist/model/input-images.d.ts +3 -0
  105. package/dist/model/input-images.js +16 -0
  106. package/dist/model/openai-responses.d.ts +59 -0
  107. package/dist/model/openai-responses.js +1586 -0
  108. package/dist/model/recovery.js +80 -0
  109. package/dist/model/request-configuration.d.ts +17 -0
  110. package/dist/model/request-configuration.js +47 -0
  111. package/dist/model/responses-event-projection.d.ts +24 -0
  112. package/dist/model/responses-event-projection.js +194 -0
  113. package/dist/model/responses-request.d.ts +5 -0
  114. package/dist/model/responses-request.js +363 -0
  115. package/dist/model/responses-session-cache.d.ts +33 -0
  116. package/dist/model/responses-session-cache.js +64 -0
  117. package/dist/model/runtime-credential.d.ts +1 -0
  118. package/dist/model/runtime-credential.js +1 -0
  119. package/dist/model/sse.js +281 -0
  120. package/dist/model/text-blocks.js +40 -0
  121. package/dist/model/tool-declarations.d.ts +4 -0
  122. package/dist/model/tool-definition-projection.d.ts +6 -0
  123. package/dist/model/tool-definition-projection.js +11 -0
  124. package/dist/model/tool-schema.d.ts +2 -0
  125. package/dist/model/tool-schema.js +17 -0
  126. package/dist/model/transport-test.d.ts +10 -0
  127. package/dist/model/transport-test.js +27 -0
  128. package/dist/model/usage-observer.d.ts +5 -0
  129. package/dist/model/usage.d.ts +40 -0
  130. package/dist/network/credential-runtime.d.ts +8 -0
  131. package/dist/network/credential-runtime.js +72 -0
  132. package/dist/network/credentials.d.ts +20 -0
  133. package/dist/network/credentials.js +18 -0
  134. package/dist/network/http.d.ts +20 -0
  135. package/dist/network/http.js +421 -0
  136. package/dist/network/product-user-agent.d.ts +5 -0
  137. package/dist/network/product-user-agent.js +22 -0
  138. package/dist/network/transport-error.d.ts +5 -0
  139. package/dist/network/transport-error.js +31 -0
  140. package/dist/process/contracts.d.ts +26 -0
  141. package/dist/prompts/index.d.ts +20 -0
  142. package/dist/prompts/index.js +49 -0
  143. package/dist/prompts/prompt-sections.d.ts +6 -0
  144. package/dist/prompts/prompt-sections.js +6 -0
  145. package/dist/prompts/read-context.js +152 -0
  146. package/dist/runtime/compaction/contracts.d.ts +23 -0
  147. package/dist/runtime/compaction/coordinator.js +88 -0
  148. package/dist/runtime/compaction/generate.d.ts +31 -0
  149. package/dist/runtime/compaction/generate.js +84 -0
  150. package/dist/runtime/compaction/history.d.ts +16 -0
  151. package/dist/runtime/compaction/operation.d.ts +30 -0
  152. package/dist/runtime/compaction/operation.js +131 -0
  153. package/dist/runtime/compaction/requests.d.ts +16 -0
  154. package/dist/runtime/compaction/requests.js +114 -0
  155. package/dist/runtime/compaction/retained-context.d.ts +6 -0
  156. package/dist/runtime/compaction/retained-context.js +48 -0
  157. package/dist/runtime/compaction/smart.d.ts +14 -0
  158. package/dist/runtime/compaction/smart.js +59 -0
  159. package/dist/runtime/context/contextual-blocks.d.ts +31 -0
  160. package/dist/runtime/context/contextual-blocks.js +158 -0
  161. package/dist/runtime/context/environment.d.ts +5 -0
  162. package/dist/runtime/context/gc-candidates-code.d.ts +6 -0
  163. package/dist/runtime/context/gc-candidates-code.js +102 -0
  164. package/dist/runtime/context/gc-candidates-exec.d.ts +6 -0
  165. package/dist/runtime/context/gc-candidates-exec.js +131 -0
  166. package/dist/runtime/context/gc-candidates-read-patch.d.ts +7 -0
  167. package/dist/runtime/context/gc-candidates-read-patch.js +118 -0
  168. package/dist/runtime/context/gc-candidates-subagent.d.ts +6 -0
  169. package/dist/runtime/context/gc-candidates-subagent.js +100 -0
  170. package/dist/runtime/context/gc-candidates-web.d.ts +6 -0
  171. package/dist/runtime/context/gc-candidates-web.js +58 -0
  172. package/dist/runtime/context/gc-candidates.d.ts +12 -0
  173. package/dist/runtime/context/gc-candidates.js +192 -0
  174. package/dist/runtime/context/gc-contracts.d.ts +57 -0
  175. package/dist/runtime/context/gc-economics.d.ts +48 -0
  176. package/dist/runtime/context/gc-economics.js +161 -0
  177. package/dist/runtime/context/gc-runtime.d.ts +43 -0
  178. package/dist/runtime/context/gc-tokens.d.ts +26 -0
  179. package/dist/runtime/context/gc-tokens.js +106 -0
  180. package/dist/runtime/context/gc.d.ts +7 -0
  181. package/dist/runtime/context/gc.js +552 -0
  182. package/dist/runtime/context/instructions.d.ts +37 -0
  183. package/dist/runtime/context/instructions.js +297 -0
  184. package/dist/runtime/context/normalize.d.ts +5 -0
  185. package/dist/runtime/context/projection.d.ts +23 -0
  186. package/dist/runtime/context/projection.js +284 -0
  187. package/dist/runtime/context/request-budget.d.ts +5 -0
  188. package/dist/runtime/context/request-budget.js +25 -0
  189. package/dist/runtime/context/restore.d.ts +27 -0
  190. package/dist/runtime/context/restore.js +186 -0
  191. package/dist/runtime/context/usage.d.ts +17 -0
  192. package/dist/runtime/context/usage.js +124 -0
  193. package/dist/runtime/context/world-state.d.ts +34 -0
  194. package/dist/runtime/context/world-state.js +232 -0
  195. package/dist/runtime/contracts.d.ts +29 -0
  196. package/dist/runtime/event-projection.d.ts +14 -0
  197. package/dist/runtime/event-projection.js +87 -0
  198. package/dist/runtime/events.d.ts +195 -0
  199. package/dist/runtime/execution-handle.d.ts +12 -0
  200. package/dist/runtime/execution-handle.js +1 -0
  201. package/dist/runtime/execution.d.ts +55 -0
  202. package/dist/runtime/execution.js +444 -0
  203. package/dist/runtime/model-progress.js +85 -0
  204. package/dist/runtime/resource-publication.d.ts +27 -0
  205. package/dist/runtime/resource-publication.js +60 -0
  206. package/dist/runtime/tool-round-contract.d.ts +19 -0
  207. package/dist/runtime/tool-round-contract.js +1 -0
  208. package/dist/runtime/wait.js +82 -0
  209. package/dist/sandbox/linux/bubblewrap-sandbox-executor.d.ts +1 -1
  210. package/dist/sandbox/linux/bubblewrap-sandbox-executor.js +8 -8
  211. package/dist/sdk/agent.d.ts +7 -0
  212. package/dist/sdk/agent.js +321 -0
  213. package/dist/sdk/execution-code-mode.d.ts +18 -0
  214. package/dist/sdk/execution-code-mode.js +51 -0
  215. package/dist/sdk/execution-compact-commit.d.ts +23 -0
  216. package/dist/sdk/execution-compact-commit.js +41 -0
  217. package/dist/sdk/execution-compact-extension.d.ts +12 -0
  218. package/dist/sdk/execution-compact-extension.js +46 -0
  219. package/dist/sdk/execution-compact-generation.d.ts +17 -0
  220. package/dist/sdk/execution-compact-generation.js +30 -0
  221. package/dist/sdk/execution-compaction-flight.d.ts +31 -0
  222. package/dist/sdk/execution-compaction-flight.js +50 -0
  223. package/dist/sdk/execution-compaction.d.ts +47 -0
  224. package/dist/sdk/execution-compaction.js +121 -0
  225. package/dist/sdk/execution-context-coordinator.d.ts +56 -0
  226. package/dist/sdk/execution-context-coordinator.js +102 -0
  227. package/dist/sdk/execution-input.d.ts +58 -0
  228. package/dist/sdk/execution-input.js +266 -0
  229. package/dist/sdk/execution-model-context.d.ts +52 -0
  230. package/dist/sdk/execution-model-context.js +156 -0
  231. package/dist/sdk/execution-model-lifecycle.d.ts +39 -0
  232. package/dist/sdk/execution-model-lifecycle.js +73 -0
  233. package/dist/sdk/execution-model-request.d.ts +40 -0
  234. package/dist/sdk/execution-model-request.js +45 -0
  235. package/dist/sdk/execution-round-preparation.d.ts +11 -0
  236. package/dist/sdk/execution-round-preparation.js +18 -0
  237. package/dist/sdk/execution-round-request.d.ts +30 -0
  238. package/dist/sdk/execution-round-request.js +31 -0
  239. package/dist/sdk/execution-tool-catalog.d.ts +46 -0
  240. package/dist/sdk/execution-tool-catalog.js +103 -0
  241. package/dist/sdk/execution-tool-scope.d.ts +67 -0
  242. package/dist/sdk/execution-tool-scope.js +147 -0
  243. package/dist/sdk/extension-agent-controller.d.ts +3 -0
  244. package/dist/sdk/extension-agent-controller.js +69 -0
  245. package/dist/sdk/extension-agents.d.ts +9 -0
  246. package/dist/sdk/extension-agents.js +58 -0
  247. package/dist/sdk/extension-models.d.ts +17 -0
  248. package/dist/sdk/extension-models.js +142 -0
  249. package/dist/sdk/extension-session-launch.d.ts +18 -0
  250. package/dist/sdk/extension-session-launch.js +73 -0
  251. package/dist/sdk/extension-session.d.ts +30 -0
  252. package/dist/sdk/extension-session.js +107 -0
  253. package/dist/sdk/extension-tool-runtime.d.ts +2 -0
  254. package/dist/sdk/extension-tool-runtime.js +14 -0
  255. package/dist/sdk/extension-tools.d.ts +16 -0
  256. package/dist/sdk/extension-tools.js +126 -0
  257. package/dist/sdk/model-input-projection.d.ts +4 -0
  258. package/dist/sdk/model-input-projection.js +27 -0
  259. package/dist/sdk/model-runtime.d.ts +21 -0
  260. package/dist/sdk/model-runtime.js +91 -0
  261. package/dist/sdk/native-steer.d.ts +20 -0
  262. package/dist/sdk/native-steer.js +84 -0
  263. package/dist/sdk/request-preparation.d.ts +9 -0
  264. package/dist/sdk/resource-input.d.ts +33 -0
  265. package/dist/sdk/resource-input.js +402 -0
  266. package/dist/sdk/session-catalog.d.ts +2 -0
  267. package/dist/sdk/session-catalog.js +12 -0
  268. package/dist/sdk/session-composition.d.ts +54 -0
  269. package/dist/sdk/session-composition.js +1 -0
  270. package/dist/sdk/session-execution-factory.d.ts +43 -0
  271. package/dist/sdk/session-execution-factory.js +937 -0
  272. package/dist/sdk/session-execution.d.ts +163 -0
  273. package/dist/sdk/session-execution.js +388 -0
  274. package/dist/sdk/session-extension-messages.d.ts +16 -0
  275. package/dist/sdk/session-extension-messages.js +64 -0
  276. package/dist/sdk/session-extension-prompt.d.ts +35 -0
  277. package/dist/sdk/session-extension-prompt.js +62 -0
  278. package/dist/sdk/session-maintenance.d.ts +25 -0
  279. package/dist/sdk/session-maintenance.js +205 -0
  280. package/dist/sdk/session-model-adapters.d.ts +28 -0
  281. package/dist/sdk/session-model-adapters.js +96 -0
  282. package/dist/sdk/session-open.d.ts +22 -0
  283. package/dist/sdk/session-open.js +44 -0
  284. package/dist/sdk/session-registry.d.ts +17 -0
  285. package/dist/sdk/session-registry.js +83 -0
  286. package/dist/sdk/session-runtime.d.ts +72 -0
  287. package/dist/sdk/session-runtime.js +205 -0
  288. package/dist/sdk/session.d.ts +3 -0
  289. package/dist/sdk/session.js +313 -0
  290. package/dist/sdk/subagent-backend.d.ts +3 -0
  291. package/dist/sdk/subagent-backend.js +49 -0
  292. package/dist/sdk/types.d.ts +80 -0
  293. package/dist/sdk/types.js +1 -0
  294. package/dist/session/catalog.d.ts +70 -0
  295. package/dist/session/catalog.js +194 -0
  296. package/dist/session/code-observation-contract.d.ts +40 -0
  297. package/dist/session/code-observation-contract.js +1 -0
  298. package/dist/session/code-observation-projection.d.ts +54 -0
  299. package/dist/session/code-observation-projection.js +165 -0
  300. package/dist/session/code-state.d.ts +27 -0
  301. package/dist/session/code-state.js +89 -0
  302. package/dist/session/context-gc-checkpoint.d.ts +26 -0
  303. package/dist/session/context-gc-checkpoint.js +935 -0
  304. package/dist/session/context-gc-contract.d.ts +141 -0
  305. package/dist/session/context-gc-contract.js +1 -0
  306. package/dist/session/context-gc-observations.d.ts +58 -0
  307. package/dist/session/context-gc-observations.js +187 -0
  308. package/dist/session/context-gc-replacements.d.ts +63 -0
  309. package/dist/session/context-gc-subagent.d.ts +54 -0
  310. package/dist/session/deferred-input.d.ts +5 -0
  311. package/dist/session/deferred-input.js +74 -0
  312. package/dist/session/extension-checkpoint.d.ts +8 -0
  313. package/dist/session/extension-checkpoint.js +30 -0
  314. package/dist/session/history-input-limits.d.ts +4 -0
  315. package/dist/session/history-input-limits.js +4 -0
  316. package/dist/session/inline-media-contract.d.ts +16 -0
  317. package/dist/session/inline-media-contract.js +1 -0
  318. package/dist/session/inline-media.d.ts +26 -0
  319. package/dist/session/inline-media.js +138 -0
  320. package/dist/session/model-request.d.ts +14 -0
  321. package/dist/session/model-request.js +1 -0
  322. package/dist/session/record-contract.d.ts +19 -0
  323. package/dist/session/record-contract.js +1 -0
  324. package/dist/session/record-projection.d.ts +6 -0
  325. package/dist/session/record-projection.js +80 -0
  326. package/dist/session/resource-contract.d.ts +9 -0
  327. package/dist/session/resource-contract.js +1 -0
  328. package/dist/session/rollback.d.ts +13 -0
  329. package/dist/session/rollback.js +46 -0
  330. package/dist/session/store/contracts.d.ts +160 -0
  331. package/dist/session/store/contracts.js +1 -0
  332. package/dist/session/store/current-state.d.ts +17 -0
  333. package/dist/session/store/current-state.js +53 -0
  334. package/dist/session/store/execution-state.d.ts +13 -0
  335. package/dist/session/store/execution-state.js +103 -0
  336. package/dist/session/store/index.d.ts +4 -0
  337. package/dist/session/store/index.js +2 -0
  338. package/dist/session/store/jsonl/directory-index.d.ts +26 -0
  339. package/dist/session/store/jsonl/directory-index.js +283 -0
  340. package/dist/session/store/jsonl/fs-durability.d.ts +3 -0
  341. package/dist/session/store/jsonl/fs-durability.js +17 -0
  342. package/dist/session/store/jsonl/history-replacement.d.ts +48 -0
  343. package/dist/session/store/jsonl/history-replacement.js +147 -0
  344. package/dist/session/store/jsonl/history.d.ts +25 -0
  345. package/dist/session/store/jsonl/history.js +181 -0
  346. package/dist/session/store/jsonl/images.d.ts +19 -0
  347. package/dist/session/store/jsonl/images.js +122 -0
  348. package/dist/session/store/jsonl/index-transaction.d.ts +13 -0
  349. package/dist/session/store/jsonl/index-transaction.js +87 -0
  350. package/dist/session/store/jsonl/jsonl-admission.d.ts +10 -0
  351. package/dist/session/store/jsonl/jsonl-admission.js +205 -0
  352. package/dist/session/store/jsonl/jsonl-codec.d.ts +11 -0
  353. package/dist/session/store/jsonl/jsonl-codec.js +138 -0
  354. package/dist/session/store/jsonl/jsonl-migration.d.ts +12 -0
  355. package/dist/session/store/jsonl/jsonl-migration.js +105 -0
  356. package/dist/session/store/jsonl/jsonl-store.d.ts +171 -0
  357. package/dist/session/store/jsonl/jsonl-store.js +2482 -0
  358. package/dist/session/store/jsonl/open-recovery.d.ts +13 -0
  359. package/dist/session/store/jsonl/open-recovery.js +131 -0
  360. package/dist/session/store/jsonl/read-pins.d.ts +4 -0
  361. package/dist/session/store/jsonl/read-pins.js +131 -0
  362. package/dist/session/store/jsonl/record-append.d.ts +16 -0
  363. package/dist/session/store/jsonl/record-append.js +49 -0
  364. package/dist/session/store/jsonl/records.d.ts +30 -0
  365. package/dist/session/store/jsonl/records.js +313 -0
  366. package/dist/session/store/jsonl/resources.d.ts +19 -0
  367. package/dist/session/store/jsonl/resources.js +209 -0
  368. package/dist/session/store/jsonl/store-pool.d.ts +12 -0
  369. package/dist/session/store/jsonl/store-pool.js +55 -0
  370. package/dist/session/store/jsonl/transaction-recovery.d.ts +48 -0
  371. package/dist/session/store/jsonl/transaction-recovery.js +374 -0
  372. package/dist/session/store/jsonl/tree-maintenance.d.ts +12 -0
  373. package/dist/session/store/jsonl/tree-maintenance.js +59 -0
  374. package/dist/session/store/types.d.ts +69 -0
  375. package/dist/session/store/types.js +1 -0
  376. package/dist/session/summary.d.ts +18 -0
  377. package/dist/session/summary.js +1 -0
  378. package/dist/session/todo.d.ts +11 -0
  379. package/dist/session/todo.js +30 -0
  380. package/dist/session/tool-result-resources.d.ts +27 -0
  381. package/dist/session/tool-result-resources.js +255 -0
  382. package/dist/session/types.js +1 -0
  383. package/dist/session/user-history.d.ts +17 -0
  384. package/dist/session/user-history.js +1 -0
  385. package/dist/session-store.d.ts +2 -0
  386. package/dist/session-store.js +1 -0
  387. package/dist/shared/auto-title.d.ts +3 -3
  388. package/dist/shared/auto-title.js +6 -6
  389. package/dist/shared/model-text.d.ts +8 -8
  390. package/dist/shared/model-text.js +8 -7
  391. package/dist/storage/file-lock.js +83 -0
  392. package/dist/subagent/contracts.d.ts +107 -0
  393. package/dist/subagent/contracts.js +1 -0
  394. package/dist/subagent/limits.d.ts +17 -0
  395. package/dist/subagent/limits.js +17 -0
  396. package/dist/subagent/model-update.js +81 -0
  397. package/dist/subagent/session-controller.d.ts +148 -0
  398. package/dist/subagent/session-controller.js +1761 -0
  399. package/dist/subagent/wait-targets.d.ts +10 -0
  400. package/dist/subagent/wait-targets.js +26 -0
  401. package/dist/subagent/wait.d.ts +26 -0
  402. package/dist/subagent/wait.js +73 -0
  403. package/dist/tools/agent/agent-cancel.d.ts +7 -0
  404. package/dist/tools/agent/agent-cancel.js +29 -0
  405. package/dist/tools/agent/agent-message.d.ts +7 -0
  406. package/dist/tools/agent/agent-message.js +57 -0
  407. package/dist/tools/agent/agent-start.d.ts +12 -0
  408. package/dist/tools/agent/agent-start.js +106 -0
  409. package/dist/tools/agent/agent-wait.d.ts +7 -0
  410. package/dist/tools/agent/agent-wait.js +91 -0
  411. package/dist/tools/agent/question.d.ts +7 -0
  412. package/dist/tools/agent/question.js +125 -0
  413. package/dist/tools/agent/skill.d.ts +11 -0
  414. package/dist/tools/agent/skill.js +38 -0
  415. package/dist/tools/agent/sleep.d.ts +9 -0
  416. package/dist/tools/agent/sleep.js +54 -0
  417. package/dist/tools/agent/smart-compact.d.ts +9 -0
  418. package/dist/tools/agent/smart-compact.js +23 -0
  419. package/dist/tools/agent/todo-read.d.ts +14 -0
  420. package/dist/tools/agent/todo-write.d.ts +14 -0
  421. package/dist/tools/agent/todo-write.js +66 -0
  422. package/dist/tools/agent/todo.d.ts +25 -0
  423. package/dist/tools/agent/todo.js +32 -0
  424. package/dist/tools/callers.d.ts +7 -0
  425. package/dist/tools/callers.js +39 -0
  426. package/dist/tools/code-mode/cells.d.ts +29 -0
  427. package/dist/tools/code-mode/cells.js +338 -0
  428. package/dist/tools/code-mode/dispatch.d.ts +20 -0
  429. package/dist/tools/code-mode/dispatch.js +80 -0
  430. package/dist/tools/code-mode/engine.d.ts +60 -0
  431. package/dist/tools/code-mode/engine.js +1 -0
  432. package/dist/tools/code-mode/index.d.ts +31 -0
  433. package/dist/tools/code-mode/index.js +751 -0
  434. package/dist/tools/code-mode/observations.d.ts +8 -0
  435. package/dist/tools/code-mode/observations.js +64 -0
  436. package/dist/tools/code-mode/worker.d.ts +1 -0
  437. package/dist/tools/contracts.d.ts +193 -0
  438. package/dist/tools/contracts.js +1 -0
  439. package/dist/tools/definition-projection.d.ts +1 -0
  440. package/dist/tools/definition-projection.js +1 -0
  441. package/dist/tools/execution-limits.d.ts +69 -0
  442. package/dist/tools/execution-limits.js +58 -0
  443. package/dist/tools/execution.d.ts +30 -0
  444. package/dist/tools/execution.js +191 -0
  445. package/dist/tools/local/apply-patch-parser.js +177 -0
  446. package/dist/tools/local/apply-patch.d.ts +19 -0
  447. package/dist/tools/local/apply-patch.js +489 -0
  448. package/dist/tools/local/exec.d.ts +28 -0
  449. package/dist/tools/local/exec.js +194 -0
  450. package/dist/tools/local/image-processing.js +146 -0
  451. package/dist/tools/local/read.d.ts +43 -0
  452. package/dist/tools/local/read.js +470 -0
  453. package/dist/tools/local/view-image.d.ts +15 -0
  454. package/dist/tools/local/view-image.js +317 -0
  455. package/dist/tools/mcp/catalog.js +220 -0
  456. package/dist/tools/mcp/history.d.ts +4 -0
  457. package/dist/tools/mcp/tool-search.d.ts +45 -0
  458. package/dist/tools/mcp/tool-search.js +294 -0
  459. package/dist/tools/output-projection.d.ts +18 -0
  460. package/dist/tools/output-projection.js +341 -0
  461. package/dist/tools/permission-contract.d.ts +25 -0
  462. package/dist/tools/permission-contract.js +1 -0
  463. package/dist/tools/permissions.d.ts +61 -0
  464. package/dist/tools/permissions.js +237 -0
  465. package/dist/tools/registry.d.ts +7 -0
  466. package/dist/tools/result-extension-contract.d.ts +37 -0
  467. package/dist/tools/result-extension-contract.js +32 -0
  468. package/dist/tools/result-extensions.d.ts +12 -0
  469. package/dist/tools/result-extensions.js +104 -0
  470. package/dist/tools/runtime-context.d.ts +89 -0
  471. package/dist/tools/runtime-context.js +1 -0
  472. package/dist/tools/runtime-resource-handles.js +28 -0
  473. package/dist/tools/runtime.js +77 -0
  474. package/dist/tools/scheduler.d.ts +12 -0
  475. package/dist/tools/shared/path-resolver.js +133 -0
  476. package/dist/tools/wait.d.ts +1 -0
  477. package/dist/tools/wait.js +1 -0
  478. package/package.json +15 -3
  479. package/dist/agent-core/error.d.ts +0 -15
  480. package/dist/agent-core/error.js +0 -74
  481. package/dist/agent-core/extensions/agents.d.ts +0 -79
  482. package/dist/agent-core/extensions/agents.js +0 -186
  483. package/dist/agent-core/extensions/compaction.d.ts +0 -48
  484. package/dist/agent-core/extensions/contracts.d.ts +0 -265
  485. package/dist/agent-core/extensions/data.d.ts +0 -84
  486. package/dist/agent-core/extensions/data.js +0 -83
  487. package/dist/agent-core/extensions/environment.d.ts +0 -27
  488. package/dist/agent-core/extensions/environment.js +0 -52
  489. package/dist/agent-core/extensions/files.d.ts +0 -64
  490. package/dist/agent-core/extensions/files.js +0 -26
  491. package/dist/agent-core/extensions/hooks.d.ts +0 -32
  492. package/dist/agent-core/extensions/manager.d.ts +0 -39
  493. package/dist/agent-core/extensions/manager.js +0 -458
  494. package/dist/agent-core/extensions/mcp.d.ts +0 -99
  495. package/dist/agent-core/extensions/mcp.js +0 -433
  496. package/dist/agent-core/extensions/model-request.d.ts +0 -56
  497. package/dist/agent-core/extensions/model-request.js +0 -197
  498. package/dist/agent-core/extensions/model-stream.d.ts +0 -9
  499. package/dist/agent-core/extensions/model-stream.js +0 -108
  500. package/dist/agent-core/extensions/models.d.ts +0 -43
  501. package/dist/agent-core/extensions/network.d.ts +0 -32
  502. package/dist/agent-core/extensions/network.js +0 -97
  503. package/dist/agent-core/extensions/operation.d.ts +0 -30
  504. package/dist/agent-core/extensions/processes.d.ts +0 -52
  505. package/dist/agent-core/extensions/processes.js +0 -284
  506. package/dist/agent-core/extensions/prompt-composition.d.ts +0 -24
  507. package/dist/agent-core/extensions/prompt-composition.js +0 -106
  508. package/dist/agent-core/extensions/prompt-input.d.ts +0 -23
  509. package/dist/agent-core/extensions/prompt-input.js +0 -48
  510. package/dist/agent-core/extensions/resources.d.ts +0 -27
  511. package/dist/agent-core/extensions/resources.js +0 -221
  512. package/dist/agent-core/extensions/services.d.ts +0 -31
  513. package/dist/agent-core/extensions/services.js +0 -61
  514. package/dist/agent-core/extensions/session-input.d.ts +0 -163
  515. package/dist/agent-core/extensions/session-input.js +0 -411
  516. package/dist/agent-core/extensions/session-messages.d.ts +0 -41
  517. package/dist/agent-core/extensions/session-messages.js +0 -76
  518. package/dist/agent-core/extensions/session.d.ts +0 -69
  519. package/dist/agent-core/extensions/session.js +0 -607
  520. package/dist/agent-core/extensions/settings.d.ts +0 -59
  521. package/dist/agent-core/extensions/settings.js +0 -115
  522. package/dist/agent-core/extensions/store.d.ts +0 -10
  523. package/dist/agent-core/extensions/store.js +0 -131
  524. package/dist/agent-core/extensions/tools.d.ts +0 -61
  525. package/dist/agent-core/extensions/tools.js +0 -269
  526. package/dist/agent-core/host/contracts.d.ts +0 -100
  527. package/dist/agent-core/host/contracts.js +0 -18
  528. package/dist/agent-core/host/local-agent-host.d.ts +0 -96
  529. package/dist/agent-core/host/local-agent-host.js +0 -425
  530. package/dist/agent-core/host/local-file-access.d.ts +0 -30
  531. package/dist/agent-core/host/local-file-access.js +0 -107
  532. package/dist/agent-core/host/local-network-access.d.ts +0 -6
  533. package/dist/agent-core/host/local-network-access.js +0 -101
  534. package/dist/agent-core/host/local-process-executor.d.ts +0 -29
  535. package/dist/agent-core/host/local-process-executor.js +0 -41
  536. package/dist/agent-core/host/local-session-environment.d.ts +0 -18
  537. package/dist/agent-core/host/local-shell.d.ts +0 -3
  538. package/dist/agent-core/host/network.d.ts +0 -4
  539. package/dist/agent-core/host/network.js +0 -6
  540. package/dist/agent-core/model/anthropic-messages.d.ts +0 -10
  541. package/dist/agent-core/model/anthropic-messages.js +0 -707
  542. package/dist/agent-core/model/anthropic-thinking.js +0 -33
  543. package/dist/agent-core/model/catalog-file.d.ts +0 -80
  544. package/dist/agent-core/model/catalog-file.js +0 -103
  545. package/dist/agent-core/model/configuration.d.ts +0 -127
  546. package/dist/agent-core/model/configuration.js +0 -168
  547. package/dist/agent-core/model/contracts.d.ts +0 -229
  548. package/dist/agent-core/model/http.d.ts +0 -27
  549. package/dist/agent-core/model/http.js +0 -534
  550. package/dist/agent-core/model/image.d.ts +0 -17
  551. package/dist/agent-core/model/openai-responses.d.ts +0 -77
  552. package/dist/agent-core/model/openai-responses.js +0 -2123
  553. package/dist/agent-core/model/product-user-agent.d.ts +0 -5
  554. package/dist/agent-core/model/product-user-agent.js +0 -22
  555. package/dist/agent-core/model/recovery.js +0 -80
  556. package/dist/agent-core/model/request-configuration.d.ts +0 -17
  557. package/dist/agent-core/model/request-configuration.js +0 -47
  558. package/dist/agent-core/model/runtime-credential.d.ts +0 -8
  559. package/dist/agent-core/model/runtime-credential.js +0 -72
  560. package/dist/agent-core/model/sse.js +0 -281
  561. package/dist/agent-core/model/text-blocks.js +0 -40
  562. package/dist/agent-core/model/tool-declarations.d.ts +0 -4
  563. package/dist/agent-core/model/transport-test.d.ts +0 -3
  564. package/dist/agent-core/model/transport-test.js +0 -23
  565. package/dist/agent-core/model/usage-observer.d.ts +0 -31
  566. package/dist/agent-core/prompts/index.d.ts +0 -20
  567. package/dist/agent-core/prompts/index.js +0 -49
  568. package/dist/agent-core/runtime/compaction/coordinator.js +0 -88
  569. package/dist/agent-core/runtime/compaction/generate.d.ts +0 -28
  570. package/dist/agent-core/runtime/compaction/generate.js +0 -84
  571. package/dist/agent-core/runtime/compaction/history.d.ts +0 -16
  572. package/dist/agent-core/runtime/compaction/operation.d.ts +0 -29
  573. package/dist/agent-core/runtime/compaction/operation.js +0 -131
  574. package/dist/agent-core/runtime/compaction/requests.d.ts +0 -16
  575. package/dist/agent-core/runtime/compaction/requests.js +0 -114
  576. package/dist/agent-core/runtime/compaction/retained-context.d.ts +0 -6
  577. package/dist/agent-core/runtime/compaction/retained-context.js +0 -47
  578. package/dist/agent-core/runtime/compaction/smart.d.ts +0 -14
  579. package/dist/agent-core/runtime/compaction/smart.js +0 -59
  580. package/dist/agent-core/runtime/context/contextual-blocks.d.ts +0 -30
  581. package/dist/agent-core/runtime/context/contextual-blocks.js +0 -146
  582. package/dist/agent-core/runtime/context/environment.d.ts +0 -5
  583. package/dist/agent-core/runtime/context/gc-runtime.d.ts +0 -38
  584. package/dist/agent-core/runtime/context/gc-tokens.d.ts +0 -25
  585. package/dist/agent-core/runtime/context/gc-tokens.js +0 -103
  586. package/dist/agent-core/runtime/context/gc.d.ts +0 -75
  587. package/dist/agent-core/runtime/context/gc.js +0 -1386
  588. package/dist/agent-core/runtime/context/instructions.d.ts +0 -37
  589. package/dist/agent-core/runtime/context/instructions.js +0 -297
  590. package/dist/agent-core/runtime/context/normalize.d.ts +0 -5
  591. package/dist/agent-core/runtime/context/projection.d.ts +0 -23
  592. package/dist/agent-core/runtime/context/projection.js +0 -284
  593. package/dist/agent-core/runtime/context/request-budget.d.ts +0 -4
  594. package/dist/agent-core/runtime/context/request-budget.js +0 -25
  595. package/dist/agent-core/runtime/context/restore.d.ts +0 -25
  596. package/dist/agent-core/runtime/context/restore.js +0 -186
  597. package/dist/agent-core/runtime/context/usage.d.ts +0 -17
  598. package/dist/agent-core/runtime/context/usage.js +0 -124
  599. package/dist/agent-core/runtime/context/world-state.d.ts +0 -33
  600. package/dist/agent-core/runtime/context/world-state.js +0 -232
  601. package/dist/agent-core/runtime/contracts.d.ts +0 -41
  602. package/dist/agent-core/runtime/event-projection.d.ts +0 -14
  603. package/dist/agent-core/runtime/event-projection.js +0 -87
  604. package/dist/agent-core/runtime/events.d.ts +0 -197
  605. package/dist/agent-core/runtime/execution-handle.d.ts +0 -12
  606. package/dist/agent-core/runtime/execution.d.ts +0 -50
  607. package/dist/agent-core/runtime/execution.js +0 -445
  608. package/dist/agent-core/runtime/model-progress.js +0 -85
  609. package/dist/agent-core/runtime/resource-publication.d.ts +0 -8
  610. package/dist/agent-core/runtime/resource-publication.js +0 -60
  611. package/dist/agent-core/sdk/agent.d.ts +0 -11
  612. package/dist/agent-core/sdk/agent.js +0 -474
  613. package/dist/agent-core/sdk/extension-agents.d.ts +0 -9
  614. package/dist/agent-core/sdk/extension-agents.js +0 -58
  615. package/dist/agent-core/sdk/extension-models.d.ts +0 -13
  616. package/dist/agent-core/sdk/extension-models.js +0 -137
  617. package/dist/agent-core/sdk/extension-session.d.ts +0 -30
  618. package/dist/agent-core/sdk/extension-session.js +0 -105
  619. package/dist/agent-core/sdk/extension-tools.d.ts +0 -16
  620. package/dist/agent-core/sdk/extension-tools.js +0 -126
  621. package/dist/agent-core/sdk/model-runtime.d.ts +0 -18
  622. package/dist/agent-core/sdk/model-runtime.js +0 -93
  623. package/dist/agent-core/sdk/native-steer.d.ts +0 -20
  624. package/dist/agent-core/sdk/native-steer.js +0 -84
  625. package/dist/agent-core/sdk/request-preparation.d.ts +0 -7
  626. package/dist/agent-core/sdk/resource-input.d.ts +0 -32
  627. package/dist/agent-core/sdk/resource-input.js +0 -403
  628. package/dist/agent-core/sdk/session.d.ts +0 -94
  629. package/dist/agent-core/sdk/session.js +0 -2377
  630. package/dist/agent-core/sdk/subagent-backend.d.ts +0 -3
  631. package/dist/agent-core/sdk/subagent-backend.js +0 -49
  632. package/dist/agent-core/sdk/types.d.ts +0 -81
  633. package/dist/agent-core/session/catalog.d.ts +0 -99
  634. package/dist/agent-core/session/catalog.js +0 -200
  635. package/dist/agent-core/session/context-gc-checkpoint.d.ts +0 -165
  636. package/dist/agent-core/session/context-gc-checkpoint.js +0 -935
  637. package/dist/agent-core/session/context-gc-observations.d.ts +0 -60
  638. package/dist/agent-core/session/context-gc-observations.js +0 -187
  639. package/dist/agent-core/session/context-gc-replacements.d.ts +0 -62
  640. package/dist/agent-core/session/context-gc-subagent.d.ts +0 -53
  641. package/dist/agent-core/session/deferred-input.d.ts +0 -5
  642. package/dist/agent-core/session/deferred-input.js +0 -74
  643. package/dist/agent-core/session/inline-media.d.ts +0 -45
  644. package/dist/agent-core/session/inline-media.js +0 -163
  645. package/dist/agent-core/session/rollback.d.ts +0 -13
  646. package/dist/agent-core/session/rollback.js +0 -46
  647. package/dist/agent-core/session/store/contracts.d.ts +0 -158
  648. package/dist/agent-core/session/store/current-state.d.ts +0 -17
  649. package/dist/agent-core/session/store/current-state.js +0 -53
  650. package/dist/agent-core/session/store/directory-index.d.ts +0 -18
  651. package/dist/agent-core/session/store/directory-index.js +0 -169
  652. package/dist/agent-core/session/store/execution-state.d.ts +0 -18
  653. package/dist/agent-core/session/store/execution-state.js +0 -175
  654. package/dist/agent-core/session/store/history.d.ts +0 -25
  655. package/dist/agent-core/session/store/history.js +0 -181
  656. package/dist/agent-core/session/store/images.d.ts +0 -19
  657. package/dist/agent-core/session/store/images.js +0 -110
  658. package/dist/agent-core/session/store/index.d.ts +0 -4
  659. package/dist/agent-core/session/store/index.js +0 -2
  660. package/dist/agent-core/session/store/jsonl-store.d.ts +0 -171
  661. package/dist/agent-core/session/store/jsonl-store.js +0 -2078
  662. package/dist/agent-core/session/store/records.d.ts +0 -23
  663. package/dist/agent-core/session/store/records.js +0 -261
  664. package/dist/agent-core/session/store/resources.d.ts +0 -26
  665. package/dist/agent-core/session/store/resources.js +0 -197
  666. package/dist/agent-core/session/store/types.d.ts +0 -82
  667. package/dist/agent-core/session/tool-result-resources.d.ts +0 -26
  668. package/dist/agent-core/session/tool-result-resources.js +0 -256
  669. package/dist/agent-core/session/transaction-recovery.d.ts +0 -16
  670. package/dist/agent-core/session/transaction-recovery.js +0 -135
  671. package/dist/agent-core/storage/file-lock.js +0 -83
  672. package/dist/agent-core/subagent/contracts.d.ts +0 -117
  673. package/dist/agent-core/subagent/model-update.js +0 -81
  674. package/dist/agent-core/subagent/scheduler.d.ts +0 -135
  675. package/dist/agent-core/subagent/scheduler.js +0 -369
  676. package/dist/agent-core/subagent/session-controller.d.ts +0 -138
  677. package/dist/agent-core/subagent/session-controller.js +0 -1594
  678. package/dist/agent-core/subagent/wait.d.ts +0 -14
  679. package/dist/agent-core/subagent/wait.js +0 -32
  680. package/dist/agent-core/tools/agent/agent-cancel.d.ts +0 -7
  681. package/dist/agent-core/tools/agent/agent-cancel.js +0 -29
  682. package/dist/agent-core/tools/agent/agent-message.d.ts +0 -7
  683. package/dist/agent-core/tools/agent/agent-message.js +0 -57
  684. package/dist/agent-core/tools/agent/agent-start.d.ts +0 -12
  685. package/dist/agent-core/tools/agent/agent-start.js +0 -106
  686. package/dist/agent-core/tools/agent/agent-wait.d.ts +0 -7
  687. package/dist/agent-core/tools/agent/agent-wait.js +0 -91
  688. package/dist/agent-core/tools/agent/question.d.ts +0 -7
  689. package/dist/agent-core/tools/agent/question.js +0 -125
  690. package/dist/agent-core/tools/agent/skill.d.ts +0 -11
  691. package/dist/agent-core/tools/agent/skill.js +0 -38
  692. package/dist/agent-core/tools/agent/sleep.d.ts +0 -12
  693. package/dist/agent-core/tools/agent/sleep.js +0 -54
  694. package/dist/agent-core/tools/agent/smart-compact.d.ts +0 -9
  695. package/dist/agent-core/tools/agent/smart-compact.js +0 -23
  696. package/dist/agent-core/tools/agent/todo-read.d.ts +0 -14
  697. package/dist/agent-core/tools/agent/todo-write.d.ts +0 -14
  698. package/dist/agent-core/tools/agent/todo-write.js +0 -66
  699. package/dist/agent-core/tools/agent/todo.d.ts +0 -26
  700. package/dist/agent-core/tools/agent/todo.js +0 -60
  701. package/dist/agent-core/tools/callers.d.ts +0 -6
  702. package/dist/agent-core/tools/callers.js +0 -39
  703. package/dist/agent-core/tools/code-mode/cells.d.ts +0 -29
  704. package/dist/agent-core/tools/code-mode/cells.js +0 -337
  705. package/dist/agent-core/tools/code-mode/dispatch.d.ts +0 -20
  706. package/dist/agent-core/tools/code-mode/dispatch.js +0 -80
  707. package/dist/agent-core/tools/code-mode/engine.d.ts +0 -60
  708. package/dist/agent-core/tools/code-mode/index.d.ts +0 -29
  709. package/dist/agent-core/tools/code-mode/index.js +0 -749
  710. package/dist/agent-core/tools/code-mode/observations.d.ts +0 -98
  711. package/dist/agent-core/tools/code-mode/observations.js +0 -228
  712. package/dist/agent-core/tools/code-mode/state.d.ts +0 -9
  713. package/dist/agent-core/tools/code-mode/state.js +0 -82
  714. package/dist/agent-core/tools/contracts.d.ts +0 -211
  715. package/dist/agent-core/tools/definition-projection.d.ts +0 -7
  716. package/dist/agent-core/tools/definition-projection.js +0 -26
  717. package/dist/agent-core/tools/execution-limits.d.ts +0 -69
  718. package/dist/agent-core/tools/execution-limits.js +0 -69
  719. package/dist/agent-core/tools/execution.d.ts +0 -46
  720. package/dist/agent-core/tools/execution.js +0 -191
  721. package/dist/agent-core/tools/local/apply-patch-parser.js +0 -177
  722. package/dist/agent-core/tools/local/apply-patch.d.ts +0 -19
  723. package/dist/agent-core/tools/local/apply-patch.js +0 -489
  724. package/dist/agent-core/tools/local/exec.d.ts +0 -53
  725. package/dist/agent-core/tools/local/exec.js +0 -877
  726. package/dist/agent-core/tools/local/image-processing.js +0 -146
  727. package/dist/agent-core/tools/local/read-context.js +0 -152
  728. package/dist/agent-core/tools/local/read.d.ts +0 -43
  729. package/dist/agent-core/tools/local/read.js +0 -470
  730. package/dist/agent-core/tools/local/registry.d.ts +0 -34
  731. package/dist/agent-core/tools/local/registry.js +0 -132
  732. package/dist/agent-core/tools/local/view-image.d.ts +0 -15
  733. package/dist/agent-core/tools/local/view-image.js +0 -317
  734. package/dist/agent-core/tools/local/workspace-tools.d.ts +0 -12
  735. package/dist/agent-core/tools/local/workspace-tools.js +0 -28
  736. package/dist/agent-core/tools/mcp/catalog.js +0 -220
  737. package/dist/agent-core/tools/mcp/history.d.ts +0 -4
  738. package/dist/agent-core/tools/mcp/tool-search.d.ts +0 -45
  739. package/dist/agent-core/tools/mcp/tool-search.js +0 -294
  740. package/dist/agent-core/tools/output-projection.d.ts +0 -18
  741. package/dist/agent-core/tools/output-projection.js +0 -341
  742. package/dist/agent-core/tools/permissions.d.ts +0 -85
  743. package/dist/agent-core/tools/permissions.js +0 -237
  744. package/dist/agent-core/tools/registry.d.ts +0 -7
  745. package/dist/agent-core/tools/result-extensions.d.ts +0 -46
  746. package/dist/agent-core/tools/result-extensions.js +0 -134
  747. package/dist/agent-core/tools/runtime-context.d.ts +0 -74
  748. package/dist/agent-core/tools/runtime-resource-handles.js +0 -28
  749. package/dist/agent-core/tools/runtime.js +0 -77
  750. package/dist/agent-core/tools/scheduler.d.ts +0 -12
  751. package/dist/agent-core/tools/shared/path-resolver.js +0 -133
  752. package/dist/agent-core/tools/wait.js +0 -82
  753. /package/dist/{agent-core/extensions/models.js → extensions/capabilities.js} +0 -0
  754. /package/dist/{agent-core/extensions → extensions}/compaction.js +0 -0
  755. /package/dist/{agent-core/model → extensions}/contracts.js +0 -0
  756. /package/dist/{agent-core/extensions → extensions}/hooks.js +0 -0
  757. /package/dist/{agent-core/runtime/context/contracts.js → extensions/host-ports.js} +0 -0
  758. /package/dist/{agent-core/extensions → extensions}/operation.js +0 -0
  759. /package/dist/{agent-core/runtime/contracts.js → extensions/tool-runtime.js} +0 -0
  760. /package/dist/{agent-core/extensions/contracts.js → extensions.js} +0 -0
  761. /package/dist/{agent-core/runtime/events.js → host/description.js} +0 -0
  762. /package/dist/{agent-core/host → host}/local-session-environment.js +0 -0
  763. /package/dist/{agent-core/host → host}/local-shell.js +0 -0
  764. /package/dist/{agent-core/runtime/execution-handle.js → host/skill-contract.js} +0 -0
  765. /package/dist/{agent-core/model → model}/anthropic-thinking.d.ts +0 -0
  766. /package/dist/{agent-core/model → model}/attempt-diagnostics.d.ts +0 -0
  767. /package/dist/{agent-core/model → model}/attempt-diagnostics.js +0 -0
  768. /package/dist/{agent-core/session/store → model}/contracts.js +0 -0
  769. /package/dist/{agent-core/sdk/types.js → model/image-contract.js} +0 -0
  770. /package/dist/{agent-core/model → model}/image.js +0 -0
  771. /package/dist/{agent-core/model → model}/native-context.d.ts +0 -0
  772. /package/dist/{agent-core/model → model}/native-context.js +0 -0
  773. /package/dist/{agent-core/model → model}/recovery.d.ts +0 -0
  774. /package/dist/{agent-core/model → model}/sse.d.ts +0 -0
  775. /package/dist/{agent-core/model → model}/text-blocks.d.ts +0 -0
  776. /package/dist/{agent-core/model → model}/tool-declarations.js +0 -0
  777. /package/dist/{agent-core/model → model}/tool-input.d.ts +0 -0
  778. /package/dist/{agent-core/model → model}/tool-input.js +0 -0
  779. /package/dist/{agent-core/model → model}/usage-observer.js +0 -0
  780. /package/dist/{agent-core/session/store/types.js → model/usage.js} +0 -0
  781. /package/dist/{agent-core/subagent → process}/contracts.js +0 -0
  782. /package/dist/{agent-core/prompts → prompts}/compact.d.ts +0 -0
  783. /package/dist/{agent-core/prompts → prompts}/compact.js +0 -0
  784. /package/dist/{agent-core/prompts → prompts}/core.d.ts +0 -0
  785. /package/dist/{agent-core/prompts → prompts}/core.js +0 -0
  786. /package/dist/{agent-core/prompts → prompts}/markup.d.ts +0 -0
  787. /package/dist/{agent-core/prompts → prompts}/markup.js +0 -0
  788. /package/dist/{agent-core/prompts → prompts}/modes.d.ts +0 -0
  789. /package/dist/{agent-core/prompts → prompts}/modes.js +0 -0
  790. /package/dist/{agent-core/prompts → prompts}/output.d.ts +0 -0
  791. /package/dist/{agent-core/prompts → prompts}/output.js +0 -0
  792. /package/dist/{agent-core/prompts → prompts}/permissions.d.ts +0 -0
  793. /package/dist/{agent-core/prompts → prompts}/permissions.js +0 -0
  794. /package/dist/{agent-core/tools/local → prompts}/read-context.d.ts +0 -0
  795. /package/dist/{agent-core/prompts → prompts}/resources.d.ts +0 -0
  796. /package/dist/{agent-core/prompts → prompts}/resources.js +0 -0
  797. /package/dist/{agent-core/prompts → prompts}/subagent.d.ts +0 -0
  798. /package/dist/{agent-core/prompts → prompts}/subagent.js +0 -0
  799. /package/dist/{agent-core/prompts → prompts}/workflow.d.ts +0 -0
  800. /package/dist/{agent-core/prompts → prompts}/workflow.js +0 -0
  801. /package/dist/{agent-core/runtime → runtime}/async-queue.d.ts +0 -0
  802. /package/dist/{agent-core/runtime → runtime}/async-queue.js +0 -0
  803. /package/dist/{agent-core/tools → runtime/compaction}/contracts.js +0 -0
  804. /package/dist/{agent-core/runtime → runtime}/compaction/coordinator.d.ts +0 -0
  805. /package/dist/{agent-core/runtime → runtime}/compaction/history.js +0 -0
  806. /package/dist/{agent-core/runtime → runtime}/context/contracts.d.ts +0 -0
  807. /package/dist/{agent-core/session/types.js → runtime/context/contracts.js} +0 -0
  808. /package/dist/{agent-core/runtime → runtime}/context/environment.js +0 -0
  809. /package/dist/{agent-core/tools/code-mode/engine.js → runtime/context/gc-contracts.js} +0 -0
  810. /package/dist/{agent-core/runtime → runtime}/context/gc-runtime.js +0 -0
  811. /package/dist/{agent-core/runtime → runtime}/context/normalize.js +0 -0
  812. /package/dist/{agent-core/tools/code-mode/worker.d.ts → runtime/contracts.js} +0 -0
  813. /package/dist/{agent-core/tools/runtime-context.js → runtime/events.js} +0 -0
  814. /package/dist/{agent-core/runtime → runtime}/execution-policy.d.ts +0 -0
  815. /package/dist/{agent-core/runtime → runtime}/execution-policy.js +0 -0
  816. /package/dist/{agent-core/runtime → runtime}/model-generation-timing.d.ts +0 -0
  817. /package/dist/{agent-core/runtime → runtime}/model-generation-timing.js +0 -0
  818. /package/dist/{agent-core/runtime → runtime}/model-progress.d.ts +0 -0
  819. /package/dist/{agent-core/runtime → runtime}/plan-output.d.ts +0 -0
  820. /package/dist/{agent-core/runtime → runtime}/plan-output.js +0 -0
  821. /package/dist/{agent-core/tools/public-metadata.d.ts → runtime/public-tool-metadata.d.ts} +0 -0
  822. /package/dist/{agent-core/tools/public-metadata.js → runtime/public-tool-metadata.js} +0 -0
  823. /package/dist/{agent-core/runtime → runtime}/token-budget.d.ts +0 -0
  824. /package/dist/{agent-core/runtime → runtime}/token-budget.js +0 -0
  825. /package/dist/{agent-core/tools → runtime}/wait.d.ts +0 -0
  826. /package/dist/{agent-core/sdk → sdk}/request-preparation.js +0 -0
  827. /package/dist/{agent-core/session → session}/context-gc-markup.d.ts +0 -0
  828. /package/dist/{agent-core/session → session}/context-gc-markup.js +0 -0
  829. /package/dist/{agent-core/session → session}/context-gc-replacements.js +0 -0
  830. /package/dist/{agent-core/session → session}/context-gc-subagent.js +0 -0
  831. /package/dist/{agent-core/session → session}/types.d.ts +0 -0
  832. /package/dist/{agent-core/storage → storage}/file-lock.d.ts +0 -0
  833. /package/dist/{agent-core/subagent → subagent}/model-update.d.ts +0 -0
  834. /package/dist/{agent-core/tools → tools}/agent/todo-read.js +0 -0
  835. /package/dist/{agent-core/tools → tools}/code-mode/quickjs-engine.d.ts +0 -0
  836. /package/dist/{agent-core/tools → tools}/code-mode/quickjs-engine.js +0 -0
  837. /package/dist/{agent-core/tools → tools}/code-mode/text-output.d.ts +0 -0
  838. /package/dist/{agent-core/tools → tools}/code-mode/text-output.js +0 -0
  839. /package/dist/{agent-core/tools → tools}/code-mode/worker.js +0 -0
  840. /package/dist/{agent-core/tools → tools}/file-change-diff.d.ts +0 -0
  841. /package/dist/{agent-core/tools → tools}/file-change-diff.js +0 -0
  842. /package/dist/{agent-core/tools → tools}/input-diagnostics/source-preview.d.ts +0 -0
  843. /package/dist/{agent-core/tools → tools}/input-diagnostics/source-preview.js +0 -0
  844. /package/dist/{agent-core/tools → tools}/input.d.ts +0 -0
  845. /package/dist/{agent-core/tools → tools}/input.js +0 -0
  846. /package/dist/{agent-core/tools → tools}/local/apply-patch-parser.d.ts +0 -0
  847. /package/dist/{agent-core/tools → tools}/local/image-processing.d.ts +0 -0
  848. /package/dist/{agent-core/tools → tools}/mcp/catalog.d.ts +0 -0
  849. /package/dist/{agent-core/tools → tools}/mcp/history.js +0 -0
  850. /package/dist/{agent-core/tools → tools}/registry.js +0 -0
  851. /package/dist/{agent-core/tools → tools}/runtime-resource-handles.d.ts +0 -0
  852. /package/dist/{agent-core/tools → tools}/runtime.d.ts +0 -0
  853. /package/dist/{agent-core/tools → tools}/scheduler.js +0 -0
  854. /package/dist/{agent-core/tools → tools}/shared/patch-result.d.ts +0 -0
  855. /package/dist/{agent-core/tools → tools}/shared/patch-result.js +0 -0
  856. /package/dist/{agent-core/tools → tools}/shared/path-resolver.d.ts +0 -0
@@ -0,0 +1,103 @@
1
+ import { compactSummaryFromCheckpoint } from '../record-projection.js';
2
+ import { todoItemsFromSnapshot } from '../todo.js';
3
+ export function deriveExecutionState(records) {
4
+ let automaticTitle = false;
5
+ let sawUserTurn = false;
6
+ let compactSequence;
7
+ let todoSequence;
8
+ let todoRevision = 0;
9
+ let todoItems = [];
10
+ let executionModel;
11
+ let firstUserMessagePreview;
12
+ let userTurns = 0;
13
+ for (const record of records) {
14
+ if (isNativeUserTurn(record))
15
+ userTurns++;
16
+ firstUserMessagePreview ??= userMessagePreviewFromRecord(record);
17
+ if (record.type === 'session.created')
18
+ automaticTitle =
19
+ record.payload?.automaticTitle === true;
20
+ else if (record.type === 'turn.user')
21
+ sawUserTurn = true;
22
+ else if (record.type === 'session.title.updated')
23
+ automaticTitle = false;
24
+ else if (isCompactCheckpoint(record))
25
+ compactSequence = record.sequence;
26
+ else if (record.type === 'todo.updated') {
27
+ const items = todoItemsFromSnapshot(record.payload);
28
+ if (!items)
29
+ continue;
30
+ todoSequence = record.sequence;
31
+ todoRevision++;
32
+ todoItems = items;
33
+ }
34
+ const candidate = executionModelFromRecord(record);
35
+ if (candidate !== undefined)
36
+ executionModel = candidate;
37
+ }
38
+ const boundary = records.findLastIndex(isCompactCheckpoint);
39
+ return {
40
+ automaticTitlePending: automaticTitle && !sawUserTurn,
41
+ todo: { revision: todoRevision, items: todoItems },
42
+ contextRecords: boundary < 0 ? [...records] : records.slice(boundary),
43
+ resume: {
44
+ version: 1,
45
+ userTurns,
46
+ ...(compactSequence === undefined ? {} : { compactSequence }),
47
+ ...(todoSequence === undefined ? {} : { todoSequence }),
48
+ todoRevision,
49
+ executionModelIndexed: true,
50
+ firstUserMessageIndexed: true,
51
+ ...(firstUserMessagePreview === undefined ? {} : { firstUserMessagePreview }),
52
+ ...(executionModel === undefined ? {} : executionModel)
53
+ }
54
+ };
55
+ }
56
+ export function isNativeUserTurn(record) {
57
+ return (record.type === 'turn.user' &&
58
+ record.payload.inputSource === undefined);
59
+ }
60
+ export function userMessagePreviewFromRecord(record) {
61
+ if (record.type !== 'turn.user' ||
62
+ !isObject(record.payload) ||
63
+ record.payload.inputSource === 'parent_agent' ||
64
+ typeof record.payload.prompt !== 'string')
65
+ return undefined;
66
+ const preview = record.payload.prompt.trim().replace(/\s+/gu, ' ').slice(0, 160);
67
+ return preview || undefined;
68
+ }
69
+ export function executionModelFromRecord(record) {
70
+ if (record.type !== 'execution.header' || !isObject(record.payload))
71
+ return undefined;
72
+ const modelId = record.payload.modelId;
73
+ if (typeof modelId !== 'string' || modelId.trim().length === 0)
74
+ return undefined;
75
+ const modelName = record.payload.modelName;
76
+ const reasoningEffort = record.payload.reasoningEffort;
77
+ return {
78
+ modelId,
79
+ ...(typeof modelName === 'string' && modelName.trim().length > 0 ? { modelName } : {}),
80
+ ...(typeof reasoningEffort === 'string' && reasoningEffort.trim().length > 0
81
+ ? { reasoningEffort }
82
+ : {})
83
+ };
84
+ }
85
+ export function isCompactCheckpoint(record) {
86
+ return compactSummaryFromCheckpoint(record) !== undefined;
87
+ }
88
+ export function sameResumeIndex(left, right) {
89
+ return (left?.version === right.version &&
90
+ left.userTurns === right.userTurns &&
91
+ left.compactSequence === right.compactSequence &&
92
+ left.todoSequence === right.todoSequence &&
93
+ left.todoRevision === right.todoRevision &&
94
+ left.executionModelIndexed === right.executionModelIndexed &&
95
+ left.firstUserMessageIndexed === right.firstUserMessageIndexed &&
96
+ left.firstUserMessagePreview === right.firstUserMessagePreview &&
97
+ left.modelId === right.modelId &&
98
+ left.modelName === right.modelName &&
99
+ left.reasoningEffort === right.reasoningEffort);
100
+ }
101
+ function isObject(value) {
102
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
103
+ }
@@ -0,0 +1,4 @@
1
+ export type { SessionListInput, SessionSource } from '../types.js';
2
+ export { compactSummaryFromCheckpoint, inputMetadataFromRecord, parseModelInputMetadata, replacementHistoryFromCheckpoint } from '../record-projection.js';
3
+ export { JsonlSessionStore } from './jsonl/jsonl-store.js';
4
+ export type { CompactHistoryMessage, CompactUserInput, RestoredSessionInputImage, SessionExecutionState, SessionInputImage, SessionInputImageData, SessionInputImageMetadata, SessionRecord } from './types.js';
@@ -0,0 +1,2 @@
1
+ export { compactSummaryFromCheckpoint, inputMetadataFromRecord, parseModelInputMetadata, replacementHistoryFromCheckpoint } from '../record-projection.js';
2
+ export { JsonlSessionStore } from './jsonl/jsonl-store.js';
@@ -0,0 +1,26 @@
1
+ import type { SessionListInput, SessionSource } from '../../types.js';
2
+ import type { SessionIndex, SessionMeta } from '../types.js';
3
+ /** Root format fence; history and directory revision are unchanged. */
4
+ export declare function upgradeSessionIndex(index: SessionIndex): SessionIndex;
5
+ /** Merge only derived fields, and only onto the history they were computed from. */
6
+ export declare function mergeSessionDerivedCache(current: SessionMeta, cached: SessionMeta): SessionMeta;
7
+ /** Restore the same entry object while the index serialization queue is held. */
8
+ export declare function restoreSessionIndexMeta(meta: SessionMeta, original: SessionMeta): void;
9
+ /** Prepare one committed index from a locked disk snapshot and the caller's dirty snapshot. */
10
+ export declare function prepareSessionIndexCommit(disk: SessionIndex, local: SessionIndex, dirty: ReadonlyMap<string, number>, derivedOnly: ReadonlySet<string>, deletedIds: string | readonly string[] | undefined, createdIds: readonly string[]): SessionIndex;
11
+ export declare function readSessionIndex(path: string): Promise<SessionIndex | undefined>;
12
+ export declare function persistSessionIndex(path: string, index: SessionIndex): Promise<void>;
13
+ /** The format-selection commit needs both the file and its directory entry durable. */
14
+ export declare function persistFormatSelection(path: string, index: SessionIndex): Promise<void>;
15
+ export declare function normalizeSessionSource(value: SessionSource | undefined): SessionSource;
16
+ interface SessionListFilter {
17
+ readonly source: SessionSource['type'];
18
+ readonly parentSessionId?: string;
19
+ readonly rootSessionId?: string;
20
+ }
21
+ export declare function sessionListFilter(input: SessionListInput): SessionListFilter;
22
+ export declare function sessionMatchesFilter(meta: SessionMeta, filter: SessionListFilter): boolean;
23
+ export declare function encodeSessionListCursor(revision: number, offset: number, filter: SessionListFilter): string;
24
+ export declare function decodeSessionListCursor(cursor: string | undefined, revision: number, filter: SessionListFilter): number;
25
+ export declare function sessionTreeIds(sessions: readonly SessionMeta[], sessionId: string): string[];
26
+ export {};
@@ -0,0 +1,283 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { open, readFile, rename, rm, writeFile } from 'node:fs/promises';
3
+ import { dirname } from 'node:path';
4
+ import { isDeepStrictEqual } from 'node:util';
5
+ import { AgentError } from '../../../error.js';
6
+ /** Root format fence; history and directory revision are unchanged. */
7
+ export function upgradeSessionIndex(index) {
8
+ if (index.version === 2)
9
+ return index;
10
+ return {
11
+ ...index,
12
+ version: 2,
13
+ sessions: index.sessions.map((session) => ({ ...session, storage: { encoding: 1 } }))
14
+ };
15
+ }
16
+ /** Merge only derived fields, and only onto the history they were computed from. */
17
+ export function mergeSessionDerivedCache(current, cached) {
18
+ if (current.nextSequence !== cached.nextSequence ||
19
+ current.storageTransactionId !== cached.storageTransactionId)
20
+ return current;
21
+ const preview = cached.resume?.firstUserMessageIndexed === true &&
22
+ current.resume?.firstUserMessagePreview === undefined &&
23
+ !(current.resume?.firstUserMessageIndexed === true &&
24
+ cached.resume.firstUserMessagePreview === undefined);
25
+ const count = current.resume?.userTurns === undefined && cached.resume?.userTurns !== undefined;
26
+ if (!preview && !count)
27
+ return current;
28
+ return {
29
+ ...current,
30
+ resume: {
31
+ ...(current.resume ?? { version: 1, todoRevision: 0 }),
32
+ ...(count ? { userTurns: cached.resume.userTurns } : {}),
33
+ ...(preview ? { firstUserMessageIndexed: true } : {}),
34
+ ...(!preview || cached.resume?.firstUserMessagePreview === undefined
35
+ ? {}
36
+ : { firstUserMessagePreview: cached.resume.firstUserMessagePreview })
37
+ }
38
+ };
39
+ }
40
+ /** Restore the same entry object while the index serialization queue is held. */
41
+ export function restoreSessionIndexMeta(meta, original) {
42
+ if (original.storage === undefined)
43
+ delete meta.storage;
44
+ else
45
+ meta.storage = structuredClone(original.storage);
46
+ meta.id = original.id;
47
+ meta.title = original.title;
48
+ meta.workspace = original.workspace;
49
+ meta.createdAt = original.createdAt;
50
+ meta.lastActivityAt = original.lastActivityAt;
51
+ if (original.source === undefined)
52
+ delete meta.source;
53
+ else
54
+ meta.source = structuredClone(original.source);
55
+ meta.nextSequence = original.nextSequence;
56
+ if (original.storageTransactionId === undefined)
57
+ delete meta.storageTransactionId;
58
+ else
59
+ meta.storageTransactionId = original.storageTransactionId;
60
+ if (original.automaticTitlePending === undefined)
61
+ delete meta.automaticTitlePending;
62
+ else
63
+ meta.automaticTitlePending = original.automaticTitlePending;
64
+ if (original.resume === undefined)
65
+ delete meta.resume;
66
+ else
67
+ meta.resume = structuredClone(original.resume);
68
+ if (original.segments === undefined)
69
+ delete meta.segments;
70
+ else
71
+ meta.segments = structuredClone(original.segments);
72
+ }
73
+ /** Prepare one committed index from a locked disk snapshot and the caller's dirty snapshot. */
74
+ export function prepareSessionIndexCommit(disk, local, dirty, derivedOnly, deletedIds, createdIds) {
75
+ const sessions = new Map(disk.sessions.map((session) => [session.id, session]));
76
+ const created = new Set(createdIds);
77
+ for (const session of local.sessions) {
78
+ const current = sessions.get(session.id);
79
+ // Disk membership is authoritative: a stale in-memory snapshot cannot revive a deletion.
80
+ if (created.has(session.id) || (current && dirty.has(session.id)))
81
+ sessions.set(session.id, current && derivedOnly.has(session.id)
82
+ ? mergeSessionDerivedCache(current, session)
83
+ : {
84
+ ...structuredClone(session),
85
+ ...(current?.storage === undefined ? {} : { storage: current.storage })
86
+ });
87
+ }
88
+ for (const deletedId of typeof deletedIds === 'string' ? [deletedIds] : (deletedIds ?? []))
89
+ sessions.delete(deletedId);
90
+ return {
91
+ version: disk.version,
92
+ revision: createdIds.length > 0 ||
93
+ deletedIds !== undefined ||
94
+ [...dirty.keys()].some((id) => !derivedOnly.has(id))
95
+ ? Math.max(disk.revision, local.revision) + 1
96
+ : disk.revision,
97
+ sessions: [...sessions.values()]
98
+ };
99
+ }
100
+ export async function readSessionIndex(path) {
101
+ let raw;
102
+ try {
103
+ raw = await readFile(path, 'utf8');
104
+ }
105
+ catch (cause) {
106
+ if (cause.code === 'ENOENT')
107
+ return undefined;
108
+ throw cause;
109
+ }
110
+ try {
111
+ const value = JSON.parse(raw);
112
+ if (Number.isSafeInteger(value?.version) && value.version !== 1 && value.version !== 2)
113
+ throw new AgentError('MAR_AGENT_SESSION_VERSION_UNSUPPORTED', 'Session encoding is unsupported.');
114
+ if (value?.version === 2 && Array.isArray(value.sessions))
115
+ for (const session of value.sessions) {
116
+ const encoding = session?.storage?.encoding;
117
+ if (Number.isSafeInteger(encoding) && encoding !== 1 && encoding !== 2)
118
+ throw new AgentError('MAR_AGENT_SESSION_VERSION_UNSUPPORTED', 'Session encoding is unsupported.');
119
+ }
120
+ if ((value?.version !== 1 && value?.version !== 2) ||
121
+ !Number.isSafeInteger(value.revision) ||
122
+ value.revision < 0 ||
123
+ !Array.isArray(value.sessions) ||
124
+ value.sessions.some((session) => typeof session?.id !== 'string' ||
125
+ !/^[0-9a-f-]{36}$/iu.test(session.id) ||
126
+ typeof session.title !== 'string' ||
127
+ typeof session.workspace !== 'string' ||
128
+ typeof session.createdAt !== 'string' ||
129
+ typeof session.lastActivityAt !== 'string' ||
130
+ !Number.isSafeInteger(session.nextSequence) ||
131
+ session.nextSequence < 1 ||
132
+ (value.version === 2 &&
133
+ session.storage?.encoding !== 1 &&
134
+ (session.storage?.encoding !== 2 ||
135
+ !/^[0-9a-f-]{36}$/iu.test(session.storage.generation))) ||
136
+ (session.resume?.userTurns !== undefined &&
137
+ (!Number.isSafeInteger(session.resume.userTurns) || session.resume.userTurns < 0))))
138
+ throw new Error('invalid index shape');
139
+ return value;
140
+ }
141
+ catch (cause) {
142
+ if (cause instanceof AgentError && cause.code === 'MAR_AGENT_SESSION_VERSION_UNSUPPORTED')
143
+ throw cause;
144
+ throw new AgentError('MAR_AGENT_SESSION_CORRUPT', 'Session index is corrupt.', { cause });
145
+ }
146
+ }
147
+ export async function persistSessionIndex(path, index) {
148
+ const temporary = `${path}.${randomUUID()}.tmp`;
149
+ let failure;
150
+ try {
151
+ await writeFile(temporary, JSON.stringify(index), { mode: 0o600, flag: 'wx', flush: true });
152
+ await rename(temporary, path);
153
+ }
154
+ catch (error) {
155
+ failure = error;
156
+ throw error;
157
+ }
158
+ finally {
159
+ if (failure !== undefined)
160
+ await rm(temporary, { force: true }).catch(() => undefined);
161
+ else
162
+ await rm(temporary, { force: true });
163
+ }
164
+ }
165
+ /** The format-selection commit needs both the file and its directory entry durable. */
166
+ export async function persistFormatSelection(path, index) {
167
+ await persistSessionIndex(path, index);
168
+ if (process.platform === 'win32')
169
+ return;
170
+ const directory = await open(dirname(path), 'r');
171
+ let failure;
172
+ try {
173
+ await directory.sync();
174
+ }
175
+ catch (error) {
176
+ failure = error;
177
+ throw error;
178
+ }
179
+ finally {
180
+ if (failure !== undefined)
181
+ await directory.close().catch(() => undefined);
182
+ else
183
+ await directory.close();
184
+ }
185
+ }
186
+ export function normalizeSessionSource(value) {
187
+ if (value === undefined || value.type === 'user')
188
+ return { type: 'user' };
189
+ if (value.type !== 'subagent' ||
190
+ typeof value.parentSessionId !== 'string' ||
191
+ !value.parentSessionId.trim() ||
192
+ typeof value.rootSessionId !== 'string' ||
193
+ !value.rootSessionId.trim() ||
194
+ (!value.parentExecutionId && !value.parentOperationId) ||
195
+ [
196
+ value.parentExecutionId,
197
+ value.parentOperationId,
198
+ value.ownerInstanceId,
199
+ value.extensionId
200
+ ].some((identity) => identity !== undefined && (typeof identity !== 'string' || !identity.trim())) ||
201
+ ((value.ownerInstanceId !== undefined || value.extensionId !== undefined) &&
202
+ value.parentOperationId === undefined) ||
203
+ typeof value.description !== 'string' ||
204
+ !value.description.trim() ||
205
+ (value.role !== 'general-purpose' && value.role !== 'explore'))
206
+ throw new AgentError('MAR_AGENT_TOOL_INPUT_INVALID', 'Session source is invalid.');
207
+ return {
208
+ type: 'subagent',
209
+ parentSessionId: value.parentSessionId,
210
+ rootSessionId: value.rootSessionId,
211
+ ...(value.parentExecutionId === undefined
212
+ ? {}
213
+ : { parentExecutionId: value.parentExecutionId }),
214
+ ...(value.parentOperationId === undefined
215
+ ? {}
216
+ : { parentOperationId: value.parentOperationId }),
217
+ ...(value.ownerInstanceId === undefined ? {} : { ownerInstanceId: value.ownerInstanceId }),
218
+ ...(value.extensionId === undefined ? {} : { extensionId: value.extensionId }),
219
+ role: value.role,
220
+ description: value.description.trim()
221
+ };
222
+ }
223
+ export function sessionListFilter(input) {
224
+ const source = input.source ??
225
+ (input.parentSessionId !== undefined || input.rootSessionId !== undefined
226
+ ? 'subagent'
227
+ : 'user');
228
+ if ((source !== 'user' && source !== 'subagent') ||
229
+ (input.parentSessionId !== undefined &&
230
+ (source !== 'subagent' || input.parentSessionId.length === 0)) ||
231
+ (input.rootSessionId !== undefined &&
232
+ (source !== 'subagent' || input.rootSessionId.length === 0)))
233
+ throw new AgentError('MAR_AGENT_TOOL_INPUT_INVALID', 'Session list filter is invalid.');
234
+ return {
235
+ source,
236
+ ...(input.parentSessionId === undefined ? {} : { parentSessionId: input.parentSessionId }),
237
+ ...(input.rootSessionId === undefined ? {} : { rootSessionId: input.rootSessionId })
238
+ };
239
+ }
240
+ export function sessionMatchesFilter(meta, filter) {
241
+ const source = normalizeSessionSource(meta.source);
242
+ return (source.type === filter.source &&
243
+ (filter.parentSessionId === undefined ||
244
+ (source.type === 'subagent' && source.parentSessionId === filter.parentSessionId)) &&
245
+ (filter.rootSessionId === undefined ||
246
+ (source.type === 'subagent' && source.rootSessionId === filter.rootSessionId)));
247
+ }
248
+ export function encodeSessionListCursor(revision, offset, filter) {
249
+ return Buffer.from(JSON.stringify({ version: 1, revision, offset, filter })).toString('base64url');
250
+ }
251
+ export function decodeSessionListCursor(cursor, revision, filter) {
252
+ if (cursor === undefined)
253
+ return 0;
254
+ try {
255
+ const value = JSON.parse(Buffer.from(cursor, 'base64url').toString('utf8'));
256
+ if (value.version !== 1 ||
257
+ value.revision !== revision ||
258
+ !Number.isSafeInteger(value.offset) ||
259
+ value.offset < 0 ||
260
+ !isDeepStrictEqual(value.filter, filter))
261
+ throw new Error('invalid cursor');
262
+ return value.offset;
263
+ }
264
+ catch {
265
+ throw new AgentError('MAR_AGENT_TOOL_INPUT_INVALID', 'Session list cursor is invalid.');
266
+ }
267
+ }
268
+ export function sessionTreeIds(sessions, sessionId) {
269
+ if (!sessions.some((session) => session.id === sessionId))
270
+ return [];
271
+ const ids = [sessionId];
272
+ for (let index = 0; index < ids.length; index++) {
273
+ const parentId = ids[index];
274
+ for (const session of sessions) {
275
+ const source = normalizeSessionSource(session.source);
276
+ if (source.type === 'subagent' &&
277
+ source.parentSessionId === parentId &&
278
+ !ids.includes(session.id))
279
+ ids.push(session.id);
280
+ }
281
+ }
282
+ return ids;
283
+ }
@@ -0,0 +1,3 @@
1
+ import { open } from 'node:fs/promises';
2
+ export declare function syncJsonlDirectory(path: string): Promise<void>;
3
+ export declare function syncAndClose(handle: Awaited<ReturnType<typeof open>>): Promise<void>;
@@ -0,0 +1,17 @@
1
+ import { open } from 'node:fs/promises';
2
+ export async function syncJsonlDirectory(path) {
3
+ if (process.platform === 'win32')
4
+ return;
5
+ const handle = await open(path, 'r');
6
+ await syncAndClose(handle);
7
+ }
8
+ export async function syncAndClose(handle) {
9
+ try {
10
+ await handle.sync();
11
+ }
12
+ catch (error) {
13
+ await handle.close().catch(() => undefined);
14
+ throw error;
15
+ }
16
+ await handle.close();
17
+ }
@@ -0,0 +1,48 @@
1
+ import { deriveExecutionState } from '../execution-state.js';
2
+ import type { SessionMeta, SessionRecord } from '../types.js';
3
+ interface HistoryReplacementContext {
4
+ readonly directory: string;
5
+ readonly sessionDirectory: string;
6
+ readonly targetGeneration?: string;
7
+ segmentPaths(): Promise<string[]>;
8
+ settleIndex(request: HistoryIndexRequest, recover: (committed: boolean) => Promise<void>): Promise<HistoryIndexOutcome>;
9
+ }
10
+ interface HistoryIndexBase {
11
+ readonly transactionId: string;
12
+ readonly nextSequence: number;
13
+ readonly segments: NonNullable<SessionMeta['segments']>;
14
+ readonly targetGeneration?: string;
15
+ }
16
+ type HistoryIndexChange = HistoryIndexBase & ({
17
+ readonly kind: 'rollback';
18
+ readonly title?: string;
19
+ readonly state: ReturnType<typeof deriveExecutionState>;
20
+ } | {
21
+ readonly kind: 'clear';
22
+ readonly clearedAt: string;
23
+ });
24
+ type HistoryIndexRequest = {
25
+ readonly kind: 'apply';
26
+ readonly change: HistoryIndexChange;
27
+ } | {
28
+ readonly kind: 'recover';
29
+ readonly transactionId: string;
30
+ readonly error: unknown;
31
+ };
32
+ export type HistoryIndexOutcome = {
33
+ readonly status: 'committed';
34
+ readonly meta: SessionMeta;
35
+ readonly error?: unknown;
36
+ readonly recoveryRequired?: true;
37
+ } | {
38
+ readonly status: 'not-committed' | 'unknown';
39
+ readonly error: unknown;
40
+ };
41
+ /** Execute one rollback/clear transaction while its caller holds maintenance. */
42
+ export declare function replaceSessionHistory(meta: SessionMeta, retained: readonly SessionRecord[], operation: {
43
+ kind: 'rollback';
44
+ } | {
45
+ kind: 'clear';
46
+ clearedAt: string;
47
+ }, context: HistoryReplacementContext): Promise<HistoryIndexOutcome>;
48
+ export {};
@@ -0,0 +1,147 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { readdir, rename, rm } from 'node:fs/promises';
3
+ import { basename, join } from 'node:path';
4
+ import { toolResultResourceFiles } from '../../tool-result-resources.js';
5
+ import { beginSessionStorageTransaction, retiredSessionTrashPath, recoverSessionStorageTransaction } from './transaction-recovery.js';
6
+ import { deriveExecutionState } from '../execution-state.js';
7
+ import { renameIfExists, retainedSessionTitle, stageSessionSegments, stageUnreferencedImages } from './history.js';
8
+ import { generatedImageFileNames } from './images.js';
9
+ import { CONTEXTUAL_WORLD_STATE_FILE } from './open-recovery.js';
10
+ import { resourceFiles } from './resources.js';
11
+ import { syncJsonlDirectory } from './fs-durability.js';
12
+ /** Execute one rollback/clear transaction while its caller holds maintenance. */
13
+ export async function replaceSessionHistory(meta, retained, operation, context) {
14
+ const targetDirectory = context.targetGeneration === undefined
15
+ ? context.directory
16
+ : join(context.sessionDirectory, 'v2', context.targetGeneration);
17
+ const staged = await stageSessionSegments(targetDirectory, retained);
18
+ const transactionId = randomUUID();
19
+ const targetNextSequence = operation.kind === 'clear' ? 2 : (retained.at(-1)?.sequence ?? 0) + 1;
20
+ const contextualWorldStatePath = join(context.directory, CONTEXTUAL_WORLD_STATE_FILE);
21
+ const contextualWorldStateBackup = `${contextualWorldStatePath}.${targetNextSequence}.${transactionId}.${operation.kind}-backup`;
22
+ const originalTransactionId = meta.storageTransactionId;
23
+ const originalPaths = await context.segmentPaths();
24
+ const retiredPaths = await retiredSessionPaths(context.sessionDirectory, context.directory, targetDirectory);
25
+ const backups = originalPaths.map((path) => ({
26
+ path,
27
+ backup: `${path}.${transactionId}.${operation.kind}-backup`
28
+ }));
29
+ const transaction = {
30
+ version: 1,
31
+ id: transactionId,
32
+ kind: operation.kind,
33
+ originalSegments: originalPaths.map((path) => basename(path)),
34
+ stagedSegments: staged.files.map((item) => ({
35
+ path: basename(item.path),
36
+ temporary: basename(item.temporaryPath)
37
+ })),
38
+ sidecarBackup: basename(contextualWorldStateBackup),
39
+ retiredPaths,
40
+ ...(context.targetGeneration === undefined
41
+ ? {}
42
+ : { targetGeneration: context.targetGeneration })
43
+ };
44
+ let committed = false;
45
+ let uncertain = false;
46
+ const recover = (selected) => recoverSessionStorageTransaction(context.directory, selected ? transactionId : originalTransactionId, context.sessionDirectory);
47
+ try {
48
+ await beginSessionStorageTransaction(context.directory, transaction);
49
+ await syncJsonlDirectory(context.directory);
50
+ await renameIfExists(contextualWorldStatePath, contextualWorldStateBackup);
51
+ await stageUnreferencedImages(context.sessionDirectory, 'generated_images', operation.kind === 'rollback' ? new Set(generatedImageFileNames(retained)) : new Set(), transactionId);
52
+ await stageUnreferencedImages(context.directory, 'resources', operation.kind === 'rollback' ? resourceFiles(retained) : new Set(), transactionId);
53
+ await stageUnreferencedImages(context.directory, 'tool_results', operation.kind === 'rollback' ? toolResultResourceFiles(retained) : new Set(), transactionId);
54
+ for (const path of retiredPaths)
55
+ await renameIfExists(join(context.sessionDirectory, path), retiredSessionTrashPath(context.sessionDirectory, path, transactionId));
56
+ for (const item of backups)
57
+ await rename(item.path, item.backup);
58
+ for (const item of staged.files) {
59
+ await rename(item.temporaryPath, item.path);
60
+ }
61
+ for (const directory of new Set([
62
+ context.directory,
63
+ context.sessionDirectory,
64
+ targetDirectory,
65
+ join(context.sessionDirectory, 'v2'),
66
+ join(context.sessionDirectory, 'generated_images'),
67
+ join(context.directory, 'resources'),
68
+ join(context.directory, 'tool_results')
69
+ ])) {
70
+ try {
71
+ await syncJsonlDirectory(directory);
72
+ }
73
+ catch (error) {
74
+ if (error.code !== 'ENOENT')
75
+ throw error;
76
+ }
77
+ }
78
+ const title = operation.kind === 'rollback' ? retainedSessionTitle(retained, '') : '';
79
+ const outcome = await context.settleIndex({
80
+ kind: 'apply',
81
+ change: {
82
+ transactionId,
83
+ nextSequence: targetNextSequence,
84
+ segments: staged.segments,
85
+ ...(context.targetGeneration === undefined
86
+ ? {}
87
+ : { targetGeneration: context.targetGeneration }),
88
+ ...(operation.kind === 'rollback'
89
+ ? {
90
+ kind: 'rollback',
91
+ state: deriveExecutionState(retained),
92
+ ...(title ? { title } : {})
93
+ }
94
+ : { kind: 'clear', clearedAt: operation.clearedAt })
95
+ }
96
+ }, recover);
97
+ if (outcome.status !== 'committed' || outcome.error !== undefined) {
98
+ uncertain =
99
+ outcome.status === 'unknown' ||
100
+ (outcome.status === 'committed' && outcome.recoveryRequired === true);
101
+ return outcome;
102
+ }
103
+ committed = true;
104
+ try {
105
+ await recover(true);
106
+ return outcome;
107
+ }
108
+ catch (error) {
109
+ uncertain = true;
110
+ return { status: 'committed', meta: outcome.meta, error, recoveryRequired: true };
111
+ }
112
+ }
113
+ catch (error) {
114
+ if (committed) {
115
+ uncertain = true;
116
+ return { status: 'unknown', error };
117
+ }
118
+ const outcome = await context.settleIndex({ kind: 'recover', transactionId, error }, recover);
119
+ uncertain =
120
+ outcome.status === 'unknown' ||
121
+ (outcome.status === 'committed' && outcome.recoveryRequired === true);
122
+ return outcome;
123
+ }
124
+ finally {
125
+ if (!uncertain)
126
+ await Promise.all(staged.files.map((item) => rm(item.temporaryPath, { force: true }))).catch(() => undefined);
127
+ }
128
+ }
129
+ async function retiredSessionPaths(root, active, target) {
130
+ const entries = await readdir(root, { withFileTypes: true });
131
+ const paths = entries
132
+ .filter((entry) => root !== active &&
133
+ ((entry.isFile() &&
134
+ (/^events-\d{6}\.jsonl$/u.test(entry.name) ||
135
+ entry.name === 'context-world-state.json')) ||
136
+ (entry.isDirectory() && ['resources', 'tool_results'].includes(entry.name))))
137
+ .map((entry) => entry.name);
138
+ const generations = await readdir(join(root, 'v2'), { withFileTypes: true });
139
+ for (const entry of generations) {
140
+ if (!entry.isDirectory() || !/^[0-9a-f-]{36}$/u.test(entry.name))
141
+ continue;
142
+ const relative = `v2/${entry.name}`;
143
+ if (join(root, relative) !== active && join(root, relative) !== target)
144
+ paths.push(relative);
145
+ }
146
+ return paths;
147
+ }
@@ -0,0 +1,25 @@
1
+ import type { SessionMeta, SessionRecord } from '../types.js';
2
+ export declare function renameIfExists(from: string, to: string): Promise<boolean>;
3
+ interface StagedSessionSegments {
4
+ readonly files: readonly {
5
+ readonly path: string;
6
+ readonly temporaryPath: string;
7
+ }[];
8
+ readonly segments: NonNullable<SessionMeta['segments']>;
9
+ }
10
+ export declare function stageSessionSegments(sessionDirectory: string, records: readonly SessionRecord[], operation?: 'rollback' | 'fork'): Promise<StagedSessionSegments>;
11
+ export declare function stageUnreferencedImages(sessionDirectory: string, directoryName: 'generated_images' | 'tool_results' | 'resources', retained: ReadonlySet<string>, transactionId: string): Promise<Array<{
12
+ from: string;
13
+ to: string;
14
+ trash: string;
15
+ }>>;
16
+ export declare function restoreRenamedFiles(files: readonly {
17
+ readonly from: string;
18
+ readonly to: string;
19
+ }[]): Promise<void>;
20
+ export declare function retainedSessionTitle(records: readonly SessionRecord[], fallback: string): string;
21
+ export declare function forkedPayload(type: string, value: unknown, sourceSessionId: string, targetSessionId: string, title: string, identities: ReadonlyMap<string, {
22
+ recordId: string;
23
+ sequence: number;
24
+ }>): unknown;
25
+ export {};