@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,115 @@
1
+ import { AgentError } from '../error.js';
2
+ import { cloneCoreJson } from './data.js';
3
+ export function coreSettingsBinding(bindings) {
4
+ const backend = bindings?.['settings'];
5
+ if (backend === undefined)
6
+ return undefined;
7
+ if (!backend ||
8
+ typeof backend !== 'object' ||
9
+ ['describe', 'read', 'update'].some((name) => typeof backend[name] !== 'function'))
10
+ throw new AgentError('MAR_AGENT_SETTINGS_BINDING_INVALID', 'Settings binding must provide describe, read and update.');
11
+ return backend;
12
+ }
13
+ export function settingsCapabilities(base, bound) {
14
+ const list = Object.freeze([
15
+ ...base.list().filter((id) => id !== 'settings'),
16
+ ...(bound ? ['settings'] : [])
17
+ ]);
18
+ return Object.freeze({ has: (id) => list.includes(id), list: () => list });
19
+ }
20
+ function copyInput(input) {
21
+ if (!input ||
22
+ typeof input !== 'object' ||
23
+ Array.isArray(input) ||
24
+ (input.scope !== undefined && (typeof input.scope !== 'string' || !input.scope)))
25
+ throw invalid('INPUT');
26
+ if ('key' in input) {
27
+ const update = input;
28
+ if (typeof update.key !== 'string' ||
29
+ !update.key ||
30
+ (update.expectedRevision !== undefined &&
31
+ (!Number.isSafeInteger(update.expectedRevision) || update.expectedRevision < 0)))
32
+ throw invalid('INPUT');
33
+ try {
34
+ return { ...input, value: cloneCoreJson(update.value) };
35
+ }
36
+ catch {
37
+ throw invalid('INPUT');
38
+ }
39
+ }
40
+ return { ...input };
41
+ }
42
+ function copyOutput(value) {
43
+ try {
44
+ return cloneCoreJson(value);
45
+ }
46
+ catch {
47
+ throw invalid('OUTPUT');
48
+ }
49
+ }
50
+ function invalid(kind) {
51
+ return new AgentError(`MAR_AGENT_SETTINGS_${kind}_INVALID`, `Settings ${kind === 'INPUT' ? 'input' : 'result'} is invalid.`);
52
+ }
53
+ function object(value) {
54
+ return !!value && typeof value === 'object' && !Array.isArray(value);
55
+ }
56
+ export function bindCoreSettings(backend, run, hooks) {
57
+ const invoke = async (name, raw) => {
58
+ const input = copyInput(raw);
59
+ return run((call) => hooks.invoke(`settings.${name}`, input, call, async (candidate, effective) => {
60
+ const supplied = copyInput(candidate);
61
+ if (name === 'update' && (!('key' in supplied) || !('value' in supplied)))
62
+ throw invalid('INPUT');
63
+ if (typeof backend[name] !== 'function')
64
+ throw new AgentError('MAR_AGENT_HOST_PORT_UNAVAILABLE', 'Bound settings operation is unavailable.', { details: { operation: name } });
65
+ const handler = backend[name];
66
+ const output = copyOutput(await handler.call(backend, supplied, effective));
67
+ if (!object(output) ||
68
+ !Number.isSafeInteger(output['revision']) ||
69
+ output['revision'] < 0)
70
+ throw invalid('OUTPUT');
71
+ if (name === 'describe') {
72
+ const definitions = output['definitions'];
73
+ if (!Array.isArray(definitions) ||
74
+ definitions.some((item) => !object(item) ||
75
+ typeof item['key'] !== 'string' ||
76
+ !item['key'] ||
77
+ typeof item['source'] !== 'string' ||
78
+ typeof item['writable'] !== 'boolean' ||
79
+ (item['sensitive'] !== undefined && typeof item['sensitive'] !== 'boolean') ||
80
+ (item['label'] !== undefined && typeof item['label'] !== 'string') ||
81
+ (item['owner'] !== undefined && typeof item['owner'] !== 'string') ||
82
+ (typeof item['schema'] !== 'boolean' && !object(item['schema']))) ||
83
+ new Set(definitions.map((item) => item.key)).size !==
84
+ definitions.length)
85
+ throw invalid('OUTPUT');
86
+ }
87
+ else if (name === 'read') {
88
+ if (!object(output['values']))
89
+ throw invalid('OUTPUT');
90
+ }
91
+ else if (!['updated', 'unchanged', 'denied'].includes(String(output['status'])) ||
92
+ (output['status'] === 'denied'
93
+ ? !object(output['reason']) ||
94
+ typeof output['reason']['code'] !== 'string' ||
95
+ !output['reason']['code'] ||
96
+ typeof output['reason']['message'] !== 'string'
97
+ : !('value' in output)))
98
+ throw invalid('OUTPUT');
99
+ await hooks.emit('settings.completed', {
100
+ operation: name,
101
+ revision: output['revision'],
102
+ ...(supplied.scope === undefined ? {} : { scope: supplied.scope }),
103
+ ...(name === 'update'
104
+ ? { status: output['status'] }
105
+ : {})
106
+ }, effective);
107
+ return output;
108
+ }), input.signal);
109
+ };
110
+ return {
111
+ describe: (input = {}) => invoke('describe', input),
112
+ read: (input = {}) => invoke('read', input),
113
+ update: (input) => invoke('update', input)
114
+ };
115
+ }
@@ -0,0 +1,10 @@
1
+ import { type ExtensionStoreApi } from './data.js';
2
+ type StoreRun = <T>(operation: (signal: AbortSignal) => Promise<T>) => Promise<T>;
3
+ /** One application-bound installation namespace, independent from Session JSONL or Code Mode state. */
4
+ export declare class ExtensionStore {
5
+ #private;
6
+ readonly directory: string;
7
+ constructor(directory: string);
8
+ bind(run: StoreRun): ExtensionStoreApi;
9
+ }
10
+ export {};
@@ -0,0 +1,131 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { mkdir, open, readFile, rename, rm } from 'node:fs/promises';
3
+ import { isAbsolute, join } from 'node:path';
4
+ import { AgentError } from '../error.js';
5
+ import { acquireFileLock } from '../storage/file-lock.js';
6
+ import { cloneCoreJson } from './data.js';
7
+ /** One application-bound installation namespace, independent from Session JSONL or Code Mode state. */
8
+ export class ExtensionStore {
9
+ directory;
10
+ #path;
11
+ constructor(directory) {
12
+ this.directory = directory;
13
+ if (typeof directory !== 'string' || !isAbsolute(directory))
14
+ throw new AgentError('MAR_AGENT_EXTENSION_STORE_INVALID', 'Extension store requires an absolute data directory.');
15
+ this.#path = join(directory, 'core-store.json');
16
+ }
17
+ bind(run) {
18
+ const commit = (input) => run((signal) => this.#commit(input, signal));
19
+ return {
20
+ get: ({ key }) => run(async (signal) => {
21
+ validateKey(key);
22
+ const document = await this.#read(signal);
23
+ const value = Object.hasOwn(document.values, key) ? document.values[key] : undefined;
24
+ return {
25
+ revision: document.revision,
26
+ ...(value === undefined ? {} : { value: cloneCoreJson(value) })
27
+ };
28
+ }),
29
+ keys: () => run(async (signal) => {
30
+ const document = await this.#read(signal);
31
+ return { revision: document.revision, keys: Object.keys(document.values).sort() };
32
+ }),
33
+ set: async ({ key, value, expectedRevision }) => {
34
+ const copied = cloneCoreJson(value);
35
+ const result = await commit({
36
+ writes: [{ key, value: copied }],
37
+ ...(expectedRevision === undefined ? {} : { expectedRevision })
38
+ });
39
+ return { revision: result.revision, value: copied };
40
+ },
41
+ delete: ({ key, expectedRevision }) => commit({
42
+ writes: [{ key }],
43
+ ...(expectedRevision === undefined ? {} : { expectedRevision })
44
+ }),
45
+ commit
46
+ };
47
+ }
48
+ async #read(signal) {
49
+ signal.throwIfAborted();
50
+ let text;
51
+ try {
52
+ text = await readFile(this.#path, { encoding: 'utf8', signal });
53
+ }
54
+ catch (error) {
55
+ if (error.code === 'ENOENT')
56
+ return { revision: 0, values: {} };
57
+ throw error;
58
+ }
59
+ signal.throwIfAborted();
60
+ try {
61
+ const value = JSON.parse(text);
62
+ if (!value ||
63
+ !Number.isSafeInteger(value.revision) ||
64
+ value.revision < 0 ||
65
+ !value.values ||
66
+ typeof value.values !== 'object' ||
67
+ Array.isArray(value.values))
68
+ throw new Error();
69
+ const values = cloneCoreJson(value.values);
70
+ return { revision: value.revision, values };
71
+ }
72
+ catch {
73
+ throw new AgentError('MAR_AGENT_EXTENSION_STORE_CORRUPT', 'Extension store document is invalid.');
74
+ }
75
+ }
76
+ async #commit(input, signal) {
77
+ if (!input ||
78
+ !Array.isArray(input.writes) ||
79
+ (input.expectedRevision !== undefined &&
80
+ (!Number.isSafeInteger(input.expectedRevision) || input.expectedRevision < 0)))
81
+ throw new AgentError('MAR_AGENT_EXTENSION_STORE_INVALID', 'Store mutation or expected revision is invalid.');
82
+ const writes = input.writes.map((write) => {
83
+ if (!write || typeof write !== 'object')
84
+ throw new AgentError('MAR_AGENT_EXTENSION_STORE_INVALID', 'Store mutation is invalid.');
85
+ const { key, value } = write;
86
+ validateKey(key);
87
+ return { key, ...(value === undefined ? {} : { value: cloneCoreJson(value) }) };
88
+ });
89
+ signal.throwIfAborted();
90
+ await mkdir(this.directory, { recursive: true });
91
+ const release = await acquireFileLock(join(this.directory, 'core-store.lock'), 'Extension store is busy.', 5000, { signal, code: 'MAR_AGENT_EXTENSION_STORE_LOCKED' });
92
+ const temporary = join(this.directory, `.core-store-${randomUUID()}.tmp`);
93
+ try {
94
+ const document = await this.#read(signal);
95
+ if (input.expectedRevision !== undefined && document.revision !== input.expectedRevision)
96
+ throw new AgentError('MAR_AGENT_EXTENSION_STORE_CONFLICT', 'Store revision changed before commit.');
97
+ const values = Object.assign(Object.create(null), document.values);
98
+ for (const { key, value } of writes)
99
+ if (value === undefined)
100
+ delete values[key];
101
+ else
102
+ values[key] = value;
103
+ const revision = document.revision + 1;
104
+ if (!Number.isSafeInteger(revision))
105
+ throw new AgentError('MAR_AGENT_EXTENSION_STORE_INVALID', 'Store revision is exhausted.');
106
+ const handle = await open(temporary, 'wx', 0o600);
107
+ try {
108
+ await handle.writeFile(JSON.stringify({ revision, values }));
109
+ await handle.sync();
110
+ }
111
+ finally {
112
+ await handle.close();
113
+ }
114
+ signal.throwIfAborted();
115
+ await rename(temporary, this.#path);
116
+ return { revision };
117
+ }
118
+ finally {
119
+ try {
120
+ await rm(temporary, { force: true });
121
+ }
122
+ finally {
123
+ await release();
124
+ }
125
+ }
126
+ }
127
+ }
128
+ function validateKey(key) {
129
+ if (typeof key !== 'string')
130
+ throw new AgentError('MAR_AGENT_EXTENSION_STORE_INVALID', 'Store key must be a string.');
131
+ }
@@ -0,0 +1,16 @@
1
+ import type { ClientToolDefinition, McpToolCatalog, ToolCall, ToolExecutionResult } from '../tools/contracts.js';
2
+ import type { ExtensionOperationContext } from './operation.js';
3
+ /** Tool operations needed by the Extension ingress; SDK supplies the Tool implementation. */
4
+ export interface ExtensionToolRuntime {
5
+ currentPermissions(call: ExtensionOperationContext): {
6
+ readonly mode: string;
7
+ assertDispatch(): void;
8
+ prepare(input: ToolCall, call: ExtensionOperationContext, definition: ClientToolDefinition): ToolCall;
9
+ authorize(input: ToolCall, call: ExtensionOperationContext): Promise<ToolCall>;
10
+ } | undefined;
11
+ normalizeInput(input: unknown, schema: unknown): unknown;
12
+ validateResult(result: ToolExecutionResult): ToolExecutionResult;
13
+ independent<T>(run: () => T): T;
14
+ validateCallers(definition: ClientToolDefinition): void;
15
+ validateMcpCatalog(catalog: McpToolCatalog): void;
16
+ }
@@ -0,0 +1,80 @@
1
+ import type { ClientToolDefinition, McpCatalogTool, ToolCall, ToolExecutionResult } from '../tools/contracts.js';
2
+ import type { ExtensionCallbackRunner, ExtensionOperationContext } from './operation.js';
3
+ import { ExtensionResourceScope, type ExtensionResourceRegistration } from './resources.js';
4
+ export interface ExtensionToolSpec extends ClientToolDefinition {
5
+ readonly override?: 'replace' | 'wrap';
6
+ /** Optional native validator/parser for schema features outside the built-in converter. */
7
+ readonly parseInput?: (input: unknown) => unknown | Promise<unknown>;
8
+ readonly validateOutput?: (data: unknown) => void | Promise<void>;
9
+ execute(input: unknown, call: ExtensionOperationContext, next: (input: unknown) => Promise<ToolExecutionResult>): ToolExecutionResult | Promise<ToolExecutionResult>;
10
+ }
11
+ export interface ExtensionToolRef {
12
+ readonly mcp?: McpCatalogTool;
13
+ readonly definition: ClientToolDefinition;
14
+ readonly source: Readonly<{
15
+ id: string;
16
+ revision: string;
17
+ kind: 'builtin' | 'host' | 'mcp' | 'extension';
18
+ instanceId?: string;
19
+ }>;
20
+ }
21
+ export interface ExtensionToolInvocation extends ToolCall {
22
+ readonly ref?: ExtensionToolRef;
23
+ }
24
+ export interface ExtensionToolCheck {
25
+ readonly available: boolean;
26
+ readonly code?: string;
27
+ readonly source?: ExtensionToolRef['source'];
28
+ }
29
+ export interface ExtensionToolAttempt {
30
+ readonly attemptId: string;
31
+ readonly parentAttemptId?: string;
32
+ readonly name: string;
33
+ readonly callId?: string;
34
+ readonly stage: 'leaf' | 'wrapper' | 'result';
35
+ readonly source?: ExtensionToolRef['source'];
36
+ }
37
+ export interface ExtensionToolCompletion extends ExtensionToolAttempt {
38
+ readonly result: ToolExecutionResult;
39
+ }
40
+ export interface ExtensionToolFailure extends ExtensionToolAttempt {
41
+ readonly status: 'failed' | 'cancelled';
42
+ readonly errorCode: string;
43
+ }
44
+ export interface ExtensionToolBinding extends ExtensionToolRef {
45
+ readonly mcp?: McpCatalogTool;
46
+ registered?(): boolean;
47
+ available?(context: ExtensionOperationContext): boolean;
48
+ invoke(call: ToolCall, context: ExtensionOperationContext): Promise<ToolExecutionResult>;
49
+ }
50
+ export interface ExtensionToolsApi {
51
+ register(spec: ExtensionToolSpec): ExtensionResourceRegistration;
52
+ catalog(): readonly ExtensionToolRef[];
53
+ check(call: ExtensionToolInvocation): Promise<ExtensionToolCheck>;
54
+ invoke(call: ExtensionToolInvocation): Promise<ToolExecutionResult>;
55
+ }
56
+ /** Builds one immutable catalog from real sources; snapshots keep their captured handlers. */
57
+ export declare class ExtensionTools {
58
+ #private;
59
+ readonly trace: (binding: ExtensionToolBinding, stage: 'leaf' | 'wrapper') => ExtensionToolBinding;
60
+ readonly callback: ExtensionCallbackRunner;
61
+ readonly validateCallers: (definition: ClientToolDefinition) => void;
62
+ constructor(trace: ((binding: ExtensionToolBinding, stage: "leaf" | "wrapper") => ExtensionToolBinding) | undefined, callback: ExtensionCallbackRunner | undefined, validateCallers: (definition: ClientToolDefinition) => void);
63
+ get revision(): number;
64
+ /** Internal bridge for a real owner-bound backend, not an author-supplied handler authority. */
65
+ contributeSource(owner: ExtensionResourceScope, source: ExtensionToolBinding): ExtensionResourceRegistration;
66
+ register(owner: ExtensionResourceScope, id: string, spec: ExtensionToolSpec): ExtensionResourceRegistration;
67
+ capture(base?: readonly ExtensionToolBinding[], includeStaged?: boolean): ReadonlyMap<string, ExtensionToolBinding>;
68
+ }
69
+ export interface DomainToolOperations {
70
+ 'tool.invoke': {
71
+ input: ToolCall;
72
+ output: ToolExecutionResult;
73
+ };
74
+ }
75
+ export interface DomainToolFacts {
76
+ 'tool.completed': ExtensionToolCompletion;
77
+ 'tool.failed': ExtensionToolFailure;
78
+ 'tool.attempt.completed': ExtensionToolCompletion;
79
+ 'tool.attempt.failed': ExtensionToolFailure;
80
+ }
@@ -0,0 +1,270 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { AgentError } from '../error.js';
3
+ import { fromJSONSchema } from 'zod';
4
+ import { ExtensionResourceScope } from './resources.js';
5
+ /** Builds one immutable catalog from real sources; snapshots keep their captured handlers. */
6
+ export class ExtensionTools {
7
+ trace;
8
+ callback;
9
+ validateCallers;
10
+ #entries = [];
11
+ #sources = [];
12
+ #revision = 0;
13
+ constructor(trace = (binding) => binding, callback = async (call, run) => run(call), validateCallers) {
14
+ this.trace = trace;
15
+ this.callback = callback;
16
+ this.validateCallers = validateCallers;
17
+ }
18
+ get revision() {
19
+ return this.#revision;
20
+ }
21
+ /** Internal bridge for a real owner-bound backend, not an author-supplied handler authority. */
22
+ contributeSource(owner, source) {
23
+ const entry = {
24
+ owner,
25
+ binding: Object.freeze({
26
+ ...source,
27
+ definition: deepFreeze(copyDefinition(source.definition)),
28
+ source: Object.freeze({ ...source.source }),
29
+ ...(source.mcp === undefined ? {} : { mcp: deepFreeze(structuredClone(source.mcp)) })
30
+ })
31
+ };
32
+ const registration = owner.effect(() => () => {
33
+ const index = this.#sources.indexOf(entry);
34
+ if (index !== -1) {
35
+ this.#sources.splice(index, 1);
36
+ this.#revision++;
37
+ }
38
+ });
39
+ this.#sources.push(entry);
40
+ this.#revision++;
41
+ return registration;
42
+ }
43
+ register(owner, id, spec) {
44
+ if (typeof spec.name !== 'string' ||
45
+ !spec.name.trim() ||
46
+ typeof spec.description !== 'string' ||
47
+ typeof spec.execute !== 'function' ||
48
+ !spec.inputSchema ||
49
+ typeof spec.inputSchema !== 'object' ||
50
+ Array.isArray(spec.inputSchema) ||
51
+ (spec.override !== undefined && spec.override !== 'replace' && spec.override !== 'wrap'))
52
+ throw new AgentError('MAR_AGENT_EXTENSION_TOOL_INVALID', 'Extension tool definition or handler is invalid.');
53
+ const definition = copyDefinition(spec);
54
+ const parse = spec.parseInput ?? schemaValidator(spec.inputSchema, 'MAR_AGENT_TOOL_INPUT_INVALID');
55
+ const validateOutput = spec.validateOutput ??
56
+ (spec.outputSchema
57
+ ? schemaValidator(spec.outputSchema, 'MAR_AGENT_TOOL_OUTPUT_INVALID')
58
+ : undefined);
59
+ this.validateCallers({
60
+ ...definition,
61
+ allowedCallers: spec.allowedCallers ?? ['direct', 'programmatic']
62
+ });
63
+ const entry = {
64
+ owner,
65
+ id,
66
+ revision: randomUUID(),
67
+ parse,
68
+ ...(validateOutput ? { validateOutput } : {}),
69
+ spec: Object.freeze({
70
+ ...definition,
71
+ ...(spec.override ? { override: spec.override } : {}),
72
+ execute: spec.execute
73
+ })
74
+ };
75
+ const registration = owner.effect(() => () => {
76
+ const index = this.#entries.indexOf(entry);
77
+ if (index !== -1) {
78
+ this.#entries.splice(index, 1);
79
+ this.#revision++;
80
+ }
81
+ });
82
+ this.#entries.push(entry);
83
+ this.#revision++;
84
+ return registration;
85
+ }
86
+ capture(base = [], includeStaged = false) {
87
+ const bindings = new Map();
88
+ const sources = this.#sources
89
+ .filter(({ owner }) => owner.state === 'ACTIVE' || (includeStaged && owner.state === 'STAGED'))
90
+ .filter(({ binding }) => binding.registered?.() !== false)
91
+ .map(({ binding }) => binding);
92
+ for (const original of [...base, ...sources]) {
93
+ const binding = Object.freeze({
94
+ ...original,
95
+ definition: deepFreeze(copyDefinition(original.definition)),
96
+ source: Object.freeze({ ...original.source }),
97
+ ...(original.mcp === undefined ? {} : { mcp: deepFreeze(structuredClone(original.mcp)) })
98
+ });
99
+ if (bindings.has(binding.definition.name))
100
+ throw new AgentError('MAR_AGENT_EXTENSION_TOOL_CONFLICT', 'Tool sources conflict.');
101
+ bindings.set(binding.definition.name, this.trace(binding, 'leaf'));
102
+ }
103
+ for (const entry of this.#entries) {
104
+ if (entry.owner.state !== 'ACTIVE' && !(includeStaged && entry.owner.state === 'STAGED'))
105
+ continue;
106
+ if (this.#entries
107
+ .slice(this.#entries.indexOf(entry) + 1)
108
+ .some((later) => later.owner === entry.owner && later.spec.name === entry.spec.name))
109
+ continue;
110
+ const lower = bindings.get(entry.spec.name);
111
+ if (lower && !entry.spec.override)
112
+ throw new AgentError('MAR_AGENT_EXTENSION_TOOL_CONFLICT', 'Tool replacement must be explicit.');
113
+ if (!lower && entry.spec.override === 'wrap') {
114
+ if (entry.owner.state === 'ACTIVE')
115
+ continue;
116
+ throw new AgentError('MAR_AGENT_EXTENSION_DEPENDENCY_MISSING', 'Tool wrapper has no lower implementation.');
117
+ }
118
+ const definition = copyDefinition(entry.spec);
119
+ definition.allowedCallers ??= lower
120
+ ? (lower.definition.allowedCallers ??
121
+ (lower.source.kind === 'mcp' ? ['direct', 'programmatic'] : ['direct']))
122
+ : ['direct', 'programmatic'];
123
+ if (entry.spec.override === 'wrap' && lower?.definition.agentScope !== undefined)
124
+ definition.agentScope ??= lower.definition.agentScope;
125
+ if (entry.spec.override === 'wrap' && lower?.definition.codeModeExposure !== undefined)
126
+ definition.codeModeExposure ??= lower.definition.codeModeExposure;
127
+ const binding = Object.freeze({
128
+ definition: deepFreeze(definition),
129
+ ...(entry.spec.override === 'wrap' && lower?.mcp ? { mcp: lower.mcp } : {}),
130
+ source: Object.freeze({
131
+ kind: 'extension',
132
+ id: entry.id,
133
+ revision: entry.revision,
134
+ instanceId: entry.owner.instanceId
135
+ }),
136
+ available: () => entry.owner.state === 'ACTIVE' ||
137
+ (entry.owner.state === 'STAGED' && ExtensionResourceScope.initializing),
138
+ invoke: async (call, context) => entry.owner.run((signal) => this.callback(Object.freeze({ ...context, signal, ownerInstanceId: entry.owner.instanceId }), async (context) => {
139
+ const signal = context.signal;
140
+ const input = await entry.parse(call.arguments);
141
+ signal.throwIfAborted();
142
+ const controller = new AbortController();
143
+ const effective = AbortSignal.any([signal, controller.signal]);
144
+ const pending = new Set();
145
+ let open = true;
146
+ let output;
147
+ try {
148
+ output = await entry.spec.execute(input, Object.freeze({
149
+ ...context,
150
+ signal: effective,
151
+ ownerInstanceId: entry.owner.instanceId
152
+ }), (input) => {
153
+ const result = Promise.resolve().then(() => {
154
+ effective.throwIfAborted();
155
+ if (!open)
156
+ throw new AgentError('MAR_AGENT_TOOL_NOT_AVAILABLE', 'Tool continuation has finished.');
157
+ if (!lower || entry.spec.override !== 'wrap')
158
+ throw new AgentError('MAR_AGENT_EXTENSION_DEPENDENCY_MISSING', 'Tool has no wrapper continuation.');
159
+ return lower.invoke({ ...call, arguments: input }, Object.freeze({ ...context, signal: effective }));
160
+ });
161
+ const settled = result.then(() => undefined, () => undefined);
162
+ pending.add(settled);
163
+ void settled.then(() => pending.delete(settled));
164
+ return result;
165
+ });
166
+ }
167
+ catch (error) {
168
+ controller.abort();
169
+ throw error;
170
+ }
171
+ finally {
172
+ while (pending.size)
173
+ await Promise.all([...pending]);
174
+ open = false;
175
+ }
176
+ if (!output || typeof output.content !== 'string')
177
+ throw new AgentError('MAR_AGENT_TOOL_OUTPUT_INVALID', 'Tool result must contain string content.');
178
+ await entry.validateOutput?.(output.data);
179
+ return output;
180
+ }), context.signal)
181
+ });
182
+ bindings.set(definition.name, this.trace(binding, entry.spec.override === 'wrap' ? 'wrapper' : 'leaf'));
183
+ }
184
+ const view = Object.freeze({
185
+ get size() {
186
+ return bindings.size;
187
+ },
188
+ get: (name) => bindings.get(name),
189
+ has: (name) => bindings.has(name),
190
+ entries: () => bindings.entries(),
191
+ keys: () => bindings.keys(),
192
+ values: () => bindings.values(),
193
+ [Symbol.iterator]: () => bindings[Symbol.iterator](),
194
+ forEach: (callback, thisArg) => {
195
+ for (const [key, value] of bindings)
196
+ callback.call(thisArg, value, key, view);
197
+ }
198
+ });
199
+ return view;
200
+ }
201
+ }
202
+ function schemaValidator(schema, code) {
203
+ let validator;
204
+ try {
205
+ validator = fromJSONSchema(withoutDefaults(schema));
206
+ }
207
+ catch {
208
+ throw new AgentError('MAR_AGENT_EXTENSION_TOOL_SCHEMA_UNSUPPORTED', 'Schema requires an explicit native parser.');
209
+ }
210
+ return (input) => {
211
+ if (!validator.safeParse(input).success)
212
+ throw new AgentError(code, 'Tool value does not match its declared schema.');
213
+ return input;
214
+ };
215
+ }
216
+ /** JSON Schema defaults are annotations, not permission to insert missing input values. */
217
+ function withoutDefaults(schema) {
218
+ if (typeof schema === 'boolean')
219
+ return schema;
220
+ const copied = structuredClone(schema);
221
+ delete copied.default;
222
+ for (const key of ['properties', 'patternProperties', '$defs', 'definitions']) {
223
+ const children = copied[key];
224
+ if (children && typeof children === 'object')
225
+ for (const [name, child] of Object.entries(children)) {
226
+ if (child && typeof child === 'object' && !Array.isArray(child))
227
+ children[name] = withoutDefaults(child);
228
+ }
229
+ }
230
+ for (const key of ['anyOf', 'allOf', 'oneOf', 'prefixItems', 'items']) {
231
+ const children = copied[key];
232
+ if (Array.isArray(children))
233
+ copied[key] = children.map((child) => withoutDefaults(child));
234
+ }
235
+ for (const key of [
236
+ 'items',
237
+ 'additionalItems',
238
+ 'additionalProperties',
239
+ 'contains',
240
+ 'not',
241
+ 'propertyNames'
242
+ ]) {
243
+ const child = copied[key];
244
+ if (child && typeof child === 'object' && !Array.isArray(child))
245
+ copied[key] = withoutDefaults(child);
246
+ }
247
+ return copied;
248
+ }
249
+ function deepFreeze(value) {
250
+ if (value && typeof value === 'object' && !Object.isFrozen(value)) {
251
+ for (const child of Object.values(value))
252
+ deepFreeze(child);
253
+ Object.freeze(value);
254
+ }
255
+ return value;
256
+ }
257
+ function copyDefinition(spec) {
258
+ return {
259
+ name: spec.name,
260
+ description: spec.description,
261
+ inputSchema: structuredClone(spec.inputSchema),
262
+ ...(spec.nativeType ? { nativeType: spec.nativeType } : {}),
263
+ ...(spec.outputSchema ? { outputSchema: structuredClone(spec.outputSchema) } : {}),
264
+ ...(spec.allowedCallers ? { allowedCallers: [...spec.allowedCallers] } : {}),
265
+ ...(spec.codeModeExposure !== undefined ? { codeModeExposure: spec.codeModeExposure } : {}),
266
+ ...(spec.inputMode ? { inputMode: spec.inputMode } : {}),
267
+ ...(spec.parallelSafety ? { parallelSafety: spec.parallelSafety } : {}),
268
+ ...(spec.agentScope ? { agentScope: spec.agentScope } : {})
269
+ };
270
+ }
@@ -0,0 +1,22 @@
1
+ export type { ExtensionAgentCompletion, ExtensionAgentHandledResult, ExtensionAgentManySnapshot, ExtensionAgentMessageInput, ExtensionAgentsApi, ExtensionAgentsBackend, ExtensionAgentSnapshot, ExtensionAgentSpawnInput, ExtensionAgentSpawnResult, ExtensionAgentTarget, ExtensionAgentWaitInput, ExtensionAgentWaitResult } from './extensions/agents.js';
2
+ export type { ExtensionCompactContext, ExtensionCompactDiagnostic, ExtensionCompactMessage, ExtensionCompactResult } from './extensions/compaction.js';
3
+ export type { AgentExtension, AgentExtensionContext, ExtensionCapabilitySnapshot, ExtensionCommandSpec, ExtensionDiagnostic, ExtensionDomainFacts, ExtensionDomainOperations, ExtensionHookRegistrar, ExtensionPromptSection, ExtensionServiceDeclaration, ExtensionServiceDependency, ExtensionSnapshot, ExtensionSource, SessionExtensionContext } from './extensions/contracts.js';
4
+ export type { ExtensionCheckpoint, ExtensionCheckpointApi, ExtensionDataApi, ExtensionJsonValue, ExtensionStateApi, ExtensionStateChange, ExtensionStoreApi, ExtensionStoreCommit } from './extensions/data.js';
5
+ export type { ExtensionEnvironmentApi, ExtensionEnvironmentBackend, ExtensionEnvironmentChange, ExtensionEnvironmentCompletion, ExtensionEnvironmentKey, ExtensionEnvironmentSet } from './extensions/environment.js';
6
+ export type { ExtensionFileCompletion, ExtensionFileEntry, ExtensionFileInfo, ExtensionFilePath, ExtensionFileRemove, ExtensionFilesApi, ExtensionFilesBackend, ExtensionFileTransfer, ExtensionFileType, ExtensionFileWrite } from './extensions/files.js';
7
+ export type { ExtensionHookOptions, ExtensionInterceptor } from './extensions/hooks.js';
8
+ export type { ExtensionMcpApi, ExtensionMcpBackend, ExtensionMcpCallInput, ExtensionMcpCatalog, ExtensionMcpCompletion, ExtensionMcpConnectInput, ExtensionMcpConnectionBackend, ExtensionMcpConnectionInput, ExtensionMcpConnectionRef, ExtensionMcpServerDefinition, ExtensionMcpServerRef, ExtensionMcpServerRegistration, ExtensionMcpToolCall } from './extensions/mcp.js';
9
+ export type { ExtensionModelMessage, ExtensionModelRequest, ExtensionRequestSnapshot } from './extensions/model-request.js';
10
+ export type { ExtensionModelEvent } from './extensions/model-stream.js';
11
+ export type { ExtensionGenerateInput, ExtensionGenerateResult, ExtensionModelDescription, ExtensionModelsApi, ExtensionModelTextBlock } from './extensions/models.js';
12
+ export type { ExtensionHttpCompletion, ExtensionHttpRequest, ExtensionHttpResponse, ExtensionNetworkApi, ExtensionNetworkBackend } from './extensions/network.js';
13
+ export type { ExtensionOperationContext } from './extensions/operation.js';
14
+ export type { ExtensionProcessCompletion, ExtensionProcessesApi, ExtensionProcessesBackend, ExtensionProcessExit, ExtensionProcessHandle, ExtensionProcessInput, ExtensionProcessResult, ExtensionProcessRunInput } from './extensions/processes.js';
15
+ export type { ExtensionPromptComposition, ExtensionPromptFacts, ExtensionPromptSectionInput } from './extensions/prompt-composition.js';
16
+ export type { ExtensionPromptInput, ExtensionPromptResult } from './extensions/prompt-input.js';
17
+ export type { ExtensionDisposer, ExtensionResourceRegistration, ExtensionResourceScope } from './extensions/resources.js';
18
+ export type { ExtensionServiceKey, ExtensionServiceRegistry } from './extensions/services.js';
19
+ export type { ExtensionAppendInput, ExtensionCompactInput, ExtensionInputSource, ExtensionSessionActionResult, ExtensionSessionApi, ExtensionSessionDescription, ExtensionSessionInspection, ExtensionSessionMessage, ExtensionSessionMessages, ExtensionSessionMessagesInput, ExtensionSessionOperationStatus, ExtensionSessionReceipt, ExtensionSubmitInput } from './extensions/session-input.js';
20
+ export type { ExtensionSettingDefinition, ExtensionSettingsApi, ExtensionSettingsBackend, ExtensionSettingsCompletion, ExtensionSettingsDescription, ExtensionSettingsReadInput, ExtensionSettingsResult, ExtensionSettingsSnapshot, ExtensionSettingsUpdate } from './extensions/settings.js';
21
+ export type { ExtensionToolAttempt, ExtensionToolCheck, ExtensionToolCompletion, ExtensionToolFailure, ExtensionToolInvocation, ExtensionToolRef, ExtensionToolSpec } from './extensions/tools.js';
22
+ export type { PromptPart } from './prompts/prompt-sections.js';