@namzu/sdk 35.0.0 → 37.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/CHANGELOG.md +218 -0
  2. package/README.md +68 -41
  3. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  4. package/dist/bridge/a2a/mapper.js +2 -0
  5. package/dist/bridge/a2a/mapper.js.map +1 -1
  6. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  7. package/dist/bridge/sse/mapper.js +2 -0
  8. package/dist/bridge/sse/mapper.js.map +1 -1
  9. package/dist/compaction/extractor.d.ts +1 -1
  10. package/dist/compaction/extractor.d.ts.map +1 -1
  11. package/dist/compaction/extractor.js +15 -7
  12. package/dist/compaction/extractor.js.map +1 -1
  13. package/dist/compaction/manager.d.ts +2 -0
  14. package/dist/compaction/manager.d.ts.map +1 -1
  15. package/dist/compaction/manager.js +12 -1
  16. package/dist/compaction/manager.js.map +1 -1
  17. package/dist/compaction/verifier.d.ts.map +1 -1
  18. package/dist/compaction/verifier.js +82 -15
  19. package/dist/compaction/verifier.js.map +1 -1
  20. package/dist/contracts/schemas.d.ts +10 -10
  21. package/dist/eval/harness-verification.d.ts +63 -0
  22. package/dist/eval/harness-verification.d.ts.map +1 -0
  23. package/dist/eval/harness-verification.js +165 -0
  24. package/dist/eval/harness-verification.js.map +1 -0
  25. package/dist/eval/index.d.ts +2 -0
  26. package/dist/eval/index.d.ts.map +1 -1
  27. package/dist/eval/index.js +1 -0
  28. package/dist/eval/index.js.map +1 -1
  29. package/dist/execution/code-runtime/json-value.d.ts +10 -0
  30. package/dist/execution/code-runtime/json-value.d.ts.map +1 -0
  31. package/dist/execution/code-runtime/json-value.js +89 -0
  32. package/dist/execution/code-runtime/json-value.js.map +1 -0
  33. package/dist/execution/code-runtime/worker-program.d.ts +8 -0
  34. package/dist/execution/code-runtime/worker-program.d.ts.map +1 -0
  35. package/dist/execution/code-runtime/worker-program.js +240 -0
  36. package/dist/execution/code-runtime/worker-program.js.map +1 -0
  37. package/dist/execution/code-runtime/worker.d.ts +22 -0
  38. package/dist/execution/code-runtime/worker.d.ts.map +1 -1
  39. package/dist/execution/code-runtime/worker.js +148 -111
  40. package/dist/execution/code-runtime/worker.js.map +1 -1
  41. package/dist/manager/agent/lifecycle.d.ts +12 -0
  42. package/dist/manager/agent/lifecycle.d.ts.map +1 -1
  43. package/dist/manager/agent/lifecycle.js +306 -37
  44. package/dist/manager/agent/lifecycle.js.map +1 -1
  45. package/dist/manager/run/persistence.d.ts +2 -0
  46. package/dist/manager/run/persistence.d.ts.map +1 -1
  47. package/dist/manager/run/persistence.js +6 -0
  48. package/dist/manager/run/persistence.js.map +1 -1
  49. package/dist/provider/capabilities.d.ts +3 -1
  50. package/dist/provider/capabilities.d.ts.map +1 -1
  51. package/dist/provider/capabilities.js +13 -0
  52. package/dist/provider/capabilities.js.map +1 -1
  53. package/dist/provider/fallback.d.ts.map +1 -1
  54. package/dist/provider/fallback.js +2 -0
  55. package/dist/provider/fallback.js.map +1 -1
  56. package/dist/provider/token-budget.d.ts.map +1 -1
  57. package/dist/provider/token-budget.js +56 -8
  58. package/dist/provider/token-budget.js.map +1 -1
  59. package/dist/public-runtime.d.ts +5 -3
  60. package/dist/public-runtime.d.ts.map +1 -1
  61. package/dist/public-runtime.js +3 -2
  62. package/dist/public-runtime.js.map +1 -1
  63. package/dist/public-tools.d.ts +1 -1
  64. package/dist/public-tools.d.ts.map +1 -1
  65. package/dist/public-tools.js +1 -1
  66. package/dist/public-tools.js.map +1 -1
  67. package/dist/public-types.d.ts +1 -0
  68. package/dist/public-types.d.ts.map +1 -1
  69. package/dist/registry/tool/execute.d.ts +3 -0
  70. package/dist/registry/tool/execute.d.ts.map +1 -1
  71. package/dist/registry/tool/execute.js +11 -80
  72. package/dist/registry/tool/execute.js.map +1 -1
  73. package/dist/run/command-gate.d.ts.map +1 -1
  74. package/dist/run/command-gate.js +65 -12
  75. package/dist/run/command-gate.js.map +1 -1
  76. package/dist/run/index.d.ts +2 -0
  77. package/dist/run/index.d.ts.map +1 -1
  78. package/dist/run/index.js +1 -0
  79. package/dist/run/index.js.map +1 -1
  80. package/dist/run/memory-promoter.d.ts +3 -35
  81. package/dist/run/memory-promoter.d.ts.map +1 -1
  82. package/dist/run/memory-promoter.js +32 -40
  83. package/dist/run/memory-promoter.js.map +1 -1
  84. package/dist/run/memory-recall.d.ts +25 -0
  85. package/dist/run/memory-recall.d.ts.map +1 -0
  86. package/dist/run/memory-recall.js +228 -0
  87. package/dist/run/memory-recall.js.map +1 -0
  88. package/dist/run/reporter.d.ts.map +1 -1
  89. package/dist/run/reporter.js +1 -0
  90. package/dist/run/reporter.js.map +1 -1
  91. package/dist/run/token-budget.d.ts +2 -0
  92. package/dist/run/token-budget.d.ts.map +1 -1
  93. package/dist/run/token-budget.js +4 -0
  94. package/dist/run/token-budget.js.map +1 -1
  95. package/dist/run/workspace-fingerprint.d.ts +10 -3
  96. package/dist/run/workspace-fingerprint.d.ts.map +1 -1
  97. package/dist/run/workspace-fingerprint.js +17 -8
  98. package/dist/run/workspace-fingerprint.js.map +1 -1
  99. package/dist/runtime/query/checkpoint.d.ts +14 -0
  100. package/dist/runtime/query/checkpoint.d.ts.map +1 -1
  101. package/dist/runtime/query/checkpoint.js +82 -1
  102. package/dist/runtime/query/checkpoint.js.map +1 -1
  103. package/dist/runtime/query/executor.d.ts +6 -0
  104. package/dist/runtime/query/executor.d.ts.map +1 -1
  105. package/dist/runtime/query/executor.js +120 -24
  106. package/dist/runtime/query/executor.js.map +1 -1
  107. package/dist/runtime/query/index.d.ts +12 -8
  108. package/dist/runtime/query/index.d.ts.map +1 -1
  109. package/dist/runtime/query/index.js +55 -7
  110. package/dist/runtime/query/index.js.map +1 -1
  111. package/dist/runtime/query/iteration/index.d.ts +13 -3
  112. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  113. package/dist/runtime/query/iteration/index.js +356 -42
  114. package/dist/runtime/query/iteration/index.js.map +1 -1
  115. package/dist/runtime/query/iteration/native-output.d.ts +10 -0
  116. package/dist/runtime/query/iteration/native-output.d.ts.map +1 -0
  117. package/dist/runtime/query/iteration/native-output.js +32 -0
  118. package/dist/runtime/query/iteration/native-output.js.map +1 -0
  119. package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
  120. package/dist/runtime/query/iteration/phases/advisory.js +18 -13
  121. package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
  122. package/dist/runtime/query/iteration/phases/compaction.d.ts +2 -0
  123. package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
  124. package/dist/runtime/query/iteration/phases/compaction.js +32 -11
  125. package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
  126. package/dist/runtime/query/iteration/phases/context.d.ts +11 -0
  127. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  128. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  129. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  130. package/dist/runtime/query/iteration/phases/tool-review.js +1 -1
  131. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  132. package/dist/runtime/query/iteration/phases/working-memory.d.ts +1 -1
  133. package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -1
  134. package/dist/runtime/query/iteration/phases/working-memory.js +23 -6
  135. package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -1
  136. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  137. package/dist/runtime/query/iteration/stream-turn.js +12 -5
  138. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  139. package/dist/runtime/query/prompt.d.ts.map +1 -1
  140. package/dist/runtime/query/prompt.js +14 -4
  141. package/dist/runtime/query/prompt.js.map +1 -1
  142. package/dist/runtime/query/steering.d.ts +6 -2
  143. package/dist/runtime/query/steering.d.ts.map +1 -1
  144. package/dist/runtime/query/steering.js +17 -2
  145. package/dist/runtime/query/steering.js.map +1 -1
  146. package/dist/runtime/query/tool-call-budget.d.ts +19 -0
  147. package/dist/runtime/query/tool-call-budget.d.ts.map +1 -0
  148. package/dist/runtime/query/tool-call-budget.js +110 -0
  149. package/dist/runtime/query/tool-call-budget.js.map +1 -0
  150. package/dist/runtime/query/tooling.d.ts +2 -0
  151. package/dist/runtime/query/tooling.d.ts.map +1 -1
  152. package/dist/runtime/query/tooling.js +4 -0
  153. package/dist/runtime/query/tooling.js.map +1 -1
  154. package/dist/sandbox/file-walk-program.d.ts +3 -0
  155. package/dist/sandbox/file-walk-program.d.ts.map +1 -0
  156. package/dist/sandbox/file-walk-program.js +94 -0
  157. package/dist/sandbox/file-walk-program.js.map +1 -0
  158. package/dist/sandbox/file-walk.d.ts +12 -0
  159. package/dist/sandbox/file-walk.d.ts.map +1 -0
  160. package/dist/sandbox/file-walk.js +429 -0
  161. package/dist/sandbox/file-walk.js.map +1 -0
  162. package/dist/sandbox/index.d.ts +2 -0
  163. package/dist/sandbox/index.d.ts.map +1 -1
  164. package/dist/sandbox/index.js +1 -0
  165. package/dist/sandbox/index.js.map +1 -1
  166. package/dist/sandbox/provider/local.d.ts.map +1 -1
  167. package/dist/sandbox/provider/local.js +9 -0
  168. package/dist/sandbox/provider/local.js.map +1 -1
  169. package/dist/scheduler/completion-inbox.d.ts +3 -2
  170. package/dist/scheduler/completion-inbox.d.ts.map +1 -1
  171. package/dist/scheduler/completion-inbox.js +29 -15
  172. package/dist/scheduler/completion-inbox.js.map +1 -1
  173. package/dist/scheduler/local.d.ts.map +1 -1
  174. package/dist/scheduler/local.js +1 -0
  175. package/dist/scheduler/local.js.map +1 -1
  176. package/dist/session/handoff/capacity.d.ts +2 -2
  177. package/dist/session/handoff/capacity.d.ts.map +1 -1
  178. package/dist/session/handoff/capacity.js +3 -2
  179. package/dist/session/handoff/capacity.js.map +1 -1
  180. package/dist/store/memory/disk.d.ts +6 -2
  181. package/dist/store/memory/disk.d.ts.map +1 -1
  182. package/dist/store/memory/disk.js +42 -25
  183. package/dist/store/memory/disk.js.map +1 -1
  184. package/dist/store/memory/index.d.ts +4 -0
  185. package/dist/store/memory/index.d.ts.map +1 -1
  186. package/dist/store/memory/index.js +55 -19
  187. package/dist/store/memory/index.js.map +1 -1
  188. package/dist/store/memory/memory.d.ts +3 -2
  189. package/dist/store/memory/memory.d.ts.map +1 -1
  190. package/dist/store/memory/memory.js +11 -2
  191. package/dist/store/memory/memory.js.map +1 -1
  192. package/dist/store/memory/operation-lock.d.ts +11 -0
  193. package/dist/store/memory/operation-lock.d.ts.map +1 -0
  194. package/dist/store/memory/operation-lock.js +94 -0
  195. package/dist/store/memory/operation-lock.js.map +1 -0
  196. package/dist/tools/builtins/bash.d.ts.map +1 -1
  197. package/dist/tools/builtins/bash.js +215 -59
  198. package/dist/tools/builtins/bash.js.map +1 -1
  199. package/dist/tools/builtins/computer-use.d.ts.map +1 -1
  200. package/dist/tools/builtins/computer-use.js +60 -10
  201. package/dist/tools/builtins/computer-use.js.map +1 -1
  202. package/dist/tools/builtins/glob.d.ts +2 -1
  203. package/dist/tools/builtins/glob.d.ts.map +1 -1
  204. package/dist/tools/builtins/glob.js +95 -103
  205. package/dist/tools/builtins/glob.js.map +1 -1
  206. package/dist/tools/builtins/grep.d.ts.map +1 -1
  207. package/dist/tools/builtins/grep.js +155 -111
  208. package/dist/tools/builtins/grep.js.map +1 -1
  209. package/dist/tools/builtins/ls.js +2 -2
  210. package/dist/tools/builtins/ls.js.map +1 -1
  211. package/dist/tools/builtins/run-code.d.ts +6 -0
  212. package/dist/tools/builtins/run-code.d.ts.map +1 -1
  213. package/dist/tools/builtins/run-code.js +15 -4
  214. package/dist/tools/builtins/run-code.js.map +1 -1
  215. package/dist/tools/builtins/search-tools.d.ts.map +1 -1
  216. package/dist/tools/builtins/search-tools.js +14 -2
  217. package/dist/tools/builtins/search-tools.js.map +1 -1
  218. package/dist/tools/defineTool.d.ts +2 -0
  219. package/dist/tools/defineTool.d.ts.map +1 -1
  220. package/dist/tools/defineTool.js +3 -0
  221. package/dist/tools/defineTool.js.map +1 -1
  222. package/dist/tools/memory/delete.d.ts +4 -0
  223. package/dist/tools/memory/delete.d.ts.map +1 -0
  224. package/dist/tools/memory/delete.js +26 -0
  225. package/dist/tools/memory/delete.js.map +1 -0
  226. package/dist/tools/memory/index.d.ts +2 -0
  227. package/dist/tools/memory/index.d.ts.map +1 -1
  228. package/dist/tools/memory/index.js +6 -0
  229. package/dist/tools/memory/index.js.map +1 -1
  230. package/dist/tools/memory/save.d.ts.map +1 -1
  231. package/dist/tools/memory/save.js +3 -2
  232. package/dist/tools/memory/save.js.map +1 -1
  233. package/dist/tools/memory/search.d.ts.map +1 -1
  234. package/dist/tools/memory/search.js +12 -5
  235. package/dist/tools/memory/search.js.map +1 -1
  236. package/dist/tools/memory/update.d.ts +4 -0
  237. package/dist/tools/memory/update.d.ts.map +1 -0
  238. package/dist/tools/memory/update.js +47 -0
  239. package/dist/tools/memory/update.js.map +1 -0
  240. package/dist/types/agent/scheduler.d.ts +5 -0
  241. package/dist/types/agent/scheduler.d.ts.map +1 -1
  242. package/dist/types/agent/task.d.ts +10 -0
  243. package/dist/types/agent/task.d.ts.map +1 -1
  244. package/dist/types/computer-use/index.d.ts +6 -0
  245. package/dist/types/computer-use/index.d.ts.map +1 -1
  246. package/dist/types/computer-use/index.js.map +1 -1
  247. package/dist/types/errors/catalog.js +1 -1
  248. package/dist/types/errors/catalog.js.map +1 -1
  249. package/dist/types/hitl/index.d.ts +11 -1
  250. package/dist/types/hitl/index.d.ts.map +1 -1
  251. package/dist/types/hitl/index.js.map +1 -1
  252. package/dist/types/memory/index.d.ts +14 -1
  253. package/dist/types/memory/index.d.ts.map +1 -1
  254. package/dist/types/project/entity.d.ts +1 -0
  255. package/dist/types/project/entity.d.ts.map +1 -1
  256. package/dist/types/provider/config.d.ts +2 -0
  257. package/dist/types/provider/config.d.ts.map +1 -1
  258. package/dist/types/provider/model.d.ts +4 -0
  259. package/dist/types/provider/model.d.ts.map +1 -1
  260. package/dist/types/run/answer-review.d.ts +2 -0
  261. package/dist/types/run/answer-review.d.ts.map +1 -1
  262. package/dist/types/run/events.d.ts +9 -0
  263. package/dist/types/run/events.d.ts.map +1 -1
  264. package/dist/types/run/events.js.map +1 -1
  265. package/dist/types/run/prepare-step.d.ts +19 -1
  266. package/dist/types/run/prepare-step.d.ts.map +1 -1
  267. package/dist/types/sandbox/index.d.ts +20 -0
  268. package/dist/types/sandbox/index.d.ts.map +1 -1
  269. package/dist/types/sandbox/index.js.map +1 -1
  270. package/dist/types/structured-output/index.d.ts +8 -2
  271. package/dist/types/structured-output/index.d.ts.map +1 -1
  272. package/dist/types/tool/index.d.ts +15 -0
  273. package/dist/types/tool/index.d.ts.map +1 -1
  274. package/dist/types/tool/index.js.map +1 -1
  275. package/dist/utils/json-snapshot.d.ts +3 -0
  276. package/dist/utils/json-snapshot.d.ts.map +1 -0
  277. package/dist/utils/json-snapshot.js +79 -0
  278. package/dist/utils/json-snapshot.js.map +1 -0
  279. package/package.json +8 -1
  280. package/src/bridge/a2a/mapper.ts +2 -0
  281. package/src/bridge/sse/mapper.ts +2 -0
  282. package/src/compaction/extractor.ts +21 -8
  283. package/src/compaction/manager.ts +11 -1
  284. package/src/compaction/verifier.ts +80 -18
  285. package/src/eval/harness-verification.ts +270 -0
  286. package/src/eval/index.ts +10 -0
  287. package/src/execution/code-runtime/json-value.ts +82 -0
  288. package/src/execution/code-runtime/worker-program.ts +239 -0
  289. package/src/execution/code-runtime/worker.ts +164 -111
  290. package/src/manager/agent/lifecycle.ts +340 -45
  291. package/src/manager/run/persistence.ts +7 -0
  292. package/src/provider/capabilities.ts +25 -1
  293. package/src/provider/fallback.ts +2 -0
  294. package/src/provider/token-budget.ts +52 -8
  295. package/src/public-runtime.ts +6 -1
  296. package/src/public-tools.ts +5 -1
  297. package/src/public-types.ts +1 -0
  298. package/src/registry/tool/execute.ts +17 -79
  299. package/src/run/command-gate.ts +61 -13
  300. package/src/run/index.ts +2 -0
  301. package/src/run/memory-promoter.ts +32 -40
  302. package/src/run/memory-recall.ts +254 -0
  303. package/src/run/reporter.ts +1 -0
  304. package/src/run/token-budget.ts +4 -0
  305. package/src/run/workspace-fingerprint.ts +17 -8
  306. package/src/runtime/query/checkpoint.ts +96 -2
  307. package/src/runtime/query/executor.ts +131 -28
  308. package/src/runtime/query/index.ts +81 -16
  309. package/src/runtime/query/iteration/index.ts +406 -53
  310. package/src/runtime/query/iteration/native-output.ts +35 -0
  311. package/src/runtime/query/iteration/phases/advisory.ts +21 -11
  312. package/src/runtime/query/iteration/phases/compaction.ts +36 -14
  313. package/src/runtime/query/iteration/phases/context.ts +11 -0
  314. package/src/runtime/query/iteration/phases/tool-review.ts +5 -1
  315. package/src/runtime/query/iteration/phases/working-memory.ts +23 -5
  316. package/src/runtime/query/iteration/stream-turn.ts +11 -5
  317. package/src/runtime/query/prompt.ts +21 -4
  318. package/src/runtime/query/steering.ts +19 -2
  319. package/src/runtime/query/tool-call-budget.ts +115 -0
  320. package/src/runtime/query/tooling.ts +6 -0
  321. package/src/sandbox/file-walk-program.ts +93 -0
  322. package/src/sandbox/file-walk.ts +463 -0
  323. package/src/sandbox/index.ts +2 -0
  324. package/src/sandbox/provider/local.ts +13 -0
  325. package/src/scheduler/completion-inbox.ts +29 -19
  326. package/src/scheduler/local.ts +1 -0
  327. package/src/session/handoff/capacity.ts +7 -3
  328. package/src/store/memory/disk.ts +52 -30
  329. package/src/store/memory/index.ts +75 -27
  330. package/src/store/memory/memory.ts +18 -6
  331. package/src/store/memory/operation-lock.ts +99 -0
  332. package/src/tools/builtins/bash.ts +230 -58
  333. package/src/tools/builtins/computer-use.ts +61 -7
  334. package/src/tools/builtins/glob.ts +104 -122
  335. package/src/tools/builtins/grep.ts +166 -132
  336. package/src/tools/builtins/ls.ts +2 -2
  337. package/src/tools/builtins/run-code.ts +24 -5
  338. package/src/tools/builtins/search-tools.ts +18 -3
  339. package/src/tools/defineTool.ts +5 -0
  340. package/src/tools/memory/delete.ts +29 -0
  341. package/src/tools/memory/index.ts +6 -0
  342. package/src/tools/memory/save.ts +4 -2
  343. package/src/tools/memory/search.ts +12 -5
  344. package/src/tools/memory/update.ts +50 -0
  345. package/src/types/agent/scheduler.ts +6 -0
  346. package/src/types/agent/task.ts +13 -0
  347. package/src/types/computer-use/index.ts +6 -0
  348. package/src/types/errors/catalog.ts +1 -1
  349. package/src/types/hitl/index.ts +11 -1
  350. package/src/types/memory/index.ts +16 -1
  351. package/src/types/project/entity.ts +1 -0
  352. package/src/types/provider/config.ts +2 -0
  353. package/src/types/provider/model.ts +4 -0
  354. package/src/types/run/answer-review.ts +2 -0
  355. package/src/types/run/events.ts +10 -0
  356. package/src/types/run/prepare-step.ts +19 -1
  357. package/src/types/sandbox/index.ts +21 -0
  358. package/src/types/structured-output/index.ts +15 -2
  359. package/src/types/tool/index.ts +16 -0
  360. package/src/utils/json-snapshot.ts +76 -0
@@ -1,40 +1,48 @@
1
- import { glob, readFile } from 'node:fs/promises';
2
- import { relative, resolve, sep } from 'node:path';
1
+ import { readFile } from 'node:fs/promises';
2
+ import { isAbsolute, join, relative, sep } from 'node:path';
3
3
  import { z } from 'zod';
4
+ import { walkFilesLocally } from '../../sandbox/file-walk.js';
5
+ import { subscribeToAbort } from '../../utils/abort.js';
4
6
  import { defineTool } from '../defineTool.js';
5
- import { matchesGlob } from '../glob-match.js';
6
- import { resolveWithinAny } from '../paths.js';
7
- import { joinPosix, relativePosix, resolveWithinPosix } from '../posix-path.js';
8
- function hostSource(workingDirectory) {
9
- return {
10
- root: workingDirectory,
11
- async *list(searchRoot, pattern) {
12
- for await (const entry of glob(pattern, { cwd: searchRoot })) {
13
- yield resolve(searchRoot, entry);
14
- }
15
- },
16
- read: (path) => readFile(path),
17
- };
7
+ import { resolveWithin, resolveWithinAny, resolveWithinAnyReal, resolveWithinReal, toolRoots, } from '../paths.js';
8
+ import { relativePosix, resolveWithinPosix } from '../posix-path.js';
9
+ /** A remote read has no signal parameter; stop consuming it when the turn ends. */
10
+ async function readWithSignal(read, signal) {
11
+ signal?.throwIfAborted();
12
+ if (!signal)
13
+ return await read();
14
+ let dispose;
15
+ try {
16
+ const cancelled = new Promise((_, reject) => {
17
+ dispose = subscribeToAbort(signal, () => reject(signal.reason));
18
+ });
19
+ // Promise.race observes any late rejection. A late buffer is never searched.
20
+ return await Promise.race([
21
+ Promise.resolve().then(() => {
22
+ signal.throwIfAborted();
23
+ return read();
24
+ }),
25
+ cancelled,
26
+ ]);
27
+ }
28
+ finally {
29
+ dispose?.();
30
+ }
18
31
  }
19
- function sandboxSource(sandbox) {
20
- return {
21
- root: sandbox.rootDir,
22
- posix: true,
23
- async *list(searchRoot, pattern) {
24
- for (const entry of await sandbox.listFiles(searchRoot)) {
25
- // Sandbox paths stay in the sandbox's own coordinate system.
26
- // Running them through the host's path module would rewrite a
27
- // POSIX container path into a host-shaped one whenever the
28
- // two disagree, and then hand the model a path its own
29
- // sandbox cannot open.
30
- const absolute = joinPosix(searchRoot, entry.path);
31
- const relPath = relativePosix(sandbox.rootDir, absolute);
32
- if (matchesGlob(relPath, pattern))
33
- yield absolute;
34
- }
35
- },
36
- read: (path) => sandbox.readFile(path),
37
- };
32
+ function relativeInclude(include, root, sandboxed) {
33
+ let pattern = sandboxed ? include : include.split(sep).join('/');
34
+ if (pattern.split('/').includes('..'))
35
+ throw new Error('Include pattern escapes the search directory');
36
+ if (sandboxed ? pattern.startsWith('/') : isAbsolute(include)) {
37
+ const absolute = sandboxed ? resolveWithinPosix(root, pattern) : resolveWithin(root, include);
38
+ pattern = sandboxed
39
+ ? relativePosix(root, absolute)
40
+ : relative(root, absolute).split(sep).join('/');
41
+ }
42
+ while (pattern.startsWith('./'))
43
+ pattern = pattern.slice(2);
44
+ // Grep's existing unqualified include is recursive: *.ts means **/*.ts.
45
+ return pattern.includes('/') ? pattern : `**/${pattern}`;
38
46
  }
39
47
  const inputSchema = z.object({
40
48
  pattern: z.string().describe('Regular expression pattern to search for in file contents'),
@@ -62,6 +70,7 @@ const inputSchema = z.object({
62
70
  });
63
71
  const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5 MB — skip binaries/large files
64
72
  const BINARY_CHECK_BYTES = 512;
73
+ const MAX_VISITED_ENTRIES = 20_000;
65
74
  function isBinaryContent(buffer) {
66
75
  const check = buffer.subarray(0, BINARY_CHECK_BYTES);
67
76
  for (const byte of check) {
@@ -72,14 +81,16 @@ function isBinaryContent(buffer) {
72
81
  }
73
82
  export const GrepTool = defineTool({
74
83
  name: 'grep',
75
- description: 'Searches file contents using a regular expression. Returns matching lines with file paths, line numbers, and optional context lines. Skips binary files.',
84
+ description: 'Searches file contents using a regular expression. Returns matching lines with file paths, line numbers, and optional context lines. Searches incrementally with a bounded traversal; identifies incomplete searches. Skips binary files, files over 5 MB, and symlinks. Choose the narrowest relevant directory.',
76
85
  inputSchema,
77
86
  category: 'analysis',
78
87
  permissions: ['file_read'],
79
88
  readOnly: true,
80
89
  destructive: false,
81
90
  concurrencySafe: true,
91
+ timeoutMs: 15_000,
82
92
  async execute(input, context) {
93
+ context.abortSignal?.throwIfAborted();
83
94
  const flags = input.case_sensitive ? 'g' : 'gi';
84
95
  let regex;
85
96
  try {
@@ -92,98 +103,131 @@ export const GrepTool = defineTool({
92
103
  error: `Invalid regex pattern: ${err instanceof Error ? err.message : String(err)}`,
93
104
  };
94
105
  }
95
- // Inside the sandbox when there is one, on the host otherwise. Only
96
- // the file SOURCE differs — matching, context lines and the caps are
97
- // one implementation, because duplicating the substantive half is
98
- // how the two paths would drift.
99
- //
100
- // This tool read the host filesystem through `node:fs` and
101
- // referenced `context.sandbox` nowhere, so with a container backend
102
- // wired in the sandbox was not a read boundary at all — and grep
103
- // returns file CONTENT, so what leaked was not a listing.
104
- const source = context.sandbox
105
- ? sandboxSource(context.sandbox)
106
- : hostSource(context.workingDirectory);
107
- // Contained, not merely resolved — see `resolveWithin`. Bare
108
- // resolution let `path: "../../.."` read whatever sits above the
109
- // working directory, with no sandbox needed to make it work.
110
- const searchRoot = source.posix
111
- ? resolveWithinPosix(source.root, input.path)
112
- : resolveWithinAny([source.root, ...(context.additionalDirectories ?? [])], input.path);
113
- // Auto-prepend **/ for simple patterns (e.g. "*.ts" → "**/*.ts")
114
- let filePattern = input.include ?? '**/*';
115
- if (filePattern !== '**/*' && !filePattern.includes('/') && !filePattern.startsWith('**/')) {
116
- filePattern = `**/${filePattern}`;
106
+ const sandbox = context.sandbox;
107
+ const lexicalRoot = sandbox
108
+ ? resolveWithinPosix(sandbox.rootDir, input.path)
109
+ : resolveWithinAny(toolRoots(context), input.path);
110
+ const root = sandbox ? lexicalRoot : await resolveWithinAnyReal(toolRoots(context), input.path);
111
+ const filePattern = relativeInclude(input.include ?? '**/*', lexicalRoot, sandbox !== undefined);
112
+ const walkSandbox = sandbox?.walkFiles?.bind(sandbox);
113
+ if (sandbox && !walkSandbox) {
114
+ return {
115
+ success: false,
116
+ output: '',
117
+ error: 'This sandbox does not support bounded file discovery (Sandbox.walkFiles). Update its adapter before searching file contents.',
118
+ };
117
119
  }
120
+ const options = {
121
+ pattern: filePattern,
122
+ signal: context.abortSignal,
123
+ maxEntries: MAX_VISITED_ENTRIES + 1,
124
+ maxVisitedEntries: MAX_VISITED_ENTRIES,
125
+ // Preserve existing source behavior: sandbox grep included dotfiles;
126
+ // node's host glob excluded wildcard dotfiles.
127
+ includeHidden: sandbox !== undefined,
128
+ };
129
+ const entries = walkSandbox ? walkSandbox(root, options) : walkFilesLocally(root, options);
118
130
  const results = [];
119
131
  let totalMatches = 0;
120
132
  let filesSearched = 0;
121
133
  let filesMatched = 0;
122
- for await (const filePath of source.list(searchRoot, filePattern)) {
123
- filesSearched++;
124
- let content;
125
- try {
126
- const buffer = await source.read(filePath);
127
- if (buffer.length > MAX_FILE_SIZE)
128
- continue;
129
- if (isBinaryContent(buffer))
134
+ let truncated = false;
135
+ let failure;
136
+ let unreadableFiles = 0;
137
+ try {
138
+ for await (const entry of entries) {
139
+ context.abortSignal?.throwIfAborted();
140
+ const filePath = sandbox
141
+ ? resolveWithinPosix(root, entry.path)
142
+ : resolveWithin(root, entry.path);
143
+ if (filesSearched >= MAX_VISITED_ENTRIES) {
144
+ throw new Error(`File search stopped after examining ${MAX_VISITED_ENTRIES} files; narrow its root or include pattern.`);
145
+ }
146
+ filesSearched++;
147
+ if (entry.size > MAX_FILE_SIZE)
130
148
  continue;
131
- content = buffer.toString('utf-8');
132
- }
133
- catch {
134
- continue; // Skip unreadable files (directories, permissions, etc.)
135
- }
136
- const lines = content.split('\n');
137
- let fileHasMatch = false;
138
- for (let i = 0; i < lines.length; i++) {
139
- const line = lines[i] ?? '';
140
- regex.lastIndex = 0;
141
- if (!regex.test(line))
149
+ let content;
150
+ try {
151
+ const buffer = await readWithSignal(() => sandbox
152
+ ? sandbox.readFile(filePath)
153
+ : resolveWithinReal(root, filePath).then((contained) => readFile(contained, { signal: context.abortSignal })), context.abortSignal);
154
+ context.abortSignal?.throwIfAborted();
155
+ if (buffer.length > MAX_FILE_SIZE || isBinaryContent(buffer))
156
+ continue;
157
+ content = buffer.toString('utf-8');
158
+ }
159
+ catch (error) {
160
+ if (context.abortSignal?.aborted)
161
+ throw error;
162
+ unreadableFiles++;
142
163
  continue;
143
- if (!fileHasMatch) {
144
- fileHasMatch = true;
145
- filesMatched++;
146
164
  }
147
- // Relative to the root the file came FROM. Reporting a
148
- // host-relative path for a file read inside the sandbox would
149
- // hand the model a string `read` then resolves somewhere else.
150
- const relPath = source.posix
151
- ? `./${relativePosix(source.root, filePath)}`
152
- : `./${relative(source.root, filePath).split(sep).join('/')}`;
153
- if (input.context_lines > 0) {
154
- const start = Math.max(0, i - input.context_lines);
155
- const end = Math.min(lines.length - 1, i + input.context_lines);
156
- if (results.length > 0) {
157
- results.push('--');
165
+ const lines = content.split('\n');
166
+ let fileHasMatch = false;
167
+ for (let i = 0; i < lines.length; i++) {
168
+ context.abortSignal?.throwIfAborted();
169
+ const line = lines[i] ?? '';
170
+ regex.lastIndex = 0;
171
+ if (!regex.test(line))
172
+ continue;
173
+ if (!fileHasMatch) {
174
+ fileHasMatch = true;
175
+ filesMatched++;
158
176
  }
159
- for (let j = start; j <= end; j++) {
160
- const prefix = j === i ? ':' : '-';
161
- results.push(`${relPath}${prefix}${j + 1}${prefix}${lines[j]}`);
177
+ const relPath = sandbox
178
+ ? `./${relativePosix(sandbox.rootDir, filePath)}`
179
+ : `./${relative(context.workingDirectory, join(lexicalRoot, relative(root, filePath)))
180
+ .split(sep)
181
+ .join('/')}`;
182
+ if (input.context_lines > 0) {
183
+ const start = Math.max(0, i - input.context_lines);
184
+ const end = Math.min(lines.length - 1, i + input.context_lines);
185
+ if (results.length > 0) {
186
+ results.push('--');
187
+ }
188
+ for (let j = start; j <= end; j++) {
189
+ const prefix = j === i ? ':' : '-';
190
+ results.push(`${relPath}${prefix}${j + 1}${prefix}${lines[j]}`);
191
+ }
162
192
  }
193
+ else {
194
+ results.push(`${relPath}:${i + 1}:${line}`);
195
+ }
196
+ totalMatches++;
197
+ if (totalMatches >= input.max_results)
198
+ break;
163
199
  }
164
- else {
165
- results.push(`${relPath}:${i + 1}:${line}`);
166
- }
167
- totalMatches++;
168
- if (totalMatches >= input.max_results)
200
+ if (totalMatches >= input.max_results) {
201
+ // Do not read another file just to prove there are more hits. Reaching
202
+ // the requested cap means completeness was not established.
203
+ truncated = true;
169
204
  break;
205
+ }
170
206
  }
171
- if (totalMatches >= input.max_results)
172
- break;
173
207
  }
174
- if (totalMatches === 0) {
175
- return {
176
- success: true,
177
- output: `No matches found for pattern "${input.pattern}"`,
178
- data: { totalMatches: 0, filesSearched, filesMatched: 0 },
179
- };
208
+ catch (error) {
209
+ truncated = true;
210
+ failure = (error instanceof Error ? error.message : String(error)) || 'File search failed.';
211
+ }
212
+ if (unreadableFiles > 0) {
213
+ truncated = true;
214
+ failure ??= `${unreadableFiles} file(s) could not be read.`;
180
215
  }
181
- const summary = `Found ${totalMatches} match(es) in ${filesMatched} file(s) (${filesSearched} files searched)`;
182
- const output = `${results.join('\n')}\n\n${summary}`;
216
+ const summary = totalMatches > 0
217
+ ? `Found ${totalMatches} match(es) in ${filesMatched} file(s) (${filesSearched} files searched)`
218
+ : truncated
219
+ ? `No matches found in the files searched for pattern "${input.pattern}"`
220
+ : `No matches found for pattern "${input.pattern}"`;
221
+ const notice = failure
222
+ ? `[Search incomplete: ${failure}]`
223
+ : truncated
224
+ ? `[Search incomplete: reached max_results (${input.max_results}). Narrow the directory or include pattern for a complete search.]`
225
+ : undefined;
183
226
  return {
184
- success: true,
185
- output,
186
- data: { totalMatches, filesSearched, filesMatched },
227
+ success: failure === undefined,
228
+ output: [results.join('\n'), summary, notice].filter(Boolean).join('\n\n'),
229
+ data: { totalMatches, filesSearched, filesMatched, truncated },
230
+ ...(failure ? { error: failure } : {}),
187
231
  };
188
232
  },
189
233
  });
@@ -1 +1 @@
1
- {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/tools/builtins/grep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/tools/builtins/grep.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { join, relative } from 'node:path';
3
3
  import { z } from 'zod';
4
4
  import { defineTool } from '../defineTool.js';
5
5
  import { resolveWithinAny, toolRoots } from '../paths.js';
6
- import { joinPosix, relativePosix, resolveWithinPosix } from '../posix-path.js';
6
+ import { relativePosix, resolveWithinPosix } from '../posix-path.js';
7
7
  const inputSchema = z.object({
8
8
  path: z.string().default('.').describe('Directory path to list. Defaults to working directory.'),
9
9
  all: z.boolean().default(false).describe('Include hidden files (dotfiles)'),
@@ -106,7 +106,7 @@ async function listInSandbox(input, sandbox) {
106
106
  // Relative to the LISTED directory, in the sandbox's own coordinates.
107
107
  const relativePaths = [];
108
108
  for (const entry of entries) {
109
- const rel = relativePosix(root, joinPosix(root, entry.path));
109
+ const rel = relativePosix(root, resolveWithinPosix(root, entry.path));
110
110
  if (!rel || rel.startsWith('..'))
111
111
  continue;
112
112
  const segments = rel.split('/').filter(Boolean);
@@ -1 +1 @@
1
- {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/tools/builtins/ls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/tools/builtins/ls.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,12 @@ export interface RunCodeToolOptions {
5
5
  readonly runtime?: CodeRuntime;
6
6
  readonly timeoutMs?: number;
7
7
  readonly maxOutputBytes?: number;
8
+ /**
9
+ * What a successful `call()` resolves to. Default: `text` (ToolResult.output).
10
+ * `structured` returns `{ output, data? }`, preserving JSON tool data for
11
+ * local filtering. Failures still reject; authority and dispatch are unchanged.
12
+ */
13
+ readonly toolResultMode?: 'text' | 'structured';
8
14
  }
9
15
  export declare function buildRunCodeTool(options?: RunCodeToolOptions): import("../../public-types.js").ToolDefinition<{
10
16
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"run-code.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/run-code.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AA0CxE,eAAO,MAAM,kBAAkB,aAAa,CAAA;AAE5C,MAAM,WAAW,kBAAkB;IAClC,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAChC;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,kBAAuB;;;GAyGhE"}
1
+ {"version":3,"file":"run-code.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/run-code.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AA0CxE,eAAO,MAAM,kBAAkB,aAAa,CAAA;AAE5C,MAAM,WAAW,kBAAkB;IAClC,gDAAgD;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;CAC/C;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,kBAAuB;;;GAsHhE"}
@@ -38,7 +38,9 @@ export function buildRunCodeTool(options = {}) {
38
38
  const runtime = options.runtime ?? new WorkerCodeRuntime();
39
39
  return defineTool({
40
40
  name: RUN_CODE_TOOL_NAME,
41
- description: "Runs a short JavaScript program that can call this run's own tools in a loop. Use it when the same tool would otherwise be called many times in a row — filtering, retrying, fanning out — and not for a single call.",
41
+ description: `Runs a short JavaScript program that can call this run's own tools in a loop. Use it when the same tool would otherwise be called many times in a row — filtering, retrying, fanning out — and not for a single call. ${options.toolResultMode === 'structured'
42
+ ? 'Each successful call() returns { output: string, data?: JSON value }. Filter data locally and return only the needed result. Failed calls reject.'
43
+ : 'Each successful call() returns the tool output string. Failed calls reject.'}`,
42
44
  inputSchema,
43
45
  category: 'custom',
44
46
  permissions: [],
@@ -81,9 +83,18 @@ export function buildRunCodeTool(options = {}) {
81
83
  signal: operation.signal,
82
84
  runtimeToolCallId: operation.runtimeToolCallId,
83
85
  });
84
- return toolResult.success
85
- ? { ok: true, value: toolResult.output }
86
- : { ok: false, error: toolResult.error ?? 'the tool failed' };
86
+ if (!toolResult.success) {
87
+ return { ok: false, error: toolResult.error ?? 'the tool failed' };
88
+ }
89
+ return {
90
+ ok: true,
91
+ value: options.toolResultMode === 'structured'
92
+ ? {
93
+ output: toolResult.output,
94
+ ...(toolResult.data !== undefined ? { data: toolResult.data } : {}),
95
+ }
96
+ : toolResult.output,
97
+ };
87
98
  }
88
99
  catch (err) {
89
100
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"run-code.js","sourceRoot":"","sources":["../../../src/tools/builtins/run-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-code.js","sourceRoot":"","sources":["../../../src/tools/builtins/run-code.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/search-tools.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,eAAe;;EAkE1B,CAAA"}
1
+ {"version":3,"file":"search-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/search-tools.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,eAAe;;EAiF1B,CAAA"}
@@ -31,16 +31,28 @@ export const SearchToolsTool = defineTool({
31
31
  error: 'Tool registry not available in this context.',
32
32
  };
33
33
  }
34
- const allowed = context.allowedTools && context.allowedTools.length > 0 ? new Set(context.allowedTools) : null;
34
+ const allowed = context.allowedTools !== undefined ? new Set(context.allowedTools) : null;
35
35
  // `searchDeferred` returns a ranked list (score-descending), so slicing
36
36
  // the head is a true top-k activation, not an arbitrary subset.
37
37
  const ranked = context.toolRegistry
38
38
  .searchDeferred(input.query)
39
39
  .filter((tool) => !allowed || allowed.has(tool.name));
40
40
  if (ranked.length === 0) {
41
+ const active = context.toolRegistry
42
+ .searchActive?.(input.query)
43
+ .filter((tool) => (!allowed || allowed.has(tool.name)) &&
44
+ context.toolRegistry?.getAvailability(tool.name) === 'active');
45
+ const activeReceipt = active === undefined
46
+ ? 'This registry cannot search active tools.'
47
+ : active.length === 0
48
+ ? 'No matching active tools were found.'
49
+ : `Already active matching tools (up to ${ACTIVATION_TOP_K}):\n${active
50
+ .slice(0, ACTIVATION_TOP_K)
51
+ .map((tool) => `- ${tool.name}`)
52
+ .join('\n')}`;
41
53
  return {
42
54
  success: true,
43
- output: `No deferred tools matching "${input.query}". All matching tools are already active.`,
55
+ output: `No deferred tools matching "${input.query}". ${activeReceipt}`,
44
56
  };
45
57
  }
46
58
  const activated = ranked.slice(0, ACTIVATION_TOP_K);
@@ -1 +1 @@
1
- {"version":3,"file":"search-tools.js","sourceRoot":"","sources":["../../../src/tools/builtins/search-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-tools.js","sourceRoot":"","sources":["../../../src/tools/builtins/search-tools.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export interface DefineToolOptions<S extends z.ZodType> {
13
13
  readOnly: boolean;
14
14
  destructive: boolean | ((input: z.infer<S>) => boolean);
15
15
  concurrencySafe: boolean;
16
+ /** Batch ordering boundary; see {@link ToolDefinition.executionBarrier}. */
17
+ executionBarrier?: boolean;
16
18
  tier?: string;
17
19
  /**
18
20
  * How this tool's call and result should be shown; see
@@ -1 +1 @@
1
- {"version":3,"file":"defineTool.d.ts","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,UAAU,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAGrE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,CAAC,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACpC,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACvD,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IACzD,aAAa,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAC7D,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACrE;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC7C,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAwC5B"}
1
+ {"version":3,"file":"defineTool.d.ts","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,UAAU,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAGrE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,CAAC,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACpC,WAAW,EAAE,cAAc,EAAE,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;IACvD,eAAe,EAAE,OAAO,CAAA;IACxB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IACzD,aAAa,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAC7D,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CACrE;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC7C,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC3B,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA2C5B"}
@@ -15,6 +15,9 @@ export function defineTool(options) {
15
15
  ...(options.presentResult ? { presentResult: options.presentResult } : {}),
16
16
  ...(options.outputSchema !== undefined ? { outputSchema: options.outputSchema } : {}),
17
17
  ...(options.terminal !== undefined ? { terminal: options.terminal } : {}),
18
+ ...(options.executionBarrier !== undefined
19
+ ? { executionBarrier: options.executionBarrier }
20
+ : {}),
18
21
  category: options.category,
19
22
  permissions: options.permissions,
20
23
  isReadOnly: () => options.readOnly,
@@ -1 +1 @@
1
- {"version":3,"file":"defineTool.js","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAuDlD,MAAM,UAAU,UAAU,CACzB,OAA6B;IAI7B,OAAO;QACN,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ;QAClC,aAAa,EACZ,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU;YACxC,CAAC,CAAC,OAAO,CAAC,WAAW;YACrB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAsB;QACxC,iBAAiB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe;QAEhD,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAoB;YAChD,IAAI,CAAC;gBACJ,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;gBACnC,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,YAAY,OAAO,EAAE;iBAC3C,CAAA;YACF,CAAC;QACF,CAAC;KACD,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"defineTool.js","sourceRoot":"","sources":["../../src/tools/defineTool.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAyDlD,MAAM,UAAU,UAAU,CACzB,OAA6B;IAI7B,OAAO;QACN,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ;QAClC,aAAa,EACZ,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU;YACxC,CAAC,CAAC,OAAO,CAAC,WAAW;YACrB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAsB;QACxC,iBAAiB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe;QAEhD,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAoB;YAChD,IAAI,CAAC;gBACJ,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;gBACnC,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,YAAY,OAAO,EAAE;iBAC3C,CAAA;YACF,CAAC;QACF,CAAC;KACD,CAAA;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { MemoryStore } from '../../types/memory/index.js';
2
+ import type { ToolDefinition } from '../../types/tool/index.js';
3
+ export declare function buildDeleteMemoryTool(store: MemoryStore): ToolDefinition;
4
+ //# sourceMappingURL=delete.d.ts.map