@myagentroam/agent 0.11.33 → 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,91 @@
1
+ import { AgentError } from '../error.js';
2
+ import { normalizeRuntimeModelConfiguration, resolveModelDefaultReasoningEffort } from '../model/configuration.js';
3
+ import { observeModelProgress } from '../runtime/model-progress.js';
4
+ import { projectModelRequest } from './model-input-projection.js';
5
+ export function resolveAgentModels(configurations, requestedDefaultModelId) {
6
+ const configuredModels = configurations.map((input) => {
7
+ const model = normalizeRuntimeModelConfiguration(input);
8
+ return { ...model, defaultReasoningEffort: resolveModelDefaultReasoningEffort(model) };
9
+ });
10
+ const credentialProviders = new Set();
11
+ for (const model of configuredModels) {
12
+ if (model.credentialProvider !== undefined)
13
+ credentialProviders.add(model.credentialProvider);
14
+ }
15
+ const models = new Map(configuredModels.filter((model) => model.enabled).map((model) => [model.id, model]));
16
+ if (models.size === 0)
17
+ throw new AgentError('MAR_AGENT_MODEL_CONFIG_INVALID', 'At least one enabled model is required.');
18
+ const defaultModelId = requestedDefaultModelId ??
19
+ [...models.values()].find((model) => model.conversationModel !== false)?.id;
20
+ if (!defaultModelId ||
21
+ !models.has(defaultModelId) ||
22
+ models.get(defaultModelId).conversationModel === false)
23
+ throw new AgentError('MAR_AGENT_MODEL_CONFIG_INVALID', 'Default conversation model is unavailable.');
24
+ return { models, defaultModelId, credentialProviders };
25
+ }
26
+ export function createModelTurnSession(adapter) {
27
+ const turn = adapter.createTurnSession?.() ?? {
28
+ start: (request, signal) => adapter.start(request, signal),
29
+ close: async () => undefined
30
+ };
31
+ return {
32
+ async *start(request, signal) {
33
+ const before = request.retryState?.attempts;
34
+ try {
35
+ yield* observeModelProgress((requestSignal) => turn.start(projectModelRequest(request), requestSignal), signal);
36
+ }
37
+ finally {
38
+ // Custom adapters may not participate in the shared attempt accounting.
39
+ if (request.retryState && request.retryState.attempts === before)
40
+ request.retryState.attempts++;
41
+ }
42
+ },
43
+ resetContinuation: () => turn.resetContinuation?.(),
44
+ continuationInputCount: () => turn.continuationInputCount?.() ?? 0,
45
+ commitContinuationInput: (count) => turn.commitContinuationInput?.(count),
46
+ close: () => turn.close()
47
+ };
48
+ }
49
+ /** Owns only one Execution's model turn and explicitly transferred adapters. */
50
+ export function createExecutionModelResources(activeAdapters) {
51
+ let turn;
52
+ const ownedAdapters = new Set();
53
+ return {
54
+ openTurn(adapter, ownsAdapter) {
55
+ if (ownsAdapter) {
56
+ ownedAdapters.add(adapter);
57
+ activeAdapters.add(adapter);
58
+ }
59
+ turn = createModelTurnSession(adapter);
60
+ return turn;
61
+ },
62
+ async close() {
63
+ try {
64
+ await turn?.close();
65
+ }
66
+ catch {
67
+ // Model cleanup must not replace the Execution result.
68
+ }
69
+ try {
70
+ await closeModelAdapters(ownedAdapters);
71
+ }
72
+ catch {
73
+ // Model cleanup must not replace the Execution result.
74
+ }
75
+ finally {
76
+ for (const adapter of ownedAdapters)
77
+ activeAdapters.delete(adapter);
78
+ }
79
+ }
80
+ };
81
+ }
82
+ export async function closeModelAdapters(adapters) {
83
+ const results = await Promise.allSettled([...new Set(adapters)].flatMap((adapter) => adapter.close === undefined ? [] : [Promise.resolve().then(() => adapter.close())]));
84
+ const failure = results.find((result) => result.status === 'rejected');
85
+ if (failure !== undefined)
86
+ throw failure.reason;
87
+ }
88
+ export function addModelCredentialProviders(target, configuration) {
89
+ if (configuration.credentialProvider !== undefined)
90
+ target.add(configuration.credentialProvider);
91
+ }
@@ -0,0 +1,20 @@
1
+ import type { ExtensionOperationContext } from '../extensions/operation.js';
2
+ import { type ExtensionPromptInput, type ExtensionPromptResult } from '../extensions/prompt-input.js';
3
+ import type { SessionInputCoordinator } from '../extensions/session-input.js';
4
+ import type { SessionRecord } from '../session/store/index.js';
5
+ import type { SteerInput, SteerResult } from './types.js';
6
+ /** Admission reserves the existing FIFO before any asynchronous Hook or writer work. */
7
+ export declare function createNativeSteer(input: {
8
+ readonly executionId: string;
9
+ readonly inputs: SessionInputCoordinator;
10
+ readonly signal: AbortSignal;
11
+ isOpen(): boolean;
12
+ operation<T>(action: (call: ExtensionOperationContext) => T): T;
13
+ admit(content: ExtensionPromptInput, call: ExtensionOperationContext, write: (content: ExtensionPromptInput, call: ExtensionOperationContext) => Promise<ExtensionPromptResult>): Promise<unknown>;
14
+ receive(content: ExtensionPromptInput, clientMessageId: string, call: ExtensionOperationContext): Promise<SessionRecord>;
15
+ notify(entry: Extract<SteerResult, {
16
+ status: 'accepted';
17
+ }>['entry']): Promise<unknown>;
18
+ diagnose(): void;
19
+ wake(): void;
20
+ }): (request: SteerInput) => Promise<SteerResult>;
@@ -0,0 +1,84 @@
1
+ import { AgentError } from '../error.js';
2
+ import { captureCorePromptInput } from '../extensions/prompt-input.js';
3
+ import { imageMetadata } from '../session/catalog.js';
4
+ /** Admission reserves the existing FIFO before any asynchronous Hook or writer work. */
5
+ export function createNativeSteer(input) {
6
+ const retries = new Map();
7
+ let admissionTail = Promise.resolve();
8
+ return async (request) => {
9
+ if (request.expectedExecutionId !== input.executionId)
10
+ return Promise.resolve({ status: 'notAccepted' });
11
+ const previous = retries.get(request.clientMessageId);
12
+ if (previous)
13
+ return previous;
14
+ if (!input.isOpen() || input.signal.aborted || input.inputs.hasIdleBarrier)
15
+ return Promise.resolve({ status: 'notAccepted' });
16
+ if (typeof request.clientMessageId !== 'string' ||
17
+ !request.clientMessageId.trim() ||
18
+ request.clientMessageId.length > 512)
19
+ return Promise.reject(new AgentError('MAR_AGENT_SESSION_INPUT_INVALID', 'A stable client message ID is required.'));
20
+ const content = captureCorePromptInput({
21
+ text: request.prompt,
22
+ ...(request.modelText === undefined ? {} : { modelText: request.modelText }),
23
+ ...(request.images === undefined ? {} : { images: request.images })
24
+ });
25
+ const result = Promise.withResolvers();
26
+ const ready = Promise.withResolvers();
27
+ const entry = input.operation((call) => input.inputs.accept({ kind: 'submit', input: content }, call, (request, effective, next) => next(request, effective), 'accepted'));
28
+ entry.nativeSteer = { ready: ready.promise };
29
+ const aborted = () => ready.resolve();
30
+ input.signal.addEventListener('abort', aborted, { once: true });
31
+ let committed = false;
32
+ const admission = admissionTail
33
+ .catch(() => undefined)
34
+ .then(() => input.operation((call) => input.admit(content, call, async (actual, effective) => {
35
+ if (committed)
36
+ return {};
37
+ effective.signal.throwIfAborted();
38
+ if (!input.isOpen()) {
39
+ result.resolve({ status: 'notAccepted' });
40
+ return {};
41
+ }
42
+ const record = await input.receive(actual, request.clientMessageId, effective);
43
+ committed = true;
44
+ entry.nativeSteer.recordId = record.recordId;
45
+ const payload = record.payload;
46
+ const images = imageMetadata(payload.images);
47
+ const historyEntry = {
48
+ kind: 'user',
49
+ recordId: record.recordId,
50
+ sequence: record.sequence,
51
+ timestamp: record.timestamp,
52
+ sessionId: record.sessionId,
53
+ executionId: record.executionId,
54
+ turnId: record.turnId,
55
+ text: payload.prompt,
56
+ clientMessageId: request.clientMessageId,
57
+ ...(images.length ? { images } : {})
58
+ };
59
+ // Neither Hook post-processing nor a failed observer can revoke the writer's receipt.
60
+ void input.notify(historyEntry).catch(() => input.diagnose());
61
+ ready.resolve();
62
+ result.resolve({ status: 'accepted', entry: historyEntry });
63
+ input.wake();
64
+ return {};
65
+ })));
66
+ void admission
67
+ .then(() => {
68
+ if (!committed)
69
+ result.resolve({ status: 'handled' });
70
+ }, (error) => {
71
+ if (!committed)
72
+ result.reject(error);
73
+ else
74
+ input.diagnose();
75
+ })
76
+ .finally(() => {
77
+ ready.resolve();
78
+ input.signal.removeEventListener('abort', aborted);
79
+ });
80
+ admissionTail = result.promise;
81
+ retries.set(request.clientMessageId, result.promise);
82
+ return result.promise;
83
+ };
84
+ }
@@ -0,0 +1,9 @@
1
+ import type { ClientToolDefinition } from '../tools/contracts.js';
2
+ import type { SessionModelMessage as ModelMessage } from '../session/model-request.js';
3
+ import type { SessionModelRequest as ModelRequest } from '../session/model-request.js';
4
+ import type { AgentModelConfiguration } from '../model/configuration.js';
5
+ import { type ContextualWorldState } from '../runtime/context/world-state.js';
6
+ /** Assemble captured round values only. Admission, Hooks and publication belong to Session. */
7
+ export declare function prepareSessionModelRequest(candidate: ModelRequest, model: Pick<AgentModelConfiguration, 'protocol' | 'inputCapabilities'>, entries: ContextualWorldState['entries'], residentTools: readonly ClientToolDefinition[], autoPermission: boolean): ModelRequest;
8
+ /** The actual candidate and current Session view share the same side-effect-free projection. */
9
+ export declare function projectSessionRequestMessages(messages: readonly ModelMessage[], entries: ContextualWorldState['entries'], supportsImages: boolean, codeMode: boolean, autoPermission?: boolean): ModelMessage[];
@@ -0,0 +1,33 @@
1
+ import type { SessionModelMessage as ModelMessage } from '../session/model-request.js';
2
+ import type { SessionModelRequest as ModelRequest } from '../session/model-request.js';
3
+ import { type ModelImage } from '../model/image.js';
4
+ import type { SessionStore } from '../session/store/contracts.js';
5
+ import type { SessionRecord } from '../session/record-contract.js';
6
+ import { type InlineMediaGcCandidate, type InlineMediaState } from '../session/inline-media.js';
7
+ interface Options {
8
+ records?: readonly SessionRecord[];
9
+ persist?: (state: InlineMediaState) => Promise<void>;
10
+ }
11
+ /** SDK-owned ordered visual window; durable image references are never rewritten. */
12
+ export declare class ResourceInputProjection {
13
+ #private;
14
+ private readonly useResourceUrl;
15
+ private readonly store;
16
+ private readonly sessionId;
17
+ private readonly options;
18
+ constructor(useResourceUrl: boolean, store: Pick<SessionStore, 'readResource'>, sessionId: string, history: readonly ModelMessage[], options?: Options);
19
+ observe(messages: readonly ModelMessage[]): void;
20
+ /** Called only at an explicit context replacement, never as a history diff detector. */
21
+ replace(messages: readonly ModelMessage[]): void;
22
+ hasPendingImages(messages: readonly ModelMessage[]): boolean;
23
+ /** Reference-only view shared by GC; no byte loading or new eviction decisions. */
24
+ historyView(messages: readonly ModelMessage[]): ModelMessage[];
25
+ checkpoint(messages?: readonly ModelMessage[]): InlineMediaState;
26
+ prepare(request: ModelRequest, mirroredImages?: readonly ModelImage[], canonicalMessages?: readonly ModelMessage[]): Promise<ModelRequest>;
27
+ complete(request: ModelRequest): Promise<void>;
28
+ /** Propose a cursor; only the unified GC checkpoint may adopt it. */
29
+ gcCandidate(request?: ModelRequest, mirroredImages?: readonly ModelImage[]): Promise<InlineMediaGcCandidate | undefined>;
30
+ adoptGc(state: InlineMediaState | undefined): void;
31
+ releaseBytes(): void;
32
+ }
33
+ export {};
@@ -0,0 +1,402 @@
1
+ import { inlineMediaBytes, inlineMediaLimit } from '../model/inline-media-budget.js';
2
+ import { isDeepStrictEqual } from 'node:util';
3
+ import { AgentError } from '../error.js';
4
+ import { isModelImageUrl } from '../model/image.js';
5
+ import { observationImages, renderObservationResult, selectObservationImages } from '../session/code-observation-projection.js';
6
+ import { INLINE_MEDIA_POLICY as policy, inlineMediaHistory, inlineMediaSource } from '../session/inline-media.js';
7
+ function releasedImageNotice(message, indices, unavailable) {
8
+ return indices
9
+ .map((index) => {
10
+ if (unavailable?.has(index))
11
+ return 'Image unavailable; omitted from context.';
12
+ const resourceId = message.images?.[index]?.resourceId;
13
+ const hint = resourceId
14
+ ? ` Reopen with view_image(${JSON.stringify({ resourceId })}) if needed.`
15
+ : '';
16
+ return `<mar_context_gc kind="image">Image released.${hint}</mar_context_gc>`;
17
+ })
18
+ .join('\n');
19
+ }
20
+ function projectRetainedImages(message, images, removed, unavailable) {
21
+ if (!removed.size)
22
+ return { ...message, images };
23
+ if (message.observations) {
24
+ const observations = message.observations.map((observation) => {
25
+ const removedIndices = observationImages(observation).filter((index) => removed.has(index));
26
+ if (!removedIndices.length)
27
+ return observation;
28
+ const notice = releasedImageNotice(message, removedIndices, unavailable);
29
+ return observation.type === 'tool_result'
30
+ ? {
31
+ ...observation,
32
+ result: { ...observation.result, content: `${observation.result.content}\n${notice}` }
33
+ }
34
+ : { ...observation, value: `${observation.value}\n${notice}` };
35
+ });
36
+ const selected = selectObservationImages(observations, images);
37
+ return {
38
+ ...message,
39
+ ...selected,
40
+ content: renderObservationResult(selected.observations, message.content)
41
+ };
42
+ }
43
+ const notice = releasedImageNotice(message, [...removed], unavailable);
44
+ return {
45
+ ...message,
46
+ images: images.filter(Boolean),
47
+ content: `${message.content}\n${notice}`,
48
+ ...(message.textBlocks ? { textBlocks: [...message.textBlocks, { text: notice }] } : {})
49
+ };
50
+ }
51
+ /** SDK-owned ordered visual window; durable image references are never rewritten. */
52
+ export class ResourceInputProjection {
53
+ useResourceUrl;
54
+ store;
55
+ sessionId;
56
+ options;
57
+ #entries = [];
58
+ #sources = new Map();
59
+ #candidates = new WeakMap();
60
+ #resourceReads = new Map();
61
+ #cachedBytes = 0;
62
+ #considered = -1;
63
+ #rollout = 0;
64
+ #evicted = -1;
65
+ constructor(useResourceUrl, store, sessionId, history, options = {}) {
66
+ this.useResourceUrl = useResourceUrl;
67
+ this.store = store;
68
+ this.sessionId = sessionId;
69
+ this.options = options;
70
+ const restored = inlineMediaHistory(options.records ?? []);
71
+ this.#rollout = restored.rollouts;
72
+ for (const cursor of restored.cursors)
73
+ this.#entries[this.#entry(cursor.sourceId, cursor.imageIndex)].rollout = cursor.rollout;
74
+ this.observe(history);
75
+ if (restored.state) {
76
+ this.#considered = this.#position(restored.state.consideredThrough);
77
+ this.#evicted = this.#position(restored.state.evictedThrough);
78
+ }
79
+ else if (options.records === undefined)
80
+ this.#considered = this.#entries.length - 1;
81
+ }
82
+ #entry(source, imageIndex) {
83
+ let positions = this.#sources.get(source);
84
+ if (!positions)
85
+ this.#sources.set(source, (positions = []));
86
+ let position = positions[imageIndex];
87
+ if (position === undefined) {
88
+ position = this.#entries.length;
89
+ positions[imageIndex] = position;
90
+ this.#entries.push({ source, imageIndex, active: false, rollout: this.#rollout });
91
+ }
92
+ return position;
93
+ }
94
+ #position(cursor) {
95
+ if (!cursor)
96
+ return -1;
97
+ const position = this.#sources.get(cursor.sourceId)?.[cursor.imageIndex];
98
+ if (position === undefined)
99
+ throw new AgentError('MAR_AGENT_SESSION_CORRUPT', 'Inline media boundary is missing.');
100
+ return position;
101
+ }
102
+ observe(messages) {
103
+ for (const message of messages)
104
+ for (const [index, image] of (message.images ?? []).entries()) {
105
+ const entry = this.#entries[this.#entry(inlineMediaSource(message), index)];
106
+ if (entry.image && !isDeepStrictEqual(entry.image, image))
107
+ delete entry.unavailable;
108
+ entry.image = image;
109
+ entry.active = true;
110
+ }
111
+ }
112
+ /** Called only at an explicit context replacement, never as a history diff detector. */
113
+ replace(messages) {
114
+ this.releaseBytes();
115
+ for (const entry of this.#entries) {
116
+ entry.active = false;
117
+ delete entry.image;
118
+ }
119
+ this.observe(messages);
120
+ }
121
+ hasPendingImages(messages) {
122
+ return messages.some((message) => (message.images ?? []).some((_, index) => {
123
+ const position = this.#sources.get(inlineMediaSource(message))?.[index];
124
+ return position === undefined || position > this.#considered;
125
+ }));
126
+ }
127
+ /** Reference-only view shared by GC; no byte loading or new eviction decisions. */
128
+ historyView(messages) {
129
+ return this.#historyView(messages, this.#evicted);
130
+ }
131
+ #historyView(messages, evicted, fromEvicted = -1) {
132
+ return messages.map((message) => {
133
+ const positions = this.#sources
134
+ .get(inlineMediaSource(message))
135
+ ?.filter((position) => position > fromEvicted);
136
+ const images = message.images ??
137
+ positions?.flatMap((position) => {
138
+ const entry = this.#entries[position];
139
+ return entry.active && entry.image ? [entry.image] : [];
140
+ });
141
+ if (!images?.length)
142
+ return message;
143
+ const removed = new Set();
144
+ const unavailable = new Set();
145
+ const retained = [];
146
+ images.forEach((image, index) => {
147
+ const position = positions?.[index];
148
+ const entry = position === undefined ? undefined : this.#entries[position];
149
+ if (entry?.unavailable && isDeepStrictEqual(entry.image, image)) {
150
+ removed.add(index);
151
+ unavailable.add(index);
152
+ }
153
+ else if (!this.useResourceUrl &&
154
+ positions?.[index] !== undefined &&
155
+ positions[index] <= evicted)
156
+ removed.add(index);
157
+ else
158
+ retained[index] = image;
159
+ });
160
+ return projectRetainedImages({ ...message, images }, retained, removed, unavailable);
161
+ });
162
+ }
163
+ checkpoint(messages) {
164
+ const retained = messages && new Set(messages.map(inlineMediaSource));
165
+ const cursor = (through) => {
166
+ for (let index = through; index >= 0; index--) {
167
+ const entry = this.#entries[index];
168
+ if (typeof entry.source === 'string' && (!retained || retained.has(entry.source)))
169
+ return { sourceId: entry.source, imageIndex: entry.imageIndex };
170
+ }
171
+ return undefined;
172
+ };
173
+ const consideredThrough = cursor(this.#considered);
174
+ const evictedThrough = cursor(this.#evicted);
175
+ return {
176
+ version: 1,
177
+ ...(consideredThrough ? { consideredThrough } : {}),
178
+ ...(evictedThrough ? { evictedThrough } : {})
179
+ };
180
+ }
181
+ async prepare(request, mirroredImages = [], canonicalMessages = request.messages) {
182
+ this.observe(canonicalMessages);
183
+ const through = this.#entries.length - 1;
184
+ const cached = new Map();
185
+ const project = (image, entry) => {
186
+ const key = entry && isDeepStrictEqual(entry.image, image) ? entry : image;
187
+ let value = cached.get(key);
188
+ if (!value)
189
+ cached.set(key, (value = this.#project(image, entry)));
190
+ return value;
191
+ };
192
+ const top = (request.images ?? []).filter((image) => !mirroredImages.some((mirror) => isDeepStrictEqual(image, mirror)));
193
+ const evicted = this.#evicted;
194
+ const messages = await Promise.all(request.messages.map(async (message) => {
195
+ if (!message.images?.length)
196
+ return message;
197
+ const removed = new Set();
198
+ const unavailable = new Set();
199
+ const images = [];
200
+ await Promise.all(message.images.map(async (image, index) => {
201
+ const position = this.#sources.get(inlineMediaSource(message))?.[index];
202
+ const entry = position === undefined ? undefined : this.#entries[position];
203
+ const original = entry?.image;
204
+ if (!this.useResourceUrl &&
205
+ position !== undefined &&
206
+ position <= evicted &&
207
+ isDeepStrictEqual(original, image))
208
+ removed.add(index);
209
+ else {
210
+ const projected = await project(image, entry);
211
+ if (projected)
212
+ images[index] = projected;
213
+ else {
214
+ removed.add(index);
215
+ unavailable.add(index);
216
+ }
217
+ }
218
+ }));
219
+ return projectRetainedImages(message, images, removed, unavailable);
220
+ }));
221
+ const { images: _topImages, ...retained } = request;
222
+ const images = (await Promise.all(top.map((image) => project(image)))).filter((image) => image !== undefined);
223
+ const result = { ...retained, messages, ...(images.length ? { images } : {}) };
224
+ this.#candidates.set(result.messages, through);
225
+ return result;
226
+ }
227
+ async complete(request) {
228
+ const candidate = this.#candidates.get(request.messages);
229
+ if (candidate === undefined)
230
+ return;
231
+ this.#candidates.delete(request.messages);
232
+ this.#rollout++;
233
+ const considered = Math.max(this.#considered, candidate);
234
+ if (considered === this.#considered)
235
+ return;
236
+ const before = this.#considered;
237
+ this.#considered = considered;
238
+ try {
239
+ await this.options.persist?.(this.checkpoint());
240
+ }
241
+ catch (error) {
242
+ this.#considered = before;
243
+ this.#rollout--;
244
+ throw error;
245
+ }
246
+ }
247
+ /** Propose a cursor; only the unified GC checkpoint may adopt it. */
248
+ async gcCandidate(request, mirroredImages = []) {
249
+ if (this.useResourceUrl)
250
+ return undefined;
251
+ const size = async (image, entry) => {
252
+ if (entry?.unavailable && isDeepStrictEqual(entry.image, image))
253
+ return 0;
254
+ const sized = image.byteSize !== undefined || image.dataBase64 !== undefined
255
+ ? image
256
+ : await this.#project(image, entry);
257
+ return sized ? inlineMediaBytes(sized) : 0;
258
+ };
259
+ const actualSize = async (image, entry) => {
260
+ const projected = await this.#project(image, entry);
261
+ return projected ? inlineMediaBytes(projected) : 0;
262
+ };
263
+ const history = await Promise.all(this.#entries.map(async (entry, index) => ({
264
+ index,
265
+ bytes: entry.active && entry.image && index > this.#evicted && index <= this.#considered
266
+ ? await size(entry.image, entry)
267
+ : 0
268
+ })));
269
+ let beforeBytes = history.reduce((sum, entry) => sum + entry.bytes, 0);
270
+ let freshBytes = 0;
271
+ let requestBytes = 0;
272
+ const requestHistory = new Map();
273
+ if (request) {
274
+ for (const message of request.messages)
275
+ for (const [index, image] of (message.images ?? []).entries()) {
276
+ const position = this.#sources.get(inlineMediaSource(message))?.[index];
277
+ const entry = position === undefined ? undefined : this.#entries[position];
278
+ const original = entry && isDeepStrictEqual(entry.image, image);
279
+ if (original && position <= this.#evicted)
280
+ continue;
281
+ const bytes = await actualSize(image, entry);
282
+ requestBytes += bytes;
283
+ if (original && position <= this.#considered) {
284
+ requestHistory.set(position, (requestHistory.get(position) ?? 0) + bytes);
285
+ history[position].bytes = bytes;
286
+ }
287
+ else
288
+ freshBytes += bytes;
289
+ }
290
+ for (const image of request.images ?? []) {
291
+ if (mirroredImages.some((mirror) => isDeepStrictEqual(image, mirror)))
292
+ continue;
293
+ const bytes = await actualSize(image);
294
+ freshBytes += bytes;
295
+ requestBytes += bytes;
296
+ }
297
+ beforeBytes = history.reduce((sum, item) => sum + item.bytes, 0);
298
+ if (freshBytes > policy.requestInlineMediaHardLimit)
299
+ inlineMediaLimit();
300
+ }
301
+ const hard = requestBytes > policy.requestInlineMediaHardLimit;
302
+ if (!hard && beforeBytes <= policy.historicalInlineMediaTarget)
303
+ return undefined;
304
+ const target = hard
305
+ ? Math.max(0, policy.historicalInlineMediaTarget - freshBytes)
306
+ : policy.historicalInlineMediaTarget;
307
+ let afterBytes = beforeBytes;
308
+ let evicted = this.#evicted;
309
+ for (const item of history) {
310
+ if (afterBytes <= target && (!hard || requestBytes <= policy.requestInlineMediaHardLimit))
311
+ break;
312
+ if (!item.bytes)
313
+ continue;
314
+ if (!hard && this.#rollout - this.#entries[item.index].rollout < 2)
315
+ break;
316
+ afterBytes -= item.bytes;
317
+ requestBytes -= requestHistory.get(item.index) ?? 0;
318
+ evicted = item.index;
319
+ }
320
+ if (afterBytes > target || (hard && requestBytes > policy.requestInlineMediaHardLimit))
321
+ return undefined;
322
+ const entry = this.#entries[evicted];
323
+ if (!entry || typeof entry.source !== 'string' || evicted <= this.#evicted)
324
+ return undefined;
325
+ return {
326
+ reason: hard
327
+ ? 'HARD_LIMIT'
328
+ : beforeBytes > policy.historicalInlineMediaTrigger
329
+ ? 'SOFT_LIMIT'
330
+ : 'TEXT_GC',
331
+ state: {
332
+ ...this.checkpoint(),
333
+ evictedThrough: { sourceId: entry.source, imageIndex: entry.imageIndex }
334
+ },
335
+ beforeBytes,
336
+ afterBytes,
337
+ project: (messages) => this.#historyView(messages, evicted, this.#evicted)
338
+ };
339
+ }
340
+ adoptGc(state) {
341
+ if (state) {
342
+ this.#evicted = this.#position(state.evictedThrough);
343
+ this.releaseBytes();
344
+ }
345
+ }
346
+ releaseBytes() {
347
+ this.#resourceReads.clear();
348
+ this.#cachedBytes = 0;
349
+ }
350
+ #readBytes(resourceId) {
351
+ const cached = this.#resourceReads.get(resourceId);
352
+ if (cached)
353
+ return cached;
354
+ const pending = this.store.readResource(this.sessionId, resourceId).then((resource) => {
355
+ if (this.#resourceReads.get(resourceId) === pending) {
356
+ const bytes = resource?.dataBase64 ? inlineMediaBytes(resource) : 0;
357
+ if (!bytes || this.#cachedBytes + bytes > policy.requestInlineMediaHardLimit)
358
+ this.#resourceReads.delete(resourceId);
359
+ else
360
+ this.#cachedBytes += bytes;
361
+ }
362
+ return resource;
363
+ }, (error) => {
364
+ if (this.#resourceReads.get(resourceId) === pending)
365
+ this.#resourceReads.delete(resourceId);
366
+ throw error;
367
+ });
368
+ this.#resourceReads.set(resourceId, pending);
369
+ return pending;
370
+ }
371
+ async #project(image, entry) {
372
+ const original = entry && isDeepStrictEqual(entry.image, image);
373
+ if (original && entry.unavailable)
374
+ return undefined;
375
+ if (this.useResourceUrl) {
376
+ if (!isModelImageUrl(image.url))
377
+ throw new AgentError('MAR_AGENT_RESOURCE_URL_UNAVAILABLE', 'Resource URL is unavailable.');
378
+ const { dataBase64: _bytes, ...reference } = image;
379
+ return reference;
380
+ }
381
+ let bytes;
382
+ try {
383
+ bytes =
384
+ image.dataBase64 !== undefined
385
+ ? image
386
+ : image.resourceId === undefined
387
+ ? undefined
388
+ : await this.#readBytes(image.resourceId);
389
+ }
390
+ catch (error) {
391
+ if (!(error instanceof AgentError) || error.code !== 'MAR_AGENT_IMAGE_UNAVAILABLE')
392
+ throw error;
393
+ }
394
+ if (!bytes?.dataBase64) {
395
+ if (original)
396
+ entry.unavailable = true;
397
+ return undefined;
398
+ }
399
+ const { url: _url, urlExpiresAt: _expires, ...reference } = image;
400
+ return { ...reference, dataBase64: bytes.dataBase64 };
401
+ }
402
+ }
@@ -0,0 +1,2 @@
1
+ import { type AgentSessionCatalog, type OpenAgentSessionCatalogInput } from '../session/catalog.js';
2
+ export declare function openAgentSessionCatalog(input: OpenAgentSessionCatalogInput): Promise<AgentSessionCatalog>;
@@ -0,0 +1,12 @@
1
+ import { AgentError } from '../error.js';
2
+ import { createSessionCatalog } from '../session/catalog.js';
3
+ import { JsonlSessionStore } from '../session/store/jsonl/jsonl-store.js';
4
+ export async function openAgentSessionCatalog(input) {
5
+ const borrowed = input.sessionStore !== undefined;
6
+ if (input.sessionStore === null ||
7
+ borrowed === (input.homeDirectory !== undefined) ||
8
+ (!borrowed && (typeof input.homeDirectory !== 'string' || !input.homeDirectory)))
9
+ throw new AgentError('MAR_AGENT_SESSION_STORE_INVALID', 'Specify exactly one Session store or home directory.');
10
+ const store = input.sessionStore ?? (await JsonlSessionStore.open(input.homeDirectory));
11
+ return createSessionCatalog(store, borrowed);
12
+ }