@daniel.stefan/metalink 1.3.1

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 (333) hide show
  1. package/README.md +160 -0
  2. package/package.json +96 -0
  3. package/packages/cli/dist/bin/cli.d.ts +3 -0
  4. package/packages/cli/dist/bin/cli.d.ts.map +1 -0
  5. package/packages/cli/dist/bin/cli.js +4 -0
  6. package/packages/cli/dist/bin/cli.js.map +1 -0
  7. package/packages/cli/dist/commands/config/init.d.ts +9 -0
  8. package/packages/cli/dist/commands/config/init.d.ts.map +1 -0
  9. package/packages/cli/dist/commands/config/init.js +38 -0
  10. package/packages/cli/dist/commands/config/init.js.map +1 -0
  11. package/packages/cli/dist/commands/config/validate.d.ts +9 -0
  12. package/packages/cli/dist/commands/config/validate.d.ts.map +1 -0
  13. package/packages/cli/dist/commands/config/validate.js +34 -0
  14. package/packages/cli/dist/commands/config/validate.js.map +1 -0
  15. package/packages/cli/dist/commands/daemon/restart.d.ts +15 -0
  16. package/packages/cli/dist/commands/daemon/restart.d.ts.map +1 -0
  17. package/packages/cli/dist/commands/daemon/restart.js +184 -0
  18. package/packages/cli/dist/commands/daemon/restart.js.map +1 -0
  19. package/packages/cli/dist/commands/daemon/start.d.ts +7 -0
  20. package/packages/cli/dist/commands/daemon/start.d.ts.map +1 -0
  21. package/packages/cli/dist/commands/daemon/start.js +85 -0
  22. package/packages/cli/dist/commands/daemon/start.js.map +1 -0
  23. package/packages/cli/dist/commands/daemon/status.d.ts +7 -0
  24. package/packages/cli/dist/commands/daemon/status.d.ts.map +1 -0
  25. package/packages/cli/dist/commands/daemon/status.js +69 -0
  26. package/packages/cli/dist/commands/daemon/status.js.map +1 -0
  27. package/packages/cli/dist/commands/daemon/stop.d.ts +8 -0
  28. package/packages/cli/dist/commands/daemon/stop.d.ts.map +1 -0
  29. package/packages/cli/dist/commands/daemon/stop.js +77 -0
  30. package/packages/cli/dist/commands/daemon/stop.js.map +1 -0
  31. package/packages/cli/dist/commands/import/mcpm.d.ts +10 -0
  32. package/packages/cli/dist/commands/import/mcpm.d.ts.map +1 -0
  33. package/packages/cli/dist/commands/import/mcpm.js +58 -0
  34. package/packages/cli/dist/commands/import/mcpm.js.map +1 -0
  35. package/packages/cli/dist/commands/safety/add-risky-pattern.d.ts +16 -0
  36. package/packages/cli/dist/commands/safety/add-risky-pattern.d.ts.map +1 -0
  37. package/packages/cli/dist/commands/safety/add-risky-pattern.js +72 -0
  38. package/packages/cli/dist/commands/safety/add-risky-pattern.js.map +1 -0
  39. package/packages/cli/dist/commands/safety/add-risky.d.ts +12 -0
  40. package/packages/cli/dist/commands/safety/add-risky.d.ts.map +1 -0
  41. package/packages/cli/dist/commands/safety/add-risky.js +52 -0
  42. package/packages/cli/dist/commands/safety/add-risky.js.map +1 -0
  43. package/packages/cli/dist/commands/safety/add-safe-pattern.d.ts +16 -0
  44. package/packages/cli/dist/commands/safety/add-safe-pattern.d.ts.map +1 -0
  45. package/packages/cli/dist/commands/safety/add-safe-pattern.js +72 -0
  46. package/packages/cli/dist/commands/safety/add-safe-pattern.js.map +1 -0
  47. package/packages/cli/dist/commands/safety/add-safe.d.ts +12 -0
  48. package/packages/cli/dist/commands/safety/add-safe.d.ts.map +1 -0
  49. package/packages/cli/dist/commands/safety/add-safe.js +52 -0
  50. package/packages/cli/dist/commands/safety/add-safe.js.map +1 -0
  51. package/packages/cli/dist/commands/safety/check.d.ts +9 -0
  52. package/packages/cli/dist/commands/safety/check.d.ts.map +1 -0
  53. package/packages/cli/dist/commands/safety/check.js +36 -0
  54. package/packages/cli/dist/commands/safety/check.js.map +1 -0
  55. package/packages/cli/dist/commands/safety/export.d.ts +10 -0
  56. package/packages/cli/dist/commands/safety/export.d.ts.map +1 -0
  57. package/packages/cli/dist/commands/safety/export.js +48 -0
  58. package/packages/cli/dist/commands/safety/export.js.map +1 -0
  59. package/packages/cli/dist/commands/safety/import.d.ts +12 -0
  60. package/packages/cli/dist/commands/safety/import.d.ts.map +1 -0
  61. package/packages/cli/dist/commands/safety/import.js +78 -0
  62. package/packages/cli/dist/commands/safety/import.js.map +1 -0
  63. package/packages/cli/dist/commands/safety/index.d.ts +8 -0
  64. package/packages/cli/dist/commands/safety/index.d.ts.map +1 -0
  65. package/packages/cli/dist/commands/safety/index.js +46 -0
  66. package/packages/cli/dist/commands/safety/index.js.map +1 -0
  67. package/packages/cli/dist/commands/safety/list.d.ts +6 -0
  68. package/packages/cli/dist/commands/safety/list.d.ts.map +1 -0
  69. package/packages/cli/dist/commands/safety/list.js +77 -0
  70. package/packages/cli/dist/commands/safety/list.js.map +1 -0
  71. package/packages/cli/dist/commands/safety/remove.d.ts +9 -0
  72. package/packages/cli/dist/commands/safety/remove.d.ts.map +1 -0
  73. package/packages/cli/dist/commands/safety/remove.js +46 -0
  74. package/packages/cli/dist/commands/safety/remove.js.map +1 -0
  75. package/packages/cli/dist/commands/safety/reset.d.ts +9 -0
  76. package/packages/cli/dist/commands/safety/reset.d.ts.map +1 -0
  77. package/packages/cli/dist/commands/safety/reset.js +46 -0
  78. package/packages/cli/dist/commands/safety/reset.js.map +1 -0
  79. package/packages/cli/dist/commands/safety/validate.d.ts +9 -0
  80. package/packages/cli/dist/commands/safety/validate.d.ts.map +1 -0
  81. package/packages/cli/dist/commands/safety/validate.js +51 -0
  82. package/packages/cli/dist/commands/safety/validate.js.map +1 -0
  83. package/packages/cli/dist/commands/secret/get.d.ts +9 -0
  84. package/packages/cli/dist/commands/secret/get.d.ts.map +1 -0
  85. package/packages/cli/dist/commands/secret/get.js +26 -0
  86. package/packages/cli/dist/commands/secret/get.js.map +1 -0
  87. package/packages/cli/dist/commands/secret/set.d.ts +10 -0
  88. package/packages/cli/dist/commands/secret/set.d.ts.map +1 -0
  89. package/packages/cli/dist/commands/secret/set.js +22 -0
  90. package/packages/cli/dist/commands/secret/set.js.map +1 -0
  91. package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.d.ts +2 -0
  92. package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.d.ts.map +1 -0
  93. package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.js +234 -0
  94. package/packages/cli/dist/commands/server/__tests__/server-management-e2e.test.js.map +1 -0
  95. package/packages/cli/dist/commands/server/add.d.ts +14 -0
  96. package/packages/cli/dist/commands/server/add.d.ts.map +1 -0
  97. package/packages/cli/dist/commands/server/add.js +86 -0
  98. package/packages/cli/dist/commands/server/add.js.map +1 -0
  99. package/packages/cli/dist/commands/server/available.d.ts +10 -0
  100. package/packages/cli/dist/commands/server/available.d.ts.map +1 -0
  101. package/packages/cli/dist/commands/server/available.js +62 -0
  102. package/packages/cli/dist/commands/server/available.js.map +1 -0
  103. package/packages/cli/dist/commands/server/debug.d.ts +18 -0
  104. package/packages/cli/dist/commands/server/debug.d.ts.map +1 -0
  105. package/packages/cli/dist/commands/server/debug.js +165 -0
  106. package/packages/cli/dist/commands/server/debug.js.map +1 -0
  107. package/packages/cli/dist/commands/server/info.d.ts +13 -0
  108. package/packages/cli/dist/commands/server/info.d.ts.map +1 -0
  109. package/packages/cli/dist/commands/server/info.js +62 -0
  110. package/packages/cli/dist/commands/server/info.js.map +1 -0
  111. package/packages/cli/dist/commands/server/list.d.ts +10 -0
  112. package/packages/cli/dist/commands/server/list.d.ts.map +1 -0
  113. package/packages/cli/dist/commands/server/list.js +105 -0
  114. package/packages/cli/dist/commands/server/list.js.map +1 -0
  115. package/packages/cli/dist/commands/server/refresh-tools.d.ts +13 -0
  116. package/packages/cli/dist/commands/server/refresh-tools.d.ts.map +1 -0
  117. package/packages/cli/dist/commands/server/refresh-tools.js +46 -0
  118. package/packages/cli/dist/commands/server/refresh-tools.js.map +1 -0
  119. package/packages/cli/dist/commands/server/remove.d.ts +12 -0
  120. package/packages/cli/dist/commands/server/remove.d.ts.map +1 -0
  121. package/packages/cli/dist/commands/server/remove.js +39 -0
  122. package/packages/cli/dist/commands/server/remove.js.map +1 -0
  123. package/packages/cli/dist/commands/server/restart.d.ts +9 -0
  124. package/packages/cli/dist/commands/server/restart.d.ts.map +1 -0
  125. package/packages/cli/dist/commands/server/restart.js +30 -0
  126. package/packages/cli/dist/commands/server/restart.js.map +1 -0
  127. package/packages/cli/dist/commands/server/start.d.ts +9 -0
  128. package/packages/cli/dist/commands/server/start.d.ts.map +1 -0
  129. package/packages/cli/dist/commands/server/start.js +37 -0
  130. package/packages/cli/dist/commands/server/start.js.map +1 -0
  131. package/packages/cli/dist/commands/server/status.d.ts +9 -0
  132. package/packages/cli/dist/commands/server/status.d.ts.map +1 -0
  133. package/packages/cli/dist/commands/server/status.js +30 -0
  134. package/packages/cli/dist/commands/server/status.js.map +1 -0
  135. package/packages/cli/dist/commands/server/stop.d.ts +9 -0
  136. package/packages/cli/dist/commands/server/stop.d.ts.map +1 -0
  137. package/packages/cli/dist/commands/server/stop.js +31 -0
  138. package/packages/cli/dist/commands/server/stop.js.map +1 -0
  139. package/packages/cli/dist/commands/server/validate.d.ts +15 -0
  140. package/packages/cli/dist/commands/server/validate.d.ts.map +1 -0
  141. package/packages/cli/dist/commands/server/validate.js +87 -0
  142. package/packages/cli/dist/commands/server/validate.js.map +1 -0
  143. package/packages/cli/dist/commands/stdio.d.ts +36 -0
  144. package/packages/cli/dist/commands/stdio.d.ts.map +1 -0
  145. package/packages/cli/dist/commands/stdio.js +85 -0
  146. package/packages/cli/dist/commands/stdio.js.map +1 -0
  147. package/packages/cli/dist/commands/tool/execute-confirm.d.ts +12 -0
  148. package/packages/cli/dist/commands/tool/execute-confirm.d.ts.map +1 -0
  149. package/packages/cli/dist/commands/tool/execute-confirm.js +98 -0
  150. package/packages/cli/dist/commands/tool/execute-confirm.js.map +1 -0
  151. package/packages/cli/dist/commands/tool/execute.d.ts +12 -0
  152. package/packages/cli/dist/commands/tool/execute.d.ts.map +1 -0
  153. package/packages/cli/dist/commands/tool/execute.js +55 -0
  154. package/packages/cli/dist/commands/tool/execute.js.map +1 -0
  155. package/packages/cli/dist/commands/tool/list.d.ts +13 -0
  156. package/packages/cli/dist/commands/tool/list.d.ts.map +1 -0
  157. package/packages/cli/dist/commands/tool/list.js +91 -0
  158. package/packages/cli/dist/commands/tool/list.js.map +1 -0
  159. package/packages/cli/dist/commands/tool/search.d.ts +12 -0
  160. package/packages/cli/dist/commands/tool/search.d.ts.map +1 -0
  161. package/packages/cli/dist/commands/tool/search.js +87 -0
  162. package/packages/cli/dist/commands/tool/search.js.map +1 -0
  163. package/packages/cli/dist/index.d.ts +2 -0
  164. package/packages/cli/dist/index.d.ts.map +1 -0
  165. package/packages/cli/dist/index.js +9 -0
  166. package/packages/cli/dist/index.js.map +1 -0
  167. package/packages/cli/dist/utils/daemon-checker.d.ts +18 -0
  168. package/packages/cli/dist/utils/daemon-checker.d.ts.map +1 -0
  169. package/packages/cli/dist/utils/daemon-checker.js +69 -0
  170. package/packages/cli/dist/utils/daemon-checker.js.map +1 -0
  171. package/packages/cli/dist/utils/daemon-endpoint.d.ts +7 -0
  172. package/packages/cli/dist/utils/daemon-endpoint.d.ts.map +1 -0
  173. package/packages/cli/dist/utils/daemon-endpoint.js +13 -0
  174. package/packages/cli/dist/utils/daemon-endpoint.js.map +1 -0
  175. package/packages/cli/dist/utils/get-configured-port.d.ts +43 -0
  176. package/packages/cli/dist/utils/get-configured-port.d.ts.map +1 -0
  177. package/packages/cli/dist/utils/get-configured-port.js +141 -0
  178. package/packages/cli/dist/utils/get-configured-port.js.map +1 -0
  179. package/packages/cli/dist/utils/stdio-bridge.d.ts +48 -0
  180. package/packages/cli/dist/utils/stdio-bridge.d.ts.map +1 -0
  181. package/packages/cli/dist/utils/stdio-bridge.js +181 -0
  182. package/packages/cli/dist/utils/stdio-bridge.js.map +1 -0
  183. package/packages/cli/package.json +48 -0
  184. package/packages/core/dist/config/defaults.d.ts +36 -0
  185. package/packages/core/dist/config/defaults.d.ts.map +1 -0
  186. package/packages/core/dist/config/defaults.js +324 -0
  187. package/packages/core/dist/config/defaults.js.map +1 -0
  188. package/packages/core/dist/config/index.d.ts +9 -0
  189. package/packages/core/dist/config/index.d.ts.map +1 -0
  190. package/packages/core/dist/config/index.js +14 -0
  191. package/packages/core/dist/config/index.js.map +1 -0
  192. package/packages/core/dist/config/loader.d.ts +269 -0
  193. package/packages/core/dist/config/loader.d.ts.map +1 -0
  194. package/packages/core/dist/config/loader.js +777 -0
  195. package/packages/core/dist/config/loader.js.map +1 -0
  196. package/packages/core/dist/config/registry.d.ts +212 -0
  197. package/packages/core/dist/config/registry.d.ts.map +1 -0
  198. package/packages/core/dist/config/registry.js +754 -0
  199. package/packages/core/dist/config/registry.js.map +1 -0
  200. package/packages/core/dist/config/schema.d.ts +4352 -0
  201. package/packages/core/dist/config/schema.d.ts.map +1 -0
  202. package/packages/core/dist/config/schema.js +267 -0
  203. package/packages/core/dist/config/schema.js.map +1 -0
  204. package/packages/core/dist/daemon.d.ts +7 -0
  205. package/packages/core/dist/daemon.d.ts.map +1 -0
  206. package/packages/core/dist/daemon.js +116 -0
  207. package/packages/core/dist/daemon.js.map +1 -0
  208. package/packages/core/dist/http-client-retry.d.ts +67 -0
  209. package/packages/core/dist/http-client-retry.d.ts.map +1 -0
  210. package/packages/core/dist/http-client-retry.js +133 -0
  211. package/packages/core/dist/http-client-retry.js.map +1 -0
  212. package/packages/core/dist/http-client-updated.d.ts +147 -0
  213. package/packages/core/dist/http-client-updated.d.ts.map +1 -0
  214. package/packages/core/dist/http-client-updated.js +452 -0
  215. package/packages/core/dist/http-client-updated.js.map +1 -0
  216. package/packages/core/dist/http-client.d.ts +207 -0
  217. package/packages/core/dist/http-client.d.ts.map +1 -0
  218. package/packages/core/dist/http-client.js +704 -0
  219. package/packages/core/dist/http-client.js.map +1 -0
  220. package/packages/core/dist/index.d.ts +13 -0
  221. package/packages/core/dist/index.d.ts.map +1 -0
  222. package/packages/core/dist/index.js +23 -0
  223. package/packages/core/dist/index.js.map +1 -0
  224. package/packages/core/dist/logging/index.d.ts +46 -0
  225. package/packages/core/dist/logging/index.d.ts.map +1 -0
  226. package/packages/core/dist/logging/index.js +74 -0
  227. package/packages/core/dist/logging/index.js.map +1 -0
  228. package/packages/core/dist/metrics/index.d.ts +339 -0
  229. package/packages/core/dist/metrics/index.d.ts.map +1 -0
  230. package/packages/core/dist/metrics/index.js +792 -0
  231. package/packages/core/dist/metrics/index.js.map +1 -0
  232. package/packages/core/dist/plugins/index.d.ts +49 -0
  233. package/packages/core/dist/plugins/index.d.ts.map +1 -0
  234. package/packages/core/dist/plugins/index.js +82 -0
  235. package/packages/core/dist/plugins/index.js.map +1 -0
  236. package/packages/core/dist/secrets/index.d.ts +6 -0
  237. package/packages/core/dist/secrets/index.d.ts.map +1 -0
  238. package/packages/core/dist/secrets/index.js +5 -0
  239. package/packages/core/dist/secrets/index.js.map +1 -0
  240. package/packages/core/dist/secrets/keyring.d.ts +54 -0
  241. package/packages/core/dist/secrets/keyring.d.ts.map +1 -0
  242. package/packages/core/dist/secrets/keyring.js +141 -0
  243. package/packages/core/dist/secrets/keyring.js.map +1 -0
  244. package/packages/core/dist/server/batch-executor.d.ts +83 -0
  245. package/packages/core/dist/server/batch-executor.d.ts.map +1 -0
  246. package/packages/core/dist/server/batch-executor.js +291 -0
  247. package/packages/core/dist/server/batch-executor.js.map +1 -0
  248. package/packages/core/dist/server/circuit-breaker.d.ts +215 -0
  249. package/packages/core/dist/server/circuit-breaker.d.ts.map +1 -0
  250. package/packages/core/dist/server/circuit-breaker.js +330 -0
  251. package/packages/core/dist/server/circuit-breaker.js.map +1 -0
  252. package/packages/core/dist/server/client-detection.d.ts +40 -0
  253. package/packages/core/dist/server/client-detection.d.ts.map +1 -0
  254. package/packages/core/dist/server/client-detection.js +242 -0
  255. package/packages/core/dist/server/client-detection.js.map +1 -0
  256. package/packages/core/dist/server/client-profiles.d.ts +102 -0
  257. package/packages/core/dist/server/client-profiles.d.ts.map +1 -0
  258. package/packages/core/dist/server/client-profiles.js +254 -0
  259. package/packages/core/dist/server/client-profiles.js.map +1 -0
  260. package/packages/core/dist/server/http.d.ts +386 -0
  261. package/packages/core/dist/server/http.d.ts.map +1 -0
  262. package/packages/core/dist/server/http.js +4253 -0
  263. package/packages/core/dist/server/http.js.map +1 -0
  264. package/packages/core/dist/server/index.d.ts +7 -0
  265. package/packages/core/dist/server/index.d.ts.map +1 -0
  266. package/packages/core/dist/server/index.js +6 -0
  267. package/packages/core/dist/server/index.js.map +1 -0
  268. package/packages/core/dist/server/manager.d.ts +458 -0
  269. package/packages/core/dist/server/manager.d.ts.map +1 -0
  270. package/packages/core/dist/server/manager.js +3255 -0
  271. package/packages/core/dist/server/manager.js.map +1 -0
  272. package/packages/core/dist/server/managers/HttpConnectionManager.d.ts +69 -0
  273. package/packages/core/dist/server/managers/HttpConnectionManager.d.ts.map +1 -0
  274. package/packages/core/dist/server/managers/HttpConnectionManager.js +214 -0
  275. package/packages/core/dist/server/managers/HttpConnectionManager.js.map +1 -0
  276. package/packages/core/dist/server/managers/ProcessManager.d.ts +128 -0
  277. package/packages/core/dist/server/managers/ProcessManager.d.ts.map +1 -0
  278. package/packages/core/dist/server/managers/ProcessManager.js +443 -0
  279. package/packages/core/dist/server/managers/ProcessManager.js.map +1 -0
  280. package/packages/core/dist/server/managers/SchemaCacheManager.d.ts +152 -0
  281. package/packages/core/dist/server/managers/SchemaCacheManager.d.ts.map +1 -0
  282. package/packages/core/dist/server/managers/SchemaCacheManager.js +426 -0
  283. package/packages/core/dist/server/managers/SchemaCacheManager.js.map +1 -0
  284. package/packages/core/dist/server/managers/index.d.ts +9 -0
  285. package/packages/core/dist/server/managers/index.d.ts.map +1 -0
  286. package/packages/core/dist/server/managers/index.js +9 -0
  287. package/packages/core/dist/server/managers/index.js.map +1 -0
  288. package/packages/core/dist/server/metrics.d.ts +134 -0
  289. package/packages/core/dist/server/metrics.d.ts.map +1 -0
  290. package/packages/core/dist/server/metrics.js +273 -0
  291. package/packages/core/dist/server/metrics.js.map +1 -0
  292. package/packages/core/dist/server/prompts.d.ts +58 -0
  293. package/packages/core/dist/server/prompts.d.ts.map +1 -0
  294. package/packages/core/dist/server/prompts.js +405 -0
  295. package/packages/core/dist/server/prompts.js.map +1 -0
  296. package/packages/core/dist/server/protocol-versions.d.ts +49 -0
  297. package/packages/core/dist/server/protocol-versions.d.ts.map +1 -0
  298. package/packages/core/dist/server/protocol-versions.js +173 -0
  299. package/packages/core/dist/server/protocol-versions.js.map +1 -0
  300. package/packages/core/dist/server/resources.d.ts +64 -0
  301. package/packages/core/dist/server/resources.d.ts.map +1 -0
  302. package/packages/core/dist/server/resources.js +243 -0
  303. package/packages/core/dist/server/resources.js.map +1 -0
  304. package/packages/core/dist/server/schema-store.d.ts +84 -0
  305. package/packages/core/dist/server/schema-store.d.ts.map +1 -0
  306. package/packages/core/dist/server/schema-store.js +234 -0
  307. package/packages/core/dist/server/schema-store.js.map +1 -0
  308. package/packages/core/dist/server/schema-validator.d.ts +51 -0
  309. package/packages/core/dist/server/schema-validator.d.ts.map +1 -0
  310. package/packages/core/dist/server/schema-validator.js +208 -0
  311. package/packages/core/dist/server/schema-validator.js.map +1 -0
  312. package/packages/core/dist/server/token-calculator.d.ts +44 -0
  313. package/packages/core/dist/server/token-calculator.d.ts.map +1 -0
  314. package/packages/core/dist/server/token-calculator.js +53 -0
  315. package/packages/core/dist/server/token-calculator.js.map +1 -0
  316. package/packages/core/dist/server/types.d.ts +45 -0
  317. package/packages/core/dist/server/types.d.ts.map +1 -0
  318. package/packages/core/dist/server/types.js +5 -0
  319. package/packages/core/dist/server/types.js.map +1 -0
  320. package/packages/core/dist/utils/file-lock.d.ts +73 -0
  321. package/packages/core/dist/utils/file-lock.d.ts.map +1 -0
  322. package/packages/core/dist/utils/file-lock.js +235 -0
  323. package/packages/core/dist/utils/file-lock.js.map +1 -0
  324. package/packages/core/package.json +36 -0
  325. package/packages/dashboard/dist/assets/index-B7hvkCMu.css +1 -0
  326. package/packages/dashboard/dist/assets/index-yZhLPpzr.js +1 -0
  327. package/packages/dashboard/dist/index.html +14 -0
  328. package/packages/dashboard/package.json +24 -0
  329. package/packages/shared/dist/version.d.ts +2 -0
  330. package/packages/shared/dist/version.d.ts.map +1 -0
  331. package/packages/shared/dist/version.js +2 -0
  332. package/packages/shared/dist/version.js.map +1 -0
  333. package/packages/shared/package.json +18 -0
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Schema Validator for MCP Tool Schemas
3
+ *
4
+ * Validates tool input schemas and provides helpful hints for:
5
+ * - Missing required fields
6
+ * - Type mismatches
7
+ * - Invalid JSON Schema constructs
8
+ * - Best practices recommendations
9
+ */
10
+ import type { Tool } from './types.js';
11
+ import type { ToolInfo } from './manager.js';
12
+ export interface ValidationResult {
13
+ valid: boolean;
14
+ errors: ValidationError[];
15
+ warnings: ValidationWarning[];
16
+ hints: string[];
17
+ suggestions?: string[];
18
+ inferredRequired?: string[];
19
+ }
20
+ export interface ValidationError {
21
+ field: string;
22
+ message: string;
23
+ severity: 'error';
24
+ }
25
+ export interface ValidationWarning {
26
+ field: string;
27
+ message: string;
28
+ severity: 'warning';
29
+ }
30
+ /**
31
+ * SchemaValidator - validates tool schemas and provides helpful feedback
32
+ */
33
+ export declare class SchemaValidator {
34
+ /**
35
+ * Validate a tool's schema structure
36
+ * Works with both Tool and ToolInfo types
37
+ */
38
+ validateToolSchema(tool: Tool | ToolInfo): ValidationResult;
39
+ /**
40
+ * Validate an input schema structure
41
+ */
42
+ private validateInputSchema;
43
+ /**
44
+ * Validate input arguments against a schema
45
+ */
46
+ validateArguments(args: Record<string, unknown>, schema: unknown): {
47
+ valid: boolean;
48
+ errors: string[];
49
+ };
50
+ }
51
+ //# sourceMappingURL=schema-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../src/server/schema-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,GAAG,gBAAgB;IA+C3D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoH3B;;OAEG;IACH,iBAAiB,CACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,OAAO,GACd;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CA0CxC"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Schema Validator for MCP Tool Schemas
3
+ *
4
+ * Validates tool input schemas and provides helpful hints for:
5
+ * - Missing required fields
6
+ * - Type mismatches
7
+ * - Invalid JSON Schema constructs
8
+ * - Best practices recommendations
9
+ */
10
+ /**
11
+ * SchemaValidator - validates tool schemas and provides helpful feedback
12
+ */
13
+ export class SchemaValidator {
14
+ /**
15
+ * Validate a tool's schema structure
16
+ * Works with both Tool and ToolInfo types
17
+ */
18
+ validateToolSchema(tool) {
19
+ const errors = [];
20
+ const warnings = [];
21
+ const hints = [];
22
+ // Validate required fields
23
+ if (!tool.name || tool.name.trim() === '') {
24
+ errors.push({
25
+ field: 'name',
26
+ message: 'Tool name is required and cannot be empty',
27
+ severity: 'error',
28
+ });
29
+ }
30
+ if (!tool.description || tool.description.trim() === '') {
31
+ warnings.push({
32
+ field: 'description',
33
+ message: 'Tool description is missing or empty',
34
+ severity: 'warning',
35
+ });
36
+ hints.push('Add a clear description to help users understand what this tool does');
37
+ }
38
+ // Validate inputSchema if present (handle both input_schema and inputSchema)
39
+ const schema = 'input_schema' in tool ? tool.input_schema : tool.inputSchema;
40
+ if (schema) {
41
+ const schemaValidation = this.validateInputSchema(schema);
42
+ errors.push(...schemaValidation.errors);
43
+ warnings.push(...schemaValidation.warnings);
44
+ hints.push(...schemaValidation.hints);
45
+ }
46
+ else {
47
+ warnings.push({
48
+ field: 'input_schema',
49
+ message: 'No input schema defined',
50
+ severity: 'warning',
51
+ });
52
+ hints.push('Define an input schema to provide better validation and auto-completion');
53
+ }
54
+ return {
55
+ valid: errors.length === 0,
56
+ errors,
57
+ warnings,
58
+ hints,
59
+ };
60
+ }
61
+ /**
62
+ * Validate an input schema structure
63
+ */
64
+ validateInputSchema(schema) {
65
+ const errors = [];
66
+ const warnings = [];
67
+ const hints = [];
68
+ if (typeof schema !== 'object' || schema === null) {
69
+ errors.push({
70
+ field: 'input_schema',
71
+ message: 'Input schema must be an object',
72
+ severity: 'error',
73
+ });
74
+ return { errors, warnings, hints };
75
+ }
76
+ const schemaObj = schema;
77
+ // Check for type field
78
+ if (!schemaObj.type) {
79
+ warnings.push({
80
+ field: 'input_schema.type',
81
+ message: 'Schema type is not defined',
82
+ severity: 'warning',
83
+ });
84
+ hints.push('Add "type": "object" to your input schema');
85
+ }
86
+ // Validate properties if present
87
+ if (schemaObj.properties) {
88
+ if (typeof schemaObj.properties !== 'object') {
89
+ errors.push({
90
+ field: 'input_schema.properties',
91
+ message: 'Properties must be an object',
92
+ severity: 'error',
93
+ });
94
+ }
95
+ else {
96
+ const props = schemaObj.properties;
97
+ for (const [key, value] of Object.entries(props)) {
98
+ if (typeof value !== 'object' || value === null) {
99
+ errors.push({
100
+ field: `input_schema.properties.${key}`,
101
+ message: `Property "${key}" must be an object`,
102
+ severity: 'error',
103
+ });
104
+ continue;
105
+ }
106
+ const prop = value;
107
+ // Check for type
108
+ if (!prop.type) {
109
+ warnings.push({
110
+ field: `input_schema.properties.${key}`,
111
+ message: `Property "${key}" is missing a type`,
112
+ severity: 'warning',
113
+ });
114
+ }
115
+ // Check for description
116
+ if (!prop.description) {
117
+ warnings.push({
118
+ field: `input_schema.properties.${key}`,
119
+ message: `Property "${key}" is missing a description`,
120
+ severity: 'warning',
121
+ });
122
+ hints.push(`Add a description for property "${key}" to improve usability`);
123
+ }
124
+ // Check for examples on required fields
125
+ const required = schemaObj.required;
126
+ if (required && required.includes(key) && !prop.example && !prop.default) {
127
+ hints.push(`Consider adding an example or default value for required property "${key}"`);
128
+ }
129
+ }
130
+ }
131
+ }
132
+ // Validate required array if present
133
+ if (schemaObj.required) {
134
+ if (!Array.isArray(schemaObj.required)) {
135
+ errors.push({
136
+ field: 'input_schema.required',
137
+ message: 'Required field must be an array',
138
+ severity: 'error',
139
+ });
140
+ }
141
+ else {
142
+ const required = schemaObj.required;
143
+ const props = schemaObj.properties || {};
144
+ for (const field of required) {
145
+ if (typeof field !== 'string') {
146
+ errors.push({
147
+ field: 'input_schema.required',
148
+ message: 'Required array must contain only strings',
149
+ severity: 'error',
150
+ });
151
+ }
152
+ else if (!props[field]) {
153
+ errors.push({
154
+ field: 'input_schema.required',
155
+ message: `Required field "${field}" is not defined in properties`,
156
+ severity: 'error',
157
+ });
158
+ }
159
+ }
160
+ }
161
+ }
162
+ // Check for additionalProperties
163
+ if (schemaObj.additionalProperties === undefined) {
164
+ hints.push('Consider setting "additionalProperties": false for stricter validation');
165
+ }
166
+ return { errors, warnings, hints };
167
+ }
168
+ /**
169
+ * Validate input arguments against a schema
170
+ */
171
+ validateArguments(args, schema) {
172
+ const errors = [];
173
+ if (typeof schema !== 'object' || schema === null) {
174
+ return { valid: true, errors: [] };
175
+ }
176
+ const schemaObj = schema;
177
+ const required = schemaObj.required || [];
178
+ const properties = schemaObj.properties || {};
179
+ // Check required fields
180
+ for (const field of required) {
181
+ if (!(field in args)) {
182
+ errors.push(`Missing required field: ${field}`);
183
+ }
184
+ }
185
+ // Check field types
186
+ for (const [key, value] of Object.entries(args)) {
187
+ const propSchema = properties[key];
188
+ if (!propSchema) {
189
+ if (schemaObj.additionalProperties === false) {
190
+ errors.push(`Unknown field: ${key}`);
191
+ }
192
+ continue;
193
+ }
194
+ const expectedType = propSchema.type;
195
+ if (expectedType) {
196
+ const actualType = Array.isArray(value) ? 'array' : typeof value;
197
+ if (expectedType !== actualType && !(value === null && expectedType === 'null')) {
198
+ errors.push(`Field "${key}" has type ${actualType}, expected ${expectedType}`);
199
+ }
200
+ }
201
+ }
202
+ return {
203
+ valid: errors.length === 0,
204
+ errors,
205
+ };
206
+ }
207
+ }
208
+ //# sourceMappingURL=schema-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../src/server/schema-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Token estimation utilities for MCP tools
3
+ *
4
+ * Provides rough token count estimates for tool definitions based on:
5
+ * - Tool name length
6
+ * - Description length
7
+ * - JSON schema complexity
8
+ *
9
+ * Estimation uses ~4 characters per token (conservative estimate)
10
+ */
11
+ import type { Tool } from './types.js';
12
+ import type { ToolInfo } from './manager.js';
13
+ /**
14
+ * Estimate tokens for a single tool definition
15
+ *
16
+ * Formula:
17
+ * - Name tokens: ceil(name.length / 4)
18
+ * - Description tokens: ceil(description.length / 4)
19
+ * - Schema tokens: ceil(JSON.stringify(schema).length / 4)
20
+ *
21
+ * @param tool - MCP tool definition (Tool or ToolInfo)
22
+ * @returns Estimated token count (conservative estimate)
23
+ */
24
+ export declare function estimateToolTokens(tool: Tool | ToolInfo): number;
25
+ /**
26
+ * Calculate total tokens for a list of tools
27
+ *
28
+ * @param tools - Array of MCP tool definitions (Tool[] or ToolInfo[])
29
+ * @returns Total estimated token count
30
+ */
31
+ export declare function calculateTotalTokens(tools: (Tool | ToolInfo)[]): number;
32
+ /**
33
+ * Format token count with comma separators for readability
34
+ *
35
+ * Examples:
36
+ * - 1247 → "1,247"
37
+ * - 34630 → "34,630"
38
+ * - 120 → "120"
39
+ *
40
+ * @param tokens - Token count to format
41
+ * @returns Formatted string with comma separators
42
+ */
43
+ export declare function formatTokens(tokens: number): string;
44
+ //# sourceMappingURL=token-calculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-calculator.d.ts","sourceRoot":"","sources":["../../src/server/token-calculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,GAAG,MAAM,CAShE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,GAAG,MAAM,CAEvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Token estimation utilities for MCP tools
3
+ *
4
+ * Provides rough token count estimates for tool definitions based on:
5
+ * - Tool name length
6
+ * - Description length
7
+ * - JSON schema complexity
8
+ *
9
+ * Estimation uses ~4 characters per token (conservative estimate)
10
+ */
11
+ /**
12
+ * Estimate tokens for a single tool definition
13
+ *
14
+ * Formula:
15
+ * - Name tokens: ceil(name.length / 4)
16
+ * - Description tokens: ceil(description.length / 4)
17
+ * - Schema tokens: ceil(JSON.stringify(schema).length / 4)
18
+ *
19
+ * @param tool - MCP tool definition (Tool or ToolInfo)
20
+ * @returns Estimated token count (conservative estimate)
21
+ */
22
+ export function estimateToolTokens(tool) {
23
+ const nameTokens = Math.ceil(tool.name.length / 4); // ~4 chars per token
24
+ const descTokens = Math.ceil((tool.description || '').length / 4);
25
+ // Handle both input_schema (Tool) and inputSchema (ToolInfo)
26
+ const schema = 'input_schema' in tool ? tool.input_schema : tool.inputSchema;
27
+ const schemaTokens = Math.ceil(JSON.stringify(schema || {}).length / 4);
28
+ return nameTokens + descTokens + schemaTokens;
29
+ }
30
+ /**
31
+ * Calculate total tokens for a list of tools
32
+ *
33
+ * @param tools - Array of MCP tool definitions (Tool[] or ToolInfo[])
34
+ * @returns Total estimated token count
35
+ */
36
+ export function calculateTotalTokens(tools) {
37
+ return tools.reduce((sum, tool) => sum + estimateToolTokens(tool), 0);
38
+ }
39
+ /**
40
+ * Format token count with comma separators for readability
41
+ *
42
+ * Examples:
43
+ * - 1247 → "1,247"
44
+ * - 34630 → "34,630"
45
+ * - 120 → "120"
46
+ *
47
+ * @param tokens - Token count to format
48
+ * @returns Formatted string with comma separators
49
+ */
50
+ export function formatTokens(tokens) {
51
+ return tokens.toLocaleString('en-US');
52
+ }
53
+ //# sourceMappingURL=token-calculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-calculator.js","sourceRoot":"","sources":["../../src/server/token-calculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAqB;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB;IACzE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAElE,6DAA6D;IAC7D,MAAM,MAAM,GAAG,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAE,IAAiB,CAAC,WAAW,CAAC;IAC3F,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExE,OAAO,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA0B;IAC7D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Server management types and interfaces
3
+ */
4
+ export interface ServerProcess {
5
+ pid: number;
6
+ status: 'running' | 'stopped' | 'crashed';
7
+ uptime: number;
8
+ lastHealthCheck: number;
9
+ errorCount: number;
10
+ }
11
+ export interface ServerState {
12
+ [serverName: string]: ServerProcess;
13
+ }
14
+ export interface Tool {
15
+ name: string;
16
+ description: string;
17
+ input_schema: Record<string, unknown>;
18
+ }
19
+ export interface ServerInfo {
20
+ name: string;
21
+ command: string;
22
+ args: string[];
23
+ env: Record<string, string>;
24
+ cwd?: string;
25
+ status: 'running' | 'stopped' | 'crashed';
26
+ process?: ServerProcess;
27
+ tools?: Tool[];
28
+ }
29
+ export interface ExecuteToolRequest {
30
+ serverName: string;
31
+ toolName: string;
32
+ arguments: Record<string, unknown>;
33
+ }
34
+ export interface ExecuteToolResponse {
35
+ success: boolean;
36
+ result?: unknown;
37
+ error?: string;
38
+ }
39
+ export interface HealthCheckResult {
40
+ serverName: string;
41
+ healthy: boolean;
42
+ error?: string;
43
+ timestamp: number;
44
+ }
45
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC;CACrC;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Server management types and interfaces
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Advisory file locking utility for atomic file operations.
3
+ * Ensures that concurrent writes to the same file don't cause corruption.
4
+ *
5
+ * Usage:
6
+ * const lock = new FileLock('path/to/file.lock');
7
+ * await lock.acquire(5000); // 5 second timeout
8
+ * try {
9
+ * // Perform atomic write operations
10
+ * await fs.writeFile('target.json', data);
11
+ * } finally {
12
+ * await lock.release();
13
+ * }
14
+ */
15
+ export declare class FileLock {
16
+ private lockPath;
17
+ private lockFileHandle;
18
+ private lockTimeout;
19
+ private isLocked;
20
+ constructor(filePath: string);
21
+ /**
22
+ * Acquire lock with optional timeout.
23
+ * Throws if lock cannot be acquired within timeout period.
24
+ *
25
+ * @param timeoutMs - Maximum time to wait for lock (default: 5000ms)
26
+ * @throws Error if lock acquisition times out
27
+ */
28
+ acquire(timeoutMs?: number): Promise<void>;
29
+ /**
30
+ * Release the lock.
31
+ * Safe to call even if lock is not held.
32
+ */
33
+ release(): Promise<void>;
34
+ /**
35
+ * Check if lock is currently held by this instance.
36
+ */
37
+ isLockHeld(): boolean;
38
+ /**
39
+ * Get lock file path.
40
+ */
41
+ getLockPath(): string;
42
+ /**
43
+ * Register automatic cleanup on process exit.
44
+ * Ensures lock is released even if exception occurs.
45
+ */
46
+ private registerCleanup;
47
+ }
48
+ /**
49
+ * Helper function for atomic file operations with automatic lock management.
50
+ *
51
+ * Usage:
52
+ * const result = await withFileLock('path/to/file.json', async () => {
53
+ * // Perform operations with lock held
54
+ * return await someAsyncOperation();
55
+ * });
56
+ */
57
+ export declare function withFileLock<T>(filePath: string, callback: () => Promise<T>, timeoutMs?: number): Promise<T>;
58
+ /**
59
+ * Helper function for atomic file write with automatic lock management.
60
+ *
61
+ * Usage:
62
+ * await atomicWrite('path/to/file.json', JSON.stringify(data, null, 2));
63
+ */
64
+ export declare function atomicWrite(filePath: string, content: string, options?: {
65
+ timeout?: number;
66
+ createBackup?: boolean;
67
+ }): Promise<void>;
68
+ /**
69
+ * Restore file from backup.
70
+ * Useful for rollback on write failures.
71
+ */
72
+ export declare function restoreFromBackup(filePath: string): Promise<void>;
73
+ //# sourceMappingURL=file-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../../src/utils/file-lock.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAK5B;;;;;;OAMG;IACG,OAAO,CAAC,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwEtD;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC9B;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;;OAGG;IACH,OAAO,CAAC,eAAe;CA0BxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,SAAS,GAAE,MAAa,GACvB,OAAO,CAAC,CAAC,CAAC,CASZ;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACzD,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvE"}