@vinhnt-sdk/core 0.1.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 (575) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +57 -0
  3. package/dist/agent/agent-def.d.ts +11 -0
  4. package/dist/agent/agent-def.d.ts.map +1 -0
  5. package/dist/agent/agent-def.js +2 -0
  6. package/dist/agent/agent-def.js.map +1 -0
  7. package/dist/agent/agent-factory.d.ts +21 -0
  8. package/dist/agent/agent-factory.d.ts.map +1 -0
  9. package/dist/agent/agent-factory.js +119 -0
  10. package/dist/agent/agent-factory.js.map +1 -0
  11. package/dist/agent/agent-file-loader.d.ts +46 -0
  12. package/dist/agent/agent-file-loader.d.ts.map +1 -0
  13. package/dist/agent/agent-file-loader.js +111 -0
  14. package/dist/agent/agent-file-loader.js.map +1 -0
  15. package/dist/agent/agent-parser.d.ts +9 -0
  16. package/dist/agent/agent-parser.d.ts.map +1 -0
  17. package/dist/agent/agent-parser.js +70 -0
  18. package/dist/agent/agent-parser.js.map +1 -0
  19. package/dist/agent/agent-registry.d.ts +49 -0
  20. package/dist/agent/agent-registry.d.ts.map +1 -0
  21. package/dist/agent/agent-registry.js +127 -0
  22. package/dist/agent/agent-registry.js.map +1 -0
  23. package/dist/agent/behaviour-profiles.d.ts +11 -0
  24. package/dist/agent/behaviour-profiles.d.ts.map +1 -0
  25. package/dist/agent/behaviour-profiles.js +46 -0
  26. package/dist/agent/behaviour-profiles.js.map +1 -0
  27. package/dist/agent/create-agent-tool.d.ts +20 -0
  28. package/dist/agent/create-agent-tool.d.ts.map +1 -0
  29. package/dist/agent/create-agent-tool.js +108 -0
  30. package/dist/agent/create-agent-tool.js.map +1 -0
  31. package/dist/agent/default-agents.d.ts +5 -0
  32. package/dist/agent/default-agents.d.ts.map +1 -0
  33. package/dist/agent/default-agents.js +38 -0
  34. package/dist/agent/default-agents.js.map +1 -0
  35. package/dist/agent/delegate-batch-tool.d.ts +10 -0
  36. package/dist/agent/delegate-batch-tool.d.ts.map +1 -0
  37. package/dist/agent/delegate-batch-tool.js +48 -0
  38. package/dist/agent/delegate-batch-tool.js.map +1 -0
  39. package/dist/agent/delegate-tool.d.ts +13 -0
  40. package/dist/agent/delegate-tool.d.ts.map +1 -0
  41. package/dist/agent/delegate-tool.js +49 -0
  42. package/dist/agent/delegate-tool.js.map +1 -0
  43. package/dist/agent/dynamic-registry.d.ts +30 -0
  44. package/dist/agent/dynamic-registry.d.ts.map +1 -0
  45. package/dist/agent/dynamic-registry.js +87 -0
  46. package/dist/agent/dynamic-registry.js.map +1 -0
  47. package/dist/agent/execution-engine.d.ts +25 -0
  48. package/dist/agent/execution-engine.d.ts.map +1 -0
  49. package/dist/agent/execution-engine.js +80 -0
  50. package/dist/agent/execution-engine.js.map +1 -0
  51. package/dist/agent/list-agents-tool.d.ts +4 -0
  52. package/dist/agent/list-agents-tool.d.ts.map +1 -0
  53. package/dist/agent/list-agents-tool.js +43 -0
  54. package/dist/agent/list-agents-tool.js.map +1 -0
  55. package/dist/agent/spawn-agent-tool.d.ts +15 -0
  56. package/dist/agent/spawn-agent-tool.d.ts.map +1 -0
  57. package/dist/agent/spawn-agent-tool.js +77 -0
  58. package/dist/agent/spawn-agent-tool.js.map +1 -0
  59. package/dist/crypto/password.d.ts +11 -0
  60. package/dist/crypto/password.d.ts.map +1 -0
  61. package/dist/crypto/password.js +44 -0
  62. package/dist/crypto/password.js.map +1 -0
  63. package/dist/event-bus/bridge.d.ts +19 -0
  64. package/dist/event-bus/bridge.d.ts.map +1 -0
  65. package/dist/event-bus/bridge.js +48 -0
  66. package/dist/event-bus/bridge.js.map +1 -0
  67. package/dist/event-bus/global-bus.d.ts +30 -0
  68. package/dist/event-bus/global-bus.d.ts.map +1 -0
  69. package/dist/event-bus/global-bus.js +92 -0
  70. package/dist/event-bus/global-bus.js.map +1 -0
  71. package/dist/event-bus/in-memory-bus.d.ts +19 -0
  72. package/dist/event-bus/in-memory-bus.d.ts.map +1 -0
  73. package/dist/event-bus/in-memory-bus.js +97 -0
  74. package/dist/event-bus/in-memory-bus.js.map +1 -0
  75. package/dist/event-bus/index.d.ts +5 -0
  76. package/dist/event-bus/index.d.ts.map +1 -0
  77. package/dist/event-bus/index.js +4 -0
  78. package/dist/event-bus/index.js.map +1 -0
  79. package/dist/event-bus/types.d.ts +20 -0
  80. package/dist/event-bus/types.d.ts.map +1 -0
  81. package/dist/event-bus/types.js +2 -0
  82. package/dist/event-bus/types.js.map +1 -0
  83. package/dist/fakes/fake-agent-registry.d.ts +17 -0
  84. package/dist/fakes/fake-agent-registry.d.ts.map +1 -0
  85. package/dist/fakes/fake-agent-registry.js +70 -0
  86. package/dist/fakes/fake-agent-registry.js.map +1 -0
  87. package/dist/fakes/fake-approval-store.d.ts +27 -0
  88. package/dist/fakes/fake-approval-store.d.ts.map +1 -0
  89. package/dist/fakes/fake-approval-store.js +66 -0
  90. package/dist/fakes/fake-approval-store.js.map +1 -0
  91. package/dist/fakes/fake-model.d.ts +37 -0
  92. package/dist/fakes/fake-model.d.ts.map +1 -0
  93. package/dist/fakes/fake-model.js +63 -0
  94. package/dist/fakes/fake-model.js.map +1 -0
  95. package/dist/fakes/fake-store.d.ts +16 -0
  96. package/dist/fakes/fake-store.d.ts.map +1 -0
  97. package/dist/fakes/fake-store.js +61 -0
  98. package/dist/fakes/fake-store.js.map +1 -0
  99. package/dist/fakes/fake-tool-context.d.ts +28 -0
  100. package/dist/fakes/fake-tool-context.d.ts.map +1 -0
  101. package/dist/fakes/fake-tool-context.js +34 -0
  102. package/dist/fakes/fake-tool-context.js.map +1 -0
  103. package/dist/fakes/fake-tool.d.ts +22 -0
  104. package/dist/fakes/fake-tool.d.ts.map +1 -0
  105. package/dist/fakes/fake-tool.js +27 -0
  106. package/dist/fakes/fake-tool.js.map +1 -0
  107. package/dist/fakes/index.d.ts +7 -0
  108. package/dist/fakes/index.d.ts.map +1 -0
  109. package/dist/fakes/index.js +7 -0
  110. package/dist/fakes/index.js.map +1 -0
  111. package/dist/index.d.ts +111 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +72 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/internal/index.d.ts +5 -0
  116. package/dist/internal/index.d.ts.map +1 -0
  117. package/dist/internal/index.js +8 -0
  118. package/dist/internal/index.js.map +1 -0
  119. package/dist/kernel/approval-handler.d.ts +17 -0
  120. package/dist/kernel/approval-handler.d.ts.map +1 -0
  121. package/dist/kernel/approval-handler.js +28 -0
  122. package/dist/kernel/approval-handler.js.map +1 -0
  123. package/dist/kernel/circuit-breaker.d.ts +25 -0
  124. package/dist/kernel/circuit-breaker.d.ts.map +1 -0
  125. package/dist/kernel/circuit-breaker.js +88 -0
  126. package/dist/kernel/circuit-breaker.js.map +1 -0
  127. package/dist/kernel/context-manager.d.ts +29 -0
  128. package/dist/kernel/context-manager.d.ts.map +1 -0
  129. package/dist/kernel/context-manager.js +64 -0
  130. package/dist/kernel/context-manager.js.map +1 -0
  131. package/dist/kernel/kernel-error.d.ts +7 -0
  132. package/dist/kernel/kernel-error.d.ts.map +1 -0
  133. package/dist/kernel/kernel-error.js +12 -0
  134. package/dist/kernel/kernel-error.js.map +1 -0
  135. package/dist/kernel/kernel-session.d.ts +30 -0
  136. package/dist/kernel/kernel-session.d.ts.map +1 -0
  137. package/dist/kernel/kernel-session.js +92 -0
  138. package/dist/kernel/kernel-session.js.map +1 -0
  139. package/dist/kernel/kernel-types.d.ts +72 -0
  140. package/dist/kernel/kernel-types.d.ts.map +1 -0
  141. package/dist/kernel/kernel-types.js +2 -0
  142. package/dist/kernel/kernel-types.js.map +1 -0
  143. package/dist/kernel/kernel-utils.d.ts +29 -0
  144. package/dist/kernel/kernel-utils.d.ts.map +1 -0
  145. package/dist/kernel/kernel-utils.js +74 -0
  146. package/dist/kernel/kernel-utils.js.map +1 -0
  147. package/dist/kernel/kernel.d.ts +150 -0
  148. package/dist/kernel/kernel.d.ts.map +1 -0
  149. package/dist/kernel/kernel.js +536 -0
  150. package/dist/kernel/kernel.js.map +1 -0
  151. package/dist/kernel/max-steps-prompt.d.ts +3 -0
  152. package/dist/kernel/max-steps-prompt.d.ts.map +1 -0
  153. package/dist/kernel/max-steps-prompt.js +13 -0
  154. package/dist/kernel/max-steps-prompt.js.map +1 -0
  155. package/dist/kernel/model-caller.d.ts +35 -0
  156. package/dist/kernel/model-caller.d.ts.map +1 -0
  157. package/dist/kernel/model-caller.js +196 -0
  158. package/dist/kernel/model-caller.js.map +1 -0
  159. package/dist/kernel/permission-gate.d.ts +74 -0
  160. package/dist/kernel/permission-gate.d.ts.map +1 -0
  161. package/dist/kernel/permission-gate.js +258 -0
  162. package/dist/kernel/permission-gate.js.map +1 -0
  163. package/dist/kernel/run-loop.d.ts +69 -0
  164. package/dist/kernel/run-loop.d.ts.map +1 -0
  165. package/dist/kernel/run-loop.js +437 -0
  166. package/dist/kernel/run-loop.js.map +1 -0
  167. package/dist/kernel/run-orchestrator.d.ts +66 -0
  168. package/dist/kernel/run-orchestrator.d.ts.map +1 -0
  169. package/dist/kernel/run-orchestrator.js +182 -0
  170. package/dist/kernel/run-orchestrator.js.map +1 -0
  171. package/dist/kernel/run-state.d.ts +25 -0
  172. package/dist/kernel/run-state.d.ts.map +1 -0
  173. package/dist/kernel/run-state.js +86 -0
  174. package/dist/kernel/run-state.js.map +1 -0
  175. package/dist/kernel/self-correction.d.ts +27 -0
  176. package/dist/kernel/self-correction.d.ts.map +1 -0
  177. package/dist/kernel/self-correction.js +80 -0
  178. package/dist/kernel/self-correction.js.map +1 -0
  179. package/dist/kernel/state-machine.d.ts +4 -0
  180. package/dist/kernel/state-machine.d.ts.map +1 -0
  181. package/dist/kernel/state-machine.js +18 -0
  182. package/dist/kernel/state-machine.js.map +1 -0
  183. package/dist/kernel/step-executor.d.ts +72 -0
  184. package/dist/kernel/step-executor.d.ts.map +1 -0
  185. package/dist/kernel/step-executor.js +301 -0
  186. package/dist/kernel/step-executor.js.map +1 -0
  187. package/dist/kernel/step-runner.d.ts +57 -0
  188. package/dist/kernel/step-runner.d.ts.map +1 -0
  189. package/dist/kernel/step-runner.js +124 -0
  190. package/dist/kernel/step-runner.js.map +1 -0
  191. package/dist/kernel/sub-agent-runner.d.ts +45 -0
  192. package/dist/kernel/sub-agent-runner.d.ts.map +1 -0
  193. package/dist/kernel/sub-agent-runner.js +128 -0
  194. package/dist/kernel/sub-agent-runner.js.map +1 -0
  195. package/dist/kernel/termination.d.ts +85 -0
  196. package/dist/kernel/termination.d.ts.map +1 -0
  197. package/dist/kernel/termination.js +89 -0
  198. package/dist/kernel/termination.js.map +1 -0
  199. package/dist/kernel/tool-context-builder.d.ts +15 -0
  200. package/dist/kernel/tool-context-builder.d.ts.map +1 -0
  201. package/dist/kernel/tool-context-builder.js +23 -0
  202. package/dist/kernel/tool-context-builder.js.map +1 -0
  203. package/dist/kernel/tool-error-router.d.ts +25 -0
  204. package/dist/kernel/tool-error-router.d.ts.map +1 -0
  205. package/dist/kernel/tool-error-router.js +102 -0
  206. package/dist/kernel/tool-error-router.js.map +1 -0
  207. package/dist/kernel/tool-result-processor.d.ts +22 -0
  208. package/dist/kernel/tool-result-processor.d.ts.map +1 -0
  209. package/dist/kernel/tool-result-processor.js +47 -0
  210. package/dist/kernel/tool-result-processor.js.map +1 -0
  211. package/dist/kernel/tool-saga.d.ts +24 -0
  212. package/dist/kernel/tool-saga.d.ts.map +1 -0
  213. package/dist/kernel/tool-saga.js +59 -0
  214. package/dist/kernel/tool-saga.js.map +1 -0
  215. package/dist/knowledge/approval.d.ts +19 -0
  216. package/dist/knowledge/approval.d.ts.map +1 -0
  217. package/dist/knowledge/approval.js +60 -0
  218. package/dist/knowledge/approval.js.map +1 -0
  219. package/dist/knowledge/compressor.d.ts +46 -0
  220. package/dist/knowledge/compressor.d.ts.map +1 -0
  221. package/dist/knowledge/compressor.js +86 -0
  222. package/dist/knowledge/compressor.js.map +1 -0
  223. package/dist/knowledge/index.d.ts +16 -0
  224. package/dist/knowledge/index.d.ts.map +1 -0
  225. package/dist/knowledge/index.js +10 -0
  226. package/dist/knowledge/index.js.map +1 -0
  227. package/dist/knowledge/learning-engine.d.ts +47 -0
  228. package/dist/knowledge/learning-engine.d.ts.map +1 -0
  229. package/dist/knowledge/learning-engine.js +83 -0
  230. package/dist/knowledge/learning-engine.js.map +1 -0
  231. package/dist/knowledge/llm-compactor.d.ts +25 -0
  232. package/dist/knowledge/llm-compactor.d.ts.map +1 -0
  233. package/dist/knowledge/llm-compactor.js +79 -0
  234. package/dist/knowledge/llm-compactor.js.map +1 -0
  235. package/dist/knowledge/memory-bounded.d.ts +21 -0
  236. package/dist/knowledge/memory-bounded.d.ts.map +1 -0
  237. package/dist/knowledge/memory-bounded.js +63 -0
  238. package/dist/knowledge/memory-bounded.js.map +1 -0
  239. package/dist/knowledge/memory.d.ts +21 -0
  240. package/dist/knowledge/memory.d.ts.map +1 -0
  241. package/dist/knowledge/memory.js +85 -0
  242. package/dist/knowledge/memory.js.map +1 -0
  243. package/dist/knowledge/prompt-builder.d.ts +11 -0
  244. package/dist/knowledge/prompt-builder.d.ts.map +1 -0
  245. package/dist/knowledge/prompt-builder.js +23 -0
  246. package/dist/knowledge/prompt-builder.js.map +1 -0
  247. package/dist/knowledge/review.d.ts +26 -0
  248. package/dist/knowledge/review.d.ts.map +1 -0
  249. package/dist/knowledge/review.js +69 -0
  250. package/dist/knowledge/review.js.map +1 -0
  251. package/dist/knowledge/tool.d.ts +4 -0
  252. package/dist/knowledge/tool.d.ts.map +1 -0
  253. package/dist/knowledge/tool.js +27 -0
  254. package/dist/knowledge/tool.js.map +1 -0
  255. package/dist/knowledge/types.d.ts +27 -0
  256. package/dist/knowledge/types.d.ts.map +1 -0
  257. package/dist/knowledge/types.js +2 -0
  258. package/dist/knowledge/types.js.map +1 -0
  259. package/dist/logger.d.ts +11 -0
  260. package/dist/logger.d.ts.map +1 -0
  261. package/dist/logger.js +44 -0
  262. package/dist/logger.js.map +1 -0
  263. package/dist/model.d.ts +90 -0
  264. package/dist/model.d.ts.map +1 -0
  265. package/dist/model.js +13 -0
  266. package/dist/model.js.map +1 -0
  267. package/dist/permission/checker.d.ts +29 -0
  268. package/dist/permission/checker.d.ts.map +1 -0
  269. package/dist/permission/checker.js +102 -0
  270. package/dist/permission/checker.js.map +1 -0
  271. package/dist/permission/evaluator.d.ts +24 -0
  272. package/dist/permission/evaluator.d.ts.map +1 -0
  273. package/dist/permission/evaluator.js +89 -0
  274. package/dist/permission/evaluator.js.map +1 -0
  275. package/dist/permission/permission.d.ts +29 -0
  276. package/dist/permission/permission.d.ts.map +1 -0
  277. package/dist/permission/permission.js +18 -0
  278. package/dist/permission/permission.js.map +1 -0
  279. package/dist/permission/saved.d.ts +34 -0
  280. package/dist/permission/saved.d.ts.map +1 -0
  281. package/dist/permission/saved.js +43 -0
  282. package/dist/permission/saved.js.map +1 -0
  283. package/dist/plugin/manager.d.ts +33 -0
  284. package/dist/plugin/manager.d.ts.map +1 -0
  285. package/dist/plugin/manager.js +114 -0
  286. package/dist/plugin/manager.js.map +1 -0
  287. package/dist/plugin/plugin-file-loader.d.ts +43 -0
  288. package/dist/plugin/plugin-file-loader.d.ts.map +1 -0
  289. package/dist/plugin/plugin-file-loader.js +115 -0
  290. package/dist/plugin/plugin-file-loader.js.map +1 -0
  291. package/dist/plugin/plugin-tool-provider.d.ts +22 -0
  292. package/dist/plugin/plugin-tool-provider.d.ts.map +1 -0
  293. package/dist/plugin/plugin-tool-provider.js +27 -0
  294. package/dist/plugin/plugin-tool-provider.js.map +1 -0
  295. package/dist/plugin.d.ts +130 -0
  296. package/dist/plugin.d.ts.map +1 -0
  297. package/dist/plugin.js +2 -0
  298. package/dist/plugin.js.map +1 -0
  299. package/dist/session/compaction.d.ts +9 -0
  300. package/dist/session/compaction.d.ts.map +1 -0
  301. package/dist/session/compaction.js +2 -0
  302. package/dist/session/compaction.js.map +1 -0
  303. package/dist/session/durable-reload.d.ts +41 -0
  304. package/dist/session/durable-reload.d.ts.map +1 -0
  305. package/dist/session/durable-reload.js +72 -0
  306. package/dist/session/durable-reload.js.map +1 -0
  307. package/dist/session/in-memory-session-state.d.ts +19 -0
  308. package/dist/session/in-memory-session-state.d.ts.map +1 -0
  309. package/dist/session/in-memory-session-state.js +51 -0
  310. package/dist/session/in-memory-session-state.js.map +1 -0
  311. package/dist/session/null-store.d.ts +30 -0
  312. package/dist/session/null-store.d.ts.map +1 -0
  313. package/dist/session/null-store.js +78 -0
  314. package/dist/session/null-store.js.map +1 -0
  315. package/dist/session/run-coordinator.d.ts +52 -0
  316. package/dist/session/run-coordinator.d.ts.map +1 -0
  317. package/dist/session/run-coordinator.js +127 -0
  318. package/dist/session/run-coordinator.js.map +1 -0
  319. package/dist/session/session-state.d.ts +37 -0
  320. package/dist/session/session-state.d.ts.map +1 -0
  321. package/dist/session/session-state.js +2 -0
  322. package/dist/session/session-state.js.map +1 -0
  323. package/dist/session/session-tree.d.ts +34 -0
  324. package/dist/session/session-tree.d.ts.map +1 -0
  325. package/dist/session/session-tree.js +171 -0
  326. package/dist/session/session-tree.js.map +1 -0
  327. package/dist/session/store.d.ts +45 -0
  328. package/dist/session/store.d.ts.map +1 -0
  329. package/dist/session/store.js +2 -0
  330. package/dist/session/store.js.map +1 -0
  331. package/dist/session/title.d.ts +7 -0
  332. package/dist/session/title.d.ts.map +1 -0
  333. package/dist/session/title.js +22 -0
  334. package/dist/session/title.js.map +1 -0
  335. package/dist/skill/create-skill-tool.d.ts +13 -0
  336. package/dist/skill/create-skill-tool.d.ts.map +1 -0
  337. package/dist/skill/create-skill-tool.js +77 -0
  338. package/dist/skill/create-skill-tool.js.map +1 -0
  339. package/dist/skill/skill-def-registry.d.ts +27 -0
  340. package/dist/skill/skill-def-registry.d.ts.map +1 -0
  341. package/dist/skill/skill-def-registry.js +74 -0
  342. package/dist/skill/skill-def-registry.js.map +1 -0
  343. package/dist/skill/skill-file-loader.d.ts +50 -0
  344. package/dist/skill/skill-file-loader.d.ts.map +1 -0
  345. package/dist/skill/skill-file-loader.js +115 -0
  346. package/dist/skill/skill-file-loader.js.map +1 -0
  347. package/dist/skill/skill-parser.d.ts +7 -0
  348. package/dist/skill/skill-parser.d.ts.map +1 -0
  349. package/dist/skill/skill-parser.js +42 -0
  350. package/dist/skill/skill-parser.js.map +1 -0
  351. package/dist/skill/skill-tool.d.ts +10 -0
  352. package/dist/skill/skill-tool.d.ts.map +1 -0
  353. package/dist/skill/skill-tool.js +100 -0
  354. package/dist/skill/skill-tool.js.map +1 -0
  355. package/dist/system-context/index.d.ts +10 -0
  356. package/dist/system-context/index.d.ts.map +1 -0
  357. package/dist/system-context/index.js +7 -0
  358. package/dist/system-context/index.js.map +1 -0
  359. package/dist/system-context/prompts/anthropic.d.ts +2 -0
  360. package/dist/system-context/prompts/anthropic.d.ts.map +1 -0
  361. package/dist/system-context/prompts/anthropic.js +35 -0
  362. package/dist/system-context/prompts/anthropic.js.map +1 -0
  363. package/dist/system-context/prompts/deepseek.d.ts +2 -0
  364. package/dist/system-context/prompts/deepseek.d.ts.map +1 -0
  365. package/dist/system-context/prompts/deepseek.js +38 -0
  366. package/dist/system-context/prompts/deepseek.js.map +1 -0
  367. package/dist/system-context/prompts/default.d.ts +2 -0
  368. package/dist/system-context/prompts/default.d.ts.map +1 -0
  369. package/dist/system-context/prompts/default.js +43 -0
  370. package/dist/system-context/prompts/default.js.map +1 -0
  371. package/dist/system-context/prompts/gemini.d.ts +2 -0
  372. package/dist/system-context/prompts/gemini.d.ts.map +1 -0
  373. package/dist/system-context/prompts/gemini.js +38 -0
  374. package/dist/system-context/prompts/gemini.js.map +1 -0
  375. package/dist/system-context/prompts/index.d.ts +3 -0
  376. package/dist/system-context/prompts/index.d.ts.map +1 -0
  377. package/dist/system-context/prompts/index.js +24 -0
  378. package/dist/system-context/prompts/index.js.map +1 -0
  379. package/dist/system-context/prompts/openai.d.ts +2 -0
  380. package/dist/system-context/prompts/openai.d.ts.map +1 -0
  381. package/dist/system-context/prompts/openai.js +31 -0
  382. package/dist/system-context/prompts/openai.js.map +1 -0
  383. package/dist/system-context/prompts/system-prompt-source.d.ts +3 -0
  384. package/dist/system-context/prompts/system-prompt-source.d.ts.map +1 -0
  385. package/dist/system-context/prompts/system-prompt-source.js +21 -0
  386. package/dist/system-context/prompts/system-prompt-source.js.map +1 -0
  387. package/dist/system-context/registry.d.ts +3 -0
  388. package/dist/system-context/registry.d.ts.map +1 -0
  389. package/dist/system-context/registry.js +73 -0
  390. package/dist/system-context/registry.js.map +1 -0
  391. package/dist/system-context/sources/agent-source.d.ts +14 -0
  392. package/dist/system-context/sources/agent-source.d.ts.map +1 -0
  393. package/dist/system-context/sources/agent-source.js +50 -0
  394. package/dist/system-context/sources/agent-source.js.map +1 -0
  395. package/dist/system-context/sources/date-source.d.ts +7 -0
  396. package/dist/system-context/sources/date-source.d.ts.map +1 -0
  397. package/dist/system-context/sources/date-source.js +26 -0
  398. package/dist/system-context/sources/date-source.js.map +1 -0
  399. package/dist/system-context/sources/instructions-source.d.ts +8 -0
  400. package/dist/system-context/sources/instructions-source.d.ts.map +1 -0
  401. package/dist/system-context/sources/instructions-source.js +50 -0
  402. package/dist/system-context/sources/instructions-source.js.map +1 -0
  403. package/dist/system-context/sources/skill-guidance-source.d.ts +7 -0
  404. package/dist/system-context/sources/skill-guidance-source.d.ts.map +1 -0
  405. package/dist/system-context/sources/skill-guidance-source.js +41 -0
  406. package/dist/system-context/sources/skill-guidance-source.js.map +1 -0
  407. package/dist/system-context/sources/workspace-source.d.ts +10 -0
  408. package/dist/system-context/sources/workspace-source.d.ts.map +1 -0
  409. package/dist/system-context/sources/workspace-source.js +29 -0
  410. package/dist/system-context/sources/workspace-source.js.map +1 -0
  411. package/dist/system-context/types.d.ts +37 -0
  412. package/dist/system-context/types.d.ts.map +1 -0
  413. package/dist/system-context/types.js +2 -0
  414. package/dist/system-context/types.js.map +1 -0
  415. package/dist/tool/arity.d.ts +22 -0
  416. package/dist/tool/arity.d.ts.map +1 -0
  417. package/dist/tool/arity.js +96 -0
  418. package/dist/tool/arity.js.map +1 -0
  419. package/dist/tool/bridge.d.ts +7 -0
  420. package/dist/tool/bridge.d.ts.map +1 -0
  421. package/dist/tool/bridge.js +48 -0
  422. package/dist/tool/bridge.js.map +1 -0
  423. package/dist/tool/context.d.ts +43 -0
  424. package/dist/tool/context.d.ts.map +1 -0
  425. package/dist/tool/context.js +2 -0
  426. package/dist/tool/context.js.map +1 -0
  427. package/dist/tool/define-tool.d.ts +45 -0
  428. package/dist/tool/define-tool.d.ts.map +1 -0
  429. package/dist/tool/define-tool.js +120 -0
  430. package/dist/tool/define-tool.js.map +1 -0
  431. package/dist/tool/definitions.d.ts +22 -0
  432. package/dist/tool/definitions.d.ts.map +1 -0
  433. package/dist/tool/definitions.js +2 -0
  434. package/dist/tool/definitions.js.map +1 -0
  435. package/dist/tool/description-lint.d.ts +25 -0
  436. package/dist/tool/description-lint.d.ts.map +1 -0
  437. package/dist/tool/description-lint.js +90 -0
  438. package/dist/tool/description-lint.js.map +1 -0
  439. package/dist/tool/diff.d.ts +7 -0
  440. package/dist/tool/diff.d.ts.map +1 -0
  441. package/dist/tool/diff.js +26 -0
  442. package/dist/tool/diff.js.map +1 -0
  443. package/dist/tool/domain.d.ts +39 -0
  444. package/dist/tool/domain.d.ts.map +1 -0
  445. package/dist/tool/domain.js +20 -0
  446. package/dist/tool/domain.js.map +1 -0
  447. package/dist/tool/file-history.d.ts +43 -0
  448. package/dist/tool/file-history.d.ts.map +1 -0
  449. package/dist/tool/file-history.js +55 -0
  450. package/dist/tool/file-history.js.map +1 -0
  451. package/dist/tool/file-tools.d.ts +51 -0
  452. package/dist/tool/file-tools.d.ts.map +1 -0
  453. package/dist/tool/file-tools.js +534 -0
  454. package/dist/tool/file-tools.js.map +1 -0
  455. package/dist/tool/git-tools.d.ts +8 -0
  456. package/dist/tool/git-tools.d.ts.map +1 -0
  457. package/dist/tool/git-tools.js +114 -0
  458. package/dist/tool/git-tools.js.map +1 -0
  459. package/dist/tool/history-hook.d.ts +4 -0
  460. package/dist/tool/history-hook.d.ts.map +1 -0
  461. package/dist/tool/history-hook.js +62 -0
  462. package/dist/tool/history-hook.js.map +1 -0
  463. package/dist/tool/image-tools.d.ts +11 -0
  464. package/dist/tool/image-tools.d.ts.map +1 -0
  465. package/dist/tool/image-tools.js +55 -0
  466. package/dist/tool/image-tools.js.map +1 -0
  467. package/dist/tool/in-memory-tool-registry.d.ts +13 -0
  468. package/dist/tool/in-memory-tool-registry.d.ts.map +1 -0
  469. package/dist/tool/in-memory-tool-registry.js +39 -0
  470. package/dist/tool/in-memory-tool-registry.js.map +1 -0
  471. package/dist/tool/index.d.ts +45 -0
  472. package/dist/tool/index.d.ts.map +1 -0
  473. package/dist/tool/index.js +33 -0
  474. package/dist/tool/index.js.map +1 -0
  475. package/dist/tool/json-schema.d.ts +22 -0
  476. package/dist/tool/json-schema.d.ts.map +1 -0
  477. package/dist/tool/json-schema.js +2 -0
  478. package/dist/tool/json-schema.js.map +1 -0
  479. package/dist/tool/lazy-registry.d.ts +23 -0
  480. package/dist/tool/lazy-registry.d.ts.map +1 -0
  481. package/dist/tool/lazy-registry.js +64 -0
  482. package/dist/tool/lazy-registry.js.map +1 -0
  483. package/dist/tool/policy.d.ts +5 -0
  484. package/dist/tool/policy.d.ts.map +1 -0
  485. package/dist/tool/policy.js +2 -0
  486. package/dist/tool/policy.js.map +1 -0
  487. package/dist/tool/provider-helpers.d.ts +31 -0
  488. package/dist/tool/provider-helpers.d.ts.map +1 -0
  489. package/dist/tool/provider-helpers.js +54 -0
  490. package/dist/tool/provider-helpers.js.map +1 -0
  491. package/dist/tool/provider.d.ts +80 -0
  492. package/dist/tool/provider.d.ts.map +1 -0
  493. package/dist/tool/provider.js +96 -0
  494. package/dist/tool/provider.js.map +1 -0
  495. package/dist/tool/providers/agent-provider.d.ts +26 -0
  496. package/dist/tool/providers/agent-provider.d.ts.map +1 -0
  497. package/dist/tool/providers/agent-provider.js +42 -0
  498. package/dist/tool/providers/agent-provider.js.map +1 -0
  499. package/dist/tool/providers/builtin-provider.d.ts +28 -0
  500. package/dist/tool/providers/builtin-provider.d.ts.map +1 -0
  501. package/dist/tool/providers/builtin-provider.js +67 -0
  502. package/dist/tool/providers/builtin-provider.js.map +1 -0
  503. package/dist/tool/providers/file-loader.d.ts +47 -0
  504. package/dist/tool/providers/file-loader.d.ts.map +1 -0
  505. package/dist/tool/providers/file-loader.js +120 -0
  506. package/dist/tool/providers/file-loader.js.map +1 -0
  507. package/dist/tool/providers/index.d.ts +8 -0
  508. package/dist/tool/providers/index.d.ts.map +1 -0
  509. package/dist/tool/providers/index.js +8 -0
  510. package/dist/tool/providers/index.js.map +1 -0
  511. package/dist/tool/providers/skill-provider.d.ts +23 -0
  512. package/dist/tool/providers/skill-provider.d.ts.map +1 -0
  513. package/dist/tool/providers/skill-provider.js +28 -0
  514. package/dist/tool/providers/skill-provider.js.map +1 -0
  515. package/dist/tool/question-tool.d.ts +15 -0
  516. package/dist/tool/question-tool.d.ts.map +1 -0
  517. package/dist/tool/question-tool.js +51 -0
  518. package/dist/tool/question-tool.js.map +1 -0
  519. package/dist/tool/read-tracker.d.ts +8 -0
  520. package/dist/tool/read-tracker.d.ts.map +1 -0
  521. package/dist/tool/read-tracker.js +33 -0
  522. package/dist/tool/read-tracker.js.map +1 -0
  523. package/dist/tool/registry.d.ts +58 -0
  524. package/dist/tool/registry.d.ts.map +1 -0
  525. package/dist/tool/registry.js +128 -0
  526. package/dist/tool/registry.js.map +1 -0
  527. package/dist/tool/runtime.d.ts +59 -0
  528. package/dist/tool/runtime.d.ts.map +1 -0
  529. package/dist/tool/runtime.js +108 -0
  530. package/dist/tool/runtime.js.map +1 -0
  531. package/dist/tool/sandbox.d.ts +12 -0
  532. package/dist/tool/sandbox.d.ts.map +1 -0
  533. package/dist/tool/sandbox.js +72 -0
  534. package/dist/tool/sandbox.js.map +1 -0
  535. package/dist/tool/search-tools.d.ts +6 -0
  536. package/dist/tool/search-tools.d.ts.map +1 -0
  537. package/dist/tool/search-tools.js +118 -0
  538. package/dist/tool/search-tools.js.map +1 -0
  539. package/dist/tool/shell-tool.d.ts +19 -0
  540. package/dist/tool/shell-tool.d.ts.map +1 -0
  541. package/dist/tool/shell-tool.js +139 -0
  542. package/dist/tool/shell-tool.js.map +1 -0
  543. package/dist/tool/todo-tool.d.ts +2 -0
  544. package/dist/tool/todo-tool.d.ts.map +1 -0
  545. package/dist/tool/todo-tool.js +121 -0
  546. package/dist/tool/todo-tool.js.map +1 -0
  547. package/dist/tool/tool-registry-types.d.ts +14 -0
  548. package/dist/tool/tool-registry-types.d.ts.map +1 -0
  549. package/dist/tool/tool-registry-types.js +2 -0
  550. package/dist/tool/tool-registry-types.js.map +1 -0
  551. package/dist/tool/validate.d.ts +9 -0
  552. package/dist/tool/validate.d.ts.map +1 -0
  553. package/dist/tool/validate.js +26 -0
  554. package/dist/tool/validate.js.map +1 -0
  555. package/dist/tool/web-search-tool.d.ts +24 -0
  556. package/dist/tool/web-search-tool.d.ts.map +1 -0
  557. package/dist/tool/web-search-tool.js +66 -0
  558. package/dist/tool/web-search-tool.js.map +1 -0
  559. package/dist/tool/web-tools.d.ts +10 -0
  560. package/dist/tool/web-tools.d.ts.map +1 -0
  561. package/dist/tool/web-tools.js +61 -0
  562. package/dist/tool/web-tools.js.map +1 -0
  563. package/dist/tracer.d.ts +21 -0
  564. package/dist/tracer.d.ts.map +1 -0
  565. package/dist/tracer.js +62 -0
  566. package/dist/tracer.js.map +1 -0
  567. package/dist/workspace.d.ts +33 -0
  568. package/dist/workspace.d.ts.map +1 -0
  569. package/dist/workspace.js +135 -0
  570. package/dist/workspace.js.map +1 -0
  571. package/dist/yaml-frontmatter.d.ts +5 -0
  572. package/dist/yaml-frontmatter.d.ts.map +1 -0
  573. package/dist/yaml-frontmatter.js +58 -0
  574. package/dist/yaml-frontmatter.js.map +1 -0
  575. package/package.json +108 -0
@@ -0,0 +1,54 @@
1
+ import { ToolProviderRegistry } from "../tool/provider.js";
2
+ import { BuiltinToolProvider } from "../tool/providers/builtin-provider.js";
3
+ /**
4
+ * Create a ToolProviderRegistry with all built-in providers.
5
+ *
6
+ * This is the main entry point for setting up the tool system.
7
+ * It creates:
8
+ * 1. BuiltinToolProvider (coding tools)
9
+ * 2. User tools from .vnt/tools/ (if any)
10
+ */
11
+ export async function createToolProviderRegistry(config) {
12
+ const registry = new ToolProviderRegistry();
13
+ // 1. Register built-in coding tools
14
+ const builtinProvider = new BuiltinToolProvider({
15
+ workspaceRoot: config.workspaceRoot,
16
+ shell: config.shell,
17
+ webSearchApiKey: config.webSearchApiKey,
18
+ });
19
+ registry.registerProvider(builtinProvider);
20
+ // 2. Load user tools from .vnt/tools/
21
+ try {
22
+ const { ToolFileLoader } = await import("../tool/providers/file-loader.js");
23
+ const loader = new ToolFileLoader();
24
+ const userTools = await loader.discover(config.workspaceRoot);
25
+ if (userTools.tools.length > 0) {
26
+ registry.registerProvider(userTools);
27
+ }
28
+ }
29
+ catch {
30
+ // User tools directory doesn't exist, ignore
31
+ }
32
+ return registry;
33
+ }
34
+ /**
35
+ * Create a custom ToolProvider from a list of tools.
36
+ */
37
+ export function createToolProvider(id, name, tools) {
38
+ return {
39
+ id,
40
+ name,
41
+ tools,
42
+ register: () => { },
43
+ unregister: () => { },
44
+ };
45
+ }
46
+ /**
47
+ * Register tools from a ToolProviderRegistry into an AgentKernel.
48
+ */
49
+ export function registerProviderTools(kernel, registry) {
50
+ for (const tool of registry.getAllTools()) {
51
+ kernel.registerTool(tool);
52
+ }
53
+ }
54
+ //# sourceMappingURL=provider-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-helpers.js","sourceRoot":"","sources":["../../src/tool/provider-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAK5E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAShD;IACC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE5C,oCAAoC;IACpC,MAAM,eAAe,GAAG,IAAI,mBAAmB,CAAC;QAC9C,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IACH,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAE3C,sCAAsC;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAU,EACV,IAAY,EACZ,KAAuB;IAEvB,OAAO;QACL,EAAE;QACF,IAAI;QACJ,KAAK;QACL,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;KACrB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAmB,EACnB,QAA8B;IAE9B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -0,0 +1,80 @@
1
+ import type { ToolDefinition } from "./definitions.js";
2
+ import type { ToolRegistry } from "./registry.js";
3
+ /**
4
+ * ToolProvider — Interface for providing tools to the kernel.
5
+ *
6
+ * Built-in tools (coding) use BuiltinToolProvider.
7
+ * User tools use ToolFileProvider.
8
+ * MCP tools use McpToolProvider.
9
+ * Plugin tools use PluginToolProvider.
10
+ */
11
+ export interface ToolProvider {
12
+ readonly id: string;
13
+ readonly name: string;
14
+ readonly description?: string;
15
+ /**
16
+ * Get all tools provided by this provider.
17
+ * Called during registration to populate the registry.
18
+ */
19
+ readonly tools: ToolDefinition[];
20
+ /**
21
+ * Register all tools into the given registry.
22
+ * Called once when the provider is registered.
23
+ */
24
+ register(registry: ToolRegistry): void;
25
+ /**
26
+ * Unregister all tools from the given registry.
27
+ * Called when the provider is removed.
28
+ */
29
+ unregister?(registry: ToolRegistry): void;
30
+ /**
31
+ * Optional: refresh tools from external source (e.g., MCP).
32
+ * Called when external tools change.
33
+ */
34
+ refresh?(): Promise<void>;
35
+ }
36
+ /**
37
+ * ToolProviderRegistry — Manages multiple ToolProviders.
38
+ * Single source of truth for all available tools.
39
+ */
40
+ export declare class ToolProviderRegistry {
41
+ private readonly providers;
42
+ private readonly tools;
43
+ /**
44
+ * Register a tool provider and all its tools.
45
+ */
46
+ registerProvider(provider: ToolProvider): void;
47
+ /**
48
+ * Unregister a tool provider and remove all its tools.
49
+ */
50
+ unregisterProvider(id: string): void;
51
+ /**
52
+ * Get a tool provider by ID.
53
+ */
54
+ getProvider(id: string): ToolProvider | undefined;
55
+ /**
56
+ * List all registered providers.
57
+ */
58
+ listProviders(): ToolProvider[];
59
+ /**
60
+ * Get all tools from all providers.
61
+ */
62
+ getAllTools(): ToolDefinition[];
63
+ /**
64
+ * Get a tool by ID.
65
+ */
66
+ getTool(id: string): ToolDefinition | undefined;
67
+ /**
68
+ * Check if a tool exists.
69
+ */
70
+ hasTool(id: string): boolean;
71
+ /**
72
+ * Refresh a specific provider (e.g., MCP tools changed).
73
+ */
74
+ refreshProvider(id: string): Promise<void>;
75
+ /**
76
+ * Get tool count.
77
+ */
78
+ count(): number;
79
+ }
80
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/tool/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAEvC;;;OAGG;IACH,UAAU,CAAC,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAE1C;;;OAGG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAE3D;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAgB9C;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAepC;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD;;OAEG;IACH,aAAa,IAAI,YAAY,EAAE;IAI/B;;OAEG;IACH,WAAW,IAAI,cAAc,EAAE;IAI/B;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI/C;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI5B;;OAEG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBhD;;OAEG;IACH,KAAK,IAAI,MAAM;CAGhB"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * ToolProviderRegistry — Manages multiple ToolProviders.
3
+ * Single source of truth for all available tools.
4
+ */
5
+ export class ToolProviderRegistry {
6
+ providers = new Map();
7
+ tools = new Map();
8
+ /**
9
+ * Register a tool provider and all its tools.
10
+ */
11
+ registerProvider(provider) {
12
+ if (this.providers.has(provider.id)) {
13
+ throw new Error(`ToolProvider "${provider.id}" already registered`);
14
+ }
15
+ this.providers.set(provider.id, provider);
16
+ for (const tool of provider.tools) {
17
+ if (this.tools.has(tool.id)) {
18
+ // Workspace/global tools override built-in tools
19
+ console.log(`[ToolProvider] Overriding tool "${tool.id}" (provider: ${provider.id})`);
20
+ }
21
+ this.tools.set(tool.id, tool);
22
+ }
23
+ }
24
+ /**
25
+ * Unregister a tool provider and remove all its tools.
26
+ */
27
+ unregisterProvider(id) {
28
+ const provider = this.providers.get(id);
29
+ if (!provider)
30
+ return;
31
+ // Remove tools that belong to this provider
32
+ for (const tool of provider.tools) {
33
+ if (this.tools.get(tool.id) === tool) {
34
+ this.tools.delete(tool.id);
35
+ }
36
+ }
37
+ provider.unregister?.(undefined);
38
+ this.providers.delete(id);
39
+ }
40
+ /**
41
+ * Get a tool provider by ID.
42
+ */
43
+ getProvider(id) {
44
+ return this.providers.get(id);
45
+ }
46
+ /**
47
+ * List all registered providers.
48
+ */
49
+ listProviders() {
50
+ return [...this.providers.values()];
51
+ }
52
+ /**
53
+ * Get all tools from all providers.
54
+ */
55
+ getAllTools() {
56
+ return [...this.tools.values()];
57
+ }
58
+ /**
59
+ * Get a tool by ID.
60
+ */
61
+ getTool(id) {
62
+ return this.tools.get(id);
63
+ }
64
+ /**
65
+ * Check if a tool exists.
66
+ */
67
+ hasTool(id) {
68
+ return this.tools.has(id);
69
+ }
70
+ /**
71
+ * Refresh a specific provider (e.g., MCP tools changed).
72
+ */
73
+ async refreshProvider(id) {
74
+ const provider = this.providers.get(id);
75
+ if (!provider?.refresh)
76
+ return;
77
+ // Remove old tools from this provider
78
+ for (const tool of provider.tools) {
79
+ if (this.tools.get(tool.id) === tool) {
80
+ this.tools.delete(tool.id);
81
+ }
82
+ }
83
+ // Refresh and re-register
84
+ await provider.refresh();
85
+ for (const tool of provider.tools) {
86
+ this.tools.set(tool.id, tool);
87
+ }
88
+ }
89
+ /**
90
+ * Get tool count.
91
+ */
92
+ count() {
93
+ return this.tools.size;
94
+ }
95
+ }
96
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/tool/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { ToolProvider } from "../provider.js";
2
+ import type { ToolDefinition } from "../definitions.js";
3
+ import type { AgentKernel } from "../../kernel/kernel.js";
4
+ import type { ToolRegistry } from "../registry.js";
5
+ /**
6
+ * AgentToolProvider — Provides agent-related tools.
7
+ *
8
+ * Tools are lazily created after the kernel is initialized
9
+ * to avoid circular dependencies.
10
+ */
11
+ export declare class AgentToolProvider implements ToolProvider {
12
+ readonly id = "agents";
13
+ readonly name = "Agent Tools";
14
+ readonly description = "Agent management tools: spawn, delegate, list, create";
15
+ private kernel;
16
+ private _tools;
17
+ /**
18
+ * Set the kernel instance (call after kernel is created).
19
+ */
20
+ setKernel(kernel: AgentKernel): void;
21
+ get tools(): ToolDefinition[];
22
+ private createTools;
23
+ register(_registry: ToolRegistry): void;
24
+ unregister(_registry: ToolRegistry): void;
25
+ }
26
+ //# sourceMappingURL=agent-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-provider.d.ts","sourceRoot":"","sources":["../../../src/tool/providers/agent-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,EAAE,YAAY;IACvB,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,2DAA2D;IAE/E,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAwB;IAEtC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAKpC,IAAI,KAAK,IAAI,cAAc,EAAE,CAE5B;IAED,OAAO,CAAC,WAAW;IAanB,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIvC,UAAU,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;CAG1C"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * AgentToolProvider — Provides agent-related tools.
3
+ *
4
+ * Tools are lazily created after the kernel is initialized
5
+ * to avoid circular dependencies.
6
+ */
7
+ export class AgentToolProvider {
8
+ id = "agents";
9
+ name = "Agent Tools";
10
+ description = "Agent management tools: spawn, delegate, list, create";
11
+ kernel = null;
12
+ _tools = [];
13
+ /**
14
+ * Set the kernel instance (call after kernel is created).
15
+ */
16
+ setKernel(kernel) {
17
+ this.kernel = kernel;
18
+ this._tools = this.createTools();
19
+ }
20
+ get tools() {
21
+ return this._tools;
22
+ }
23
+ createTools() {
24
+ if (!this.kernel)
25
+ return [];
26
+ // Use the factory functions directly - they're already exported
27
+ // Lazy import to avoid circular dependency at module level
28
+ // The circular dependency is: kernel -> providers -> agent tools -> kernel
29
+ // We break it by passing kernel as a parameter, not importing kernel
30
+ return [
31
+ // We'll use a simpler approach - just return empty and let the composition root handle it
32
+ // The AgentToolProvider is primarily for discovery, not tool creation
33
+ ];
34
+ }
35
+ register(_registry) {
36
+ // Registration is handled by ToolProviderRegistry
37
+ }
38
+ unregister(_registry) {
39
+ this._tools = [];
40
+ }
41
+ }
42
+ //# sourceMappingURL=agent-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-provider.js","sourceRoot":"","sources":["../../../src/tool/providers/agent-provider.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IACnB,EAAE,GAAG,QAAQ,CAAC;IACd,IAAI,GAAG,aAAa,CAAC;IACrB,WAAW,GAAG,uDAAuD,CAAC;IAEvE,MAAM,GAAuB,IAAI,CAAC;IAClC,MAAM,GAAqB,EAAE,CAAC;IAEtC;;OAEG;IACH,SAAS,CAAC,MAAmB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAE5B,gEAAgE;QAChE,2DAA2D;QAC3D,2EAA2E;QAC3E,qEAAqE;QACrE,OAAO;QACL,0FAA0F;QAC1F,sEAAsE;SACvE,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,SAAuB;QAC9B,kDAAkD;IACpD,CAAC;IAED,UAAU,CAAC,SAAuB;QAChC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import type { ToolProvider } from "../provider.js";
2
+ import type { ToolDefinition } from "../definitions.js";
3
+ import type { ShellToolConfig } from "../shell-tool.js";
4
+ import type { ToolRegistry } from "../registry.js";
5
+ export interface BuiltinToolConfig {
6
+ workspaceRoot: string | (() => string);
7
+ shell: ShellToolConfig;
8
+ webSearchApiKey?: string | (() => string);
9
+ }
10
+ /**
11
+ * BuiltinToolProvider — Provides all built-in coding tools.
12
+ *
13
+ * These tools are always available and can be overridden
14
+ * by user tools in .vnt/tools/ or ~/.vnt/tools/.
15
+ */
16
+ export declare class BuiltinToolProvider implements ToolProvider {
17
+ readonly id = "builtin";
18
+ readonly name = "Built-in Tools";
19
+ readonly description = "Core coding tools: file operations, shell, search, git, web";
20
+ private _tools;
21
+ private readonly config;
22
+ constructor(config: BuiltinToolConfig);
23
+ get tools(): ToolDefinition[];
24
+ private createTools;
25
+ register(_registry: ToolRegistry): void;
26
+ unregister(_registry: ToolRegistry): void;
27
+ }
28
+ //# sourceMappingURL=builtin-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-provider.d.ts","sourceRoot":"","sources":["../../../src/tool/providers/builtin-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACvC,KAAK,EAAE,eAAe,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;CAC3C;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,QAAQ,CAAC,EAAE,aAAa;IACxB,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,iEAAiE;IAErF,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,MAAM,EAAE,iBAAiB;IAIrC,IAAI,KAAK,IAAI,cAAc,EAAE,CAK5B;IAED,OAAO,CAAC,WAAW;IAqCnB,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIvC,UAAU,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;CAG1C"}
@@ -0,0 +1,67 @@
1
+ import { createReadFileTool, createWriteFileTool, createEditFileTool, createApplyPatchTool, createListDirectoryTool } from "../file-tools.js";
2
+ import { createShellTool } from "../shell-tool.js";
3
+ import { createGlobFilesTool, createGrepFilesTool } from "../search-tools.js";
4
+ import { createWebFetchTool } from "../web-tools.js";
5
+ import { createWebSearchTool } from "../web-search-tool.js";
6
+ import { createGitStatusTool, createGitDiffTool, createGitLogTool, createGitCommitTool } from "../git-tools.js";
7
+ import { createTodoWriteTool } from "../todo-tool.js";
8
+ import { createQuestionTool } from "../question-tool.js";
9
+ import { createReadImageTool } from "../image-tools.js";
10
+ /**
11
+ * BuiltinToolProvider — Provides all built-in coding tools.
12
+ *
13
+ * These tools are always available and can be overridden
14
+ * by user tools in .vnt/tools/ or ~/.vnt/tools/.
15
+ */
16
+ export class BuiltinToolProvider {
17
+ id = "builtin";
18
+ name = "Built-in Tools";
19
+ description = "Core coding tools: file operations, shell, search, git, web";
20
+ _tools = null;
21
+ config;
22
+ constructor(config) {
23
+ this.config = config;
24
+ }
25
+ get tools() {
26
+ if (this._tools === null) {
27
+ this._tools = this.createTools();
28
+ }
29
+ return this._tools;
30
+ }
31
+ createTools() {
32
+ const { workspaceRoot, shell, webSearchApiKey } = this.config;
33
+ const tools = [
34
+ // File tools
35
+ createReadFileTool(workspaceRoot),
36
+ createWriteFileTool(workspaceRoot),
37
+ createEditFileTool(workspaceRoot),
38
+ createApplyPatchTool(workspaceRoot),
39
+ createListDirectoryTool(workspaceRoot),
40
+ // Shell tool
41
+ createShellTool(shell),
42
+ // Search tools
43
+ createGlobFilesTool(workspaceRoot),
44
+ createGrepFilesTool(workspaceRoot),
45
+ // Web tools
46
+ createWebFetchTool(),
47
+ ...(webSearchApiKey ? [createWebSearchTool({ apiKey: webSearchApiKey })] : []),
48
+ // Git tools
49
+ createGitStatusTool(workspaceRoot),
50
+ createGitDiffTool(workspaceRoot),
51
+ createGitLogTool(workspaceRoot),
52
+ createGitCommitTool(workspaceRoot),
53
+ // Utility tools
54
+ createTodoWriteTool(),
55
+ createQuestionTool(),
56
+ createReadImageTool(),
57
+ ];
58
+ return tools;
59
+ }
60
+ register(_registry) {
61
+ // Registration is handled by ToolProviderRegistry
62
+ }
63
+ unregister(_registry) {
64
+ // Cleanup is handled by ToolProviderRegistry
65
+ }
66
+ }
67
+ //# sourceMappingURL=builtin-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-provider.js","sourceRoot":"","sources":["../../../src/tool/providers/builtin-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC9I,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAChH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAUxD;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IACrB,EAAE,GAAG,SAAS,CAAC;IACf,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,6DAA6D,CAAC;IAE7E,MAAM,GAA4B,IAAI,CAAC;IAC9B,MAAM,CAAoB;IAE3C,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9D,MAAM,KAAK,GAAqB;YAC9B,aAAa;YACb,kBAAkB,CAAC,aAAa,CAAC;YACjC,mBAAmB,CAAC,aAAa,CAAC;YAClC,kBAAkB,CAAC,aAAa,CAAC;YACjC,oBAAoB,CAAC,aAAa,CAAC;YACnC,uBAAuB,CAAC,aAAa,CAAC;YAEtC,aAAa;YACb,eAAe,CAAC,KAAK,CAAC;YAEtB,eAAe;YACf,mBAAmB,CAAC,aAAa,CAAC;YAClC,mBAAmB,CAAC,aAAa,CAAC;YAElC,YAAY;YACZ,kBAAkB,EAAE;YACpB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE9E,YAAY;YACZ,mBAAmB,CAAC,aAAa,CAAC;YAClC,iBAAiB,CAAC,aAAa,CAAC;YAChC,gBAAgB,CAAC,aAAa,CAAC;YAC/B,mBAAmB,CAAC,aAAa,CAAC;YAElC,gBAAgB;YAChB,mBAAmB,EAAE;YACrB,kBAAkB,EAAE;YACpB,mBAAmB,EAAE;SACtB,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,SAAuB;QAC9B,kDAAkD;IACpD,CAAC;IAED,UAAU,CAAC,SAAuB;QAChC,6CAA6C;IAC/C,CAAC;CACF"}
@@ -0,0 +1,47 @@
1
+ import type { ToolProvider } from "../provider.js";
2
+ import type { ToolDefinition } from "../definitions.js";
3
+ import type { ToolRegistry } from "../registry.js";
4
+ /**
5
+ * ToolFileProvider — Loads tools from .vnt/tools/ directories.
6
+ *
7
+ * Supports both workspace-local and global tools.
8
+ * Tools can override built-in tools by using the same name.
9
+ */
10
+ export declare class ToolFileProvider implements ToolProvider {
11
+ readonly id: string;
12
+ readonly name: string;
13
+ readonly description = "User-defined tools from .vnt/tools/";
14
+ private _tools;
15
+ constructor(id: string, name: string, tools: ToolDefinition[]);
16
+ get tools(): ToolDefinition[];
17
+ register(_registry: ToolRegistry): void;
18
+ unregister(_registry: ToolRegistry): void;
19
+ }
20
+ /**
21
+ * ToolFileLoader — Discovers and loads tools from .vnt/tools/ directories.
22
+ */
23
+ export declare class ToolFileLoader {
24
+ /**
25
+ * Load tools from a single directory.
26
+ */
27
+ loadFromDirectory(dir: string): Promise<ToolDefinition[]>;
28
+ /**
29
+ * Load a single tool from a file.
30
+ */
31
+ private loadToolFromFile;
32
+ /**
33
+ * Check if a value is a ToolDefinition.
34
+ */
35
+ private isToolDefinition;
36
+ /**
37
+ * Discover tools from workspace and global directories.
38
+ *
39
+ * Discovery order:
40
+ * 1. Workspace-local: .vnt/tools/*.ts
41
+ * 2. Global: ~/.vnt/tools/*.ts
42
+ *
43
+ * Workspace tools override global tools with the same name.
44
+ */
45
+ discover(workspaceRoot: string): Promise<ToolFileProvider>;
46
+ }
47
+ //# sourceMappingURL=file-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-loader.d.ts","sourceRoot":"","sources":["../../../src/tool/providers/file-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,yCAAyC;IAE7D,OAAO,CAAC,MAAM,CAAwB;gBAGpC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,cAAc,EAAE;IAOzB,IAAI,KAAK,IAAI,cAAc,EAAE,CAE5B;IAED,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIvC,UAAU,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;CAG1C;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB;;OAEG;IACG,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA2B/D;;OAEG;YACW,gBAAgB;IAmB9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;;;;;;OAQG;IACG,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAyBjE"}
@@ -0,0 +1,120 @@
1
+ import { readdir } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { pathToFileURL } from "node:url";
4
+ /**
5
+ * ToolFileProvider — Loads tools from .vnt/tools/ directories.
6
+ *
7
+ * Supports both workspace-local and global tools.
8
+ * Tools can override built-in tools by using the same name.
9
+ */
10
+ export class ToolFileProvider {
11
+ id;
12
+ name;
13
+ description = "User-defined tools from .vnt/tools/";
14
+ _tools = [];
15
+ constructor(id, name, tools) {
16
+ this.id = id;
17
+ this.name = name;
18
+ this._tools = tools;
19
+ }
20
+ get tools() {
21
+ return this._tools;
22
+ }
23
+ register(_registry) {
24
+ // Registration is handled by ToolProviderRegistry
25
+ }
26
+ unregister(_registry) {
27
+ this._tools = [];
28
+ }
29
+ }
30
+ /**
31
+ * ToolFileLoader — Discovers and loads tools from .vnt/tools/ directories.
32
+ */
33
+ export class ToolFileLoader {
34
+ /**
35
+ * Load tools from a single directory.
36
+ */
37
+ async loadFromDirectory(dir) {
38
+ const tools = [];
39
+ try {
40
+ const entries = await readdir(dir, { withFileTypes: true });
41
+ for (const entry of entries) {
42
+ if (!entry.isFile())
43
+ continue;
44
+ if (!entry.name.endsWith(".ts") && !entry.name.endsWith(".js"))
45
+ continue;
46
+ const filePath = join(dir, entry.name);
47
+ try {
48
+ const tool = await this.loadToolFromFile(filePath);
49
+ if (tool) {
50
+ tools.push(tool);
51
+ }
52
+ }
53
+ catch (error) {
54
+ console.error(`[ToolFileLoader] Failed to load tool from ${filePath}:`, error);
55
+ }
56
+ }
57
+ }
58
+ catch {
59
+ // Directory doesn't exist, ignore
60
+ }
61
+ return tools;
62
+ }
63
+ /**
64
+ * Load a single tool from a file.
65
+ */
66
+ async loadToolFromFile(filePath) {
67
+ const fileUrl = pathToFileURL(filePath).href;
68
+ const mod = await import(fileUrl);
69
+ // Support default export
70
+ if (mod.default && this.isToolDefinition(mod.default)) {
71
+ return mod.default;
72
+ }
73
+ // Support named exports
74
+ for (const value of Object.values(mod)) {
75
+ if (this.isToolDefinition(value)) {
76
+ return value;
77
+ }
78
+ }
79
+ return null;
80
+ }
81
+ /**
82
+ * Check if a value is a ToolDefinition.
83
+ */
84
+ isToolDefinition(value) {
85
+ return (typeof value === "object" &&
86
+ value !== null &&
87
+ "id" in value &&
88
+ "description" in value &&
89
+ "risk" in value &&
90
+ "execute" in value &&
91
+ typeof value.execute === "function");
92
+ }
93
+ /**
94
+ * Discover tools from workspace and global directories.
95
+ *
96
+ * Discovery order:
97
+ * 1. Workspace-local: .vnt/tools/*.ts
98
+ * 2. Global: ~/.vnt/tools/*.ts
99
+ *
100
+ * Workspace tools override global tools with the same name.
101
+ */
102
+ async discover(workspaceRoot) {
103
+ const globalDir = join(process.env.HOME || process.env.USERPROFILE || "", ".vnt", "tools");
104
+ const workspaceDir = join(workspaceRoot, ".vnt", "tools");
105
+ // Load global tools first
106
+ const globalTools = await this.loadFromDirectory(globalDir);
107
+ // Load workspace tools (overrides global)
108
+ const workspaceTools = await this.loadFromDirectory(workspaceDir);
109
+ // Merge: workspace overrides global by name
110
+ const toolMap = new Map();
111
+ for (const tool of globalTools) {
112
+ toolMap.set(tool.id, tool);
113
+ }
114
+ for (const tool of workspaceTools) {
115
+ toolMap.set(tool.id, tool);
116
+ }
117
+ return new ToolFileProvider("user-tools", "User Tools", [...toolMap.values()]);
118
+ }
119
+ }
120
+ //# sourceMappingURL=file-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-loader.js","sourceRoot":"","sources":["../../../src/tool/providers/file-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { BuiltinToolProvider } from "./builtin-provider.js";
2
+ export type { BuiltinToolConfig } from "./builtin-provider.js";
3
+ export { ToolFileProvider, ToolFileLoader } from "./file-loader.js";
4
+ export { AgentToolProvider } from "./agent-provider.js";
5
+ export { SkillToolProvider } from "./skill-provider.js";
6
+ export { SkillFileLoader, SkillFileProvider } from "../../skill/skill-file-loader.js";
7
+ export { AgentFileLoader, AgentFileProvider } from "../../agent/agent-file-loader.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tool/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { BuiltinToolProvider } from "./builtin-provider.js";
2
+ export { ToolFileProvider, ToolFileLoader } from "./file-loader.js";
3
+ export { AgentToolProvider } from "./agent-provider.js";
4
+ export { SkillToolProvider } from "./skill-provider.js";
5
+ // Re-export from other packages
6
+ export { SkillFileLoader, SkillFileProvider } from "../../skill/skill-file-loader.js";
7
+ export { AgentFileLoader, AgentFileProvider } from "../../agent/agent-file-loader.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tool/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,gCAAgC;AAChC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC"}