@venos-inc/venos 0.1.13 → 0.1.14

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 (1428) hide show
  1. package/README.md +11 -6
  2. package/dist/index.js +80 -66
  3. package/etc/mcp-server/bin.js +2 -9
  4. package/etc/mcp-server/client.js +129 -27
  5. package/etc/mcp-server/node_modules/@babel/core/node_modules/.bin/json5 +2 -2
  6. package/etc/mcp-server/node_modules/@babel/core/node_modules/.bin/parser +2 -2
  7. package/etc/mcp-server/node_modules/@babel/core/node_modules/.bin/semver +2 -2
  8. package/etc/mcp-server/node_modules/@babel/generator/node_modules/.bin/jsesc +2 -2
  9. package/etc/mcp-server/node_modules/@babel/generator/node_modules/.bin/parser +2 -2
  10. package/etc/mcp-server/node_modules/@babel/helper-compilation-targets/node_modules/.bin/browserslist +2 -2
  11. package/etc/mcp-server/node_modules/@babel/helper-compilation-targets/node_modules/.bin/semver +2 -2
  12. package/etc/mcp-server/node_modules/@babel/template/node_modules/.bin/parser +2 -2
  13. package/etc/mcp-server/node_modules/@babel/traverse/node_modules/.bin/parser +2 -2
  14. package/etc/mcp-server/node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml +2 -2
  15. package/etc/mcp-server/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint +2 -2
  16. package/etc/mcp-server/node_modules/@fastify/busboy/LICENSE +19 -0
  17. package/etc/mcp-server/node_modules/@fastify/busboy/README.md +271 -0
  18. package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/LICENSE +19 -0
  19. package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js +213 -0
  20. package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js +100 -0
  21. package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js +13 -0
  22. package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/dicer.d.ts +164 -0
  23. package/etc/mcp-server/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js +228 -0
  24. package/etc/mcp-server/node_modules/@fastify/busboy/lib/main.d.ts +196 -0
  25. package/etc/mcp-server/node_modules/@fastify/busboy/lib/main.js +85 -0
  26. package/etc/mcp-server/node_modules/@fastify/busboy/lib/types/multipart.js +306 -0
  27. package/etc/mcp-server/node_modules/@fastify/busboy/lib/types/urlencoded.js +190 -0
  28. package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/Decoder.js +54 -0
  29. package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/basename.js +14 -0
  30. package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/decodeText.js +114 -0
  31. package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/getLimit.js +16 -0
  32. package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/parseParams.js +196 -0
  33. package/etc/mcp-server/node_modules/@fastify/busboy/package.json +86 -0
  34. package/etc/mcp-server/node_modules/@isaacs/cliui/LICENSE.txt +14 -0
  35. package/etc/mcp-server/node_modules/@isaacs/cliui/README.md +143 -0
  36. package/etc/mcp-server/node_modules/@isaacs/cliui/build/index.cjs +317 -0
  37. package/etc/mcp-server/node_modules/@isaacs/cliui/build/index.d.cts +43 -0
  38. package/etc/mcp-server/node_modules/@isaacs/cliui/build/lib/index.js +302 -0
  39. package/etc/mcp-server/node_modules/@isaacs/cliui/index.mjs +14 -0
  40. package/etc/mcp-server/node_modules/@isaacs/cliui/package.json +86 -0
  41. package/etc/mcp-server/node_modules/@types/babel__core/node_modules/.bin/parser +2 -2
  42. package/etc/mcp-server/node_modules/@types/babel__template/node_modules/.bin/parser +2 -2
  43. package/etc/mcp-server/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint +2 -2
  44. package/etc/mcp-server/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc +2 -2
  45. package/etc/mcp-server/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver +2 -2
  46. package/etc/mcp-server/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint +2 -2
  47. package/etc/mcp-server/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc +2 -2
  48. package/etc/mcp-server/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver +2 -2
  49. package/etc/mcp-server/node_modules/@typescript-eslint/project-service/node_modules/.bin/tsc +2 -2
  50. package/etc/mcp-server/node_modules/@typescript-eslint/project-service/node_modules/.bin/tsserver +2 -2
  51. package/etc/mcp-server/node_modules/@typescript-eslint/tsconfig-utils/node_modules/.bin/tsc +2 -2
  52. package/etc/mcp-server/node_modules/@typescript-eslint/tsconfig-utils/node_modules/.bin/tsserver +2 -2
  53. package/etc/mcp-server/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint +2 -2
  54. package/etc/mcp-server/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc +2 -2
  55. package/etc/mcp-server/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver +2 -2
  56. package/etc/mcp-server/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver +2 -2
  57. package/etc/mcp-server/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsc +2 -2
  58. package/etc/mcp-server/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsserver +2 -2
  59. package/etc/mcp-server/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint +2 -2
  60. package/etc/mcp-server/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc +2 -2
  61. package/etc/mcp-server/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver +2 -2
  62. package/etc/mcp-server/node_modules/@vitest/mocker/node_modules/.bin/vite +2 -2
  63. package/etc/mcp-server/node_modules/acorn-jsx/node_modules/.bin/acorn +2 -2
  64. package/etc/mcp-server/node_modules/ansi-regex/index.d.ts +33 -0
  65. package/etc/mcp-server/node_modules/ansi-regex/index.js +14 -0
  66. package/etc/mcp-server/node_modules/{bl/LICENSE.md → ansi-regex/license} +2 -6
  67. package/etc/mcp-server/node_modules/ansi-regex/package.json +61 -0
  68. package/etc/mcp-server/node_modules/ansi-regex/readme.md +66 -0
  69. package/etc/mcp-server/node_modules/ansi-styles/index.d.ts +232 -341
  70. package/etc/mcp-server/node_modules/ansi-styles/index.js +190 -130
  71. package/etc/mcp-server/node_modules/ansi-styles/license +1 -1
  72. package/etc/mcp-server/node_modules/ansi-styles/package.json +8 -10
  73. package/etc/mcp-server/node_modules/ansi-styles/readme.md +53 -32
  74. package/etc/mcp-server/node_modules/async/CHANGELOG.md +351 -0
  75. package/etc/mcp-server/node_modules/async/LICENSE +19 -0
  76. package/etc/mcp-server/node_modules/async/README.md +59 -0
  77. package/etc/mcp-server/node_modules/async/all.js +119 -0
  78. package/etc/mcp-server/node_modules/async/allLimit.js +46 -0
  79. package/etc/mcp-server/node_modules/async/allSeries.js +45 -0
  80. package/etc/mcp-server/node_modules/async/any.js +122 -0
  81. package/etc/mcp-server/node_modules/async/anyLimit.js +47 -0
  82. package/etc/mcp-server/node_modules/async/anySeries.js +46 -0
  83. package/etc/mcp-server/node_modules/async/apply.js +11 -0
  84. package/etc/mcp-server/node_modules/async/applyEach.js +57 -0
  85. package/etc/mcp-server/node_modules/async/applyEachSeries.js +37 -0
  86. package/etc/mcp-server/node_modules/async/asyncify.js +118 -0
  87. package/etc/mcp-server/node_modules/async/auto.js +333 -0
  88. package/etc/mcp-server/node_modules/async/autoInject.js +182 -0
  89. package/etc/mcp-server/node_modules/async/bower.json +17 -0
  90. package/etc/mcp-server/node_modules/async/cargo.js +63 -0
  91. package/etc/mcp-server/node_modules/async/cargoQueue.js +71 -0
  92. package/etc/mcp-server/node_modules/async/compose.js +55 -0
  93. package/etc/mcp-server/node_modules/async/concat.js +115 -0
  94. package/etc/mcp-server/node_modules/async/concatLimit.js +60 -0
  95. package/etc/mcp-server/node_modules/async/concatSeries.js +41 -0
  96. package/etc/mcp-server/node_modules/async/constant.js +14 -0
  97. package/etc/mcp-server/node_modules/async/detect.js +96 -0
  98. package/etc/mcp-server/node_modules/async/detectLimit.js +48 -0
  99. package/etc/mcp-server/node_modules/async/detectSeries.js +47 -0
  100. package/etc/mcp-server/node_modules/async/dir.js +43 -0
  101. package/etc/mcp-server/node_modules/async/dist/async.js +6061 -0
  102. package/etc/mcp-server/node_modules/async/dist/async.min.js +1 -0
  103. package/etc/mcp-server/node_modules/async/dist/async.mjs +5948 -0
  104. package/etc/mcp-server/node_modules/async/doDuring.js +68 -0
  105. package/etc/mcp-server/node_modules/async/doUntil.js +46 -0
  106. package/etc/mcp-server/node_modules/async/doWhilst.js +68 -0
  107. package/etc/mcp-server/node_modules/async/during.js +78 -0
  108. package/etc/mcp-server/node_modules/async/each.js +129 -0
  109. package/etc/mcp-server/node_modules/async/eachLimit.js +50 -0
  110. package/etc/mcp-server/node_modules/async/eachOf.js +185 -0
  111. package/etc/mcp-server/node_modules/async/eachOfLimit.js +47 -0
  112. package/etc/mcp-server/node_modules/async/eachOfSeries.js +39 -0
  113. package/etc/mcp-server/node_modules/async/eachSeries.js +44 -0
  114. package/etc/mcp-server/node_modules/async/ensureAsync.js +67 -0
  115. package/etc/mcp-server/node_modules/async/every.js +119 -0
  116. package/etc/mcp-server/node_modules/async/everyLimit.js +46 -0
  117. package/etc/mcp-server/node_modules/async/everySeries.js +45 -0
  118. package/etc/mcp-server/node_modules/async/filter.js +93 -0
  119. package/etc/mcp-server/node_modules/async/filterLimit.js +45 -0
  120. package/etc/mcp-server/node_modules/async/filterSeries.js +43 -0
  121. package/etc/mcp-server/node_modules/async/find.js +96 -0
  122. package/etc/mcp-server/node_modules/async/findLimit.js +48 -0
  123. package/etc/mcp-server/node_modules/async/findSeries.js +47 -0
  124. package/etc/mcp-server/node_modules/async/flatMap.js +115 -0
  125. package/etc/mcp-server/node_modules/async/flatMapLimit.js +60 -0
  126. package/etc/mcp-server/node_modules/async/flatMapSeries.js +41 -0
  127. package/etc/mcp-server/node_modules/async/foldl.js +153 -0
  128. package/etc/mcp-server/node_modules/async/foldr.js +41 -0
  129. package/etc/mcp-server/node_modules/async/forEach.js +129 -0
  130. package/etc/mcp-server/node_modules/async/forEachLimit.js +50 -0
  131. package/etc/mcp-server/node_modules/async/forEachOf.js +185 -0
  132. package/etc/mcp-server/node_modules/async/forEachOfLimit.js +47 -0
  133. package/etc/mcp-server/node_modules/async/forEachOfSeries.js +39 -0
  134. package/etc/mcp-server/node_modules/async/forEachSeries.js +44 -0
  135. package/etc/mcp-server/node_modules/async/forever.js +68 -0
  136. package/etc/mcp-server/node_modules/async/groupBy.js +108 -0
  137. package/etc/mcp-server/node_modules/async/groupByLimit.js +71 -0
  138. package/etc/mcp-server/node_modules/async/groupBySeries.js +36 -0
  139. package/etc/mcp-server/node_modules/async/index.js +588 -0
  140. package/etc/mcp-server/node_modules/async/inject.js +153 -0
  141. package/etc/mcp-server/node_modules/async/internal/DoublyLinkedList.js +92 -0
  142. package/etc/mcp-server/node_modules/async/internal/Heap.js +120 -0
  143. package/etc/mcp-server/node_modules/async/internal/applyEach.js +29 -0
  144. package/etc/mcp-server/node_modules/async/internal/asyncEachOfLimit.js +75 -0
  145. package/etc/mcp-server/node_modules/async/internal/awaitify.js +28 -0
  146. package/etc/mcp-server/node_modules/async/internal/breakLoop.js +10 -0
  147. package/etc/mcp-server/node_modules/async/internal/consoleFunc.js +31 -0
  148. package/etc/mcp-server/node_modules/async/internal/createTester.js +40 -0
  149. package/etc/mcp-server/node_modules/async/internal/eachOfLimit.js +90 -0
  150. package/etc/mcp-server/node_modules/async/internal/filter.js +55 -0
  151. package/etc/mcp-server/node_modules/async/internal/getIterator.js +11 -0
  152. package/etc/mcp-server/node_modules/async/internal/initialParams.js +14 -0
  153. package/etc/mcp-server/node_modules/async/internal/isArrayLike.js +10 -0
  154. package/etc/mcp-server/node_modules/async/internal/iterator.js +57 -0
  155. package/etc/mcp-server/node_modules/async/internal/map.js +30 -0
  156. package/etc/mcp-server/node_modules/async/internal/once.js +17 -0
  157. package/etc/mcp-server/node_modules/async/internal/onlyOnce.js +15 -0
  158. package/etc/mcp-server/node_modules/async/internal/parallel.js +34 -0
  159. package/etc/mcp-server/node_modules/async/internal/promiseCallback.js +23 -0
  160. package/etc/mcp-server/node_modules/async/internal/queue.js +294 -0
  161. package/etc/mcp-server/node_modules/async/internal/range.js +14 -0
  162. package/etc/mcp-server/node_modules/async/internal/reject.js +26 -0
  163. package/etc/mcp-server/node_modules/async/internal/setImmediate.js +34 -0
  164. package/etc/mcp-server/node_modules/async/internal/withoutIndex.js +10 -0
  165. package/etc/mcp-server/node_modules/async/internal/wrapAsync.js +34 -0
  166. package/etc/mcp-server/node_modules/async/log.js +41 -0
  167. package/etc/mcp-server/node_modules/async/map.js +142 -0
  168. package/etc/mcp-server/node_modules/async/mapLimit.js +45 -0
  169. package/etc/mcp-server/node_modules/async/mapSeries.js +44 -0
  170. package/etc/mcp-server/node_modules/async/mapValues.js +152 -0
  171. package/etc/mcp-server/node_modules/async/mapValuesLimit.js +61 -0
  172. package/etc/mcp-server/node_modules/async/mapValuesSeries.js +37 -0
  173. package/etc/mcp-server/node_modules/async/memoize.js +91 -0
  174. package/etc/mcp-server/node_modules/async/nextTick.js +52 -0
  175. package/etc/mcp-server/node_modules/async/package.json +75 -0
  176. package/etc/mcp-server/node_modules/async/parallel.js +180 -0
  177. package/etc/mcp-server/node_modules/async/parallelLimit.js +41 -0
  178. package/etc/mcp-server/node_modules/async/priorityQueue.js +60 -0
  179. package/etc/mcp-server/node_modules/async/queue.js +24 -0
  180. package/etc/mcp-server/node_modules/async/race.js +67 -0
  181. package/etc/mcp-server/node_modules/async/reduce.js +153 -0
  182. package/etc/mcp-server/node_modules/async/reduceRight.js +41 -0
  183. package/etc/mcp-server/node_modules/async/reflect.js +78 -0
  184. package/etc/mcp-server/node_modules/async/reflectAll.js +93 -0
  185. package/etc/mcp-server/node_modules/async/reject.js +87 -0
  186. package/etc/mcp-server/node_modules/async/rejectLimit.js +45 -0
  187. package/etc/mcp-server/node_modules/async/rejectSeries.js +43 -0
  188. package/etc/mcp-server/node_modules/async/retry.js +159 -0
  189. package/etc/mcp-server/node_modules/async/retryable.js +77 -0
  190. package/etc/mcp-server/node_modules/async/select.js +93 -0
  191. package/etc/mcp-server/node_modules/async/selectLimit.js +45 -0
  192. package/etc/mcp-server/node_modules/async/selectSeries.js +43 -0
  193. package/etc/mcp-server/node_modules/async/seq.js +79 -0
  194. package/etc/mcp-server/node_modules/async/series.js +186 -0
  195. package/etc/mcp-server/node_modules/async/setImmediate.js +45 -0
  196. package/etc/mcp-server/node_modules/async/some.js +122 -0
  197. package/etc/mcp-server/node_modules/async/someLimit.js +47 -0
  198. package/etc/mcp-server/node_modules/async/someSeries.js +46 -0
  199. package/etc/mcp-server/node_modules/async/sortBy.js +190 -0
  200. package/etc/mcp-server/node_modules/async/timeout.js +89 -0
  201. package/etc/mcp-server/node_modules/async/times.js +50 -0
  202. package/etc/mcp-server/node_modules/async/timesLimit.js +43 -0
  203. package/etc/mcp-server/node_modules/async/timesSeries.js +32 -0
  204. package/etc/mcp-server/node_modules/async/transform.js +173 -0
  205. package/etc/mcp-server/node_modules/async/tryEach.js +78 -0
  206. package/etc/mcp-server/node_modules/async/unmemoize.js +25 -0
  207. package/etc/mcp-server/node_modules/async/until.js +61 -0
  208. package/etc/mcp-server/node_modules/async/waterfall.js +105 -0
  209. package/etc/mcp-server/node_modules/async/whilst.js +78 -0
  210. package/etc/mcp-server/node_modules/async/wrapSync.js +118 -0
  211. package/etc/mcp-server/node_modules/atomic-sleep/.travis.yml +11 -0
  212. package/etc/mcp-server/node_modules/atomic-sleep/LICENSE +22 -0
  213. package/etc/mcp-server/node_modules/atomic-sleep/index.js +38 -0
  214. package/etc/mcp-server/node_modules/atomic-sleep/package.json +37 -0
  215. package/etc/mcp-server/node_modules/atomic-sleep/readme.md +58 -0
  216. package/etc/mcp-server/node_modules/atomic-sleep/test.js +47 -0
  217. package/etc/mcp-server/node_modules/b4a/LICENSE +201 -0
  218. package/etc/mcp-server/node_modules/b4a/README.md +153 -0
  219. package/etc/mcp-server/node_modules/b4a/browser.js +541 -0
  220. package/etc/mcp-server/node_modules/b4a/index.js +188 -0
  221. package/etc/mcp-server/node_modules/b4a/lib/ascii.js +31 -0
  222. package/etc/mcp-server/node_modules/b4a/lib/base64.js +64 -0
  223. package/etc/mcp-server/node_modules/b4a/lib/hex.js +51 -0
  224. package/etc/mcp-server/node_modules/b4a/lib/latin1.js +31 -0
  225. package/etc/mcp-server/node_modules/b4a/lib/utf16le.js +40 -0
  226. package/etc/mcp-server/node_modules/b4a/lib/utf8.js +144 -0
  227. package/etc/mcp-server/node_modules/b4a/package.json +51 -0
  228. package/etc/mcp-server/node_modules/b4a/react-native.js +5 -0
  229. package/etc/mcp-server/node_modules/bare-events/LICENSE +201 -0
  230. package/etc/mcp-server/node_modules/bare-events/README.md +25 -0
  231. package/etc/mcp-server/node_modules/bare-events/global.d.ts +15 -0
  232. package/etc/mcp-server/node_modules/bare-events/global.js +5 -0
  233. package/etc/mcp-server/node_modules/bare-events/index.d.ts +85 -0
  234. package/etc/mcp-server/node_modules/bare-events/index.js +378 -0
  235. package/etc/mcp-server/node_modules/bare-events/lib/errors.js +26 -0
  236. package/etc/mcp-server/node_modules/bare-events/package.json +63 -0
  237. package/etc/mcp-server/node_modules/bare-events/web.d.ts +79 -0
  238. package/etc/mcp-server/node_modules/bare-events/web.js +353 -0
  239. package/etc/mcp-server/node_modules/bare-fs/CMakeLists.txt +13 -0
  240. package/etc/mcp-server/node_modules/bare-fs/LICENSE +201 -0
  241. package/etc/mcp-server/node_modules/bare-fs/README.md +989 -0
  242. package/etc/mcp-server/node_modules/bare-fs/binding.c +2889 -0
  243. package/etc/mcp-server/node_modules/bare-fs/binding.js +1 -0
  244. package/etc/mcp-server/node_modules/bare-fs/index.d.ts +1232 -0
  245. package/etc/mcp-server/node_modules/bare-fs/index.js +2842 -0
  246. package/etc/mcp-server/node_modules/bare-fs/lib/constants.d.ts +49 -0
  247. package/etc/mcp-server/node_modules/bare-fs/lib/constants.js +49 -0
  248. package/etc/mcp-server/node_modules/bare-fs/lib/errors.d.ts +11 -0
  249. package/etc/mcp-server/node_modules/bare-fs/lib/errors.js +55 -0
  250. package/etc/mcp-server/node_modules/bare-fs/package.json +74 -0
  251. package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
  252. package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
  253. package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
  254. package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
  255. package/etc/mcp-server/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
  256. package/etc/mcp-server/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
  257. package/etc/mcp-server/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
  258. package/etc/mcp-server/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
  259. package/etc/mcp-server/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
  260. package/etc/mcp-server/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
  261. package/etc/mcp-server/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
  262. package/etc/mcp-server/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
  263. package/etc/mcp-server/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
  264. package/etc/mcp-server/node_modules/bare-fs/promises.d.ts +313 -0
  265. package/etc/mcp-server/node_modules/bare-fs/promises.js +119 -0
  266. package/etc/mcp-server/node_modules/bare-os/CMakeLists.txt +13 -0
  267. package/etc/mcp-server/node_modules/bare-os/LICENSE +201 -0
  268. package/etc/mcp-server/node_modules/bare-os/README.md +252 -0
  269. package/etc/mcp-server/node_modules/bare-os/binding.c +1535 -0
  270. package/etc/mcp-server/node_modules/bare-os/binding.js +1 -0
  271. package/etc/mcp-server/node_modules/bare-os/index.d.ts +150 -0
  272. package/etc/mcp-server/node_modules/bare-os/index.js +252 -0
  273. package/etc/mcp-server/node_modules/bare-os/lib/constants.d.ts +7 -0
  274. package/etc/mcp-server/node_modules/bare-os/lib/constants.js +7 -0
  275. package/etc/mcp-server/node_modules/bare-os/lib/errors.d.ts +5 -0
  276. package/etc/mcp-server/node_modules/bare-os/lib/errors.js +22 -0
  277. package/etc/mcp-server/node_modules/bare-os/package.json +55 -0
  278. package/etc/mcp-server/node_modules/bare-os/prebuilds/android-arm/bare-os.bare +0 -0
  279. package/etc/mcp-server/node_modules/bare-os/prebuilds/android-arm64/bare-os.bare +0 -0
  280. package/etc/mcp-server/node_modules/bare-os/prebuilds/android-ia32/bare-os.bare +0 -0
  281. package/etc/mcp-server/node_modules/bare-os/prebuilds/android-x64/bare-os.bare +0 -0
  282. package/etc/mcp-server/node_modules/bare-os/prebuilds/darwin-arm64/bare-os.bare +0 -0
  283. package/etc/mcp-server/node_modules/bare-os/prebuilds/darwin-x64/bare-os.bare +0 -0
  284. package/etc/mcp-server/node_modules/bare-os/prebuilds/ios-arm64/bare-os.bare +0 -0
  285. package/etc/mcp-server/node_modules/bare-os/prebuilds/ios-arm64-simulator/bare-os.bare +0 -0
  286. package/etc/mcp-server/node_modules/bare-os/prebuilds/ios-x64-simulator/bare-os.bare +0 -0
  287. package/etc/mcp-server/node_modules/bare-os/prebuilds/linux-arm64/bare-os.bare +0 -0
  288. package/etc/mcp-server/node_modules/bare-os/prebuilds/linux-x64/bare-os.bare +0 -0
  289. package/etc/mcp-server/node_modules/bare-os/prebuilds/win32-arm64/bare-os.bare +0 -0
  290. package/etc/mcp-server/node_modules/bare-os/prebuilds/win32-x64/bare-os.bare +0 -0
  291. package/etc/mcp-server/node_modules/bare-path/LICENSE +201 -0
  292. package/etc/mcp-server/node_modules/bare-path/NOTICE +28 -0
  293. package/etc/mcp-server/node_modules/bare-path/README.md +19 -0
  294. package/etc/mcp-server/node_modules/bare-path/index.d.ts +27 -0
  295. package/etc/mcp-server/node_modules/bare-path/index.js +9 -0
  296. package/etc/mcp-server/node_modules/bare-path/lib/constants.js +11 -0
  297. package/etc/mcp-server/node_modules/bare-path/lib/posix.js +246 -0
  298. package/etc/mcp-server/node_modules/bare-path/lib/shared.js +73 -0
  299. package/etc/mcp-server/node_modules/bare-path/lib/win32.js +547 -0
  300. package/etc/mcp-server/node_modules/bare-path/package.json +44 -0
  301. package/etc/mcp-server/node_modules/bare-stream/LICENSE +201 -0
  302. package/etc/mcp-server/node_modules/bare-stream/README.md +354 -0
  303. package/etc/mcp-server/node_modules/bare-stream/global.d.ts +31 -0
  304. package/etc/mcp-server/node_modules/bare-stream/global.js +15 -0
  305. package/etc/mcp-server/node_modules/bare-stream/index.d.ts +235 -0
  306. package/etc/mcp-server/node_modules/bare-stream/index.js +493 -0
  307. package/etc/mcp-server/node_modules/bare-stream/package.json +75 -0
  308. package/etc/mcp-server/node_modules/bare-stream/promises.js +3 -0
  309. package/etc/mcp-server/node_modules/bare-stream/web.d.ts +152 -0
  310. package/etc/mcp-server/node_modules/bare-stream/web.js +607 -0
  311. package/etc/mcp-server/node_modules/bare-url/CMakeLists.txt +27 -0
  312. package/etc/mcp-server/node_modules/bare-url/LICENSE +201 -0
  313. package/etc/mcp-server/node_modules/bare-url/README.md +172 -0
  314. package/etc/mcp-server/node_modules/bare-url/binding.c +186 -0
  315. package/etc/mcp-server/node_modules/bare-url/binding.js +1 -0
  316. package/etc/mcp-server/node_modules/bare-url/global.d.ts +12 -0
  317. package/etc/mcp-server/node_modules/bare-url/global.js +2 -0
  318. package/etc/mcp-server/node_modules/bare-url/index.d.ts +41 -0
  319. package/etc/mcp-server/node_modules/bare-url/index.js +411 -0
  320. package/etc/mcp-server/node_modules/bare-url/lib/errors.d.ts +10 -0
  321. package/etc/mcp-server/node_modules/bare-url/lib/errors.js +33 -0
  322. package/etc/mcp-server/node_modules/bare-url/lib/url-search-params.d.ts +23 -0
  323. package/etc/mcp-server/node_modules/bare-url/lib/url-search-params.js +194 -0
  324. package/etc/mcp-server/node_modules/bare-url/package.json +54 -0
  325. package/etc/mcp-server/node_modules/bare-url/prebuilds/android-arm/bare-url.bare +0 -0
  326. package/etc/mcp-server/node_modules/bare-url/prebuilds/android-arm64/bare-url.bare +0 -0
  327. package/etc/mcp-server/node_modules/bare-url/prebuilds/android-ia32/bare-url.bare +0 -0
  328. package/etc/mcp-server/node_modules/bare-url/prebuilds/android-x64/bare-url.bare +0 -0
  329. package/etc/mcp-server/node_modules/bare-url/prebuilds/darwin-arm64/bare-url.bare +0 -0
  330. package/etc/mcp-server/node_modules/bare-url/prebuilds/darwin-x64/bare-url.bare +0 -0
  331. package/etc/mcp-server/node_modules/bare-url/prebuilds/ios-arm64/bare-url.bare +0 -0
  332. package/etc/mcp-server/node_modules/bare-url/prebuilds/ios-arm64-simulator/bare-url.bare +0 -0
  333. package/etc/mcp-server/node_modules/bare-url/prebuilds/ios-x64-simulator/bare-url.bare +0 -0
  334. package/etc/mcp-server/node_modules/bare-url/prebuilds/linux-arm64/bare-url.bare +0 -0
  335. package/etc/mcp-server/node_modules/bare-url/prebuilds/linux-x64/bare-url.bare +0 -0
  336. package/etc/mcp-server/node_modules/bare-url/prebuilds/win32-arm64/bare-url.bare +0 -0
  337. package/etc/mcp-server/node_modules/bare-url/prebuilds/win32-x64/bare-url.bare +0 -0
  338. package/etc/mcp-server/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
  339. package/etc/mcp-server/node_modules/brace-expansion/index.js +86 -84
  340. package/etc/mcp-server/node_modules/browserslist/node_modules/.bin/baseline-browser-mapping +2 -2
  341. package/etc/mcp-server/node_modules/browserslist/node_modules/.bin/update-browserslist-db +2 -2
  342. package/etc/mcp-server/node_modules/buffer/AUTHORS.md +3 -0
  343. package/etc/mcp-server/node_modules/buffer/README.md +1 -1
  344. package/etc/mcp-server/node_modules/buffer/index.d.ts +11 -3
  345. package/etc/mcp-server/node_modules/buffer/index.js +424 -135
  346. package/etc/mcp-server/node_modules/buffer/package.json +8 -11
  347. package/etc/mcp-server/node_modules/cliui/CHANGELOG.md +139 -0
  348. package/etc/mcp-server/node_modules/cliui/LICENSE.txt +14 -0
  349. package/etc/mcp-server/node_modules/cliui/README.md +141 -0
  350. package/etc/mcp-server/node_modules/cliui/build/index.cjs +302 -0
  351. package/etc/mcp-server/node_modules/cliui/build/index.d.cts +43 -0
  352. package/etc/mcp-server/node_modules/cliui/build/lib/index.js +287 -0
  353. package/etc/mcp-server/node_modules/cliui/build/lib/string-utils.js +27 -0
  354. package/etc/mcp-server/node_modules/cliui/index.mjs +13 -0
  355. package/etc/mcp-server/node_modules/cliui/package.json +83 -0
  356. package/etc/mcp-server/node_modules/core-util-is/LICENSE +19 -0
  357. package/etc/mcp-server/node_modules/core-util-is/README.md +3 -0
  358. package/etc/mcp-server/node_modules/core-util-is/lib/util.js +107 -0
  359. package/etc/mcp-server/node_modules/core-util-is/package.json +38 -0
  360. package/etc/mcp-server/node_modules/cross-spawn/node_modules/.bin/node-which +2 -2
  361. package/etc/mcp-server/node_modules/eastasianwidth/README.md +32 -0
  362. package/etc/mcp-server/node_modules/eastasianwidth/eastasianwidth.js +311 -0
  363. package/etc/mcp-server/node_modules/eastasianwidth/package.json +18 -0
  364. package/etc/mcp-server/node_modules/{bindings/LICENSE.md → emoji-regex/LICENSE-MIT.txt} +8 -10
  365. package/etc/mcp-server/node_modules/emoji-regex/README.md +137 -0
  366. package/etc/mcp-server/node_modules/emoji-regex/RGI_Emoji.d.ts +5 -0
  367. package/etc/mcp-server/node_modules/emoji-regex/RGI_Emoji.js +6 -0
  368. package/etc/mcp-server/node_modules/emoji-regex/es2015/RGI_Emoji.d.ts +5 -0
  369. package/etc/mcp-server/node_modules/emoji-regex/es2015/RGI_Emoji.js +6 -0
  370. package/etc/mcp-server/node_modules/emoji-regex/es2015/index.d.ts +5 -0
  371. package/etc/mcp-server/node_modules/emoji-regex/es2015/index.js +6 -0
  372. package/etc/mcp-server/node_modules/emoji-regex/es2015/text.d.ts +5 -0
  373. package/etc/mcp-server/node_modules/emoji-regex/es2015/text.js +6 -0
  374. package/etc/mcp-server/node_modules/emoji-regex/index.d.ts +5 -0
  375. package/etc/mcp-server/node_modules/emoji-regex/index.js +6 -0
  376. package/etc/mcp-server/node_modules/emoji-regex/package.json +52 -0
  377. package/etc/mcp-server/node_modules/emoji-regex/text.d.ts +5 -0
  378. package/etc/mcp-server/node_modules/emoji-regex/text.js +6 -0
  379. package/etc/mcp-server/node_modules/espree/node_modules/.bin/acorn +2 -2
  380. package/etc/mcp-server/node_modules/events-universal/LICENSE +201 -0
  381. package/etc/mcp-server/node_modules/events-universal/README.md +17 -0
  382. package/etc/mcp-server/node_modules/events-universal/bare.js +1 -0
  383. package/etc/mcp-server/node_modules/events-universal/default.js +1 -0
  384. package/etc/mcp-server/node_modules/events-universal/index.js +1 -0
  385. package/etc/mcp-server/node_modules/events-universal/package.json +39 -0
  386. package/etc/mcp-server/node_modules/events-universal/react-native.js +1 -0
  387. package/etc/mcp-server/node_modules/{fs-constants → fast-fifo}/LICENSE +1 -1
  388. package/etc/mcp-server/node_modules/fast-fifo/README.md +78 -0
  389. package/etc/mcp-server/node_modules/fast-fifo/fixed-size.js +39 -0
  390. package/etc/mcp-server/node_modules/fast-fifo/index.js +48 -0
  391. package/etc/mcp-server/node_modules/fast-fifo/package.json +28 -0
  392. package/etc/mcp-server/node_modules/{chownr → foreground-child}/LICENSE +1 -1
  393. package/etc/mcp-server/node_modules/foreground-child/README.md +128 -0
  394. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.d.ts +2 -0
  395. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.d.ts.map +1 -0
  396. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.js +58 -0
  397. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.js.map +1 -0
  398. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.d.ts +58 -0
  399. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.d.ts.map +1 -0
  400. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.js +123 -0
  401. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.js.map +1 -0
  402. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/package.json +3 -0
  403. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts +6 -0
  404. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts.map +1 -0
  405. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.js +38 -0
  406. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.js.map +1 -0
  407. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.d.ts +10 -0
  408. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.d.ts.map +1 -0
  409. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.js +50 -0
  410. package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.js.map +1 -0
  411. package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.d.ts +2 -0
  412. package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.d.ts.map +1 -0
  413. package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.js +52 -0
  414. package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.js.map +1 -0
  415. package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.d.ts +58 -0
  416. package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.d.ts.map +1 -0
  417. package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.js +115 -0
  418. package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.js.map +1 -0
  419. package/etc/mcp-server/node_modules/foreground-child/dist/esm/package.json +3 -0
  420. package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.d.ts +6 -0
  421. package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.d.ts.map +1 -0
  422. package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.js +34 -0
  423. package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.js.map +1 -0
  424. package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.d.ts +10 -0
  425. package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.d.ts.map +1 -0
  426. package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.js +46 -0
  427. package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.js.map +1 -0
  428. package/etc/mcp-server/node_modules/foreground-child/package.json +106 -0
  429. package/etc/mcp-server/node_modules/get-caller-file/LICENSE.md +6 -0
  430. package/etc/mcp-server/node_modules/get-caller-file/README.md +41 -0
  431. package/etc/mcp-server/node_modules/get-caller-file/index.d.ts +2 -0
  432. package/etc/mcp-server/node_modules/get-caller-file/index.js +22 -0
  433. package/etc/mcp-server/node_modules/get-caller-file/index.js.map +1 -0
  434. package/etc/mcp-server/node_modules/get-caller-file/package.json +42 -0
  435. package/etc/mcp-server/node_modules/glob/LICENSE +15 -0
  436. package/etc/mcp-server/node_modules/glob/README.md +1265 -0
  437. package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
  438. package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
  439. package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.js +247 -0
  440. package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.js.map +1 -0
  441. package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
  442. package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
  443. package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  444. package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
  445. package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
  446. package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
  447. package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.js +119 -0
  448. package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
  449. package/etc/mcp-server/node_modules/glob/dist/commonjs/index.d.ts +97 -0
  450. package/etc/mcp-server/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
  451. package/etc/mcp-server/node_modules/glob/dist/commonjs/index.js +68 -0
  452. package/etc/mcp-server/node_modules/glob/dist/commonjs/index.js.map +1 -0
  453. package/etc/mcp-server/node_modules/glob/dist/commonjs/package.json +3 -0
  454. package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
  455. package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
  456. package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.js +219 -0
  457. package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
  458. package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
  459. package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
  460. package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.js +301 -0
  461. package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.js.map +1 -0
  462. package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
  463. package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
  464. package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.js +387 -0
  465. package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.js.map +1 -0
  466. package/etc/mcp-server/node_modules/glob/dist/esm/bin.d.mts +3 -0
  467. package/etc/mcp-server/node_modules/glob/dist/esm/bin.d.mts.map +1 -0
  468. package/etc/mcp-server/node_modules/glob/dist/esm/bin.mjs +346 -0
  469. package/etc/mcp-server/node_modules/glob/dist/esm/bin.mjs.map +1 -0
  470. package/etc/mcp-server/node_modules/glob/dist/esm/glob.d.ts +388 -0
  471. package/etc/mcp-server/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
  472. package/etc/mcp-server/node_modules/glob/dist/esm/glob.js +243 -0
  473. package/etc/mcp-server/node_modules/glob/dist/esm/glob.js.map +1 -0
  474. package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
  475. package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
  476. package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.js +23 -0
  477. package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.js.map +1 -0
  478. package/etc/mcp-server/node_modules/glob/dist/esm/ignore.d.ts +24 -0
  479. package/etc/mcp-server/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
  480. package/etc/mcp-server/node_modules/glob/dist/esm/ignore.js +115 -0
  481. package/etc/mcp-server/node_modules/glob/dist/esm/ignore.js.map +1 -0
  482. package/etc/mcp-server/node_modules/glob/dist/esm/index.d.ts +97 -0
  483. package/etc/mcp-server/node_modules/glob/dist/esm/index.d.ts.map +1 -0
  484. package/etc/mcp-server/node_modules/glob/dist/esm/index.js +55 -0
  485. package/etc/mcp-server/node_modules/glob/dist/esm/index.js.map +1 -0
  486. package/etc/mcp-server/node_modules/glob/dist/esm/package.json +3 -0
  487. package/etc/mcp-server/node_modules/glob/dist/esm/pattern.d.ts +76 -0
  488. package/etc/mcp-server/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
  489. package/etc/mcp-server/node_modules/glob/dist/esm/pattern.js +215 -0
  490. package/etc/mcp-server/node_modules/glob/dist/esm/pattern.js.map +1 -0
  491. package/etc/mcp-server/node_modules/glob/dist/esm/processor.d.ts +59 -0
  492. package/etc/mcp-server/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
  493. package/etc/mcp-server/node_modules/glob/dist/esm/processor.js +294 -0
  494. package/etc/mcp-server/node_modules/glob/dist/esm/processor.js.map +1 -0
  495. package/etc/mcp-server/node_modules/glob/dist/esm/walker.d.ts +97 -0
  496. package/etc/mcp-server/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
  497. package/etc/mcp-server/node_modules/glob/dist/esm/walker.js +381 -0
  498. package/etc/mcp-server/node_modules/glob/dist/esm/walker.js.map +1 -0
  499. package/etc/mcp-server/node_modules/glob/package.json +99 -0
  500. package/etc/mcp-server/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  501. package/etc/mcp-server/node_modules/is-fullwidth-code-point/index.js +50 -0
  502. package/etc/mcp-server/node_modules/is-fullwidth-code-point/license +9 -0
  503. package/etc/mcp-server/node_modules/is-fullwidth-code-point/package.json +42 -0
  504. package/etc/mcp-server/node_modules/is-fullwidth-code-point/readme.md +39 -0
  505. package/etc/mcp-server/node_modules/{tar-fs → isarray}/.travis.yml +2 -4
  506. package/etc/mcp-server/node_modules/isarray/Makefile +6 -0
  507. package/etc/mcp-server/node_modules/isarray/README.md +60 -0
  508. package/etc/mcp-server/node_modules/isarray/component.json +19 -0
  509. package/etc/mcp-server/node_modules/isarray/index.js +5 -0
  510. package/etc/mcp-server/node_modules/isarray/package.json +45 -0
  511. package/etc/mcp-server/node_modules/isarray/test.js +20 -0
  512. package/etc/mcp-server/node_modules/jackspeak/LICENSE.md +55 -0
  513. package/etc/mcp-server/node_modules/jackspeak/README.md +357 -0
  514. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.d.ts +315 -0
  515. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.d.ts.map +1 -0
  516. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.js +1010 -0
  517. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.js.map +1 -0
  518. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/package.json +3 -0
  519. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args-cjs.cjs.map +1 -0
  520. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args-cjs.d.cts.map +1 -0
  521. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args.d.ts +4 -0
  522. package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args.js +50 -0
  523. package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.d.ts +315 -0
  524. package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.d.ts.map +1 -0
  525. package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.js +1000 -0
  526. package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.js.map +1 -0
  527. package/etc/mcp-server/node_modules/jackspeak/dist/esm/package.json +3 -0
  528. package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.d.ts +4 -0
  529. package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.d.ts.map +1 -0
  530. package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.js +26 -0
  531. package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.js.map +1 -0
  532. package/etc/mcp-server/node_modules/jackspeak/package.json +95 -0
  533. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.d.ts +1277 -0
  534. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  535. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.js +1546 -0
  536. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  537. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  538. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  539. package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  540. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.d.ts +1277 -0
  541. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  542. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.js +1542 -0
  543. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  544. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  545. package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  546. package/etc/mcp-server/node_modules/lru-cache/dist/esm/package.json +3 -0
  547. package/etc/mcp-server/node_modules/minipass/LICENSE.md +55 -0
  548. package/etc/mcp-server/node_modules/minipass/README.md +825 -0
  549. package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
  550. package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  551. package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.js +1038 -0
  552. package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  553. package/etc/mcp-server/node_modules/minipass/dist/commonjs/package.json +3 -0
  554. package/etc/mcp-server/node_modules/minipass/dist/esm/index.d.ts +545 -0
  555. package/etc/mcp-server/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  556. package/etc/mcp-server/node_modules/minipass/dist/esm/index.js +1020 -0
  557. package/etc/mcp-server/node_modules/minipass/dist/esm/index.js.map +1 -0
  558. package/etc/mcp-server/node_modules/minipass/dist/esm/package.json +3 -0
  559. package/etc/mcp-server/node_modules/minipass/package.json +77 -0
  560. package/etc/mcp-server/node_modules/mkdirp/CHANGELOG.md +15 -0
  561. package/etc/mcp-server/node_modules/mkdirp/LICENSE +21 -0
  562. package/etc/mcp-server/node_modules/mkdirp/bin/cmd.js +68 -0
  563. package/etc/mcp-server/node_modules/mkdirp/index.js +31 -0
  564. package/etc/mcp-server/node_modules/mkdirp/lib/find-made.js +29 -0
  565. package/etc/mcp-server/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  566. package/etc/mcp-server/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  567. package/etc/mcp-server/node_modules/mkdirp/lib/opts-arg.js +23 -0
  568. package/etc/mcp-server/node_modules/mkdirp/lib/path-arg.js +29 -0
  569. package/etc/mcp-server/node_modules/mkdirp/lib/use-native.js +10 -0
  570. package/etc/mcp-server/node_modules/mkdirp/package.json +44 -0
  571. package/etc/mcp-server/node_modules/mkdirp/readme.markdown +266 -0
  572. package/etc/mcp-server/node_modules/package-json-from-dist/LICENSE.md +63 -0
  573. package/etc/mcp-server/node_modules/package-json-from-dist/README.md +110 -0
  574. package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +89 -0
  575. package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +1 -0
  576. package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.js +134 -0
  577. package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.js.map +1 -0
  578. package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/package.json +3 -0
  579. package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.d.ts +89 -0
  580. package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +1 -0
  581. package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.js +129 -0
  582. package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.js.map +1 -0
  583. package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/package.json +3 -0
  584. package/etc/mcp-server/node_modules/package-json-from-dist/package.json +68 -0
  585. package/etc/mcp-server/node_modules/path-scurry/LICENSE.md +55 -0
  586. package/etc/mcp-server/node_modules/path-scurry/README.md +636 -0
  587. package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.d.ts +1116 -0
  588. package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
  589. package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.js +2014 -0
  590. package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
  591. package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  592. package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.d.ts +1116 -0
  593. package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
  594. package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.js +1979 -0
  595. package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.js.map +1 -0
  596. package/etc/mcp-server/node_modules/path-scurry/dist/esm/package.json +3 -0
  597. package/etc/mcp-server/node_modules/path-scurry/package.json +89 -0
  598. package/etc/mcp-server/node_modules/playwright/LICENSE +202 -0
  599. package/etc/mcp-server/node_modules/playwright/NOTICE +5 -0
  600. package/etc/mcp-server/node_modules/playwright/README.md +318 -0
  601. package/etc/mcp-server/node_modules/playwright/ThirdPartyNotices.txt +14 -0
  602. package/etc/mcp-server/node_modules/playwright/cli.js +19 -0
  603. package/etc/mcp-server/node_modules/playwright/index.d.ts +17 -0
  604. package/etc/mcp-server/node_modules/playwright/index.js +17 -0
  605. package/etc/mcp-server/node_modules/playwright/index.mjs +18 -0
  606. package/etc/mcp-server/node_modules/playwright/jsx-runtime.js +42 -0
  607. package/etc/mcp-server/node_modules/playwright/jsx-runtime.mjs +21 -0
  608. package/etc/mcp-server/node_modules/playwright/lib/agents/agentParser.js +89 -0
  609. package/etc/mcp-server/node_modules/playwright/lib/agents/copilot-setup-steps.yml +34 -0
  610. package/etc/mcp-server/node_modules/playwright/lib/agents/generateAgents.js +395 -0
  611. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-coverage.prompt.md +31 -0
  612. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-generate.prompt.md +8 -0
  613. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-generator.agent.md +88 -0
  614. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-heal.prompt.md +6 -0
  615. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-healer.agent.md +56 -0
  616. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-plan.prompt.md +9 -0
  617. package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-planner.agent.md +74 -0
  618. package/etc/mcp-server/node_modules/playwright/lib/cli/reportActions.js +78 -0
  619. package/etc/mcp-server/node_modules/playwright/lib/cli/testActions.js +213 -0
  620. package/etc/mcp-server/node_modules/playwright/lib/common/index.js +2932 -0
  621. package/etc/mcp-server/node_modules/playwright/lib/common/index.js.txt +35 -0
  622. package/etc/mcp-server/node_modules/playwright/lib/errorContext.js +130 -0
  623. package/etc/mcp-server/node_modules/playwright/lib/globals.js +58 -0
  624. package/etc/mcp-server/node_modules/playwright/lib/index.js +784 -0
  625. package/etc/mcp-server/node_modules/playwright/lib/isomorphic.js +260 -0
  626. package/etc/mcp-server/node_modules/playwright/lib/isomorphic.js.txt +9 -0
  627. package/etc/mcp-server/node_modules/playwright/lib/loader/loaderProcessEntry.js +34 -0
  628. package/etc/mcp-server/node_modules/playwright/lib/loader/loaderProcessEntry.js.txt +9 -0
  629. package/etc/mcp-server/node_modules/playwright/lib/matchers/expect.js +13054 -0
  630. package/etc/mcp-server/node_modules/playwright/lib/matchers/expect.js.LICENSE +693 -0
  631. package/etc/mcp-server/node_modules/playwright/lib/matchers/expect.js.txt +72 -0
  632. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/browserBackend.js +125 -0
  633. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/generatorTools.js +122 -0
  634. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/plannerTools.js +150 -0
  635. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/seed.js +82 -0
  636. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/streams.js +44 -0
  637. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testBackend.js +99 -0
  638. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testContext.js +306 -0
  639. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testTool.js +30 -0
  640. package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testTools.js +98 -0
  641. package/etc/mcp-server/node_modules/playwright/lib/package.js +47 -0
  642. package/etc/mcp-server/node_modules/playwright/lib/program.js +223 -0
  643. package/etc/mcp-server/node_modules/playwright/lib/runner/index.js +8085 -0
  644. package/etc/mcp-server/node_modules/playwright/lib/runner/index.js.txt +59 -0
  645. package/etc/mcp-server/node_modules/playwright/lib/transform/babelBundle.js +71030 -0
  646. package/etc/mcp-server/node_modules/playwright/lib/transform/babelBundle.js.LICENSE +2359 -0
  647. package/etc/mcp-server/node_modules/playwright/lib/transform/babelBundle.js.txt +325 -0
  648. package/etc/mcp-server/node_modules/playwright/lib/transform/esmLoader.js +6065 -0
  649. package/etc/mcp-server/node_modules/playwright/lib/transform/esmLoader.js.LICENSE +335 -0
  650. package/etc/mcp-server/node_modules/playwright/lib/transform/esmLoader.js.txt +57 -0
  651. package/etc/mcp-server/node_modules/playwright/lib/util.js +400 -0
  652. package/etc/mcp-server/node_modules/playwright/lib/worker/workerProcessEntry.js +1868 -0
  653. package/etc/mcp-server/node_modules/playwright/lib/worker/workerProcessEntry.js.txt +20 -0
  654. package/etc/mcp-server/node_modules/playwright/node_modules/.bin/playwright-core +17 -0
  655. package/etc/mcp-server/node_modules/playwright/package.json +61 -0
  656. package/etc/mcp-server/node_modules/playwright/test.d.ts +18 -0
  657. package/etc/mcp-server/node_modules/playwright/test.js +24 -0
  658. package/etc/mcp-server/node_modules/playwright/test.mjs +35 -0
  659. package/etc/mcp-server/node_modules/playwright/types/test.d.ts +10461 -0
  660. package/etc/mcp-server/node_modules/playwright/types/testReporter.d.ts +824 -0
  661. package/etc/mcp-server/node_modules/playwright-core/LICENSE +202 -0
  662. package/etc/mcp-server/node_modules/playwright-core/NOTICE +5 -0
  663. package/etc/mcp-server/node_modules/playwright-core/README.md +3 -0
  664. package/etc/mcp-server/node_modules/playwright-core/ThirdPartyNotices.txt +13 -0
  665. package/etc/mcp-server/node_modules/playwright-core/bin/install_media_pack.ps1 +5 -0
  666. package/etc/mcp-server/node_modules/playwright-core/bin/install_webkit_wsl.ps1 +33 -0
  667. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +42 -0
  668. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +13 -0
  669. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +24 -0
  670. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +42 -0
  671. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +12 -0
  672. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +24 -0
  673. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +48 -0
  674. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +11 -0
  675. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +23 -0
  676. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +48 -0
  677. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +11 -0
  678. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +23 -0
  679. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +48 -0
  680. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +11 -0
  681. package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +24 -0
  682. package/etc/mcp-server/node_modules/playwright-core/browsers.json +81 -0
  683. package/etc/mcp-server/node_modules/playwright-core/cli.js +21 -0
  684. package/etc/mcp-server/node_modules/playwright-core/index.d.ts +17 -0
  685. package/etc/mcp-server/node_modules/playwright-core/index.js +17 -0
  686. package/etc/mcp-server/node_modules/playwright-core/index.mjs +28 -0
  687. package/etc/mcp-server/node_modules/playwright-core/lib/bootstrap.js +88 -0
  688. package/etc/mcp-server/node_modules/playwright-core/lib/coreBundle.js +73386 -0
  689. package/etc/mcp-server/node_modules/playwright-core/lib/entry/cliDaemon.js +5 -0
  690. package/etc/mcp-server/node_modules/playwright-core/lib/entry/dashboardApp.js +3 -0
  691. package/etc/mcp-server/node_modules/playwright-core/lib/entry/mcp.js +10 -0
  692. package/etc/mcp-server/node_modules/playwright-core/lib/entry/oopBrowserDownload.js +3 -0
  693. package/etc/mcp-server/node_modules/playwright-core/lib/package.js +50 -0
  694. package/etc/mcp-server/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
  695. package/etc/mcp-server/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +2739 -0
  696. package/etc/mcp-server/node_modules/playwright-core/lib/server/electron/loader.js +115 -0
  697. package/etc/mcp-server/node_modules/playwright-core/lib/serverRegistry.js +7343 -0
  698. package/etc/mcp-server/node_modules/playwright-core/lib/serverRegistry.js.LICENSE +354 -0
  699. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/channelSessions.js +141 -0
  700. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/cli.js +6 -0
  701. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/help.json +693 -0
  702. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/minimist.js +128 -0
  703. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/output.js +343 -0
  704. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/program.js +404 -0
  705. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/registry.js +176 -0
  706. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/session.js +254 -0
  707. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/SKILL.md +404 -0
  708. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/element-attributes.md +23 -0
  709. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/playwright-tests.md +39 -0
  710. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/request-mocking.md +87 -0
  711. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/running-code.md +241 -0
  712. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/session-management.md +225 -0
  713. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/spec-driven-testing.md +305 -0
  714. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/storage-state.md +275 -0
  715. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/test-generation.md +134 -0
  716. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/tracing.md +139 -0
  717. package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/video-recording.md +143 -0
  718. package/etc/mcp-server/node_modules/playwright-core/lib/tools/dashboard/appIcon.png +0 -0
  719. package/etc/mcp-server/node_modules/playwright-core/lib/tools/trace/SKILL.md +171 -0
  720. package/etc/mcp-server/node_modules/playwright-core/lib/tools/utils/extension.js +78 -0
  721. package/etc/mcp-server/node_modules/playwright-core/lib/tools/utils/socketConnection.js +108 -0
  722. package/etc/mcp-server/node_modules/playwright-core/lib/utilsBundle.js +86736 -0
  723. package/etc/mcp-server/node_modules/playwright-core/lib/utilsBundle.js.LICENSE +2056 -0
  724. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/codicon-DCmgc-ay.ttf +0 -0
  725. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-1bWoP6pv.svg +1 -0
  726. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-beta-k3eOH_eK.svg +1 -0
  727. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-nightly-Cp5nfeDT.svg +1 -0
  728. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/index-BY2S1tHT.css +1 -0
  729. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/index-C_5TMfeg.js +52 -0
  730. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/safari-na3_-uQk.svg +1 -0
  731. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/index.html +29 -0
  732. package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/playwright-logo.svg +24 -0
  733. package/etc/mcp-server/node_modules/playwright-core/lib/vite/htmlReport/index.html +16 -0
  734. package/etc/mcp-server/node_modules/playwright-core/lib/vite/htmlReport/report.css +1 -0
  735. package/etc/mcp-server/node_modules/playwright-core/lib/vite/htmlReport/report.js +72 -0
  736. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DYBRYzYX.css +1 -0
  737. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DeBYQozu.js +32 -0
  738. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  739. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/index-4ZiSSCmn.css +1 -0
  740. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/index-Bq-mQf8S.js +193 -0
  741. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/index.html +29 -0
  742. package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +9 -0
  743. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-LEHpjmcn.js +32 -0
  744. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-BNmKHKpQ.js +264 -0
  745. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/urlMatch-BYQrIQwR.js +1 -0
  746. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
  747. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.DYBRYzYX.css +1 -0
  748. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  749. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.CjdS-WJx.css +1 -0
  750. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/index.CzXZzn5A.css +1 -0
  751. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/index.DMMX1gXU.js +2 -0
  752. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/index.html +44 -0
  753. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/manifest.webmanifest +16 -0
  754. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +9 -0
  755. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +10 -0
  756. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/snapshot.v8KI4P3m.js +2 -0
  757. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +5 -0
  758. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/uiMode.BZQ54Kgt.css +1 -0
  759. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Ut8wwJNp.js +6 -0
  760. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +18 -0
  761. package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
  762. package/etc/mcp-server/node_modules/playwright-core/lib/xdg-open +1066 -0
  763. package/etc/mcp-server/node_modules/playwright-core/package.json +34 -0
  764. package/etc/mcp-server/node_modules/playwright-core/types/protocol.d.ts +24629 -0
  765. package/etc/mcp-server/node_modules/playwright-core/types/structs.d.ts +45 -0
  766. package/etc/mcp-server/node_modules/playwright-core/types/types.d.ts +24445 -0
  767. package/etc/mcp-server/node_modules/postcss/node_modules/.bin/nanoid +2 -2
  768. package/etc/mcp-server/node_modules/readable-stream/README.md +41 -31
  769. package/etc/mcp-server/node_modules/readable-stream/lib/_stream_duplex.js +3 -125
  770. package/etc/mcp-server/node_modules/readable-stream/lib/_stream_passthrough.js +3 -36
  771. package/etc/mcp-server/node_modules/readable-stream/lib/_stream_readable.js +3 -1026
  772. package/etc/mcp-server/node_modules/readable-stream/lib/_stream_transform.js +3 -189
  773. package/etc/mcp-server/node_modules/readable-stream/lib/_stream_writable.js +3 -640
  774. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/buffer_list.js +141 -167
  775. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/destroy.js +265 -71
  776. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +277 -77
  777. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/from.js +83 -37
  778. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/pipeline.js +458 -73
  779. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/state.js +28 -11
  780. package/etc/mcp-server/node_modules/readable-stream/package.json +77 -57
  781. package/etc/mcp-server/node_modules/require-directory/.jshintrc +67 -0
  782. package/etc/mcp-server/node_modules/require-directory/.travis.yml +3 -0
  783. package/etc/mcp-server/node_modules/{file-uri-to-path → require-directory}/LICENSE +10 -8
  784. package/etc/mcp-server/node_modules/require-directory/README.markdown +184 -0
  785. package/etc/mcp-server/node_modules/require-directory/index.js +86 -0
  786. package/etc/mcp-server/node_modules/require-directory/package.json +40 -0
  787. package/etc/mcp-server/node_modules/sharp/node_modules/.bin/semver +2 -2
  788. package/etc/mcp-server/node_modules/signal-exit/LICENSE.txt +16 -0
  789. package/etc/mcp-server/node_modules/signal-exit/README.md +74 -0
  790. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
  791. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  792. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  793. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  794. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
  795. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  796. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.js +279 -0
  797. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  798. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/package.json +3 -0
  799. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
  800. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  801. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  802. package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  803. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
  804. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  805. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  806. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  807. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
  808. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  809. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.js +275 -0
  810. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  811. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/package.json +3 -0
  812. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
  813. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  814. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  815. package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  816. package/etc/mcp-server/node_modules/signal-exit/index.js +202 -0
  817. package/etc/mcp-server/node_modules/signal-exit/package.json +106 -0
  818. package/etc/mcp-server/node_modules/signal-exit/signals.js +53 -0
  819. package/etc/mcp-server/node_modules/{mkdirp-classic → streamx}/LICENSE +1 -1
  820. package/etc/mcp-server/node_modules/streamx/README.md +550 -0
  821. package/etc/mcp-server/node_modules/streamx/index.d.ts +198 -0
  822. package/etc/mcp-server/node_modules/streamx/index.js +1314 -0
  823. package/etc/mcp-server/node_modules/streamx/lib/errors.d.ts +13 -0
  824. package/etc/mcp-server/node_modules/streamx/lib/errors.js +47 -0
  825. package/etc/mcp-server/node_modules/streamx/package.json +51 -0
  826. package/etc/mcp-server/node_modules/streamx/runtime.d.ts +55 -0
  827. package/etc/mcp-server/node_modules/string-width/index.d.ts +29 -0
  828. package/etc/mcp-server/node_modules/string-width/index.js +47 -0
  829. package/etc/mcp-server/node_modules/string-width/license +9 -0
  830. package/etc/mcp-server/node_modules/string-width/package.json +56 -0
  831. package/etc/mcp-server/node_modules/string-width/readme.md +50 -0
  832. package/etc/mcp-server/node_modules/string-width-cjs/index.d.ts +29 -0
  833. package/etc/mcp-server/node_modules/string-width-cjs/index.js +47 -0
  834. package/etc/mcp-server/node_modules/string-width-cjs/license +9 -0
  835. package/etc/mcp-server/node_modules/string-width-cjs/package.json +56 -0
  836. package/etc/mcp-server/node_modules/string-width-cjs/readme.md +50 -0
  837. package/etc/mcp-server/node_modules/strip-ansi/index.d.ts +17 -0
  838. package/etc/mcp-server/node_modules/strip-ansi/index.js +4 -0
  839. package/etc/mcp-server/node_modules/strip-ansi/license +9 -0
  840. package/etc/mcp-server/node_modules/strip-ansi/package.json +54 -0
  841. package/etc/mcp-server/node_modules/strip-ansi/readme.md +46 -0
  842. package/etc/mcp-server/node_modules/strip-ansi-cjs/index.d.ts +17 -0
  843. package/etc/mcp-server/node_modules/strip-ansi-cjs/index.js +4 -0
  844. package/etc/mcp-server/node_modules/strip-ansi-cjs/license +9 -0
  845. package/etc/mcp-server/node_modules/strip-ansi-cjs/package.json +54 -0
  846. package/etc/mcp-server/node_modules/strip-ansi-cjs/readme.md +46 -0
  847. package/etc/mcp-server/node_modules/tar-fs/README.md +23 -34
  848. package/etc/mcp-server/node_modules/tar-fs/index.js +248 -193
  849. package/etc/mcp-server/node_modules/tar-fs/package.json +27 -7
  850. package/etc/mcp-server/node_modules/tar-stream/README.md +34 -19
  851. package/etc/mcp-server/node_modules/tar-stream/constants.js +14 -0
  852. package/etc/mcp-server/node_modules/tar-stream/extract.js +353 -192
  853. package/etc/mcp-server/node_modules/tar-stream/headers.js +202 -175
  854. package/etc/mcp-server/node_modules/tar-stream/pack.js +226 -194
  855. package/etc/mcp-server/node_modules/tar-stream/package.json +29 -45
  856. package/etc/mcp-server/node_modules/teex/LICENSE +21 -0
  857. package/etc/mcp-server/node_modules/teex/README.md +31 -0
  858. package/etc/mcp-server/node_modules/teex/example.js +16 -0
  859. package/etc/mcp-server/node_modules/teex/index.js +52 -0
  860. package/etc/mcp-server/node_modules/teex/package.json +26 -0
  861. package/etc/mcp-server/node_modules/teex/test.js +68 -0
  862. package/etc/mcp-server/node_modules/text-decoder/LICENSE +201 -0
  863. package/etc/mcp-server/node_modules/text-decoder/README.md +36 -0
  864. package/etc/mcp-server/node_modules/text-decoder/index.js +64 -0
  865. package/etc/mcp-server/node_modules/text-decoder/lib/pass-through-decoder.js +19 -0
  866. package/etc/mcp-server/node_modules/text-decoder/lib/utf8-decoder.js +185 -0
  867. package/etc/mcp-server/node_modules/text-decoder/package.json +39 -0
  868. package/etc/mcp-server/node_modules/tmp/LICENSE +21 -0
  869. package/etc/mcp-server/node_modules/tmp/README.md +391 -0
  870. package/etc/mcp-server/node_modules/tmp/lib/tmp.js +872 -0
  871. package/etc/mcp-server/node_modules/tmp/package.json +44 -0
  872. package/etc/mcp-server/node_modules/ts-api-utils/node_modules/.bin/tsc +2 -2
  873. package/etc/mcp-server/node_modules/ts-api-utils/node_modules/.bin/tsserver +2 -2
  874. package/etc/mcp-server/node_modules/typescript-eslint/node_modules/.bin/eslint +2 -2
  875. package/etc/mcp-server/node_modules/typescript-eslint/node_modules/.bin/tsc +2 -2
  876. package/etc/mcp-server/node_modules/typescript-eslint/node_modules/.bin/tsserver +2 -2
  877. package/etc/mcp-server/node_modules/undici/LICENSE +21 -0
  878. package/etc/mcp-server/node_modules/undici/README.md +443 -0
  879. package/etc/mcp-server/node_modules/undici/docs/api/Agent.md +80 -0
  880. package/etc/mcp-server/node_modules/undici/docs/api/BalancedPool.md +99 -0
  881. package/etc/mcp-server/node_modules/undici/docs/api/CacheStorage.md +30 -0
  882. package/etc/mcp-server/node_modules/undici/docs/api/Client.md +273 -0
  883. package/etc/mcp-server/node_modules/undici/docs/api/Connector.md +115 -0
  884. package/etc/mcp-server/node_modules/undici/docs/api/ContentType.md +57 -0
  885. package/etc/mcp-server/node_modules/undici/docs/api/Cookies.md +101 -0
  886. package/etc/mcp-server/node_modules/undici/docs/api/DiagnosticsChannel.md +204 -0
  887. package/etc/mcp-server/node_modules/undici/docs/api/DispatchInterceptor.md +60 -0
  888. package/etc/mcp-server/node_modules/undici/docs/api/Dispatcher.md +887 -0
  889. package/etc/mcp-server/node_modules/undici/docs/api/Errors.md +47 -0
  890. package/etc/mcp-server/node_modules/undici/docs/api/Fetch.md +27 -0
  891. package/etc/mcp-server/node_modules/undici/docs/api/MockAgent.md +540 -0
  892. package/etc/mcp-server/node_modules/undici/docs/api/MockClient.md +77 -0
  893. package/etc/mcp-server/node_modules/undici/docs/api/MockErrors.md +12 -0
  894. package/etc/mcp-server/node_modules/undici/docs/api/MockPool.md +547 -0
  895. package/etc/mcp-server/node_modules/undici/docs/api/Pool.md +84 -0
  896. package/etc/mcp-server/node_modules/undici/docs/api/PoolStats.md +35 -0
  897. package/etc/mcp-server/node_modules/undici/docs/api/ProxyAgent.md +126 -0
  898. package/etc/mcp-server/node_modules/undici/docs/api/RetryHandler.md +108 -0
  899. package/etc/mcp-server/node_modules/undici/docs/api/WebSocket.md +43 -0
  900. package/etc/mcp-server/node_modules/undici/docs/api/api-lifecycle.md +62 -0
  901. package/etc/mcp-server/node_modules/undici/docs/assets/lifecycle-diagram.png +0 -0
  902. package/etc/mcp-server/node_modules/undici/docs/best-practices/client-certificate.md +64 -0
  903. package/etc/mcp-server/node_modules/undici/docs/best-practices/mocking-request.md +136 -0
  904. package/etc/mcp-server/node_modules/undici/docs/best-practices/proxy.md +127 -0
  905. package/etc/mcp-server/node_modules/undici/docs/best-practices/writing-tests.md +20 -0
  906. package/etc/mcp-server/node_modules/undici/index-fetch.js +15 -0
  907. package/etc/mcp-server/node_modules/undici/index.d.ts +3 -0
  908. package/etc/mcp-server/node_modules/undici/index.js +167 -0
  909. package/etc/mcp-server/node_modules/undici/lib/agent.js +148 -0
  910. package/etc/mcp-server/node_modules/undici/lib/api/abort-signal.js +54 -0
  911. package/etc/mcp-server/node_modules/undici/lib/api/api-connect.js +104 -0
  912. package/etc/mcp-server/node_modules/undici/lib/api/api-pipeline.js +249 -0
  913. package/etc/mcp-server/node_modules/undici/lib/api/api-request.js +180 -0
  914. package/etc/mcp-server/node_modules/undici/lib/api/api-stream.js +220 -0
  915. package/etc/mcp-server/node_modules/undici/lib/api/api-upgrade.js +105 -0
  916. package/etc/mcp-server/node_modules/undici/lib/api/index.js +7 -0
  917. package/etc/mcp-server/node_modules/undici/lib/api/readable.js +322 -0
  918. package/etc/mcp-server/node_modules/undici/lib/api/util.js +46 -0
  919. package/etc/mcp-server/node_modules/undici/lib/balanced-pool.js +190 -0
  920. package/etc/mcp-server/node_modules/undici/lib/cache/cache.js +838 -0
  921. package/etc/mcp-server/node_modules/undici/lib/cache/cachestorage.js +144 -0
  922. package/etc/mcp-server/node_modules/undici/lib/cache/symbols.js +5 -0
  923. package/etc/mcp-server/node_modules/undici/lib/cache/util.js +49 -0
  924. package/etc/mcp-server/node_modules/undici/lib/client.js +2283 -0
  925. package/etc/mcp-server/node_modules/undici/lib/compat/dispatcher-weakref.js +48 -0
  926. package/etc/mcp-server/node_modules/undici/lib/cookies/constants.js +12 -0
  927. package/etc/mcp-server/node_modules/undici/lib/cookies/index.js +183 -0
  928. package/etc/mcp-server/node_modules/undici/lib/cookies/parse.js +317 -0
  929. package/etc/mcp-server/node_modules/undici/lib/cookies/util.js +274 -0
  930. package/etc/mcp-server/node_modules/undici/lib/core/connect.js +189 -0
  931. package/etc/mcp-server/node_modules/undici/lib/core/constants.js +118 -0
  932. package/etc/mcp-server/node_modules/undici/lib/core/errors.js +230 -0
  933. package/etc/mcp-server/node_modules/undici/lib/core/request.js +499 -0
  934. package/etc/mcp-server/node_modules/undici/lib/core/symbols.js +63 -0
  935. package/etc/mcp-server/node_modules/undici/lib/core/util.js +522 -0
  936. package/etc/mcp-server/node_modules/undici/lib/dispatcher-base.js +192 -0
  937. package/etc/mcp-server/node_modules/undici/lib/dispatcher.js +19 -0
  938. package/etc/mcp-server/node_modules/undici/lib/fetch/LICENSE +21 -0
  939. package/etc/mcp-server/node_modules/undici/lib/fetch/body.js +613 -0
  940. package/etc/mcp-server/node_modules/undici/lib/fetch/constants.js +151 -0
  941. package/etc/mcp-server/node_modules/undici/lib/fetch/dataURL.js +627 -0
  942. package/etc/mcp-server/node_modules/undici/lib/fetch/file.js +344 -0
  943. package/etc/mcp-server/node_modules/undici/lib/fetch/formdata.js +265 -0
  944. package/etc/mcp-server/node_modules/undici/lib/fetch/global.js +40 -0
  945. package/etc/mcp-server/node_modules/undici/lib/fetch/headers.js +593 -0
  946. package/etc/mcp-server/node_modules/undici/lib/fetch/index.js +2148 -0
  947. package/etc/mcp-server/node_modules/undici/lib/fetch/request.js +946 -0
  948. package/etc/mcp-server/node_modules/undici/lib/fetch/response.js +571 -0
  949. package/etc/mcp-server/node_modules/undici/lib/fetch/symbols.js +10 -0
  950. package/etc/mcp-server/node_modules/undici/lib/fetch/util.js +1144 -0
  951. package/etc/mcp-server/node_modules/undici/lib/fetch/webidl.js +646 -0
  952. package/etc/mcp-server/node_modules/undici/lib/fileapi/encoding.js +290 -0
  953. package/etc/mcp-server/node_modules/undici/lib/fileapi/filereader.js +344 -0
  954. package/etc/mcp-server/node_modules/undici/lib/fileapi/progressevent.js +78 -0
  955. package/etc/mcp-server/node_modules/undici/lib/fileapi/symbols.js +10 -0
  956. package/etc/mcp-server/node_modules/undici/lib/fileapi/util.js +392 -0
  957. package/etc/mcp-server/node_modules/undici/lib/global.js +32 -0
  958. package/etc/mcp-server/node_modules/undici/lib/handler/DecoratorHandler.js +35 -0
  959. package/etc/mcp-server/node_modules/undici/lib/handler/RedirectHandler.js +221 -0
  960. package/etc/mcp-server/node_modules/undici/lib/handler/RetryHandler.js +336 -0
  961. package/etc/mcp-server/node_modules/undici/lib/interceptor/redirectInterceptor.js +21 -0
  962. package/etc/mcp-server/node_modules/undici/lib/llhttp/constants.d.ts +199 -0
  963. package/etc/mcp-server/node_modules/undici/lib/llhttp/constants.js +278 -0
  964. package/etc/mcp-server/node_modules/undici/lib/llhttp/constants.js.map +1 -0
  965. package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -0
  966. package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp.wasm +0 -0
  967. package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -0
  968. package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp_simd.wasm +0 -0
  969. package/etc/mcp-server/node_modules/undici/lib/llhttp/utils.d.ts +4 -0
  970. package/etc/mcp-server/node_modules/undici/lib/llhttp/utils.js +15 -0
  971. package/etc/mcp-server/node_modules/undici/lib/llhttp/utils.js.map +1 -0
  972. package/etc/mcp-server/node_modules/undici/lib/llhttp/wasm_build_env.txt +32 -0
  973. package/etc/mcp-server/node_modules/undici/lib/mock/mock-agent.js +171 -0
  974. package/etc/mcp-server/node_modules/undici/lib/mock/mock-client.js +59 -0
  975. package/etc/mcp-server/node_modules/undici/lib/mock/mock-errors.js +17 -0
  976. package/etc/mcp-server/node_modules/undici/lib/mock/mock-interceptor.js +206 -0
  977. package/etc/mcp-server/node_modules/undici/lib/mock/mock-pool.js +59 -0
  978. package/etc/mcp-server/node_modules/undici/lib/mock/mock-symbols.js +23 -0
  979. package/etc/mcp-server/node_modules/undici/lib/mock/mock-utils.js +351 -0
  980. package/etc/mcp-server/node_modules/undici/lib/mock/pending-interceptors-formatter.js +40 -0
  981. package/etc/mcp-server/node_modules/undici/lib/mock/pluralizer.js +29 -0
  982. package/etc/mcp-server/node_modules/undici/lib/node/fixed-queue.js +117 -0
  983. package/etc/mcp-server/node_modules/undici/lib/pool-base.js +194 -0
  984. package/etc/mcp-server/node_modules/undici/lib/pool-stats.js +34 -0
  985. package/etc/mcp-server/node_modules/undici/lib/pool.js +108 -0
  986. package/etc/mcp-server/node_modules/undici/lib/proxy-agent.js +189 -0
  987. package/etc/mcp-server/node_modules/undici/lib/timers.js +97 -0
  988. package/etc/mcp-server/node_modules/undici/lib/websocket/connection.js +291 -0
  989. package/etc/mcp-server/node_modules/undici/lib/websocket/constants.js +51 -0
  990. package/etc/mcp-server/node_modules/undici/lib/websocket/events.js +303 -0
  991. package/etc/mcp-server/node_modules/undici/lib/websocket/frame.js +73 -0
  992. package/etc/mcp-server/node_modules/undici/lib/websocket/receiver.js +344 -0
  993. package/etc/mcp-server/node_modules/undici/lib/websocket/symbols.js +12 -0
  994. package/etc/mcp-server/node_modules/undici/lib/websocket/util.js +200 -0
  995. package/etc/mcp-server/node_modules/undici/lib/websocket/websocket.js +641 -0
  996. package/etc/mcp-server/node_modules/undici/package.json +167 -0
  997. package/etc/mcp-server/node_modules/undici/types/README.md +6 -0
  998. package/etc/mcp-server/node_modules/undici/types/agent.d.ts +31 -0
  999. package/etc/mcp-server/node_modules/undici/types/api.d.ts +43 -0
  1000. package/etc/mcp-server/node_modules/undici/types/balanced-pool.d.ts +18 -0
  1001. package/etc/mcp-server/node_modules/undici/types/cache.d.ts +36 -0
  1002. package/etc/mcp-server/node_modules/undici/types/client.d.ts +97 -0
  1003. package/etc/mcp-server/node_modules/undici/types/connector.d.ts +34 -0
  1004. package/etc/mcp-server/node_modules/undici/types/content-type.d.ts +21 -0
  1005. package/etc/mcp-server/node_modules/undici/types/cookies.d.ts +28 -0
  1006. package/etc/mcp-server/node_modules/undici/types/diagnostics-channel.d.ts +67 -0
  1007. package/etc/mcp-server/node_modules/undici/types/dispatcher.d.ts +241 -0
  1008. package/etc/mcp-server/node_modules/undici/types/errors.d.ts +128 -0
  1009. package/etc/mcp-server/node_modules/undici/types/fetch.d.ts +209 -0
  1010. package/etc/mcp-server/node_modules/undici/types/file.d.ts +39 -0
  1011. package/etc/mcp-server/node_modules/undici/types/filereader.d.ts +54 -0
  1012. package/etc/mcp-server/node_modules/undici/types/formdata.d.ts +108 -0
  1013. package/etc/mcp-server/node_modules/undici/types/global-dispatcher.d.ts +9 -0
  1014. package/etc/mcp-server/node_modules/undici/types/global-origin.d.ts +7 -0
  1015. package/etc/mcp-server/node_modules/undici/types/handlers.d.ts +9 -0
  1016. package/etc/mcp-server/node_modules/undici/types/header.d.ts +4 -0
  1017. package/etc/mcp-server/node_modules/undici/types/index.d.ts +65 -0
  1018. package/etc/mcp-server/node_modules/undici/types/interceptors.d.ts +5 -0
  1019. package/etc/mcp-server/node_modules/undici/types/mock-agent.d.ts +50 -0
  1020. package/etc/mcp-server/node_modules/undici/types/mock-client.d.ts +25 -0
  1021. package/etc/mcp-server/node_modules/undici/types/mock-errors.d.ts +12 -0
  1022. package/etc/mcp-server/node_modules/undici/types/mock-interceptor.d.ts +93 -0
  1023. package/etc/mcp-server/node_modules/undici/types/mock-pool.d.ts +25 -0
  1024. package/etc/mcp-server/node_modules/undici/types/patch.d.ts +71 -0
  1025. package/etc/mcp-server/node_modules/undici/types/pool-stats.d.ts +19 -0
  1026. package/etc/mcp-server/node_modules/undici/types/pool.d.ts +28 -0
  1027. package/etc/mcp-server/node_modules/undici/types/proxy-agent.d.ts +30 -0
  1028. package/etc/mcp-server/node_modules/undici/types/readable.d.ts +61 -0
  1029. package/etc/mcp-server/node_modules/undici/types/retry-handler.d.ts +116 -0
  1030. package/etc/mcp-server/node_modules/undici/types/webidl.d.ts +220 -0
  1031. package/etc/mcp-server/node_modules/undici/types/websocket.d.ts +131 -0
  1032. package/etc/mcp-server/node_modules/update-browserslist-db/node_modules/.bin/browserslist +2 -2
  1033. package/etc/mcp-server/node_modules/vite/node_modules/.bin/esbuild +2 -2
  1034. package/etc/mcp-server/node_modules/vite/node_modules/.bin/rollup +2 -2
  1035. package/etc/mcp-server/node_modules/vite-node/node_modules/.bin/vite +2 -2
  1036. package/etc/mcp-server/node_modules/vitest/node_modules/.bin/vite +2 -2
  1037. package/etc/mcp-server/node_modules/vitest/node_modules/.bin/vite-node +2 -2
  1038. package/etc/mcp-server/node_modules/vitest/node_modules/.bin/why-is-node-running +2 -2
  1039. package/etc/mcp-server/node_modules/wrap-ansi/index.d.ts +41 -0
  1040. package/etc/mcp-server/node_modules/wrap-ansi/index.js +216 -0
  1041. package/etc/mcp-server/node_modules/wrap-ansi/license +9 -0
  1042. package/etc/mcp-server/node_modules/wrap-ansi/package.json +62 -0
  1043. package/etc/mcp-server/node_modules/wrap-ansi/readme.md +91 -0
  1044. package/etc/mcp-server/node_modules/wrap-ansi-cjs/index.js +216 -0
  1045. package/etc/mcp-server/node_modules/wrap-ansi-cjs/license +9 -0
  1046. package/etc/mcp-server/node_modules/wrap-ansi-cjs/package.json +62 -0
  1047. package/etc/mcp-server/node_modules/wrap-ansi-cjs/readme.md +91 -0
  1048. package/etc/mcp-server/node_modules/y18n/CHANGELOG.md +100 -0
  1049. package/etc/mcp-server/node_modules/y18n/LICENSE +13 -0
  1050. package/etc/mcp-server/node_modules/y18n/README.md +127 -0
  1051. package/etc/mcp-server/node_modules/y18n/build/index.cjs +203 -0
  1052. package/etc/mcp-server/node_modules/y18n/build/lib/cjs.js +6 -0
  1053. package/etc/mcp-server/node_modules/y18n/build/lib/index.js +174 -0
  1054. package/etc/mcp-server/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
  1055. package/etc/mcp-server/node_modules/y18n/index.mjs +8 -0
  1056. package/etc/mcp-server/node_modules/y18n/package.json +70 -0
  1057. package/etc/mcp-server/node_modules/yaml/LICENSE +13 -0
  1058. package/etc/mcp-server/node_modules/yaml/README.md +172 -0
  1059. package/etc/mcp-server/node_modules/yaml/bin.mjs +11 -0
  1060. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  1061. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  1062. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  1063. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  1064. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  1065. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  1066. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  1067. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  1068. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  1069. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  1070. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
  1071. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  1072. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  1073. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  1074. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  1075. package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  1076. package/etc/mcp-server/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  1077. package/etc/mcp-server/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  1078. package/etc/mcp-server/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  1079. package/etc/mcp-server/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  1080. package/etc/mcp-server/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  1081. package/etc/mcp-server/node_modules/yaml/browser/dist/errors.js +57 -0
  1082. package/etc/mcp-server/node_modules/yaml/browser/dist/index.js +17 -0
  1083. package/etc/mcp-server/node_modules/yaml/browser/dist/log.js +11 -0
  1084. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
  1085. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  1086. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  1087. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  1088. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  1089. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  1090. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  1091. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  1092. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  1093. package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  1094. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  1095. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  1096. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  1097. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  1098. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  1099. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  1100. package/etc/mcp-server/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  1101. package/etc/mcp-server/node_modules/yaml/browser/dist/public-api.js +102 -0
  1102. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  1103. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  1104. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  1105. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  1106. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  1107. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  1108. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  1109. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  1110. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  1111. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  1112. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  1113. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  1114. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  1115. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  1116. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  1117. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  1118. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  1119. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  1120. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  1121. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  1122. package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  1123. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  1124. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  1125. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  1126. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  1127. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  1128. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  1129. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  1130. package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  1131. package/etc/mcp-server/node_modules/yaml/browser/dist/util.js +11 -0
  1132. package/etc/mcp-server/node_modules/yaml/browser/dist/visit.js +233 -0
  1133. package/etc/mcp-server/node_modules/yaml/browser/index.js +5 -0
  1134. package/etc/mcp-server/node_modules/yaml/browser/package.json +3 -0
  1135. package/etc/mcp-server/node_modules/yaml/dist/cli.d.ts +8 -0
  1136. package/etc/mcp-server/node_modules/yaml/dist/cli.mjs +201 -0
  1137. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  1138. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  1139. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  1140. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  1141. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  1142. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-node.js +112 -0
  1143. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  1144. package/etc/mcp-server/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  1145. package/etc/mcp-server/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  1146. package/etc/mcp-server/node_modules/yaml/dist/compose/composer.js +224 -0
  1147. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  1148. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  1149. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  1150. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  1151. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  1152. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  1153. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  1154. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  1155. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  1156. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  1157. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  1158. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  1159. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  1160. package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  1161. package/etc/mcp-server/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  1162. package/etc/mcp-server/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  1163. package/etc/mcp-server/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  1164. package/etc/mcp-server/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  1165. package/etc/mcp-server/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  1166. package/etc/mcp-server/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  1167. package/etc/mcp-server/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  1168. package/etc/mcp-server/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  1169. package/etc/mcp-server/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  1170. package/etc/mcp-server/node_modules/yaml/dist/doc/Document.js +337 -0
  1171. package/etc/mcp-server/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  1172. package/etc/mcp-server/node_modules/yaml/dist/doc/anchors.js +76 -0
  1173. package/etc/mcp-server/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  1174. package/etc/mcp-server/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  1175. package/etc/mcp-server/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  1176. package/etc/mcp-server/node_modules/yaml/dist/doc/createNode.js +90 -0
  1177. package/etc/mcp-server/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  1178. package/etc/mcp-server/node_modules/yaml/dist/doc/directives.js +178 -0
  1179. package/etc/mcp-server/node_modules/yaml/dist/errors.d.ts +21 -0
  1180. package/etc/mcp-server/node_modules/yaml/dist/errors.js +62 -0
  1181. package/etc/mcp-server/node_modules/yaml/dist/index.d.ts +25 -0
  1182. package/etc/mcp-server/node_modules/yaml/dist/index.js +50 -0
  1183. package/etc/mcp-server/node_modules/yaml/dist/log.d.ts +3 -0
  1184. package/etc/mcp-server/node_modules/yaml/dist/log.js +19 -0
  1185. package/etc/mcp-server/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  1186. package/etc/mcp-server/node_modules/yaml/dist/nodes/Alias.js +118 -0
  1187. package/etc/mcp-server/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  1188. package/etc/mcp-server/node_modules/yaml/dist/nodes/Collection.js +151 -0
  1189. package/etc/mcp-server/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  1190. package/etc/mcp-server/node_modules/yaml/dist/nodes/Node.js +40 -0
  1191. package/etc/mcp-server/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  1192. package/etc/mcp-server/node_modules/yaml/dist/nodes/Pair.js +39 -0
  1193. package/etc/mcp-server/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  1194. package/etc/mcp-server/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  1195. package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  1196. package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  1197. package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  1198. package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  1199. package/etc/mcp-server/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  1200. package/etc/mcp-server/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  1201. package/etc/mcp-server/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  1202. package/etc/mcp-server/node_modules/yaml/dist/nodes/identity.js +53 -0
  1203. package/etc/mcp-server/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  1204. package/etc/mcp-server/node_modules/yaml/dist/nodes/toJS.js +39 -0
  1205. package/etc/mcp-server/node_modules/yaml/dist/options.d.ts +350 -0
  1206. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  1207. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  1208. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  1209. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  1210. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  1211. package/etc/mcp-server/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  1212. package/etc/mcp-server/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  1213. package/etc/mcp-server/node_modules/yaml/dist/parse/cst.js +112 -0
  1214. package/etc/mcp-server/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  1215. package/etc/mcp-server/node_modules/yaml/dist/parse/lexer.js +723 -0
  1216. package/etc/mcp-server/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  1217. package/etc/mcp-server/node_modules/yaml/dist/parse/line-counter.js +41 -0
  1218. package/etc/mcp-server/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  1219. package/etc/mcp-server/node_modules/yaml/dist/parse/parser.js +980 -0
  1220. package/etc/mcp-server/node_modules/yaml/dist/public-api.d.ts +44 -0
  1221. package/etc/mcp-server/node_modules/yaml/dist/public-api.js +107 -0
  1222. package/etc/mcp-server/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  1223. package/etc/mcp-server/node_modules/yaml/dist/schema/Schema.js +39 -0
  1224. package/etc/mcp-server/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  1225. package/etc/mcp-server/node_modules/yaml/dist/schema/common/map.js +19 -0
  1226. package/etc/mcp-server/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  1227. package/etc/mcp-server/node_modules/yaml/dist/schema/common/null.js +17 -0
  1228. package/etc/mcp-server/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  1229. package/etc/mcp-server/node_modules/yaml/dist/schema/common/seq.js +19 -0
  1230. package/etc/mcp-server/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  1231. package/etc/mcp-server/node_modules/yaml/dist/schema/common/string.js +16 -0
  1232. package/etc/mcp-server/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  1233. package/etc/mcp-server/node_modules/yaml/dist/schema/core/bool.js +21 -0
  1234. package/etc/mcp-server/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  1235. package/etc/mcp-server/node_modules/yaml/dist/schema/core/float.js +47 -0
  1236. package/etc/mcp-server/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  1237. package/etc/mcp-server/node_modules/yaml/dist/schema/core/int.js +42 -0
  1238. package/etc/mcp-server/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  1239. package/etc/mcp-server/node_modules/yaml/dist/schema/core/schema.js +25 -0
  1240. package/etc/mcp-server/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  1241. package/etc/mcp-server/node_modules/yaml/dist/schema/json/schema.js +64 -0
  1242. package/etc/mcp-server/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  1243. package/etc/mcp-server/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  1244. package/etc/mcp-server/node_modules/yaml/dist/schema/tags.js +99 -0
  1245. package/etc/mcp-server/node_modules/yaml/dist/schema/types.d.ts +92 -0
  1246. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  1247. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  1248. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  1249. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  1250. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  1251. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  1252. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  1253. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  1254. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  1255. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  1256. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  1257. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  1258. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  1259. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  1260. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  1261. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  1262. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  1263. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  1264. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  1265. package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  1266. package/etc/mcp-server/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  1267. package/etc/mcp-server/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  1268. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  1269. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringify.js +132 -0
  1270. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  1271. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  1272. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  1273. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  1274. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  1275. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  1276. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  1277. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  1278. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  1279. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  1280. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  1281. package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  1282. package/etc/mcp-server/node_modules/yaml/dist/test-events.d.ts +4 -0
  1283. package/etc/mcp-server/node_modules/yaml/dist/test-events.js +134 -0
  1284. package/etc/mcp-server/node_modules/yaml/dist/util.d.ts +16 -0
  1285. package/etc/mcp-server/node_modules/yaml/dist/util.js +28 -0
  1286. package/etc/mcp-server/node_modules/yaml/dist/visit.d.ts +102 -0
  1287. package/etc/mcp-server/node_modules/yaml/dist/visit.js +236 -0
  1288. package/etc/mcp-server/node_modules/yaml/package.json +97 -0
  1289. package/etc/mcp-server/node_modules/yaml/util.js +2 -0
  1290. package/etc/mcp-server/node_modules/yargs/CHANGELOG.md +330 -0
  1291. package/etc/mcp-server/node_modules/yargs/LICENSE +21 -0
  1292. package/etc/mcp-server/node_modules/yargs/README.md +204 -0
  1293. package/etc/mcp-server/node_modules/yargs/browser.mjs +7 -0
  1294. package/etc/mcp-server/node_modules/yargs/build/index.cjs +1 -0
  1295. package/etc/mcp-server/node_modules/yargs/build/lib/argsert.js +62 -0
  1296. package/etc/mcp-server/node_modules/yargs/build/lib/command.js +449 -0
  1297. package/etc/mcp-server/node_modules/yargs/build/lib/completion-templates.js +48 -0
  1298. package/etc/mcp-server/node_modules/yargs/build/lib/completion.js +243 -0
  1299. package/etc/mcp-server/node_modules/yargs/build/lib/middleware.js +88 -0
  1300. package/etc/mcp-server/node_modules/yargs/build/lib/parse-command.js +32 -0
  1301. package/etc/mcp-server/node_modules/yargs/build/lib/typings/common-types.js +9 -0
  1302. package/etc/mcp-server/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
  1303. package/etc/mcp-server/node_modules/yargs/build/lib/usage.js +584 -0
  1304. package/etc/mcp-server/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
  1305. package/etc/mcp-server/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
  1306. package/etc/mcp-server/node_modules/yargs/build/lib/utils/levenshtein.js +34 -0
  1307. package/etc/mcp-server/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
  1308. package/etc/mcp-server/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
  1309. package/etc/mcp-server/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
  1310. package/etc/mcp-server/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
  1311. package/etc/mcp-server/node_modules/yargs/build/lib/utils/which-module.js +10 -0
  1312. package/etc/mcp-server/node_modules/yargs/build/lib/validation.js +305 -0
  1313. package/etc/mcp-server/node_modules/yargs/build/lib/yargs-factory.js +1512 -0
  1314. package/etc/mcp-server/node_modules/yargs/build/lib/yerror.js +9 -0
  1315. package/etc/mcp-server/node_modules/yargs/helpers/helpers.mjs +10 -0
  1316. package/etc/mcp-server/node_modules/yargs/helpers/index.js +14 -0
  1317. package/etc/mcp-server/node_modules/yargs/helpers/package.json +3 -0
  1318. package/etc/mcp-server/node_modules/yargs/index.cjs +53 -0
  1319. package/etc/mcp-server/node_modules/yargs/index.mjs +8 -0
  1320. package/etc/mcp-server/node_modules/yargs/lib/platform-shims/browser.mjs +95 -0
  1321. package/etc/mcp-server/node_modules/yargs/lib/platform-shims/esm.mjs +73 -0
  1322. package/etc/mcp-server/node_modules/yargs/locales/be.json +46 -0
  1323. package/etc/mcp-server/node_modules/yargs/locales/cs.json +51 -0
  1324. package/etc/mcp-server/node_modules/yargs/locales/de.json +46 -0
  1325. package/etc/mcp-server/node_modules/yargs/locales/en.json +55 -0
  1326. package/etc/mcp-server/node_modules/yargs/locales/es.json +46 -0
  1327. package/etc/mcp-server/node_modules/yargs/locales/fi.json +49 -0
  1328. package/etc/mcp-server/node_modules/yargs/locales/fr.json +53 -0
  1329. package/etc/mcp-server/node_modules/yargs/locales/hi.json +49 -0
  1330. package/etc/mcp-server/node_modules/yargs/locales/hu.json +46 -0
  1331. package/etc/mcp-server/node_modules/yargs/locales/id.json +50 -0
  1332. package/etc/mcp-server/node_modules/yargs/locales/it.json +46 -0
  1333. package/etc/mcp-server/node_modules/yargs/locales/ja.json +51 -0
  1334. package/etc/mcp-server/node_modules/yargs/locales/ko.json +49 -0
  1335. package/etc/mcp-server/node_modules/yargs/locales/nb.json +44 -0
  1336. package/etc/mcp-server/node_modules/yargs/locales/nl.json +49 -0
  1337. package/etc/mcp-server/node_modules/yargs/locales/nn.json +44 -0
  1338. package/etc/mcp-server/node_modules/yargs/locales/pirate.json +13 -0
  1339. package/etc/mcp-server/node_modules/yargs/locales/pl.json +49 -0
  1340. package/etc/mcp-server/node_modules/yargs/locales/pt.json +45 -0
  1341. package/etc/mcp-server/node_modules/yargs/locales/pt_BR.json +48 -0
  1342. package/etc/mcp-server/node_modules/yargs/locales/ru.json +51 -0
  1343. package/etc/mcp-server/node_modules/yargs/locales/th.json +46 -0
  1344. package/etc/mcp-server/node_modules/yargs/locales/tr.json +48 -0
  1345. package/etc/mcp-server/node_modules/yargs/locales/uk_UA.json +51 -0
  1346. package/etc/mcp-server/node_modules/yargs/locales/uz.json +52 -0
  1347. package/etc/mcp-server/node_modules/yargs/locales/zh_CN.json +48 -0
  1348. package/etc/mcp-server/node_modules/yargs/locales/zh_TW.json +51 -0
  1349. package/etc/mcp-server/node_modules/yargs/package.json +125 -0
  1350. package/etc/mcp-server/node_modules/yargs/yargs +5 -0
  1351. package/etc/mcp-server/node_modules/yargs/yargs.cjs +15 -0
  1352. package/etc/mcp-server/node_modules/yargs/yargs.mjs +10 -0
  1353. package/etc/mcp-server/node_modules/yargs-parser/CHANGELOG.md +308 -0
  1354. package/etc/mcp-server/node_modules/yargs-parser/LICENSE.txt +14 -0
  1355. package/etc/mcp-server/node_modules/yargs-parser/README.md +518 -0
  1356. package/etc/mcp-server/node_modules/yargs-parser/browser.js +29 -0
  1357. package/etc/mcp-server/node_modules/yargs-parser/build/index.cjs +1050 -0
  1358. package/etc/mcp-server/node_modules/yargs-parser/build/lib/index.js +62 -0
  1359. package/etc/mcp-server/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
  1360. package/etc/mcp-server/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
  1361. package/etc/mcp-server/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
  1362. package/etc/mcp-server/node_modules/yargs-parser/build/lib/yargs-parser.js +1045 -0
  1363. package/etc/mcp-server/node_modules/yargs-parser/package.json +92 -0
  1364. package/etc/mcp-server/package.json +2 -1
  1365. package/etc/mcp-server/server.js +15 -1
  1366. package/etc/mcp-server/tools.js +84 -17
  1367. package/etc/mcp-server/wrap-bin.js +60 -0
  1368. package/etc/mcp-server/wrap.js +81 -0
  1369. package/package.json +1 -1
  1370. package/etc/mcp-server/node_modules/bindings/README.md +0 -98
  1371. package/etc/mcp-server/node_modules/bindings/bindings.js +0 -221
  1372. package/etc/mcp-server/node_modules/bindings/package.json +0 -28
  1373. package/etc/mcp-server/node_modules/bl/.travis.yml +0 -17
  1374. package/etc/mcp-server/node_modules/bl/BufferList.js +0 -396
  1375. package/etc/mcp-server/node_modules/bl/README.md +0 -247
  1376. package/etc/mcp-server/node_modules/bl/bl.js +0 -84
  1377. package/etc/mcp-server/node_modules/bl/package.json +0 -37
  1378. package/etc/mcp-server/node_modules/bl/test/convert.js +0 -21
  1379. package/etc/mcp-server/node_modules/bl/test/indexOf.js +0 -492
  1380. package/etc/mcp-server/node_modules/bl/test/isBufferList.js +0 -32
  1381. package/etc/mcp-server/node_modules/bl/test/test.js +0 -869
  1382. package/etc/mcp-server/node_modules/chownr/README.md +0 -3
  1383. package/etc/mcp-server/node_modules/chownr/chownr.js +0 -167
  1384. package/etc/mcp-server/node_modules/chownr/package.json +0 -29
  1385. package/etc/mcp-server/node_modules/file-uri-to-path/.travis.yml +0 -30
  1386. package/etc/mcp-server/node_modules/file-uri-to-path/History.md +0 -21
  1387. package/etc/mcp-server/node_modules/file-uri-to-path/README.md +0 -74
  1388. package/etc/mcp-server/node_modules/file-uri-to-path/index.d.ts +0 -2
  1389. package/etc/mcp-server/node_modules/file-uri-to-path/index.js +0 -66
  1390. package/etc/mcp-server/node_modules/file-uri-to-path/package.json +0 -32
  1391. package/etc/mcp-server/node_modules/file-uri-to-path/test/test.js +0 -24
  1392. package/etc/mcp-server/node_modules/file-uri-to-path/test/tests.json +0 -13
  1393. package/etc/mcp-server/node_modules/fs-constants/README.md +0 -26
  1394. package/etc/mcp-server/node_modules/fs-constants/browser.js +0 -1
  1395. package/etc/mcp-server/node_modules/fs-constants/index.js +0 -1
  1396. package/etc/mcp-server/node_modules/fs-constants/package.json +0 -19
  1397. package/etc/mcp-server/node_modules/mkdirp-classic/README.md +0 -18
  1398. package/etc/mcp-server/node_modules/mkdirp-classic/index.js +0 -98
  1399. package/etc/mcp-server/node_modules/mkdirp-classic/package.json +0 -18
  1400. package/etc/mcp-server/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  1401. package/etc/mcp-server/node_modules/readable-stream/GOVERNANCE.md +0 -136
  1402. package/etc/mcp-server/node_modules/readable-stream/errors-browser.js +0 -127
  1403. package/etc/mcp-server/node_modules/readable-stream/errors.js +0 -116
  1404. package/etc/mcp-server/node_modules/readable-stream/experimentalWarning.js +0 -17
  1405. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  1406. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  1407. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  1408. package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  1409. package/etc/mcp-server/node_modules/readable-stream/readable-browser.js +0 -9
  1410. package/etc/mcp-server/node_modules/readable-stream/readable.js +0 -16
  1411. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  1412. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  1413. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  1414. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  1415. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  1416. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  1417. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  1418. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  1419. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/e/file +0 -0
  1420. package/etc/mcp-server/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  1421. package/etc/mcp-server/node_modules/tar-fs/test/index.js +0 -346
  1422. package/etc/mcp-server/node_modules/tar-stream/sandbox.js +0 -11
  1423. package/etc/mcp-server/node_modules/util-deprecate/History.md +0 -16
  1424. package/etc/mcp-server/node_modules/util-deprecate/LICENSE +0 -24
  1425. package/etc/mcp-server/node_modules/util-deprecate/README.md +0 -53
  1426. package/etc/mcp-server/node_modules/util-deprecate/browser.js +0 -67
  1427. package/etc/mcp-server/node_modules/util-deprecate/node.js +0 -6
  1428. package/etc/mcp-server/node_modules/util-deprecate/package.json +0 -27
package/dist/index.js CHANGED
@@ -1,51 +1,55 @@
1
1
  #!/usr/bin/env node
2
- import{readFileSync as Ki}from"node:fs";import{homedir as R}from"node:os";import{existsSync as dn,mkdirSync as To,readFileSync as Ao,rmSync as _o,writeFileSync as Uo}from"node:fs";import{dirname as No,join as $o}from"node:path";import{randomBytes as Mo}from"node:crypto";import{existsSync as dr,readFileSync as pr}from"node:fs";import{join as fr}from"node:path";import{copyFileSync as ir,existsSync as Ye,mkdirSync as ar,renameSync as cr,writeFileSync as lr}from"node:fs";import{dirname as ur}from"node:path";var ze=".venos-backup";function m(e,t){ar(ur(e),{recursive:!0}),Ye(e)&&!Ye(e+ze)&&ir(e,e+ze);let n=e+".tmp";lr(n,t,{mode:420}),cr(n,e)}function g(e){return JSON.stringify(e,null,2)+`
3
- `}var W="http://127.0.0.1:4000/v1";var Xe="venos",mr="venos usage-sync --throttle";function z(e){return(e??[]).some(t=>t.hooks.some(n=>typeof n.command=="string"&&n.command.includes(Xe)))}function me(e,t){let n=e??[];return z(n)?n:[...n,{matcher:"*",hooks:[{type:"command",command:t}]}]}function ge(e){return(e??[]).map(t=>({...t,hooks:t.hooks.filter(n=>typeof n.command!="string"||!n.command.includes(Xe))})).filter(t=>t.hooks.length>0)}var he={name:"claude-code",transport:"claude-hook",configPath(e){return fr(e,".claude","settings.json")},isInstalled(e){return!0},load(e){if(!dr(e))return{};try{return JSON.parse(pr(e,"utf8"))}catch{return{}}},isWired(e){return z(e.hooks?.PreToolUse)&&z(e.hooks?.PostToolUse)&&z(e.hooks?.Stop)},inject(e,t){let n=e.hooks??{};return{...e,hooks:{...n,PreToolUse:me(n.PreToolUse,t.hookCommand),PostToolUse:me(n.PostToolUse,t.hookCommand),Stop:me(n.Stop,t.usageSyncCommand??mr)}}},remove(e){return e.hooks?{...e,hooks:{...e.hooks,PreToolUse:ge(e.hooks.PreToolUse),PostToolUse:ge(e.hooks.PostToolUse),Stop:ge(e.hooks.Stop)}}:e},write(e,t){m(e,g(t))}};import{existsSync as F,readFileSync as gr}from"node:fs";import{join as X}from"node:path";function Ze(e){let t=e.mcpServers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")?!1:F(n)}var ye={name:"cursor",transport:"mcp-json",configPath(e){return X(e,".cursor","mcp.json")},isInstalled(e){let t=X(e,".cursor");return F(t)?F(X(t,"mcp.json"))||F(X(t,"extensions")):!1},load(e){if(!F(e))return{};try{return JSON.parse(gr(e,"utf8"))}catch{return{}}},isWired(e){return Ze(e)},inject(e,t){return Ze(e)?e:{...e,mcpServers:{...e.mcpServers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_URL:t.orchestratorUrl,VENOS_ORG_ID:t.orgId,...t.apiKey?{VENOS_API_KEY:t.apiKey}:{}}}}}},remove(e){if(!e.mcpServers?.venos)return e;let{venos:t,...n}=e.mcpServers;return{...e,mcpServers:n}},write(e,t){m(e,g(t))}};import{existsSync as xe,readFileSync as Tr}from"node:fs";import{join as st}from"node:path";function hr(e,t){let n=e.slice(0,t).split(/\r\n|\n|\r/g);return[n.length,n.pop().length+1]}function yr(e,t,n){let r=e.split(/\r\n|\n|\r/g),o="",s=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(o+=i.toString().padEnd(s," "),o+=": ",o+=a,o+=`
2
+ import{readFileSync as tc}from"node:fs";import{homedir as U}from"node:os";import{chmodSync as rr,existsSync as sr,mkdirSync as Ci,readFileSync as Oi,rmSync as xi,writeFileSync as bi}from"node:fs";import{dirname as Pi,join as Ei}from"node:path";import{randomBytes as Ri}from"node:crypto";import{existsSync as Jr,readFileSync as Kr}from"node:fs";import{join as Br}from"node:path";import{copyFileSync as Fr,existsSync as it,mkdirSync as Wr,renameSync as Lr,writeFileSync as Dr}from"node:fs";import{dirname as Hr}from"node:path";var at=".venos-backup";function g(e,t){Wr(Hr(e),{recursive:!0}),it(e)&&!it(e+at)&&Fr(e,e+at);let n=e+".tmp";Dr(n,t,{mode:420}),Lr(n,e)}function v(e){return JSON.stringify(e,null,2)+`
3
+ `}var H="http://127.0.0.1:4000/v1";var Gr="venos",Yr="venos hook",zr="venos usage-sync",Xr="venos usage-sync --throttle";function lt(e,t){return(e??[]).some(n=>n.hooks.some(r=>typeof r.command=="string"&&t(r.command)))}function Oe(e){return lt(e,t=>t.includes(Yr))}function ut(e){return lt(e,t=>t.includes(zr))}function ct(e,t){let n=e??[];return Oe(n)?n:[...n,{matcher:"*",hooks:[{type:"command",command:t}]}]}function Zr(e,t){let n=e??[];return ut(n)?n:[...n,{matcher:"*",hooks:[{type:"command",command:t}]}]}function Ce(e){return(e??[]).map(t=>({...t,hooks:t.hooks.filter(n=>typeof n.command!="string"||!n.command.includes(Gr))})).filter(t=>t.hooks.length>0)}var xe={name:"claude-code",transport:"claude-hook",configPath(e){return Br(e,".claude","settings.json")},isInstalled(e){return!0},load(e){if(!Jr(e))return{};try{return JSON.parse(Kr(e,"utf8"))}catch{return{}}},isWired(e){return Oe(e.hooks?.PreToolUse)&&Oe(e.hooks?.PostToolUse)&&ut(e.hooks?.Stop)},inject(e,t){let n=e.hooks??{};return{...e,hooks:{...n,PreToolUse:ct(n.PreToolUse,t.hookCommand),PostToolUse:ct(n.PostToolUse,t.hookCommand),Stop:Zr(n.Stop,t.usageSyncCommand??Xr)}}},remove(e){return e.hooks?{...e,hooks:{...e.hooks,PreToolUse:Ce(e.hooks.PreToolUse),PostToolUse:Ce(e.hooks.PostToolUse),Stop:Ce(e.hooks.Stop)}}:e},write(e,t){g(e,v(t))}};import{existsSync as be,readFileSync as qr}from"node:fs";import{join as J}from"node:path";var Qr="claude_desktop_config.json";function dt(e){if(process.platform==="darwin")return J(e,"Library","Application Support","Claude");if(process.platform==="win32"){let t=process.env.APPDATA??J(e,"AppData","Roaming");return J(t,"Claude")}return J(e,".config","Claude")}function pt(e){let t=e.mcpServers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")||t.env?.VENOS_SOURCE!=="claude-desktop"||t.env?.VENOS_URL||t.env?.VENOS_ORG_ID||t.env?.VENOS_API_KEY?!1:be(n)}var ft={name:"claude-desktop",transport:"mcp-json",configPath(e){return J(dt(e),Qr)},isInstalled(e){return be(dt(e))},load(e){if(!be(e))return{};try{return JSON.parse(qr(e,"utf8"))}catch{return{}}},isWired(e){return pt(e)},inject(e,t){return pt(e)?e:{...e,mcpServers:{...e.mcpServers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_SOURCE:"claude-desktop"}}}}},remove(e){if(!e.mcpServers?.venos)return e;let{venos:t,...n}=e.mcpServers;return{...e,mcpServers:n}},write(e,t){g(e,v(t))}};import{existsSync as K,readFileSync as eo}from"node:fs";import{join as ne}from"node:path";function mt(e){let t=e.mcpServers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")||t.env?.VENOS_SOURCE!=="cursor"||t.env?.VENOS_URL||t.env?.VENOS_ORG_ID||t.env?.VENOS_API_KEY?!1:K(n)}var Pe={name:"cursor",transport:"mcp-json",configPath(e){return ne(e,".cursor","mcp.json")},isInstalled(e){let t=ne(e,".cursor");return K(t)?K(ne(t,"mcp.json"))||K(ne(t,"extensions")):!1},load(e){if(!K(e))return{};try{return JSON.parse(eo(e,"utf8"))}catch{return{}}},isWired(e){return mt(e)},inject(e,t){return mt(e)?e:{...e,mcpServers:{...e.mcpServers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_SOURCE:"cursor"}}}}},remove(e){if(!e.mcpServers?.venos)return e;let{venos:t,...n}=e.mcpServers;return{...e,mcpServers:n}},write(e,t){g(e,v(t))}};import{existsSync as Ae,readFileSync as ho}from"node:fs";import{join as Ct}from"node:path";function to(e,t){let n=e.slice(0,t).split(/\r\n|\n|\r/g);return[n.length,n.pop().length+1]}function no(e,t,n){let r=e.split(/\r\n|\n|\r/g),o="",s=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(o+=i.toString().padEnd(s," "),o+=": ",o+=a,o+=`
4
4
  `,i===t&&(o+=" ".repeat(s+n+2),o+=`^
5
- `))}return o}var p=class extends Error{line;column;codeblock;constructor(t,n){let[r,o]=hr(n.toml,n.ptr),s=yr(n.toml,r,o);super(`Invalid TOML document: ${t}
5
+ `))}return o}var f=class extends Error{line;column;codeblock;constructor(t,n){let[r,o]=to(n.toml,n.ptr),s=no(n.toml,r,o);super(`Invalid TOML document: ${t}
6
6
 
7
- ${s}`,n),this.line=r,this.column=o,this.codeblock=s}};function vr(e,t){let n=0;for(;e[t-++n]==="\\";);return--n&&n%2}function Z(e,t=0,n=e.length){let r=e.indexOf(`
8
- `,t);return e[r-1]==="\r"&&r--,r<=n?r:-1}function A(e,t){for(let n=t;n<e.length;n++){let r=e[n];if(r===`
7
+ ${s}`,n),this.line=r,this.column=o,this.codeblock=s}};function ro(e,t){let n=0;for(;e[t-++n]==="\\";);return--n&&n%2}function re(e,t=0,n=e.length){let r=e.indexOf(`
8
+ `,t);return e[r-1]==="\r"&&r--,r<=n?r:-1}function $(e,t){for(let n=t;n<e.length;n++){let r=e[n];if(r===`
9
9
  `)return n;if(r==="\r"&&e[n+1]===`
10
- `)return n+1;if(r<" "&&r!==" "||r==="\x7F")throw new p("control characters are not allowed in comments",{toml:e,ptr:t})}return e.length}function w(e,t,n,r){let o;for(;;){for(;(o=e[t])===" "||o===" "||!n&&(o===`
10
+ `)return n+1;if(r<" "&&r!==" "||r==="\x7F")throw new f("control characters are not allowed in comments",{toml:e,ptr:t})}return e.length}function O(e,t,n,r){let o;for(;;){for(;(o=e[t])===" "||o===" "||!n&&(o===`
11
11
  `||o==="\r"&&e[t+1]===`
12
- `);)t++;if(r||o!=="#")break;t=A(e,t)}return t}function qe(e,t,n,r,o=!1){if(!r)return t=Z(e,t),t<0?e.length:t;for(let s=t;s<e.length;s++){let i=e[s];if(i==="#")s=Z(e,s);else{if(i===n)return s+1;if(i===r||o&&(i===`
12
+ `);)t++;if(r||o!=="#")break;t=$(e,t)}return t}function gt(e,t,n,r,o=!1){if(!r)return t=re(e,t),t<0?e.length:t;for(let s=t;s<e.length;s++){let i=e[s];if(i==="#")s=re(e,s);else{if(i===n)return s+1;if(i===r||o&&(i===`
13
13
  `||i==="\r"&&e[s+1]===`
14
- `))return s}}throw new p("cannot find end of structure",{toml:e,ptr:t})}function q(e,t){let n=e[t],r=n===e[t+1]&&e[t+1]===e[t+2]?e.slice(t,t+3):n;t+=r.length-1;do t=e.indexOf(r,++t);while(t>-1&&n!=="'"&&vr(e,t));return t>-1&&(t+=r.length,r.length>1&&(e[t]===n&&t++,e[t]===n&&t++)),t}var Sr=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i,L=class e extends Date{#t=!1;#n=!1;#e=null;constructor(t){let n=!0,r=!0,o="Z";if(typeof t=="string"){let s=t.match(Sr);s?(s[1]||(n=!1,t=`0000-01-01T${t}`),r=!!s[2],r&&t[10]===" "&&(t=t.replace(" ","T")),s[2]&&+s[2]>23?t="":(o=s[3]||null,t=t.toUpperCase(),!o&&r&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=n,this.#n=r,this.#e=o)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}};var wr=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,kr=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,Cr=/^[+-]?0[0-9_]/,xr=/^[0-9a-f]{2,8}$/i,Qe={b:"\b",t:" ",n:`
15
- `,f:"\f",r:"\r",e:"\x1B",'"':'"',"\\":"\\"};function Q(e,t=0,n=e.length){let r=e[t]==="'",o=e[t++]===e[t]&&e[t]===e[t+1];o&&(n-=2,e[t+=2]==="\r"&&t++,e[t]===`
16
- `&&t++);let s=0,i,a="",l=t;for(;t<n-1;){let c=e[t++];if(c===`
17
- `||c==="\r"&&e[t]===`
18
- `){if(!o)throw new p("newlines are not allowed in strings",{toml:e,ptr:t-1})}else if(c<" "&&c!==" "||c==="\x7F")throw new p("control characters are not allowed in strings",{toml:e,ptr:t-1});if(i){if(i=!1,c==="x"||c==="u"||c==="U"){let u=e.slice(t,t+=c==="x"?2:c==="u"?4:8);if(!xr.test(u))throw new p("invalid unicode escape",{toml:e,ptr:s});try{a+=String.fromCodePoint(parseInt(u,16))}catch{throw new p("invalid unicode escape",{toml:e,ptr:s})}}else if(o&&(c===`
19
- `||c===" "||c===" "||c==="\r")){if(t=w(e,t-1,!0),e[t]!==`
20
- `&&e[t]!=="\r")throw new p("invalid escape: only line-ending whitespace may be escaped",{toml:e,ptr:s});t=w(e,t)}else if(c in Qe)a+=Qe[c];else throw new p("unrecognized escape sequence",{toml:e,ptr:s});l=t}else!r&&c==="\\"&&(s=t-1,i=!0,a+=e.slice(l,s))}return a+e.slice(l,n-1)}function et(e,t,n,r){if(e==="true")return!0;if(e==="false")return!1;if(e==="-inf")return-1/0;if(e==="inf"||e==="+inf")return 1/0;if(e==="nan"||e==="+nan"||e==="-nan")return NaN;if(e==="-0")return r?0n:0;let o=wr.test(e);if(o||kr.test(e)){if(Cr.test(e))throw new p("leading zeroes are not allowed",{toml:t,ptr:n});e=e.replace(/_/g,"");let i=+e;if(isNaN(i))throw new p("invalid number",{toml:t,ptr:n});if(o){if((o=!Number.isSafeInteger(i))&&!r)throw new p("integer value cannot be represented losslessly",{toml:t,ptr:n});(o||r===!0)&&(i=BigInt(e))}return i}let s=new L(e);if(!s.isValid())throw new p("invalid value",{toml:t,ptr:n});return s}function br(e,t,n){let r=e.slice(t,n),o=r.indexOf("#");return o>-1&&(A(e,o),r=r.slice(0,o)),[r.trimEnd(),o]}function D(e,t,n,r,o){if(r===0)throw new p("document contains excessively nested structures. aborting.",{toml:e,ptr:t});let s=e[t];if(s==="["||s==="{"){let[l,c]=s==="["?nt(e,t,r,o):tt(e,t,r,o);if(n){if(c=w(e,c),e[c]===",")c++;else if(e[c]!==n)throw new p("expected comma or end of structure",{toml:e,ptr:c})}return[l,c]}let i;if(s==='"'||s==="'"){i=q(e,t);let l=Q(e,t,i);if(n){if(i=w(e,i),e[i]&&e[i]!==","&&e[i]!==n&&e[i]!==`
21
- `&&e[i]!=="\r")throw new p("unexpected character encountered",{toml:e,ptr:i});i+=+(e[i]===",")}return[l,i]}i=qe(e,t,",",n);let a=br(e,t,i-+(e[i-1]===","));if(!a[0])throw new p("incomplete key-value declaration: no value specified",{toml:e,ptr:t});return n&&a[1]>-1&&(i=w(e,t+a[1]),i+=+(e[i]===",")),[et(a[0],e,t,o),i]}var Pr=/^[a-zA-Z0-9-_]+[ \t]*$/;function ee(e,t,n="="){let r=t-1,o=[],s=e.indexOf(n,t);if(s<0)throw new p("incomplete key-value: cannot find end of key",{toml:e,ptr:t});do{let i=e[t=++r];if(i!==" "&&i!==" ")if(i==='"'||i==="'"){if(i===e[t+1]&&i===e[t+2])throw new p("multiline strings are not allowed in keys",{toml:e,ptr:t});let a=q(e,t);if(a<0)throw new p("unfinished string encountered",{toml:e,ptr:t});r=e.indexOf(".",a);let l=e.slice(a,r<0||r>s?s:r),c=Z(l);if(c>-1)throw new p("newlines are not allowed in keys",{toml:e,ptr:t+r+c});if(l.trimStart())throw new p("found extra tokens after the string part",{toml:e,ptr:a});if(s<a&&(s=e.indexOf(n,a),s<0))throw new p("incomplete key-value: cannot find end of key",{toml:e,ptr:t});o.push(Q(e,t,a))}else{r=e.indexOf(".",t);let a=e.slice(t,r<0||r>s?s:r);if(!Pr.test(a))throw new p("only letter, numbers, dashes and underscores are allowed in keys",{toml:e,ptr:t});o.push(a.trimEnd())}}while(r+1&&r<s);return[o,w(e,s+1,!0,!0)]}function tt(e,t,n,r){let o={},s=new Set,i;for(t++;(i=e[t++])!=="}"&&i;){if(i===",")throw new p("expected value, found comma",{toml:e,ptr:t-1});if(i==="#")t=A(e,t);else if(i!==" "&&i!==" "&&i!==`
22
- `&&i!=="\r"){let a,l=o,c=!1,[u,d]=ee(e,t-1);for(let y=0;y<u.length;y++){if(y&&(l=c?l[a]:l[a]={}),a=u[y],(c=Object.hasOwn(l,a))&&(typeof l[a]!="object"||s.has(l[a])))throw new p("trying to redefine an already defined value",{toml:e,ptr:t});!c&&a==="__proto__"&&Object.defineProperty(l,a,{enumerable:!0,configurable:!0,writable:!0})}if(c)throw new p("trying to redefine an already defined value",{toml:e,ptr:t});let[f,S]=D(e,d,"}",n-1,r);s.add(f),l[a]=f,t=S}}if(!i)throw new p("unfinished table encountered",{toml:e,ptr:t});return[o,t]}function nt(e,t,n,r){let o=[],s;for(t++;(s=e[t++])!=="]"&&s;){if(s===",")throw new p("expected value, found comma",{toml:e,ptr:t-1});if(s==="#")t=A(e,t);else if(s!==" "&&s!==" "&&s!==`
23
- `&&s!=="\r"){let i=D(e,t-1,"]",n-1,r);o.push(i[0]),t=i[1]}}if(!s)throw new p("unfinished array encountered",{toml:e,ptr:t});return[o,t]}function rt(e,t,n,r){let o=t,s=n,i,a=!1,l;for(let c=0;c<e.length;c++){if(c){if(o=a?o[i]:o[i]={},s=(l=s[i]).c,r===0&&(l.t===1||l.t===2))return null;if(l.t===2){let u=o.length-1;o=o[u],s=s[u].c}}if(i=e[c],(a=Object.hasOwn(o,i))&&s[i]?.t===0&&s[i]?.d)return null;a||(i==="__proto__"&&(Object.defineProperty(o,i,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(s,i,{enumerable:!0,configurable:!0,writable:!0})),s[i]={t:c<e.length-1&&r===2?3:r,d:!1,i:0,c:{}})}if(l=s[i],l.t!==r&&!(r===1&&l.t===3)||(r===2&&(l.d||(l.d=!0,o[i]=[]),o[i].push(o={}),l.c[l.i++]=l={t:1,d:!1,i:0,c:{}}),l.d))return null;if(l.d=!0,r===1)o=a?o[i]:o[i]={};else if(r===0&&a)return null;return[i,o,l.c]}function ve(e,{maxDepth:t=1e3,integersAsBigInt:n}={}){let r={},o={},s=r,i=o;for(let a=w(e,0);a<e.length;){if(e[a]==="["){let l=e[++a]==="[",c=ee(e,a+=+l,"]");if(l){if(e[c[1]-1]!=="]")throw new p("expected end of table declaration",{toml:e,ptr:c[1]-1});c[1]++}let u=rt(c[0],r,o,l?2:1);if(!u)throw new p("trying to redefine an already defined table or value",{toml:e,ptr:a});i=u[2],s=u[1],a=c[1]}else{let l=ee(e,a),c=rt(l[0],s,i,0);if(!c)throw new p("trying to redefine an already defined table or value",{toml:e,ptr:a});let u=D(e,l[1],void 0,t,n);c[1][c[0]]=u[0],a=u[1]}if(a=w(e,a,!0),e[a]&&e[a]!==`
24
- `&&e[a]!=="\r")throw new p("each key-value declaration must be followed by an end-of-line",{toml:e,ptr:a});a=w(e,a)}return r}var ot=/^[a-z0-9-_]+$/i;function H(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(e instanceof Date)return"date"}return t}function Or(e){for(let t=0;t<e.length;t++)if(H(e[t])!=="object")return!1;return e.length!=0}function Se(e){return JSON.stringify(e).replace(/\x7f/g,"\\u007f")}function we(e,t,n,r){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");if(t==="number")return isNaN(e)?"nan":e===1/0?"inf":e===-1/0?"-inf":r&&Number.isInteger(e)?e.toFixed(1):e.toString();if(t==="bigint"||t==="boolean")return e.toString();if(t==="string")return Se(e);if(t==="date"){if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString()}if(t==="object")return Ir(e,n,r);if(t==="array")return Er(e,n,r)}function Ir(e,t,n){let r=Object.keys(e);if(r.length===0)return"{}";let o="{ ";for(let s=0;s<r.length;s++){let i=r[s];s&&(o+=", "),o+=ot.test(i)?i:Se(i),o+=" = ",o+=we(e[i],H(e[i]),t-1,n)}return o+" }"}function Er(e,t,n){if(e.length===0)return"[]";let r="[ ";for(let o=0;o<e.length;o++){if(o&&(r+=", "),e[o]===null||e[o]===void 0)throw new TypeError("arrays cannot contain null or undefined values");r+=we(e[o],H(e[o]),t-1,n)}return r+" ]"}function Rr(e,t,n,r){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let s=0;s<e.length;s++)o+=`${o&&`
14
+ `))return s}}throw new f("cannot find end of structure",{toml:e,ptr:t})}function oe(e,t){let n=e[t],r=n===e[t+1]&&e[t+1]===e[t+2]?e.slice(t,t+3):n;t+=r.length-1;do t=e.indexOf(r,++t);while(t>-1&&n!=="'"&&ro(e,t));return t>-1&&(t+=r.length,r.length>1&&(e[t]===n&&t++,e[t]===n&&t++)),t}var oo=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i,B=class e extends Date{#t=!1;#n=!1;#e=null;constructor(t){let n=!0,r=!0,o="Z";if(typeof t=="string"){let s=t.match(oo);s?(s[1]||(n=!1,t=`0000-01-01T${t}`),r=!!s[2],r&&t[10]===" "&&(t=t.replace(" ","T")),s[2]&&+s[2]>23?t="":(o=s[3]||null,t=t.toUpperCase(),!o&&r&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=n,this.#n=r,this.#e=o)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}};var so=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,io=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,ao=/^[+-]?0[0-9_]/,co=/^[0-9a-f]{2,8}$/i,ht={b:"\b",t:" ",n:`
15
+ `,f:"\f",r:"\r",e:"\x1B",'"':'"',"\\":"\\"};function se(e,t=0,n=e.length){let r=e[t]==="'",o=e[t++]===e[t]&&e[t]===e[t+1];o&&(n-=2,e[t+=2]==="\r"&&t++,e[t]===`
16
+ `&&t++);let s=0,i,a="",c=t;for(;t<n-1;){let l=e[t++];if(l===`
17
+ `||l==="\r"&&e[t]===`
18
+ `){if(!o)throw new f("newlines are not allowed in strings",{toml:e,ptr:t-1})}else if(l<" "&&l!==" "||l==="\x7F")throw new f("control characters are not allowed in strings",{toml:e,ptr:t-1});if(i){if(i=!1,l==="x"||l==="u"||l==="U"){let u=e.slice(t,t+=l==="x"?2:l==="u"?4:8);if(!co.test(u))throw new f("invalid unicode escape",{toml:e,ptr:s});try{a+=String.fromCodePoint(parseInt(u,16))}catch{throw new f("invalid unicode escape",{toml:e,ptr:s})}}else if(o&&(l===`
19
+ `||l===" "||l===" "||l==="\r")){if(t=O(e,t-1,!0),e[t]!==`
20
+ `&&e[t]!=="\r")throw new f("invalid escape: only line-ending whitespace may be escaped",{toml:e,ptr:s});t=O(e,t)}else if(l in ht)a+=ht[l];else throw new f("unrecognized escape sequence",{toml:e,ptr:s});c=t}else!r&&l==="\\"&&(s=t-1,i=!0,a+=e.slice(c,s))}return a+e.slice(c,n-1)}function yt(e,t,n,r){if(e==="true")return!0;if(e==="false")return!1;if(e==="-inf")return-1/0;if(e==="inf"||e==="+inf")return 1/0;if(e==="nan"||e==="+nan"||e==="-nan")return NaN;if(e==="-0")return r?0n:0;let o=so.test(e);if(o||io.test(e)){if(ao.test(e))throw new f("leading zeroes are not allowed",{toml:t,ptr:n});e=e.replace(/_/g,"");let i=+e;if(isNaN(i))throw new f("invalid number",{toml:t,ptr:n});if(o){if((o=!Number.isSafeInteger(i))&&!r)throw new f("integer value cannot be represented losslessly",{toml:t,ptr:n});(o||r===!0)&&(i=BigInt(e))}return i}let s=new B(e);if(!s.isValid())throw new f("invalid value",{toml:t,ptr:n});return s}function lo(e,t,n){let r=e.slice(t,n),o=r.indexOf("#");return o>-1&&($(e,o),r=r.slice(0,o)),[r.trimEnd(),o]}function G(e,t,n,r,o){if(r===0)throw new f("document contains excessively nested structures. aborting.",{toml:e,ptr:t});let s=e[t];if(s==="["||s==="{"){let[c,l]=s==="["?St(e,t,r,o):vt(e,t,r,o);if(n){if(l=O(e,l),e[l]===",")l++;else if(e[l]!==n)throw new f("expected comma or end of structure",{toml:e,ptr:l})}return[c,l]}let i;if(s==='"'||s==="'"){i=oe(e,t);let c=se(e,t,i);if(n){if(i=O(e,i),e[i]&&e[i]!==","&&e[i]!==n&&e[i]!==`
21
+ `&&e[i]!=="\r")throw new f("unexpected character encountered",{toml:e,ptr:i});i+=+(e[i]===",")}return[c,i]}i=gt(e,t,",",n);let a=lo(e,t,i-+(e[i-1]===","));if(!a[0])throw new f("incomplete key-value declaration: no value specified",{toml:e,ptr:t});return n&&a[1]>-1&&(i=O(e,t+a[1]),i+=+(e[i]===",")),[yt(a[0],e,t,o),i]}var uo=/^[a-zA-Z0-9-_]+[ \t]*$/;function ie(e,t,n="="){let r=t-1,o=[],s=e.indexOf(n,t);if(s<0)throw new f("incomplete key-value: cannot find end of key",{toml:e,ptr:t});do{let i=e[t=++r];if(i!==" "&&i!==" ")if(i==='"'||i==="'"){if(i===e[t+1]&&i===e[t+2])throw new f("multiline strings are not allowed in keys",{toml:e,ptr:t});let a=oe(e,t);if(a<0)throw new f("unfinished string encountered",{toml:e,ptr:t});r=e.indexOf(".",a);let c=e.slice(a,r<0||r>s?s:r),l=re(c);if(l>-1)throw new f("newlines are not allowed in keys",{toml:e,ptr:t+r+l});if(c.trimStart())throw new f("found extra tokens after the string part",{toml:e,ptr:a});if(s<a&&(s=e.indexOf(n,a),s<0))throw new f("incomplete key-value: cannot find end of key",{toml:e,ptr:t});o.push(se(e,t,a))}else{r=e.indexOf(".",t);let a=e.slice(t,r<0||r>s?s:r);if(!uo.test(a))throw new f("only letter, numbers, dashes and underscores are allowed in keys",{toml:e,ptr:t});o.push(a.trimEnd())}}while(r+1&&r<s);return[o,O(e,s+1,!0,!0)]}function vt(e,t,n,r){let o={},s=new Set,i;for(t++;(i=e[t++])!=="}"&&i;){if(i===",")throw new f("expected value, found comma",{toml:e,ptr:t-1});if(i==="#")t=$(e,t);else if(i!==" "&&i!==" "&&i!==`
22
+ `&&i!=="\r"){let a,c=o,l=!1,[u,d]=ie(e,t-1);for(let m=0;m<u.length;m++){if(m&&(c=l?c[a]:c[a]={}),a=u[m],(l=Object.hasOwn(c,a))&&(typeof c[a]!="object"||s.has(c[a])))throw new f("trying to redefine an already defined value",{toml:e,ptr:t});!l&&a==="__proto__"&&Object.defineProperty(c,a,{enumerable:!0,configurable:!0,writable:!0})}if(l)throw new f("trying to redefine an already defined value",{toml:e,ptr:t});let[p,y]=G(e,d,"}",n-1,r);s.add(p),c[a]=p,t=y}}if(!i)throw new f("unfinished table encountered",{toml:e,ptr:t});return[o,t]}function St(e,t,n,r){let o=[],s;for(t++;(s=e[t++])!=="]"&&s;){if(s===",")throw new f("expected value, found comma",{toml:e,ptr:t-1});if(s==="#")t=$(e,t);else if(s!==" "&&s!==" "&&s!==`
23
+ `&&s!=="\r"){let i=G(e,t-1,"]",n-1,r);o.push(i[0]),t=i[1]}}if(!s)throw new f("unfinished array encountered",{toml:e,ptr:t});return[o,t]}function kt(e,t,n,r){let o=t,s=n,i,a=!1,c;for(let l=0;l<e.length;l++){if(l){if(o=a?o[i]:o[i]={},s=(c=s[i]).c,r===0&&(c.t===1||c.t===2))return null;if(c.t===2){let u=o.length-1;o=o[u],s=s[u].c}}if(i=e[l],(a=Object.hasOwn(o,i))&&s[i]?.t===0&&s[i]?.d)return null;a||(i==="__proto__"&&(Object.defineProperty(o,i,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(s,i,{enumerable:!0,configurable:!0,writable:!0})),s[i]={t:l<e.length-1&&r===2?3:r,d:!1,i:0,c:{}})}if(c=s[i],c.t!==r&&!(r===1&&c.t===3)||(r===2&&(c.d||(c.d=!0,o[i]=[]),o[i].push(o={}),c.c[c.i++]=c={t:1,d:!1,i:0,c:{}}),c.d))return null;if(c.d=!0,r===1)o=a?o[i]:o[i]={};else if(r===0&&a)return null;return[i,o,c.c]}function Ee(e,{maxDepth:t=1e3,integersAsBigInt:n}={}){let r={},o={},s=r,i=o;for(let a=O(e,0);a<e.length;){if(e[a]==="["){let c=e[++a]==="[",l=ie(e,a+=+c,"]");if(c){if(e[l[1]-1]!=="]")throw new f("expected end of table declaration",{toml:e,ptr:l[1]-1});l[1]++}let u=kt(l[0],r,o,c?2:1);if(!u)throw new f("trying to redefine an already defined table or value",{toml:e,ptr:a});i=u[2],s=u[1],a=l[1]}else{let c=ie(e,a),l=kt(c[0],s,i,0);if(!l)throw new f("trying to redefine an already defined table or value",{toml:e,ptr:a});let u=G(e,c[1],void 0,t,n);l[1][l[0]]=u[0],a=u[1]}if(a=O(e,a,!0),e[a]&&e[a]!==`
24
+ `&&e[a]!=="\r")throw new f("each key-value declaration must be followed by an end-of-line",{toml:e,ptr:a});a=O(e,a)}return r}var wt=/^[a-z0-9-_]+$/i;function Y(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(e instanceof Date)return"date"}return t}function po(e){for(let t=0;t<e.length;t++)if(Y(e[t])!=="object")return!1;return e.length!=0}function Re(e){return JSON.stringify(e).replace(/\x7f/g,"\\u007f")}function _e(e,t,n,r){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");if(t==="number")return isNaN(e)?"nan":e===1/0?"inf":e===-1/0?"-inf":r&&Number.isInteger(e)?e.toFixed(1):e.toString();if(t==="bigint"||t==="boolean")return e.toString();if(t==="string")return Re(e);if(t==="date"){if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString()}if(t==="object")return fo(e,n,r);if(t==="array")return mo(e,n,r)}function fo(e,t,n){let r=Object.keys(e);if(r.length===0)return"{}";let o="{ ";for(let s=0;s<r.length;s++){let i=r[s];s&&(o+=", "),o+=wt.test(i)?i:Re(i),o+=" = ",o+=_e(e[i],Y(e[i]),t-1,n)}return o+" }"}function mo(e,t,n){if(e.length===0)return"[]";let r="[ ";for(let o=0;o<e.length;o++){if(o&&(r+=", "),e[o]===null||e[o]===void 0)throw new TypeError("arrays cannot contain null or undefined values");r+=_e(e[o],Y(e[o]),t-1,n)}return r+" ]"}function go(e,t,n,r){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let s=0;s<e.length;s++)o+=`${o&&`
25
25
  `}[[${t}]]
26
- `,o+=ke(0,e[s],t,n,r);return o}function ke(e,t,n,r,o){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let s="",i="",a=Object.keys(t);for(let l=0;l<a.length;l++){let c=a[l];if(t[c]!==null&&t[c]!==void 0){let u=H(t[c]);if(u==="symbol"||u==="function")throw new TypeError(`cannot serialize values of type '${u}'`);let d=ot.test(c)?c:Se(c);if(u==="array"&&Or(t[c]))i+=(i&&`
27
- `)+Rr(t[c],n?`${n}.${d}`:d,r-1,o);else if(u==="object"){let f=n?`${n}.${d}`:d;i+=(i&&`
28
- `)+ke(f,t[c],f,r-1,o)}else s+=d,s+=" = ",s+=we(t[c],u,r,o),s+=`
26
+ `,o+=Ie(0,e[s],t,n,r);return o}function Ie(e,t,n,r,o){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let s="",i="",a=Object.keys(t);for(let c=0;c<a.length;c++){let l=a[c];if(t[l]!==null&&t[l]!==void 0){let u=Y(t[l]);if(u==="symbol"||u==="function")throw new TypeError(`cannot serialize values of type '${u}'`);let d=wt.test(l)?l:Re(l);if(u==="array"&&po(t[l]))i+=(i&&`
27
+ `)+go(t[l],n?`${n}.${d}`:d,r-1,o);else if(u==="object"){let p=n?`${n}.${d}`:d;i+=(i&&`
28
+ `)+Ie(p,t[l],p,r-1,o)}else s+=d,s+=" = ",s+=_e(t[l],u,r,o),s+=`
29
29
  `}}return e&&(s||!i)&&(s=s?`[${e}]
30
30
  ${s}`:`[${e}]`),s&&i?`${s}
31
- ${i}`:s||i}function Ce(e,{maxDepth:t=1e3,numbersAsFloat:n=!1}={}){if(H(e)!=="object")throw new TypeError("stringify can only be called with an object");let r=ke(0,e,"",t,n);return r[r.length-1]!==`
31
+ ${i}`:s||i}function Te(e,{maxDepth:t=1e3,numbersAsFloat:n=!1}={}){if(Y(e)!=="object")throw new TypeError("stringify can only be called with an object");let r=Ie(0,e,"",t,n);return r[r.length-1]!==`
32
32
  `?r+`
33
- `:r}function it(e){let t=e.mcp_servers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")?!1:xe(n)}var at={name:"codex",transport:"mcp-toml",configPath(e){return st(e,".codex","config.toml")},isInstalled(e){return xe(st(e,".codex"))},load(e){if(!xe(e))return{};try{return ve(Tr(e,"utf8"))}catch{return{}}},isWired(e){return it(e)},inject(e,t){return it(e)?e:{...e,mcp_servers:{...e.mcp_servers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_URL:t.orchestratorUrl,VENOS_ORG_ID:t.orgId,...t.apiKey?{VENOS_API_KEY:t.apiKey}:{},VENOS_SOURCE:"codex"}}}}},remove(e){if(!e.mcp_servers?.venos)return e;let{venos:t,...n}=e.mcp_servers;return{...e,mcp_servers:n}},write(e,t){m(e,Ce(t)+`
34
- `)}};import{existsSync as ct,readFileSync as Ar}from"node:fs";import{join as lt}from"node:path";var pt="venos";function be(e){return(e??[]).some(t=>t.hooks.some(n=>typeof n.command=="string"&&n.command.includes(pt)))}function ut(e,t){let n=e??[];return be(n)?n:[...n,{matcher:"*",hooks:[{type:"command",command:t}]}]}function dt(e){return(e??[]).map(t=>({...t,hooks:t.hooks.filter(n=>typeof n.command!="string"||!n.command.includes(pt))})).filter(t=>t.hooks.length>0)}function _r(e){return`${e.hookCommand} --source codex`}var ft={name:"codex-hook",transport:"claude-hook",configPath(e){return lt(e,".codex","hooks.json")},isInstalled(e){return ct(lt(e,".codex"))},load(e){if(!ct(e))return{};try{return JSON.parse(Ar(e,"utf8"))}catch{return{}}},isWired(e){return be(e.hooks?.PreToolUse)&&be(e.hooks?.PostToolUse)},inject(e,t){let n=e.hooks??{},r=_r(t);return{...e,hooks:{...n,PreToolUse:ut(n.PreToolUse,r),PostToolUse:ut(n.PostToolUse,r)}}},remove(e){return e.hooks?{...e,hooks:{...e.hooks,PreToolUse:dt(e.hooks.PreToolUse),PostToolUse:dt(e.hooks.PostToolUse)}}:e},write(e,t){m(e,g(t))}};import{existsSync as Pe,readFileSync as Ur}from"node:fs";import{join as mt}from"node:path";function gt(e){let t=e.mcpServers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")?!1:Pe(n)}var ht={name:"windsurf",transport:"mcp-json",configPath(e){return mt(e,".codeium","windsurf","mcp_config.json")},isInstalled(e){return Pe(mt(e,".codeium","windsurf"))},load(e){if(!Pe(e))return{};try{return JSON.parse(Ur(e,"utf8"))}catch{return{}}},isWired(e){return gt(e)},inject(e,t){return gt(e)?e:{...e,mcpServers:{...e.mcpServers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_URL:t.orchestratorUrl,VENOS_ORG_ID:t.orgId,...t.apiKey?{VENOS_API_KEY:t.apiKey}:{}}}}}},remove(e){if(!e.mcpServers?.venos)return e;let{venos:t,...n}=e.mcpServers;return{...e,mcpServers:n}},write(e,t){m(e,g(t))}};import{existsSync as Oe,readFileSync as Nr}from"node:fs";import{join as _}from"node:path";var yt="saoudrizwan.claude-dev",$r="cline_mcp_settings.json";function vt(e){if(process.platform==="darwin")return _(e,"Library","Application Support","Code","User");if(process.platform==="win32"){let t=process.env.APPDATA??_(e,"AppData","Roaming");return _(t,"Code","User")}return _(e,".config","Code","User")}function St(e){let t=e.mcpServers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")?!1:Oe(n)}var wt={name:"cline",transport:"mcp-json",configPath(e){return _(vt(e),"globalStorage",yt,"settings",$r)},isInstalled(e){return Oe(_(vt(e),"globalStorage",yt))},load(e){if(!Oe(e))return{};try{return JSON.parse(Nr(e,"utf8"))}catch{return{}}},isWired(e){return St(e)},inject(e,t){return St(e)?e:{...e,mcpServers:{...e.mcpServers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_URL:t.orchestratorUrl,VENOS_ORG_ID:t.orgId,...t.apiKey?{VENOS_API_KEY:t.apiKey}:{}}}}}},remove(e){if(!e.mcpServers?.venos)return e;let{venos:t,...n}=e.mcpServers;return{...e,mcpServers:n}},write(e,t){m(e,g(t))}};import{existsSync as Ie,readFileSync as Mr}from"node:fs";import{join as kt}from"node:path";function Ct(e){let t=e.context_servers?.venos;if(!t||t.command?.path!=="node")return!1;let n=t.command.args?.[0];return!n||n.includes("/A2A/")?!1:Ie(n)}var xt={name:"zed",transport:"mcp-json",configPath(e){return kt(e,".config","zed","settings.json")},isInstalled(e){return Ie(kt(e,".config","zed"))},load(e){if(!Ie(e))return{};try{return JSON.parse(Mr(e,"utf8"))}catch{return{}}},isWired(e){return Ct(e)},inject(e,t){return Ct(e)?e:{...e,context_servers:{...e.context_servers??{},venos:{command:{path:"node",args:[t.mcpServerPath],env:{VENOS_URL:t.orchestratorUrl,VENOS_ORG_ID:t.orgId,...t.apiKey?{VENOS_API_KEY:t.apiKey}:{}}},settings:{}}}}},remove(e){if(!e.context_servers?.venos)return e;let{venos:t,...n}=e.context_servers;return{...e,context_servers:n}},write(e,t){m(e,g(t))}};import{existsSync as Ee,readFileSync as jr}from"node:fs";import{join as bt}from"node:path";function Pt(e){let t=e.mcpServers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")?!1:Ee(n)}var Ot={name:"jetbrains",transport:"mcp-json",configPath(e){return bt(e,".junie","mcp","mcp.json")},isInstalled(e){return Ee(bt(e,".junie"))},load(e){if(!Ee(e))return{};try{return JSON.parse(jr(e,"utf8"))}catch{return{}}},isWired(e){return Pt(e)},inject(e,t){return Pt(e)?e:{...e,mcpServers:{...e.mcpServers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_URL:t.orchestratorUrl,VENOS_ORG_ID:t.orgId,...t.apiKey?{VENOS_API_KEY:t.apiKey}:{}}}}}},remove(e){if(!e.mcpServers?.venos)return e;let{venos:t,...n}=e.mcpServers;return{...e,mcpServers:n}},write(e,t){m(e,g(t))}};import{existsSync as It,readFileSync as Vr,rmSync as Wr}from"node:fs";import{join as Fr}from"node:path";var Lr="openai-api-base",Dr=".aider.conf.yml";function Et(){return`${Lr}: ${W}`}function Hr(e){return/^\s*openai-api-base\s*:/.test(e)}var Rt={name:"aider",transport:"mcp-json",configPath(e){return Fr(e,Dr)},isInstalled(){return!0},load(e){let t=It(e)?Vr(e,"utf8"):"";return{wired:t.split(`
35
- `).some(r=>r.trim()===Et()),raw:t}},isWired(e){return e.wired},inject(e){return e.wired?e:{...e,wired:!0}},remove(e){return{...e,wired:!1}},write(e,t){let n=t.raw===""?[]:t.raw.split(`
36
- `);n.length>0&&n[n.length-1]===""&&n.pop();let r=n.filter(s=>!Hr(s)),o=t.wired?[...r,Et()]:r;if(o.length===0){It(e)&&Wr(e,{force:!0});return}m(e,o.join(`
33
+ `:r}function Ot(e){let t=e.mcp_servers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")||t.env?.VENOS_SOURCE!=="codex"||t.env?.VENOS_URL||t.env?.VENOS_ORG_ID||t.env?.VENOS_API_KEY?!1:Ae(n)}var xt={name:"codex",transport:"mcp-toml",configPath(e){return Ct(e,".codex","config.toml")},isInstalled(e){return Ae(Ct(e,".codex"))},load(e){if(!Ae(e))return{};try{return Ee(ho(e,"utf8"))}catch{return{}}},isWired(e){return Ot(e)},inject(e,t){return Ot(e)?e:{...e,mcp_servers:{...e.mcp_servers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_SOURCE:"codex"}}}}},remove(e){if(!e.mcp_servers?.venos)return e;let{venos:t,...n}=e.mcp_servers;return{...e,mcp_servers:n}},write(e,t){g(e,Te(t)+`
34
+ `)}};import{existsSync as bt,readFileSync as yo}from"node:fs";import{join as Pt}from"node:path";var vo="venos",Et="venos hook";function So(e){let t=e.trim();return t.includes(Et)&&/(?:^|\s)--source(?:=|\s+)codex(?:\s|$)/.test(t)?!0:/\bVENOS_(?:HOOK_)?SOURCE=codex\b/.test(t)&&(t.includes(Et)||t.includes("venos-hook.sh"))}function ae(e){return(e??[]).some(t=>t.hooks.some(n=>typeof n.command=="string"&&So(n.command)))}function Ne(e,t){let n=e??[];return ae(n)?n:[...n,{matcher:"*",hooks:[{type:"command",command:t}]}]}function Ue(e){return(e??[]).map(t=>({...t,hooks:t.hooks.filter(n=>typeof n.command!="string"||!n.command.includes(vo))})).filter(t=>t.hooks.length>0)}function ko(e){return`${e.hookCommand} --source codex`}var Rt={name:"codex-hook",transport:"claude-hook",configPath(e){return Pt(e,".codex","hooks.json")},isInstalled(e){return bt(Pt(e,".codex"))},load(e){if(!bt(e))return{};try{return JSON.parse(yo(e,"utf8"))}catch{return{}}},isWired(e){return ae(e.hooks?.PreToolUse)&&ae(e.hooks?.PostToolUse)&&ae(e.hooks?.Stop)},inject(e,t){let n=e.hooks??{},r=ko(t);return{...e,hooks:{...n,PreToolUse:Ne(n.PreToolUse,r),PostToolUse:Ne(n.PostToolUse,r),Stop:Ne(n.Stop,r)}}},remove(e){return e.hooks?{...e,hooks:{...e.hooks,PreToolUse:Ue(e.hooks.PreToolUse),PostToolUse:Ue(e.hooks.PostToolUse),Stop:Ue(e.hooks.Stop)}}:e},write(e,t){g(e,v(t))}};import{existsSync as $e,readFileSync as wo}from"node:fs";import{join as _t}from"node:path";function It(e){let t=e.mcpServers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")||t.env?.VENOS_SOURCE!=="windsurf"||t.env?.VENOS_URL||t.env?.VENOS_ORG_ID||t.env?.VENOS_API_KEY?!1:$e(n)}var Tt={name:"windsurf",transport:"mcp-json",configPath(e){return _t(e,".codeium","windsurf","mcp_config.json")},isInstalled(e){return $e(_t(e,".codeium","windsurf"))},load(e){if(!$e(e))return{};try{return JSON.parse(wo(e,"utf8"))}catch{return{}}},isWired(e){return It(e)},inject(e,t){return It(e)?e:{...e,mcpServers:{...e.mcpServers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_SOURCE:"windsurf"}}}}},remove(e){if(!e.mcpServers?.venos)return e;let{venos:t,...n}=e.mcpServers;return{...e,mcpServers:n}},write(e,t){g(e,v(t))}};import{existsSync as Me,readFileSync as Co}from"node:fs";import{join as M}from"node:path";var At="saoudrizwan.claude-dev",Oo="cline_mcp_settings.json";function Nt(e){if(process.platform==="darwin")return M(e,"Library","Application Support","Code","User");if(process.platform==="win32"){let t=process.env.APPDATA??M(e,"AppData","Roaming");return M(t,"Code","User")}return M(e,".config","Code","User")}function Ut(e){let t=e.mcpServers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")||t.env?.VENOS_SOURCE!=="cline"||t.env?.VENOS_URL||t.env?.VENOS_ORG_ID||t.env?.VENOS_API_KEY?!1:Me(n)}var $t={name:"cline",transport:"mcp-json",configPath(e){return M(Nt(e),"globalStorage",At,"settings",Oo)},isInstalled(e){return Me(M(Nt(e),"globalStorage",At))},load(e){if(!Me(e))return{};try{return JSON.parse(Co(e,"utf8"))}catch{return{}}},isWired(e){return Ut(e)},inject(e,t){return Ut(e)?e:{...e,mcpServers:{...e.mcpServers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_SOURCE:"cline"}}}}},remove(e){if(!e.mcpServers?.venos)return e;let{venos:t,...n}=e.mcpServers;return{...e,mcpServers:n}},write(e,t){g(e,v(t))}};import{existsSync as je,readFileSync as xo}from"node:fs";import{join as Mt}from"node:path";function jt(e){let t=e.context_servers?.venos;if(!t||t.command?.path!=="node")return!1;let n=t.command.args?.[0];return!n||n.includes("/A2A/")||t.command.env?.VENOS_SOURCE!=="zed"||t.command.env?.VENOS_URL||t.command.env?.VENOS_ORG_ID||t.command.env?.VENOS_API_KEY?!1:je(n)}var Vt={name:"zed",transport:"mcp-json",configPath(e){return Mt(e,".config","zed","settings.json")},isInstalled(e){return je(Mt(e,".config","zed"))},load(e){if(!je(e))return{};try{return JSON.parse(xo(e,"utf8"))}catch{return{}}},isWired(e){return jt(e)},inject(e,t){return jt(e)?e:{...e,context_servers:{...e.context_servers??{},venos:{command:{path:"node",args:[t.mcpServerPath],env:{VENOS_SOURCE:"zed"}},settings:{}}}}},remove(e){if(!e.context_servers?.venos)return e;let{venos:t,...n}=e.context_servers;return{...e,context_servers:n}},write(e,t){g(e,v(t))}};import{existsSync as Ve,readFileSync as bo}from"node:fs";import{join as Ft}from"node:path";function Wt(e){let t=e.mcpServers?.venos;if(!t||t.command!=="node")return!1;let n=t.args?.[0];return!n||n.includes("/A2A/")||t.env?.VENOS_SOURCE!=="jetbrains"||t.env?.VENOS_URL||t.env?.VENOS_ORG_ID||t.env?.VENOS_API_KEY?!1:Ve(n)}var Lt={name:"jetbrains",transport:"mcp-json",configPath(e){return Ft(e,".junie","mcp","mcp.json")},isInstalled(e){return Ve(Ft(e,".junie"))},load(e){if(!Ve(e))return{};try{return JSON.parse(bo(e,"utf8"))}catch{return{}}},isWired(e){return Wt(e)},inject(e,t){return Wt(e)?e:{...e,mcpServers:{...e.mcpServers??{},venos:{command:"node",args:[t.mcpServerPath],env:{VENOS_SOURCE:"jetbrains"}}}}},remove(e){if(!e.mcpServers?.venos)return e;let{venos:t,...n}=e.mcpServers;return{...e,mcpServers:n}},write(e,t){g(e,v(t))}};import{existsSync as Dt,readFileSync as Po,rmSync as Eo}from"node:fs";import{join as Ro}from"node:path";var _o="openai-api-base",Io=".aider.conf.yml";function Ht(){return`${_o}: ${H}`}function To(e){return/^\s*openai-api-base\s*:/.test(e)}var Jt={name:"aider",transport:"mcp-json",configPath(e){return Ro(e,Io)},isInstalled(){return!0},load(e){let t=Dt(e)?Po(e,"utf8"):"";return{wired:t.split(`
35
+ `).some(r=>r.trim()===Ht()),raw:t}},isWired(e){return e.wired},inject(e){return e.wired?e:{...e,wired:!0}},remove(e){return{...e,wired:!1}},write(e,t){let n=t.raw===""?[]:t.raw.split(`
36
+ `);n.length>0&&n[n.length-1]===""&&n.pop();let r=n.filter(s=>!To(s)),o=t.wired?[...r,Ht()]:r;if(o.length===0){Dt(e)&&Eo(e,{force:!0});return}g(e,o.join(`
37
37
  `)+`
38
- `)}};import{accessSync as Jr,constants as Kr,existsSync as At,readFileSync as Br}from"node:fs";import{delimiter as Gr}from"node:path";import{join as _t}from"node:path";var Yr="obsidian-cli",zr="obsidian-cli.json";function Xr(e){try{return Jr(e,Kr.X_OK),!0}catch{return!1}}function Zr(e){return(process.env.PATH??"").split(Gr).some(n=>{if(n.trim()==="")return!1;let r=_t(n,e);return At(r)&&Xr(r)})}function Tt(e){return e.venos?.source==="obsidian-cli"&&e.venos.wired===!0}var Ut={name:"obsidian-cli",transport:"mcp-json",configPath(e){return _t(e,".venos",zr)},isInstalled(){return Zr(Yr)},load(e){if(!At(e))return{};try{return JSON.parse(Br(e,"utf8"))}catch{return{}}},isWired(e){return Tt(e)},inject(e,t){return Tt(e)?e:{...e,venos:{source:"obsidian-cli",orgId:t.orgId,orchestratorUrl:t.orchestratorUrl,wired:!0}}},remove(e){if(!e.venos)return e;let t={...e};return delete t.venos,t},write(e,t){m(e,g(t))}};var J=[he,ye,at,ft,ht,wt,xt,Ot,Rt,Ut];import{existsSync as Re}from"node:fs";import{dirname as qr,join as Nt,resolve as Te}from"node:path";import{fileURLToPath as Qr}from"node:url";var $t=qr(Qr(import.meta.url));function te(){let e=process.env.VENOS_MCP_SERVER_PATH;if(e&&Re(e))return Te(e);let t=Te(Nt($t,"..","etc","mcp-server","bin.js"));if(Re(t))return t;let n=Te(Nt($t,"..","..","..","packages","mcp-server","dist","bin.js"));if(Re(n))return n;throw new Error(`venos: bundled mcp-server not found. Tried:
38
+ `)}};import{accessSync as Ao,constants as No,existsSync as Bt,readFileSync as Uo}from"node:fs";import{delimiter as $o}from"node:path";import{join as Gt}from"node:path";var Mo="obsidian-cli",jo="obsidian-cli.json";function Vo(e){try{return Ao(e,No.X_OK),!0}catch{return!1}}function Fo(e){return(process.env.PATH??"").split($o).some(n=>{if(n.trim()==="")return!1;let r=Gt(n,e);return Bt(r)&&Vo(r)})}function Kt(e){return e.venos?.source==="obsidian-cli"&&e.venos.wired===!0}var Yt={name:"obsidian-cli",transport:"mcp-json",configPath(e){return Gt(e,".venos",jo)},isInstalled(){return Fo(Mo)},load(e){if(!Bt(e))return{};try{return JSON.parse(Uo(e,"utf8"))}catch{return{}}},isWired(e){return Kt(e)},inject(e,t){return Kt(e)?e:{...e,venos:{source:"obsidian-cli",orgId:t.orgId,orchestratorUrl:t.orchestratorUrl,wired:!0}}},remove(e){if(!e.venos)return e;let t={...e};return delete t.venos,t},write(e,t){g(e,v(t))}};var z=[xe,ft,Pe,xt,Rt,Tt,$t,Vt,Lt,Jt,Yt];import{existsSync as Fe}from"node:fs";import{dirname as Wo,join as zt,resolve as We}from"node:path";import{fileURLToPath as Lo}from"node:url";var Xt=Wo(Lo(import.meta.url));function ce(){let e=process.env.VENOS_MCP_SERVER_PATH;if(e&&Fe(e))return We(e);let t=We(zt(Xt,"..","etc","mcp-server","bin.js"));if(Fe(t))return t;let n=We(zt(Xt,"..","..","..","packages","mcp-server","dist","bin.js"));if(Fe(n))return n;throw new Error(`venos: bundled mcp-server not found. Tried:
39
39
  VENOS_MCP_SERVER_PATH=${e??"(unset)"}
40
40
  bundled: ${t}
41
41
  sibling: ${n}
42
- If you are developing locally, run: pnpm --filter @venos/mcp-server build`)}import{existsSync as eo}from"node:fs";function to(e,t,n){let r=e.configPath(t);if(!e.isInstalled(t))return{client:e.name,transport:e.transport,status:"skipped-not-installed"};try{let o=e.load(r);if(e.isWired(o,n))return{client:e.name,transport:e.transport,status:"already-wired",path:r};let s=e.inject(o,n);return e.write(r,s),{client:e.name,transport:e.transport,status:"wired",path:r}}catch(o){return{client:e.name,transport:e.transport,status:"error",path:r,error:o instanceof Error?o.message:String(o)}}}function Mt(e,t,n){return n.map(r=>to(r,e,t))}function no(e,t){let n=e.configPath(t);if(!e.isInstalled(t))return{client:e.name,transport:e.transport,status:"skipped-not-installed"};if(!eo(n))return{client:e.name,transport:e.transport,status:"already-removed",path:n};try{let r=e.load(n),o=e.remove(r);return JSON.stringify(o)===JSON.stringify(r)?{client:e.name,transport:e.transport,status:"already-removed",path:n}:(e.write(n,o),{client:e.name,transport:e.transport,status:"removed",path:n})}catch(r){return{client:e.name,transport:e.transport,status:"error",path:n,error:r instanceof Error?r.message:String(r)}}}function jt(e,t){return t.map(n=>no(n,e))}import{existsSync as Vt,mkdirSync as ro,readFileSync as oo}from"node:fs";import{join as Wt}from"node:path";var Ft="cline.openaiBaseUrl";function Lt(e){let t=Wt(e,".vscode");if(!Vt(t))return{status:"no-workspace"};let n=Wt(t,"settings.json"),r={};if(Vt(n))try{let o=JSON.parse(oo(n,"utf8"));o&&typeof o=="object"&&(r=o)}catch{}return r[Ft]===W?{status:"already-wired",path:n}:(ro(t,{recursive:!0}),m(n,g({...r,[Ft]:W})),{status:"wired",path:n})}import{execFileSync as bo}from"node:child_process";import{existsSync as Ht,mkdirSync as po,rmSync as fo,writeFileSync as mo}from"node:fs";import{dirname as go,join as ho}from"node:path";var Ae="ai.venos.agent";import{existsSync as Dt,mkdirSync as so,rmSync as io,writeFileSync as ao}from"node:fs";import{dirname as co,join as lo}from"node:path";function _e(e){return lo(e,".venos","service.json")}function U(e,t){let n=_e(e);so(co(n),{recursive:!0}),ao(n,JSON.stringify(t,null,2)+`
43
- `,"utf8")}function N(e){let t=_e(e);return Dt(t)?(io(t,{force:!0}),!0):!1}function $(e){return Dt(_e(e))}function Jt(e){return ho(e,"Library","LaunchAgents",`${Ae}.plist`)}function yo(e,t){return`<?xml version="1.0" encoding="UTF-8"?>
42
+ If you are developing locally, run: pnpm --filter @venos/mcp-server build`)}import{existsSync as Do}from"node:fs";function Ho(e,t,n){let r=e.configPath(t);if(!e.isInstalled(t))return{client:e.name,transport:e.transport,status:"skipped-not-installed"};try{let o=e.load(r);if(e.isWired(o,n))return{client:e.name,transport:e.transport,status:"already-wired",path:r};let s=e.inject(o,n);return e.write(r,s),{client:e.name,transport:e.transport,status:"wired",path:r}}catch(o){return{client:e.name,transport:e.transport,status:"error",path:r,error:o instanceof Error?o.message:String(o)}}}function Zt(e,t,n){return n.map(r=>Ho(r,e,t))}function Jo(e,t){let n=e.configPath(t);if(!e.isInstalled(t))return{client:e.name,transport:e.transport,status:"skipped-not-installed"};if(!Do(n))return{client:e.name,transport:e.transport,status:"already-removed",path:n};try{let r=e.load(n),o=e.remove(r);return JSON.stringify(o)===JSON.stringify(r)?{client:e.name,transport:e.transport,status:"already-removed",path:n}:(e.write(n,o),{client:e.name,transport:e.transport,status:"removed",path:n})}catch(r){return{client:e.name,transport:e.transport,status:"error",path:n,error:r instanceof Error?r.message:String(r)}}}function qt(e,t){return t.map(n=>Jo(n,e))}import{existsSync as Qt,mkdirSync as Ko,readFileSync as Bo}from"node:fs";import{join as en}from"node:path";var tn="cline.openaiBaseUrl";function nn(e){let t=en(e,".vscode");if(!Qt(t))return{status:"no-workspace"};let n=en(t,"settings.json"),r={};if(Qt(n))try{let o=JSON.parse(Bo(n,"utf8"));o&&typeof o=="object"&&(r=o)}catch{}return r[tn]===H?{status:"already-wired",path:n}:(Ko(t,{recursive:!0}),g(n,v({...r,[tn]:H})),{status:"wired",path:n})}import{existsSync as Go,readFileSync as Yo}from"node:fs";import{join as zo}from"node:path";var Le="Before running shell commands that delete files, write outside the workspace, fetch from unrecognized hosts, install packages, or rewrite git history -- call venos_classify with the exact command and abort if decision is deny.";function rn(e,t){let n=zo(e,t),r=Go(n)?Yo(n,"utf8"):"";if(r.includes(Le))return{status:"already-wired",path:n};let o=r.trim().length>0?`${r.trimEnd()}
43
+
44
+ ${Le}
45
+ `:`${Le}
46
+ `;return g(n,o),{status:"wired",path:n}}import{execFileSync as ms}from"node:child_process";import{existsSync as sn,mkdirSync as ns,rmSync as rs,writeFileSync as os}from"node:fs";import{dirname as ss,join as is}from"node:path";var De="ai.venos.agent";import{existsSync as on,mkdirSync as Xo,rmSync as Zo,writeFileSync as qo}from"node:fs";import{dirname as Qo,join as es}from"node:path";function He(e){return es(e,".venos","service.json")}function j(e,t){let n=He(e);Xo(Qo(n),{recursive:!0}),qo(n,JSON.stringify(t,null,2)+`
47
+ `,"utf8")}function V(e){let t=He(e);return on(t)?(Zo(t,{force:!0}),!0):!1}function F(e){return on(He(e))}function an(e){return is(e,"Library","LaunchAgents",`${De}.plist`)}function as(e,t){return`<?xml version="1.0" encoding="UTF-8"?>
44
48
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
45
49
  <plist version="1.0">
46
50
  <dict>
47
51
  <key>Label</key>
48
- <string>${Ae}</string>
52
+ <string>${De}</string>
49
53
  <key>ProgramArguments</key>
50
54
  <array>
51
55
  <string>${e}</string>
@@ -69,7 +73,7 @@ If you are developing locally, run: pnpm --filter @venos/mcp-server build`)}impo
69
73
  <string>/dev/null</string>
70
74
  </dict>
71
75
  </plist>
72
- `}var Kt={platform:"darwin",install(e){let t=Jt(e.home);try{let n=Ht(t);po(go(t),{recursive:!0}),mo(t,yo(e.nodePath,e.cliEntry),"utf8");try{e.run("launchctl",["unload",t])}catch{}return e.run("launchctl",["load","-w",t]),U(e.home,{kind:"launchd",path:t}),{platform:"darwin",status:n?"already-installed":"installed",path:t}}catch(n){return{platform:"darwin",status:"error",path:t,error:vo(n)}}},remove(e,t){let n=Jt(e),r=Ht(n);try{t("launchctl",["unload",n])}catch{}r&&fo(n,{force:!0});let o=N(e);return{platform:"darwin",status:r||o?"removed":"already-removed",path:n}}};function vo(e){return e instanceof Error?e.message:String(e)}import{existsSync as ne,mkdirSync as So,rmSync as Bt,writeFileSync as Gt}from"node:fs";import{join as K}from"node:path";var re="venos-heartbeat.timer",Yt="venos-heartbeat.service";function zt(e){return K(e,".config","systemd","user")}function wo(e,t){return`[Unit]
76
+ `}var cn={platform:"darwin",install(e){let t=an(e.home);try{let n=sn(t);ns(ss(t),{recursive:!0}),os(t,as(e.nodePath,e.cliEntry),"utf8");try{e.run("launchctl",["unload",t])}catch{}return e.run("launchctl",["load","-w",t]),j(e.home,{kind:"launchd",path:t}),{platform:"darwin",status:n?"already-installed":"installed",path:t}}catch(n){return{platform:"darwin",status:"error",path:t,error:cs(n)}}},remove(e,t){let n=an(e),r=sn(n);try{t("launchctl",["unload",n])}catch{}r&&rs(n,{force:!0});let o=V(e);return{platform:"darwin",status:r||o?"removed":"already-removed",path:n}}};function cs(e){return e instanceof Error?e.message:String(e)}import{existsSync as le,mkdirSync as ls,rmSync as ln,writeFileSync as un}from"node:fs";import{join as X}from"node:path";var ue="venos-heartbeat.timer",dn="venos-heartbeat.service";function pn(e){return X(e,".config","systemd","user")}function us(e,t){return`[Unit]
73
77
  Description=venos endpoint heartbeat
74
78
 
75
79
  [Service]
@@ -77,7 +81,7 @@ Type=oneshot
77
81
  ExecStart=${e} ${t} heartbeat
78
82
  Restart=on-failure
79
83
  RestartSec=${60}
80
- `}function ko(){return`[Unit]
84
+ `}function ds(){return`[Unit]
81
85
  Description=venos endpoint heartbeat (hourly)
82
86
 
83
87
  [Timer]
@@ -87,35 +91,36 @@ Persistent=true
87
91
 
88
92
  [Install]
89
93
  WantedBy=timers.target
90
- `}var Xt={platform:"linux",install(e){let t=zt(e.home),n=K(t,re);try{let r=ne(n);return So(t,{recursive:!0}),Gt(K(t,Yt),wo(e.nodePath,e.cliEntry),"utf8"),Gt(n,ko(),"utf8"),e.run("systemctl",["--user","daemon-reload"]),e.run("systemctl",["--user","enable","--now",re]),U(e.home,{kind:"systemd",path:n}),{platform:"linux",status:r?"already-installed":"installed",path:n}}catch(r){return{platform:"linux",status:"error",path:n,error:Co(r)}}},remove(e,t){let n=zt(e),r=K(n,re),o=K(n,Yt),s=ne(r);try{t("systemctl",["--user","disable","--now",re])}catch{}ne(r)&&Bt(r,{force:!0}),ne(o)&&Bt(o,{force:!0});try{t("systemctl",["--user","daemon-reload"])}catch{}let i=N(e);return{platform:"linux",status:s||i?"removed":"already-removed",path:r}}};function Co(e){return e instanceof Error?e.message:String(e)}var oe="venos-heartbeat",Zt={platform:"win32",install(e){let t=`Scheduled Task: ${oe}`;try{let n=$(e.home),r=`"${e.nodePath}" "${e.cliEntry}" heartbeat`;return e.run("schtasks",["/Create","/TN",oe,"/TR",r,"/SC","HOURLY","/MO","1","/F"]),U(e.home,{kind:"schtasks",path:t}),{platform:"win32",status:n?"already-installed":"installed",path:t}}catch(n){return{platform:"win32",status:"error",path:t,error:xo(n)}}},remove(e,t){let n=$(e);try{t("schtasks",["/Delete","/TN",oe,"/F"])}catch{}return N(e),{platform:"win32",status:n?"removed":"already-removed",path:`Scheduled Task: ${oe}`}}};function xo(e){return e instanceof Error?e.message:String(e)}var qt=[Kt,Xt,Zt],Qt=(e,t)=>{try{bo(e,t,{stdio:"ignore"})}catch{}};function en(e){return e??process.env.HOME??process.env.USERPROFILE??""}function tn(e={}){let t=qt.find(n=>n.platform===process.platform);return t?t.install({home:en(e.home),nodePath:process.execPath,cliEntry:process.argv[1]??"",run:e.run??Qt}):{platform:"unsupported",status:"unsupported"}}function nn(e={}){let t=qt.find(n=>n.platform===process.platform);return t?t.remove(en(e.home),e.run??Qt):{platform:"unsupported",status:"unsupported"}}function rn(e){return $(e)}function on(e){switch(e.status){case"installed":return` OK service boot service installed ${e.path??""}`;case"already-installed":return` \xB7 service boot service already installed ${e.path??""}`;case"removed":return" OK service boot service removed";case"already-removed":return" \xB7 service boot service already removed";case"unsupported":return" \u2014 service boot service not supported on this OS";case"error":return` FAIL service boot service install failed \u2014 ${e.error??""} (health still reports via the Stop hook)`;default:return null}}var Po={wired:"OK","already-wired":"\xB7","skipped-not-installed":"\u2014",error:"FAIL"},Oo={wired:"wired","already-wired":"already wired","skipped-not-installed":"skipped (not installed)",error:"ERROR"},Ne="http://127.0.0.1:4000/v1";function sn(e,t){let n=e.some(r=>r.status==="wired");console.log(`
91
- venos init ${n?"done":"(no changes)"}`),console.log(` org ID : ${t.orgId}`),console.log(` orchestrator: ${t.orchestratorUrl}`);for(let r of e){let o=Po[r.status],s=Oo[r.status],i=r.path?` ${r.path}`:"",a=r.error?` \u2014 ${r.error}`:"";console.log(` ${o} ${r.client.padEnd(12)} ${s}${i}${a}`)}if(t.clineWorkspace){let r=t.clineWorkspace;r.status==="wired"?console.log(` OK cline (ws) wired ${r.path}`):r.status==="already-wired"&&console.log(` \xB7 cline (ws) already wired ${r.path}`)}if(t.service){let r=on(t.service);r&&console.log(r)}if(n){console.log(`
92
- Next steps:`);let r={"claude-code":"Restart Claude Code for the hook to take effect.",cursor:"Restart Cursor to load the venos MCP server.",codex:"Restart Codex to pick up the new MCP config + gateway routing (~/.codex/.env).",windsurf:"Restart Windsurf to load the venos MCP server.",cline:"Reload the Cline extension (or restart VS Code) to load the venos MCP server.",zed:"Restart Zed to load the venos context server.",jetbrains:"Restart your JetBrains IDE (or just Junie) to load the venos MCP server.",aider:"Aider will route LLM calls through the venos gateway on next launch (~/.aider.conf.yml)."};for(let o of e){if(o.status!=="wired")continue;let s=r[o.client];s&&console.log(` \u2022 ${s}`)}console.log(` \u2022 Test: curl ${t.orchestratorUrl}/healthz`)}Io(t.clineWorkspace)}function Io(e){console.log(`
93
- Gateway routing (hard block via apps/mcp-proxy):`),console.log(` \u2022 Cursor \u2014 Settings \u2192 Models \u2192 Custom OpenAI Base URL: ${Ne}`),console.log(" Optional: Custom HTTP Headers \u2192 X-Venos-Source: cursor"),console.log(` \u2022 Windsurf \u2014 Settings \u2192 Models \u2192 Custom OpenAI Base URL: ${Ne}`),(!e||e.status==="no-workspace")&&(console.log(" \u2022 Cline \u2014 Open VS Code in your project, then add to .vscode/settings.json:"),console.log(` "cline.openaiBaseUrl": "${Ne}"`)),console.log(" \u2022 VS Code Copilot \u2014 closed provider, no custom endpoint. Coverage = MCP advisory only."),console.log(" \u2022 JetBrains AI Assistant \u2014 closed provider, no custom endpoint. Coverage = MCP advisory only.")}function an(e,t){console.log(JSON.stringify({...t,outcomes:e},null,2))}var Eo={removed:"OK","already-removed":"\xB7","skipped-not-installed":"\u2014",error:"FAIL"},Ro={removed:"removed","already-removed":"already removed","skipped-not-installed":"skipped (not installed)",error:"ERROR"};function cn(e,t){let n=e.some(s=>s.status==="removed");console.log(`
94
- venos init --remove ${n?"done":"(no changes)"}`);for(let s of e){let i=Eo[s.status],a=Ro[s.status],l=s.path?` ${s.path}`:"",c=s.error?` \u2014 ${s.error}`:"";console.log(` ${i} ${s.client.padEnd(12)} ${a}${l}${c}`)}let r=t.venosConfigRemoved?"OK":"\xB7",o=t.venosConfigRemoved?"removed":"already removed";if(console.log(` ${r} venos-config ${o} ${t.venosConfigPath}`),t.service){let s=on(t.service);s&&console.log(s)}console.log("\nPre-venos `.venos-backup` snapshots are preserved \u2014 delete manually if you don't want them.")}function ln(e,t){console.log(JSON.stringify({...t,outcomes:e},null,2))}var un=1;function B(e){return $o(e,".venos","config.json")}function jo(){return`org-${Mo(4).toString("hex")}`}function Vo(e,t,n,r){let o=B(e);if(dn(o))try{let s=JSON.parse(Ao(o,"utf8")),i={schemaVersion:s.schemaVersion??un,...s,orchestratorUrl:t};return n&&(i.apiKey=n),r&&(i.orgId=r),i}catch{}return{schemaVersion:un,orgId:r??jo(),orchestratorUrl:t,createdAt:new Date().toISOString(),failMode:"closed",...n?{apiKey:n}:{}}}function Wo(e,t){let n=B(e);To(No(n),{recursive:!0}),Uo(n,JSON.stringify(t,null,2)+`
95
- `,"utf8")}var Fo=5e3,Lo=5e3;async function Do(e){let t=e.replace(/\/$/,""),n=new AbortController,r=setTimeout(()=>n.abort(),Fo);try{return(await fetch(`${t}/healthz`,{signal:n.signal})).ok}catch{return!1}finally{clearTimeout(r)}}async function Ho(e,t){let n=e.replace(/\/$/,""),r=new AbortController,o=setTimeout(()=>r.abort(),Lo);try{let s=await fetch(`${n}/api/activation/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({orgId:t}),signal:r.signal});s.ok||console.warn(`[venos] activation telemetry: non-200 response (${s.status}) \u2014 init continues`)}catch{console.warn("[venos] activation telemetry: failed to reach orchestrator \u2014 init continues")}finally{clearTimeout(o)}}function pn(e){try{let t=new URL(e);return t.hostname==="localhost"||t.hostname==="127.0.0.1"||t.hostname==="::1"}catch{return!1}}function fn(e){let t=[];return e.orchestratorUrl?.trim()||t.push("--orchestrator"),!e.apiKey?.trim()&&!pn(e.orchestratorUrl??"")&&t.push("--api-key"),e.orgId?.trim()||t.push("--org"),t}async function mn(e){let t=e.home??process.env.HOME??process.env.USERPROFILE??"",n=e.orchestratorUrl;await Do(n)||(console.error(`
96
- venos init failed: orchestrator unreachable at ${n}/healthz`),console.error("Check the --orchestrator URL is correct and reachable, then re-run."),process.exit(1));let r=Vo(t,n,e.apiKey,e.orgId),o={orgId:r.orgId,orchestratorUrl:n,mcpServerPath:te(),hookCommand:"venos hook",usageSyncCommand:"venos usage-sync --throttle",...r.apiKey?{apiKey:r.apiKey}:{}},s=Mt(t,o,J);Wo(t,r);let i=Lt(e.cwd??process.cwd()),a=process.env.VITEST&&!e.serviceRun?void 0:tn({home:t,...e.serviceRun?{run:e.serviceRun}:{}});e.noTelemetry===!0||pn(n)||!!r.apiKey||await Ho(n,r.orgId);let c={orgId:r.orgId,orchestratorUrl:n,clineWorkspace:i,...a?{service:a}:{}};e.json?an(s,c):sn(s,c)}function gn(e={}){let t=e.home??process.env.HOME??process.env.USERPROFILE??"",n=jt(t,J),r=process.env.VITEST&&!e.serviceRun?void 0:nn({home:t,...e.serviceRun?{run:e.serviceRun}:{}}),o=B(t),s=dn(o);s&&_o(o,{force:!0});let i={venosConfigPath:o,venosConfigRemoved:s,...r?{service:r}:{}};e.json?ln(n,i):cn(n,i)}import{mkdirSync as as,readFileSync as ie,existsSync as cs,writeFileSync as ls}from"node:fs";import{hostname as us,userInfo as ds}from"node:os";import{execFileSync as In}from"node:child_process";import{randomBytes as En}from"node:crypto";import{dirname as ps,join as Rn}from"node:path";import{spawn as Jo}from"node:child_process";import{createHash as Ko}from"node:crypto";import{existsSync as Bo,mkdirSync as Go,readFileSync as yn,readdirSync as Yo,statSync as zo,writeFileSync as Xo}from"node:fs";import{dirname as Zo,extname as qo,join as vn,resolve as hn,sep as Qo}from"node:path";var es=new Set([".pdf",".png",".jpg",".jpeg",".xlsx",".xlsm",".xls"]),Sn=new Set([".git",".ssh",".gnupg",".venos","node_modules","vendor","dist","build",".next",".cache"]),ts=[".ssh",".gnupg","keychain"],ns=25<<20,rs=25;function Me(e){let t=e.toLowerCase();for(let r of ts)if(t.includes(`/${r}`)||t.includes(`\\${r}`))return!1;for(let r of Sn)if(t.includes(`/${r}/`)||t.includes(`\\${r}\\`))return!1;return(t.split(/[/\\]/).pop()??"").startsWith(".env")?!1:es.has(qo(t))}function $e(e){return vn(e,".venos","dspm-scanned.json")}function wn(e){try{let t=yn($e(e),"utf8"),n=JSON.parse(t);if(Array.isArray(n))return new Set(n.filter(r=>typeof r=="string"))}catch{}return new Set}function kn(e,t){try{Go(Zo($e(e)),{recursive:!0}),Xo($e(e),JSON.stringify([...t]))}catch{}}function os(e){return Ko("sha256").update(e).digest("hex")}async function Cn(e){let{home:t,filePath:n,source:r,config:o,machineId:s,hostname:i}=e,a=e.fetchImpl??globalThis.fetch;if(!Me(n))return"skipped-unsupported";let l;try{let O=zo(n);if(!O.isFile())return"skipped-missing";if(O.size>ns)return"skipped-too-large";l=yn(n)}catch{return"skipped-missing"}let c=os(l),u=e.seen===void 0,d=e.seen??wn(t);if(d.has(c))return"skipped-dedup";let S=`${o.orchestratorUrl.replace(/\/$/,"")}/api/dspm/documents/classify?orgId=${encodeURIComponent(o.orgId)}`,y=new FormData;y.append("file",new Blob([new Uint8Array(l)]),n.split(/[/\\]/).pop()??"document"),y.append("orgId",o.orgId),y.append("source",r),y.append("machine_id",s),y.append("hostname",i);let T={"X-Venos-Org":o.orgId};o.apiKey&&(T.Authorization=`Bearer ${o.apiKey}`);let P=await a(S,{method:"POST",headers:T,body:y});return!P.ok&&P.status>=500?"skipped-missing":(d.add(c),u&&kn(t,d),"classified")}function xn(e,t,n){if(t.length>=n)return;let r;try{r=Yo(e,{withFileTypes:!0})}catch{return}for(let o of r){if(t.length>=n)return;let s=vn(e,o.name);if(o.isDirectory()){if(Sn.has(o.name))continue;xn(s,t,n)}else o.isFile()&&Me(s)&&t.push(s)}}async function se(e){let{home:t}=e,n=k(t),r=n.dspmScan?.dirs??[];if(r.length===0)return{scanned:0,classified:0,skipped:0,reason:"not-configured"};let o=n.dspmScan?.maxFilesPerRun??rs,s=h(t),i=v(),a=wn(t),l=[];for(let d of r)Bo(d)&&xn(d,l,Number.MAX_SAFE_INTEGER);let c=0,u=0;for(let d of l){if(c>=o)break;await Cn({home:t,filePath:d,source:"cli-heartbeat-scan",config:n,machineId:s,hostname:i,seen:a,...e.fetchImpl?{fetchImpl:e.fetchImpl}:{}})==="classified"?c++:u++}return kn(t,a),{scanned:l.length,classified:c,skipped:u}}function ss(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null)return null;let n=t.tool_input;if(typeof n!="object"||n===null)return null;for(let r of["file_path","path","notebook_path"]){let o=n[r];if(typeof o=="string"&&o.trim()!=="")return o}return null}function is(e,t){let n=hn(e);for(let r of t){let o=hn(r);if(n===o||n.startsWith(o+Qo))return!0}return!1}async function bn(e,t){try{let n=k(e);return await Cn({home:e,filePath:t,source:"hook-realtime",config:n,machineId:h(e),hostname:v()})}catch{return"skipped-missing"}}function Pn(e,t,n=Jo){let r=e.dspmScan?.dirs??[];if(r.length===0)return!1;let o=ss(t);if(o===null||!Me(o)||!is(o,r))return!1;let s=process.argv[1]??"";try{return n(process.execPath,[s,"classify-file",o],{detached:!0,stdio:"ignore"}).unref(),!0}catch{return!1}}function fs(e){return Rn(e,".venos","config.json")}function k(e){let t=fs(e);if(!cs(t))throw new Error(`venos config not found at ${t} - run "venos init" first`);return JSON.parse(ie(t,"utf8"))}function ms(){return new Promise((e,t)=>{let n="";process.stdin.setEncoding("utf8"),process.stdin.on("data",r=>{n+=r}),process.stdin.on("end",()=>e(n)),process.stdin.on("error",t)})}function gs(e){let t;try{t=ie(e,"utf8")}catch{return null}let n=t.split(/\r?\n/);for(let r=n.length-1;r>=0;r--){let o=n[r]?.trim();if(!o)continue;let s;try{s=JSON.parse(o)}catch{continue}if(s.type!=="assistant"||!s.message||s.message.model==="<synthetic>")continue;let i=s.message.usage;if(!i)continue;let a=typeof i.cache_creation_input_tokens=="number"?i.cache_creation_input_tokens:void 0,l=typeof i.cache_read_input_tokens=="number"?i.cache_read_input_tokens:void 0,c=(i.input_tokens??0)+(a??0)+(l??0),u=i.output_tokens??0,d=s.message.model??"";if(c===0&&u===0&&d==="")return null;let f={tokensIn:c,tokensOut:u,model:d};return l!==void 0&&(f.cacheReadTokens=l),a!==void 0&&(f.cacheWriteTokens=a),f}return null}function hs(e){let t;try{t=JSON.parse(e)}catch{return e}if(typeof t!="object"||t===null||Array.isArray(t))return e;let n=t,r=n.transcript_path;if(typeof r!="string"||r==="")return e;let o=gs(r);return o?(n.usage_tokens_in=o.tokensIn,n.usage_tokens_out=o.tokensOut,o.cacheReadTokens!==void 0&&(n.cache_read_input_tokens=o.cacheReadTokens),o.cacheWriteTokens!==void 0&&(n.cache_creation_input_tokens=o.cacheWriteTokens),o.model!==""&&(n.usage_model=o.model),JSON.stringify(n)):e}function ys(e,t){if(t==="")return e;let n;try{n=JSON.parse(e)}catch{return JSON.stringify({orgId:t,content:e})}if(typeof n!="object"||n===null||Array.isArray(n))return e;let r=n;for(let o of["orgId","org_id","tenantId","tenant_id"]){let s=r[o];if(typeof s=="string"&&s.trim()!=="")return e}return r.orgId=t,JSON.stringify(r)}function vs(e){try{let n=JSON.parse(e).cursor_version;return typeof n=="string"&&n!==""}catch{return!1}}function je(){try{let e=ds().username;if(typeof e=="string"&&e.trim()!=="")return e.trim()}catch{}for(let e of["USER","USERNAME","LOGNAME"]){let t=process.env[e];if(typeof t=="string"&&t.trim()!=="")return t.trim()}return""}function Ss(e,t,n){if(t==="")return e;let r;try{r=JSON.parse(e)}catch{return e}if(typeof r!="object"||r===null||Array.isArray(r))return e;let o=r;for(let s of["userId","user_id"]){let i=o[s];if(typeof i=="string"&&i.trim()!=="")return e}return o.userId=t,n&&(o.actor_email=n),JSON.stringify(o)}async function ws(e){if(process.env.VENOS_EMIT_ACTOR_EMAIL==="false")return null;try{let t=In("git",["config","user.email"],{encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim();if(t)return t.toLowerCase()}catch{}try{let t=k(e);if(t.actor_email?.trim())return t.actor_email.trim().toLowerCase()}catch{}return null}function h(e){let t=e===""?"":Rn(e,".venos","machine-id");if(t!=="")try{let n=ie(t,"utf8").trim();if(n!=="")return n}catch{}try{let n=ie("/etc/machine-id","utf8").trim();if(n!=="")return n}catch{}if(t==="")return"";try{let n=En(16).toString("hex");return as(ps(t),{recursive:!0}),ls(t,n+`
97
- `,"utf8"),n}catch{return""}}function ks(e,t,n){if(t===""&&n==="")return e;let r;try{r=JSON.parse(e)}catch{return e}if(typeof r!="object"||r===null||Array.isArray(r))return e;let o=r,s=i=>{let a=o[i];return typeof a=="string"&&a.trim()!==""};return t!==""&&!s("machine_id")&&!s("machineId")&&(o.machine_id=t),n!==""&&(o.hostname=n),JSON.stringify(o)}function v(e=process.platform,t=Cs){if(e==="darwin")try{let n=t().trim();if(n!=="")return n.endsWith(".local")?n:`${n}.local`}catch{}try{let n=us();return typeof n=="string"?n.trim():""}catch{return""}}function Cs(){try{return In("scutil",["--get","LocalHostName"],{encoding:"utf8",timeout:1e3}).trim()}catch{return""}}function b(e,t,n){let r={"Content-Type":"application/json","X-Venos-Org":e};return t&&(r.Authorization=`Bearer ${t}`),n&&(r["X-Venos-Idempotency-Key"]=n),r}function xs(e){return e.failMode==="closed"?{mode:"closed",implicit:!1}:e.failMode==="open"?{mode:"open",implicit:!1}:{mode:"open",implicit:!0}}function Tn(e){return e===502||e===503}async function E(e,t,n={}){let r=n.attempts??3,o=n.backoffMs??[250,750],s=n.timeoutMs??3e3,i;for(let a=0;a<r;a++){if(a>0){let l=o[Math.min(a-1,o.length-1)]??0;await new Promise(c=>setTimeout(c,l))}try{let l=await fetch(e,{...t,signal:AbortSignal.timeout(s)});if(!Tn(l.status)||a===r-1)return l;i=new Error(`orchestrator returned ${l.status}`)}catch(l){i=l}}throw i}function bs(e){let t=e.orchestratorUrl.replace(/\/$/,"").trim(),n=new Set([t]),r=[];for(let o of e.mirrors??[]){let s=(o?.url??"").replace(/\/$/,"").trim();s===""||n.has(s)||(n.add(s),r.push(o.apiKey?{url:s,apiKey:o.apiKey}:{url:s}))}return r}async function Ps(e,t,n,r,o){e.length!==0&&await Promise.allSettled(e.map(async s=>{let i=`${s.url}/v1/hooks/${encodeURIComponent(t)}`;try{await(await E(i,{method:"POST",headers:b(n,s.apiKey,o),body:r})).text()}catch{}}))}async function An(e,t="claude-code"){let n=e??process.env.HOME??process.env.USERPROFILE??"",r=k(n),o=await ms();try{Pn(r,o)}catch{}let s=vs(o),i=await ws(n),a=ks(Ss(hs(ys(o,r.orgId)),je(),i),h(n),v()),c=`${r.orchestratorUrl.replace(/\/$/,"")}/v1/hooks/${encodeURIComponent(t)}`,u=En(16).toString("hex"),d=Ps(bs(r),t,r.orgId,a,u),f;try{f=await E(c,{method:"POST",headers:b(r.orgId,r.apiKey,u),body:a})}catch{await d,On(t,s,r);return}if(Tn(f.status)){await f.text(),await d,On(t,s,r);return}if(s){await f.text(),await d;return}let S=await f.text(),y=t==="codex"?Os(S):t==="claude-code"?Is(S):S;process.stdout.write(y),await d,f.ok||(process.stderr.write(`venos hook: orchestrator returned ${f.status}
98
- `),process.exit(1))}function On(e,t,n){if(t)return;let{mode:r,implicit:o}=xs(n);if(r==="open"){o?process.stderr.write(`venos hook: orchestrator unreachable; proceeding because ~/.venos/config.json has no "failMode". This default flips to "closed" in a future release - set failMode explicitly to keep proceeding.
99
- `):process.stderr.write(`venos hook: orchestrator unreachable; proceeding (failMode=open)
100
- `);return}let s='venos orchestrator unreachable (fail-closed); set failMode "open" in ~/.venos/config.json to proceed without recording';if(e==="codex"){process.stdout.write(JSON.stringify({decision:"block",reason:s}));return}process.stderr.write(`venos hook: ${s}
101
- `),process.exit(2)}function Os(e){let t;try{t=JSON.parse(e)}catch{return e}let n=typeof t.decision=="string"?t.decision:"";if(n==="deny"||n==="block"){let r=typeof t.severity=="string"?t.severity:"",o=typeof t.eventId=="string"?t.eventId:"",s=`blocked by venos policy${r?` (severity=${r})`:""}${o?` [event ${o}]`:""}`;return JSON.stringify({decision:"block",reason:s})}return n==="allow"?JSON.stringify({decision:"approve"}):e}function Is(e){let t;try{t=JSON.parse(e)}catch{return""}let n=typeof t.decision=="string"?t.decision:"";if(n==="deny"||n==="block"){let r=typeof t.severity=="string"?t.severity:"",o=typeof t.eventId=="string"?t.eventId:"",s=`blocked by venos policy${r?` (severity=${r})`:""}${o?` [event ${o}]`:""}`;return JSON.stringify({decision:"block",reason:s})}return""}import{readFileSync as Ts,existsSync as As}from"node:fs";import{join as Nn}from"node:path";import{execFile as _s}from"node:child_process";import{promisify as Us}from"node:util";import{existsSync as M}from"node:fs";import{dirname as Es,join as ae,resolve as j}from"node:path";import{fileURLToPath as Rs}from"node:url";var ce=Es(Rs(import.meta.url));function _n(){let e=process.env.VENOS_SESSION_WASTE_PATH;if(e&&M(e))return j(e);let t=j(ae(ce,"..","etc","session-waste","bin.js"));if(M(t))return t;let n=j(ae(ce,"..","..","..","packages","session-waste","dist","bin.js"));if(M(n))return n;throw new Error(`venos: bundled session-waste scanner not found. Tried:
94
+ `}var fn={platform:"linux",install(e){let t=pn(e.home),n=X(t,ue);try{let r=le(n);return ls(t,{recursive:!0}),un(X(t,dn),us(e.nodePath,e.cliEntry),"utf8"),un(n,ds(),"utf8"),e.run("systemctl",["--user","daemon-reload"]),e.run("systemctl",["--user","enable","--now",ue]),j(e.home,{kind:"systemd",path:n}),{platform:"linux",status:r?"already-installed":"installed",path:n}}catch(r){return{platform:"linux",status:"error",path:n,error:ps(r)}}},remove(e,t){let n=pn(e),r=X(n,ue),o=X(n,dn),s=le(r);try{t("systemctl",["--user","disable","--now",ue])}catch{}le(r)&&ln(r,{force:!0}),le(o)&&ln(o,{force:!0});try{t("systemctl",["--user","daemon-reload"])}catch{}let i=V(e);return{platform:"linux",status:s||i?"removed":"already-removed",path:r}}};function ps(e){return e instanceof Error?e.message:String(e)}var de="venos-heartbeat",mn={platform:"win32",install(e){let t=`Scheduled Task: ${de}`;try{let n=F(e.home),r=`"${e.nodePath}" "${e.cliEntry}" heartbeat`;return e.run("schtasks",["/Create","/TN",de,"/TR",r,"/SC","HOURLY","/MO","1","/F"]),j(e.home,{kind:"schtasks",path:t}),{platform:"win32",status:n?"already-installed":"installed",path:t}}catch(n){return{platform:"win32",status:"error",path:t,error:fs(n)}}},remove(e,t){let n=F(e);try{t("schtasks",["/Delete","/TN",de,"/F"])}catch{}return V(e),{platform:"win32",status:n?"removed":"already-removed",path:`Scheduled Task: ${de}`}}};function fs(e){return e instanceof Error?e.message:String(e)}var gn=[cn,fn,mn],hn=(e,t)=>{try{ms(e,t,{stdio:"ignore"})}catch{}};function yn(e){return e??process.env.HOME??process.env.USERPROFILE??""}function vn(e={}){let t=gn.find(n=>n.platform===process.platform);return t?t.install({home:yn(e.home),nodePath:process.execPath,cliEntry:process.argv[1]??"",run:e.run??hn}):{platform:"unsupported",status:"unsupported"}}function Sn(e={}){let t=gn.find(n=>n.platform===process.platform);return t?t.remove(yn(e.home),e.run??hn):{platform:"unsupported",status:"unsupported"}}function kn(e){return F(e)}import{spawn as gs}from"node:child_process";import{execFileSync as xn}from"node:child_process";import{existsSync as pe,openSync as hs,closeSync as ys,readFileSync as wn,rmSync as Cn,writeFileSync as On}from"node:fs";import{join as fe}from"node:path";function vs(e){switch(e){case"darwin":return"native";case"linux":return"ebpf";case"win32":return"etw";default:return"mock"}}function Ss(e,t){let n=t.VENOS_SENSOR_BACKEND?.trim();return n||vs(e)}function ks(e){return e==="native"||e==="ebpf"}function bn(e){return fe(e,".venos","sensor.pid")}function ws(e){return fe(e,".venos","sensor.log")}function Pn(e){return fe(e,".venos","sensor.json")}function Cs(e,t=process.cwd()){let n=e.VENOS_SENSOR_BIN?.trim();if(n)return pe(n)?n:null;for(let r of["release","debug"]){let o=fe(t,"sensor","target",r,"venos-sensor");if(pe(o))return o}return null}function Os(e){return e.trim().replace(/\/+$/,"")}function xs(){xn("sudo",["-v"],{stdio:"inherit"})}function En(e){let t=e.platform??process.platform,n=e.env??process.env,r=e.spawnImpl??gs,o=e.preauthImpl??xs,s=Ss(t,n),i=Cs(n,e.repoRoot);if(!i)return{started:!1,reason:"no-binary",backend:s};let a={VENOS_SENSOR_ADDR:n.VENOS_SENSOR_ADDR?.trim()||"127.0.0.1:8789",VENOS_SENSOR_COLLECTOR:Os(e.orchestratorUrl),VENOS_SENSOR_ORG:e.orgId,VENOS_SENSOR_BACKEND:s,...e.token?{VENOS_SENSOR_TOKEN:e.token}:{},...e.machineId?{VENOS_SENSOR_MACHINE_ID:e.machineId}:{},...e.hostname?{VENOS_SENSOR_HOSTNAME:e.hostname}:{}},c=e.uid??(typeof process.getuid=="function"?process.getuid():void 0),l=ks(s)&&t!=="win32"&&c!==0,u=hs(ws(e.home),"a"),d;try{if(l){o();let y=Object.entries(a).map(([m,h])=>`${m}=${h}`);d=r("sudo",["-n",...y,i],{detached:!0,stdio:["ignore",u,u]})}else d=r(i,[],{detached:!0,stdio:["ignore",u,u],env:{...n,...a}})}finally{ys(u)}d.unref();let p=d.pid;return typeof p=="number"&&(On(bn(e.home),String(p)),On(Pn(e.home),JSON.stringify({pid:p,backend:s,useSudo:l}))),{started:!0,reason:"started",backend:s,...p!==void 0?{pid:p}:{},binary:i}}function bs(e,t){if(t){try{xn("sudo",["kill",String(e)],{stdio:"ignore"})}catch{}return}try{process.kill(e)}catch{}}function Rn(e){let t=bn(e.home);if(!pe(t))return{stopped:!1};let n=e.killImpl??bs,r=Number(wn(t,"utf8").trim()),o=!1,s=Pn(e.home);if(pe(s))try{o=!!JSON.parse(wn(s,"utf8")).useSudo}catch{}return Number.isFinite(r)&&r>0&&n(r,o),Cn(t,{force:!0}),Cn(s,{force:!0}),{stopped:!0}}function _n(e){return e.started?`venos init: host sensor started (backend ${e.backend}, pid ${e.pid??"?"})`:"venos init: host sensor not started (no venos-sensor binary found; set VENOS_SENSOR_BIN)"}import{mkdirSync as Hn,readFileSync as Z,existsSync as Gs,writeFileSync as Jn}from"node:fs";import{hostname as Ys,userInfo as zs}from"node:os";import{execFileSync as Kn}from"node:child_process";import{randomBytes as Bn}from"node:crypto";import{dirname as Gn,join as Ge}from"node:path";import{execFileSync as Ps}from"node:child_process";function N(e){let t=e?.trim();return t||void 0}function In(e,t){try{return N(Ps("git",e,{cwd:t,encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:750}))}catch{return}}function Es(e){let t=N(e);if(!t||!t.includes("/"))return{};let[n,r]=t.split("/",2).map(o=>N(o));return n&&r?{repoOwner:n,repoName:r}:{}}function Rs(e){let t=N(e);if(!t)return{};let n=t,r=t.match(/^[^@]+@[^:]+:(.+)$/);if(r?.[1])n=r[1];else try{n=new URL(t).pathname}catch{n=t}n=n.replace(/^\/+/,"").replace(/\.git$/i,"");let o=n.split("/").map(a=>N(a)).filter(Boolean);if(o.length<2)return{};let s=o.at(-1),i=o.at(-2);return i&&s?{repoOwner:i,repoName:s}:{}}function _s(e=process.cwd()){let t=N(process.env.VENOS_REPO_OWNER),n=N(process.env.VENOS_REPO_NAME),r=Es(process.env.GITHUB_REPOSITORY),o=t??r.repoOwner,s=n??r.repoName;if(o&&s)return{repoOwner:o,repoName:s};let i=In(["rev-parse","--show-toplevel"],e);return i?Rs(In(["remote","get-url","origin"],i)):{}}function Tn(e,t){let n=t??_s();if(!n.repoOwner||!n.repoName)return e;let r;try{r=JSON.parse(e)}catch{return e}if(typeof r!="object"||r===null||Array.isArray(r))return e;let o=r,s=i=>{let a=o[i];return typeof a=="string"&&a.trim()!==""};return!s("repo_owner")&&!s("repoOwner")&&(o.repo_owner=n.repoOwner),!s("repo_name")&&!s("repoName")&&(o.repo_name=n.repoName),JSON.stringify(o)}import{spawn as Is}from"node:child_process";import{createHash as Ts}from"node:crypto";import{existsSync as As,mkdirSync as Ns,readFileSync as Nn,readdirSync as Us,statSync as $s,writeFileSync as Ms}from"node:fs";import{dirname as js,extname as Vs,join as Un,resolve as An,sep as Fs}from"node:path";var Ws=new Set([".pdf",".png",".jpg",".jpeg",".xlsx",".xlsm",".xls"]),$n=new Set([".git",".ssh",".gnupg",".venos","node_modules","vendor","dist","build",".next",".cache"]),Ls=[".ssh",".gnupg","keychain"],Ds=25<<20,Hs=25;function Be(e){let t=e.toLowerCase();for(let r of Ls)if(t.includes(`/${r}`)||t.includes(`\\${r}`))return!1;for(let r of $n)if(t.includes(`/${r}/`)||t.includes(`\\${r}\\`))return!1;return(t.split(/[/\\]/).pop()??"").startsWith(".env")?!1:Ws.has(Vs(t))}function Ke(e){return Un(e,".venos","dspm-scanned.json")}function Mn(e){try{let t=Nn(Ke(e),"utf8"),n=JSON.parse(t);if(Array.isArray(n))return new Set(n.filter(r=>typeof r=="string"))}catch{}return new Set}function jn(e,t){try{Ns(js(Ke(e)),{recursive:!0}),Ms(Ke(e),JSON.stringify([...t]))}catch{}}function Js(e){return Ts("sha256").update(e).digest("hex")}async function Vn(e){let{home:t,filePath:n,source:r,config:o,machineId:s,hostname:i}=e,a=e.fetchImpl??globalThis.fetch;if(!Be(n))return"skipped-unsupported";let c;try{let C=$s(n);if(!C.isFile())return"skipped-missing";if(C.size>Ds)return"skipped-too-large";c=Nn(n)}catch{return"skipped-missing"}let l=Js(c),u=e.seen===void 0,d=e.seen??Mn(t);if(d.has(l))return"skipped-dedup";let y=`${o.orchestratorUrl.replace(/\/$/,"")}/api/dspm/documents/classify?orgId=${encodeURIComponent(o.orgId)}`,m=new FormData;m.append("file",new Blob([new Uint8Array(c)]),n.split(/[/\\]/).pop()??"document"),m.append("orgId",o.orgId),m.append("source",r),m.append("machine_id",s),m.append("hostname",i);let h={"X-Venos-Org":o.orgId};o.apiKey&&(h.Authorization=`Bearer ${o.apiKey}`);let k=await a(y,{method:"POST",headers:h,body:m});return!k.ok&&k.status>=500?"skipped-missing":(d.add(l),u&&jn(t,d),"classified")}function Fn(e,t,n){if(t.length>=n)return;let r;try{r=Us(e,{withFileTypes:!0})}catch{return}for(let o of r){if(t.length>=n)return;let s=Un(e,o.name);if(o.isDirectory()){if($n.has(o.name))continue;Fn(s,t,n)}else o.isFile()&&Be(s)&&t.push(s)}}async function me(e){let{home:t}=e,n=x(t),r=n.dspmScan?.dirs??[];if(r.length===0)return{scanned:0,classified:0,skipped:0,reason:"not-configured"};let o=n.dspmScan?.maxFilesPerRun??Hs,s=S(t),i=w(),a=Mn(t),c=[];for(let d of r)As(d)&&Fn(d,c,Number.MAX_SAFE_INTEGER);let l=0,u=0;for(let d of c){if(l>=o)break;await Vn({home:t,filePath:d,source:"cli-heartbeat-scan",config:n,machineId:s,hostname:i,seen:a,...e.fetchImpl?{fetchImpl:e.fetchImpl}:{}})==="classified"?l++:u++}return jn(t,a),{scanned:c.length,classified:l,skipped:u}}function Ks(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null)return null;let n=t.tool_input;if(typeof n!="object"||n===null)return null;for(let r of["file_path","path","notebook_path"]){let o=n[r];if(typeof o=="string"&&o.trim()!=="")return o}return null}function Bs(e,t){let n=An(e);for(let r of t){let o=An(r);if(n===o||n.startsWith(o+Fs))return!0}return!1}async function Wn(e,t){try{let n=x(e);return await Vn({home:e,filePath:t,source:"hook-realtime",config:n,machineId:S(e),hostname:w()})}catch{return"skipped-missing"}}function Ln(e,t,n=Is){let r=e.dspmScan?.dirs??[];if(r.length===0)return!1;let o=Ks(t);if(o===null||!Be(o)||!Bs(o,r))return!1;let s=process.argv[1]??"";try{return n(process.execPath,[s,"classify-file",o],{detached:!0,stdio:"ignore"}).unref(),!0}catch{return!1}}function Xs(e){return Ge(e,".venos","config.json")}function x(e){let t=Xs(e);if(!Gs(t))throw new Error(`venos config not found at ${t} - run "venos init" first`);return JSON.parse(Z(t,"utf8"))}function Zs(){return new Promise((e,t)=>{let n="";process.stdin.setEncoding("utf8"),process.stdin.on("data",r=>{n+=r}),process.stdin.on("end",()=>e(n)),process.stdin.on("error",t)})}function T(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function qs(e){return typeof e=="string"?e.trim():""}function Yn(e){let t;try{t=Z(e,"utf8")}catch{return null}let n=t.split(/\r?\n/),r=null,o="";for(let s of n){let i=s.trim();if(!i)continue;let a;try{a=JSON.parse(i)}catch{continue}if(a.type==="turn_context"){let m=qs(a.payload?.model);m!==""&&(o=m);continue}if(a.type==="event_msg"&&a.payload?.type==="token_count"){let m=a.payload.info?.last_token_usage;if(!m||typeof m!="object")continue;let h=T(m.input_tokens),k=T(m.output_tokens),C=T(m.cached_input_tokens);if(h+k+C===0)continue;let b=a.payload.info?.total_token_usage??m,A=["codex-token-count",o,T(b.input_tokens),T(b.cached_input_tokens),T(b.output_tokens),T(b.reasoning_output_tokens),T(b.total_tokens)].join(":");r={tokensIn:h,tokensOut:k,model:o,...C>0?{cacheReadTokens:C}:{},syncKey:A};continue}if(a.type!=="assistant"||!a.message||a.message.model==="<synthetic>")continue;let c=a.message.usage;if(!c)continue;let l=typeof c.cache_creation_input_tokens=="number"?c.cache_creation_input_tokens:void 0,u=typeof c.cache_read_input_tokens=="number"?c.cache_read_input_tokens:void 0,d=(c.input_tokens??0)+(l??0)+(u??0),p=c.output_tokens??0,y=a.message.model??"";d===0&&p===0&&y===""||(r={tokensIn:d,tokensOut:p,model:y},u!==void 0&&(r.cacheReadTokens=u),l!==void 0&&(r.cacheWriteTokens=l))}return r}function zn(e){return Ge(e,".venos","codex-usage-sync.json")}function Qs(e){try{let t=Z(zn(e),"utf8"),n=JSON.parse(t);if(typeof n!="object"||n===null||Array.isArray(n))return{};let r={};for(let[o,s]of Object.entries(n))typeof s=="string"&&(r[o]=s);return r}catch{return{}}}function ei(e,t){try{let n=zn(e);Hn(Gn(n),{recursive:!0}),Jn(n,JSON.stringify(t,null,2)+`
95
+ `,"utf8")}catch{}}function ti(e){let t;try{t=JSON.parse(e)}catch{return e}if(typeof t!="object"||t===null||Array.isArray(t))return e;let n=t,r=n.transcript_path;if(typeof r!="string"||r==="")return e;let o=Yn(r);return o?(n.usage_tokens_in=o.tokensIn,n.usage_tokens_out=o.tokensOut,o.cacheReadTokens!==void 0&&(n.cache_read_input_tokens=o.cacheReadTokens),o.cacheWriteTokens!==void 0&&(n.cache_creation_input_tokens=o.cacheWriteTokens),o.model!==""&&(n.usage_model=o.model),JSON.stringify(n)):e}function ni(e,t){let n;try{n=JSON.parse(e)}catch{return e}if(typeof n!="object"||n===null||Array.isArray(n))return e;let r=n,o=r.transcript_path;if(typeof o!="string"||o==="")return e;let s=Yn(o);if(!s||!s.syncKey)return e;let i=typeof r.session_id=="string"?r.session_id:"",a=i!==""?i:o,c=Qs(t);return c[a]===s.syncKey?e:(c[a]=s.syncKey,ei(t,c),r.usage_tokens_in=s.tokensIn,r.usage_tokens_out=s.tokensOut,s.cacheReadTokens!==void 0&&(r.cache_read_input_tokens=s.cacheReadTokens),s.model!==""&&(r.usage_model=s.model),JSON.stringify(r))}function ri(e,t){if(t==="")return e;let n;try{n=JSON.parse(e)}catch{return JSON.stringify({orgId:t,content:e})}if(typeof n!="object"||n===null||Array.isArray(n))return e;let r=n;for(let o of["orgId","org_id","tenantId","tenant_id"]){let s=r[o];if(typeof s=="string"&&s.trim()!=="")return e}return r.orgId=t,JSON.stringify(r)}function oi(e){try{let n=JSON.parse(e).cursor_version;return typeof n=="string"&&n!==""}catch{return!1}}function si(e){try{let n=JSON.parse(e).hook_event_name;return typeof n=="string"?n:""}catch{return""}}function ii(e,t){return e!=="codex"}function Ye(){try{let e=zs().username;if(typeof e=="string"&&e.trim()!=="")return e.trim()}catch{}for(let e of["USER","USERNAME","LOGNAME"]){let t=process.env[e];if(typeof t=="string"&&t.trim()!=="")return t.trim()}return""}function ai(e,t,n){if(t==="")return e;let r;try{r=JSON.parse(e)}catch{return e}if(typeof r!="object"||r===null||Array.isArray(r))return e;let o=r;for(let s of["userId","user_id"]){let i=o[s];if(typeof i=="string"&&i.trim()!=="")return e}return o.userId=t,n&&(o.actor_email=n),JSON.stringify(o)}async function ci(e){if(process.env.VENOS_EMIT_ACTOR_EMAIL==="false")return null;try{let t=Kn("git",["config","user.email"],{encoding:"utf8",stdio:["pipe","pipe","pipe"]}).trim();if(t)return t.toLowerCase()}catch{}try{let t=x(e);if(t.actor_email?.trim())return t.actor_email.trim().toLowerCase()}catch{}return null}function S(e){let t=e===""?"":Ge(e,".venos","machine-id");if(t!=="")try{let n=Z(t,"utf8").trim();if(n!=="")return n}catch{}try{let n=Z("/etc/machine-id","utf8").trim();if(n!=="")return n}catch{}if(t==="")return"";try{let n=Bn(16).toString("hex");return Hn(Gn(t),{recursive:!0}),Jn(t,n+`
96
+ `,"utf8"),n}catch{return""}}function li(e,t,n){if(t===""&&n==="")return e;let r;try{r=JSON.parse(e)}catch{return e}if(typeof r!="object"||r===null||Array.isArray(r))return e;let o=r,s=i=>{let a=o[i];return typeof a=="string"&&a.trim()!==""};return t!==""&&!s("machine_id")&&!s("machineId")&&(o.machine_id=t),n!==""&&(o.hostname=n),JSON.stringify(o)}function w(e=process.platform,t=ui){if(e==="darwin")try{let n=t().trim();if(n!=="")return n.endsWith(".local")?n:`${n}.local`}catch{}try{let n=Ys();return typeof n=="string"?n.trim():""}catch{return""}}function ui(){try{return Kn("scutil",["--get","LocalHostName"],{encoding:"utf8",timeout:1e3}).trim()}catch{return""}}function R(e,t,n){let r={"Content-Type":"application/json","X-Venos-Org":e};return t&&(r.Authorization=`Bearer ${t}`),n&&(r["X-Venos-Idempotency-Key"]=n),r}function di(e){return e.failMode==="closed"?{mode:"closed",implicit:!1}:e.failMode==="open"?{mode:"open",implicit:!1}:{mode:"open",implicit:!0}}function Xn(e){return e===502||e===503}async function _(e,t,n={}){let r=n.attempts??3,o=n.backoffMs??[250,750],s=n.timeoutMs??3e3,i;for(let a=0;a<r;a++){if(a>0){let c=o[Math.min(a-1,o.length-1)]??0;await new Promise(l=>setTimeout(l,c))}try{let c=await fetch(e,{...t,signal:AbortSignal.timeout(s)});if(!Xn(c.status)||a===r-1)return c;i=new Error(`orchestrator returned ${c.status}`)}catch(c){i=c}}throw i}function W(e){let t=e.orchestratorUrl.replace(/\/$/,"").trim(),n=new Set([t]),r=[];for(let o of e.mirrors??[]){let s=(o?.url??"").replace(/\/$/,"").trim();s===""||n.has(s)||(n.add(s),r.push(o.apiKey?{url:s,apiKey:o.apiKey}:{url:s}))}return r}function pi(e,t){try{let n=JSON.parse(e);return typeof n!="object"||n===null||Array.isArray(n)?e:(n.orgId=t,JSON.stringify(n))}catch{return e}}async function fi(e,t,n,r,o){e.length!==0&&await Promise.allSettled(e.map(async s=>{let i=s.orgId??n,a=s.orgId?pi(r,s.orgId):r,c=`${s.url}/v1/hooks/${encodeURIComponent(t)}`;try{await(await _(c,{method:"POST",headers:R(i,s.apiKey,o),body:a})).text()}catch{}}))}async function Zn(e,t="claude-code"){let n=e??process.env.HOME??process.env.USERPROFILE??"",r=x(n),o=await Zs(),s=si(o);try{Ln(r,o)}catch{}let i=oi(o),a=await ci(n),c=ri(o,r.orgId),l=t==="codex"?ni(c,n):ii(t,s)?ti(c):c,u=Tn(li(ai(l,Ye(),a),S(n),w())),p=`${r.orchestratorUrl.replace(/\/$/,"")}/v1/hooks/${encodeURIComponent(t)}`,y=Bn(16).toString("hex"),m=fi(W(r),t,r.orgId,u,y),h;try{h=await _(p,{method:"POST",headers:R(r.orgId,r.apiKey,y),body:u})}catch{await m,Dn(t,s,i,r);return}if(Xn(h.status)){await h.text(),await m,Dn(t,s,i,r);return}if(i){await h.text(),await m;return}let k=await h.text(),C=t==="codex"?s==="PreToolUse"?gi(k):"":t==="claude-code"?hi(k):k;process.stdout.write(C),await m,h.ok||(process.stderr.write(`venos hook: orchestrator returned ${h.status}
97
+ `),process.exit(1))}function Dn(e,t,n,r){let o=mi(e,t,n,r);o.stdout!==""&&process.stdout.write(o.stdout),o.stderr!==""&&process.stderr.write(o.stderr),o.exitCode!==void 0&&process.exit(o.exitCode)}function mi(e,t,n,r){if(n)return{stdout:"",stderr:""};let{mode:o,implicit:s}=di(r);if(o==="open")return s?{stdout:"",stderr:`venos hook: orchestrator unreachable; proceeding because ~/.venos/config.json has no "failMode". This default flips to "closed" in a future release - set failMode explicitly to keep proceeding.
98
+ `}:{stdout:"",stderr:`venos hook: orchestrator unreachable; proceeding (failMode=open)
99
+ `};let i='venos orchestrator unreachable (fail-closed); set failMode "open" in ~/.venos/config.json to proceed without recording';return e==="codex"?t==="PreToolUse"?{stdout:JSON.stringify({decision:"block",reason:i}),stderr:""}:{stdout:"",stderr:""}:{stdout:"",stderr:`venos hook: ${i}
100
+ `,exitCode:2}}function gi(e){let t;try{t=JSON.parse(e)}catch{return e}let n=typeof t.decision=="string"?t.decision:"";if(n==="deny"||n==="block"){let r=typeof t.severity=="string"?t.severity:"",o=typeof t.eventId=="string"?t.eventId:"",s=`blocked by venos policy${r?` (severity=${r})`:""}${o?` [event ${o}]`:""}`;return JSON.stringify({decision:"block",reason:s})}return n==="allow"?JSON.stringify({decision:"approve"}):e}function hi(e){let t;try{t=JSON.parse(e)}catch{return""}let n=typeof t.decision=="string"?t.decision:"";if(n==="deny"||n==="block"){let r=typeof t.severity=="string"?t.severity:"",o=typeof t.eventId=="string"?t.eventId:"",s=`blocked by venos policy${r?` (severity=${r})`:""}${o?` [event ${o}]`:""}`;return JSON.stringify({decision:"block",reason:s})}return""}function qn(e){switch(e.status){case"installed":return` OK service boot service installed ${e.path??""}`;case"already-installed":return` \xB7 service boot service already installed ${e.path??""}`;case"removed":return" OK service boot service removed";case"already-removed":return" \xB7 service boot service already removed";case"unsupported":return" \u2014 service boot service not supported on this OS";case"error":return` FAIL service boot service install failed \u2014 ${e.error??""} (health still reports via the Stop hook)`;default:return null}}var yi={wired:"OK","already-wired":"\xB7","skipped-not-installed":"\u2014",error:"FAIL"},vi={wired:"wired","already-wired":"already wired","skipped-not-installed":"skipped (not installed)",error:"ERROR"},ze="http://127.0.0.1:4000/v1";function Qn(e,t){let n=e.some(r=>r.status==="wired");console.log(`
101
+ venos init ${n?"done":"(no changes)"}`),console.log(` org ID : ${t.orgId}`),console.log(` orchestrator: ${t.orchestratorUrl}`);for(let r of e){let o=yi[r.status],s=vi[r.status],i=r.path?` ${r.path}`:"",a=r.error?` \u2014 ${r.error}`:"";console.log(` ${o} ${r.client.padEnd(12)} ${s}${i}${a}`)}if(t.clineWorkspace){let r=t.clineWorkspace;r.status==="wired"?console.log(` OK cline (ws) wired ${r.path}`):r.status==="already-wired"&&console.log(` \xB7 cline (ws) already wired ${r.path}`)}if(t.rulesOutcomes)for(let[r,o]of Object.entries(t.rulesOutcomes)){let s=o.status==="wired"?"OK":"\xB7",i=o.status==="wired"?"wired":"already wired";console.log(` ${s} ${(r+" rules").padEnd(12)} ${i} ${o.path}`)}if(t.service){let r=qn(t.service);r&&console.log(r)}if(n){console.log(`
102
+ Next steps:`);let r=e.filter(i=>i.status==="wired"),o=r.some(i=>i.transport==="mcp-json"||i.transport==="mcp-toml"),s=r.some(i=>i.transport==="claude-hook");o&&(console.log(" \u2022 Already-running MCP clients may need one reload to discover the new venos entry."),console.log(" Future Venos URL/org/key changes are read from ~/.venos/config.json without rewiring each agent.")),s&&console.log(" \u2022 Already-running hook clients may need a new session to discover the new hook entry."),r.some(i=>i.client==="aider")&&console.log(" \u2022 Aider will route LLM calls through the venos gateway on next launch (~/.aider.conf.yml)."),console.log(` \u2022 Test: curl ${t.orchestratorUrl}/healthz`)}Si(t.clineWorkspace)}function Si(e){console.log(`
103
+ Gateway routing (hard block via apps/mcp-proxy):`),console.log(` \u2022 Cursor \u2014 Settings \u2192 Models \u2192 Custom OpenAI Base URL: ${ze}`),console.log(" Optional: Custom HTTP Headers \u2192 X-Venos-Source: cursor"),console.log(` \u2022 Windsurf \u2014 Settings \u2192 Models \u2192 Custom OpenAI Base URL: ${ze}`),(!e||e.status==="no-workspace")&&(console.log(" \u2022 Cline \u2014 Open VS Code in your project, then add to .vscode/settings.json:"),console.log(` "cline.openaiBaseUrl": "${ze}"`)),console.log(" \u2022 VS Code Copilot \u2014 closed provider, no custom endpoint. Coverage = MCP advisory only."),console.log(" \u2022 JetBrains AI Assistant \u2014 closed provider, no custom endpoint. Coverage = MCP advisory only.")}function er(e,t){console.log(JSON.stringify({...t,outcomes:e},null,2))}var ki={removed:"OK","already-removed":"\xB7","skipped-not-installed":"\u2014",error:"FAIL"},wi={removed:"removed","already-removed":"already removed","skipped-not-installed":"skipped (not installed)",error:"ERROR"};function tr(e,t){let n=e.some(s=>s.status==="removed");console.log(`
104
+ venos init --remove ${n?"done":"(no changes)"}`);for(let s of e){let i=ki[s.status],a=wi[s.status],c=s.path?` ${s.path}`:"",l=s.error?` \u2014 ${s.error}`:"";console.log(` ${i} ${s.client.padEnd(12)} ${a}${c}${l}`)}let r=t.venosConfigRemoved?"OK":"\xB7",o=t.venosConfigRemoved?"removed":"already removed";if(console.log(` ${r} venos-config ${o} ${t.venosConfigPath}`),t.service){let s=qn(t.service);s&&console.log(s)}console.log("\nPre-venos `.venos-backup` snapshots are preserved \u2014 delete manually if you don't want them.")}function nr(e,t){console.log(JSON.stringify({...t,outcomes:e},null,2))}var or=1;function q(e){return Ei(e,".venos","config.json")}function _i(){return`org-${Ri(4).toString("hex")}`}function Ii(e,t,n,r,o){let s=q(e);if(sr(s))try{let i=JSON.parse(Oi(s,"utf8")),a={schemaVersion:i.schemaVersion??or,...i,orchestratorUrl:t};return n&&(a.apiKey=n),r&&(a.orgId=r),o&&(a.mirrors=o),a}catch{}return{schemaVersion:or,orgId:r??_i(),orchestratorUrl:t,createdAt:new Date().toISOString(),failMode:"closed",...n?{apiKey:n}:{},...o?{mirrors:o}:{}}}function Ti(e,t){let n=q(e),r=Pi(n);Ci(r,{recursive:!0,mode:448}),bi(n,JSON.stringify(t,null,2)+`
105
+ `,{mode:384}),rr(r,448),rr(n,384)}var Ai=5e3,Ni=5e3;async function Ui(e){let t=e.replace(/\/$/,""),n=new AbortController,r=setTimeout(()=>n.abort(),Ai);try{return(await fetch(`${t}/healthz`,{signal:n.signal})).ok}catch{return!1}finally{clearTimeout(r)}}async function $i(e,t){let n=e.replace(/\/$/,""),r=new AbortController,o=setTimeout(()=>r.abort(),Ni);try{let s=await fetch(`${n}/api/activation/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({orgId:t}),signal:r.signal});s.ok||console.warn(`[venos] activation telemetry: non-200 response (${s.status}) \u2014 init continues`)}catch{console.warn("[venos] activation telemetry: failed to reach orchestrator \u2014 init continues")}finally{clearTimeout(o)}}function ir(e){try{let t=new URL(e);return t.hostname==="localhost"||t.hostname==="127.0.0.1"||t.hostname==="::1"}catch{return!1}}function ar(e){let t=[];return e.orchestratorUrl?.trim()||t.push("--orchestrator"),!e.apiKey?.trim()&&!ir(e.orchestratorUrl??"")&&t.push("--api-key"),e.orgId?.trim()||t.push("--org"),t}async function cr(e){let t=e.home??process.env.HOME??process.env.USERPROFILE??"",n=e.orchestratorUrl;await Ui(n)||(console.error(`
106
+ venos init failed: orchestrator unreachable at ${n}/healthz`),console.error("Check the --orchestrator URL is correct and reachable, then re-run."),process.exit(1));let r=Ii(t,n,e.apiKey,e.orgId,e.mirrors),o=e.localCliPath&&e.localCliPath.trim()!==""?`node ${e.localCliPath.trim()}`:"venos",s={orgId:r.orgId,orchestratorUrl:n,mcpServerPath:ce(),hookCommand:`${o} hook`,usageSyncCommand:`${o} usage-sync --throttle`,...r.apiKey?{apiKey:r.apiKey}:{}},i=Zt(t,s,z);Ti(t,r);let a=e.cwd??process.cwd(),c=nn(a),l={cursor:".cursorrules",windsurf:".windsurfrules",cline:".clinerules"},u={};for(let m of i){let h=l[m.client];h&&(m.status==="wired"||m.status==="already-wired")&&(u[m.client]=rn(a,h))}let d=process.env.VITEST&&!e.serviceRun?void 0:vn({home:t,...e.serviceRun?{run:e.serviceRun}:{}});e.noTelemetry===!0||ir(n)||!!r.apiKey||await $i(n,r.orgId);let y={orgId:r.orgId,orchestratorUrl:n,clineWorkspace:c,rulesOutcomes:u,...d?{service:d}:{}};if(e.json?er(i,y):Qn(i,y),e.sensor&&!process.env.VITEST){let m=S(t),h=w(),k=En({home:t,orchestratorUrl:n,orgId:r.orgId,...r.apiKey?{token:r.apiKey}:{},...m?{machineId:m}:{},...h?{hostname:h}:{}});console.error(_n(k))}}function lr(e={}){let t=e.home??process.env.HOME??process.env.USERPROFILE??"",n=qt(t,z);Rn({home:t});let r=process.env.VITEST&&!e.serviceRun?void 0:Sn({home:t,...e.serviceRun?{run:e.serviceRun}:{}}),o=q(t),s=sr(o);s&&xi(o,{force:!0});let i={venosConfigPath:o,venosConfigRemoved:s,...r?{service:r}:{}};e.json?nr(n,i):tr(n,i)}import{readFileSync as Vi,existsSync as Fi}from"node:fs";import{join as pr}from"node:path";import{execFile as Wi}from"node:child_process";import{promisify as Li}from"node:util";import{existsSync as L}from"node:fs";import{dirname as Mi,join as ge,resolve as D}from"node:path";import{fileURLToPath as ji}from"node:url";var he=Mi(ji(import.meta.url));function ur(){let e=process.env.VENOS_SESSION_WASTE_PATH;if(e&&L(e))return D(e);let t=D(ge(he,"..","etc","session-waste","bin.js"));if(L(t))return t;let n=D(ge(he,"..","..","..","packages","session-waste","dist","bin.js"));if(L(n))return n;throw new Error(`venos: bundled session-waste scanner not found. Tried:
102
107
  VENOS_SESSION_WASTE_PATH=${e??"(unset)"}
103
108
  bundled: ${t}
104
109
  sibling: ${n}
105
- If you are developing locally, run: pnpm --filter @venos/session-waste build`)}function Un(){let e=process.env.VENOS_USAGE_AGGREGATOR_PATH;if(e&&M(e))return j(e);let t=j(ae(ce,"..","etc","session-waste","usage-bin.js"));if(M(t))return t;let n=j(ae(ce,"..","..","..","packages","session-waste","dist","usage-bin.js"));if(M(n))return n;throw new Error(`venos: bundled usage aggregator not found. Tried:
110
+ If you are developing locally, run: pnpm --filter @venos/session-waste build`)}function dr(){let e=process.env.VENOS_USAGE_AGGREGATOR_PATH;if(e&&L(e))return D(e);let t=D(ge(he,"..","etc","session-waste","usage-bin.js"));if(L(t))return t;let n=D(ge(he,"..","..","..","packages","session-waste","dist","usage-bin.js"));if(L(n))return n;throw new Error(`venos: bundled usage aggregator not found. Tried:
106
111
  VENOS_USAGE_AGGREGATOR_PATH=${e??"(unset)"}
107
112
  bundled: ${t}
108
113
  sibling: ${n}
109
- If you are developing locally, run: pnpm --filter @venos/session-waste build`)}var Ns=Us(_s);async function $n(e){let t=e??process.env.HOME??process.env.USERPROFILE??"",n=Nn(t,".venos","config.json");if(!As(n))throw new Error(`venos config not found at ${n} \u2014 run "venos init" first`);let r=JSON.parse(Ts(n,"utf8")),o=_n(),s=Nn(t,".claude"),{stdout:i}=await Ns(process.execPath,[o,s],{maxBuffer:32*1024*1024}),a=JSON.parse(i),l=Array.isArray(a.findings)?a.findings:[];if(l.length===0)return{sessionsScanned:a.sessionsScanned??0,findingsStored:0};let u=`${r.orchestratorUrl.replace(/\/$/,"")}/api/finops/session-waste?orgId=${encodeURIComponent(r.orgId)}`,d=await fetch(u,{method:"POST",headers:{"Content-Type":"application/json","X-Venos-Org":r.orgId},body:JSON.stringify({findings:l})});if(!d.ok)throw new Error(`venos waste-scan: orchestrator returned ${d.status}`);let f=await d.json();return{sessionsScanned:a.sessionsScanned??0,findingsStored:f.stored??l.length}}import{readFileSync as $s,existsSync as Ms,statSync as js,writeFileSync as Vs}from"node:fs";import{join as Ve}from"node:path";import{execFile as Ws,spawn as Fs}from"node:child_process";import{promisify as Ls}from"node:util";var Ds=Ls(Ws),Hs=500;function Js(e,t,n=Hs){let r=[];for(let o=0;o<e.length;o+=n)r.push({sessions:e.slice(o,o+n),attribution:[]});for(let o=0;o<t.length;o+=n)r.push({sessions:[],attribution:t.slice(o,o+n)});return r}function Ks(e){return Ve(e,".venos","usage-sync.last")}function We(e,t,n){try{return n-js(e).mtimeMs>=t}catch{return!0}}function Mn(e,t=60,n=Fs){let r=e??process.env.HOME??process.env.USERPROFILE??"",o=Ks(r);if(!We(o,t*6e4,Date.now()))return{ran:!1,reason:"throttled"};try{Vs(o,new Date().toISOString())}catch{return{ran:!1,reason:"stamp-write-failed"}}let s=process.argv[1]??"";return n(process.execPath,[s,"usage-sync"],{detached:!0,stdio:"ignore"}).unref(),{ran:!0,reason:"spawned"}}async function jn(e={},t){let n=t??process.env.HOME??process.env.USERPROFILE??"",r=Ve(n,".venos","config.json");if(!Ms(r))throw new Error(`venos config not found at ${r} \u2014 run "venos init" first`);let o=JSON.parse($s(r,"utf8")),s=e.orgId??o.orgId,i=e.orchestratorUrl??o.orchestratorUrl,a=e.apiKey??o.apiKey,l=Un(),c=Ve(n,".claude"),{stdout:u}=await Ds(process.execPath,[l,c],{maxBuffer:64*1024*1024}),d=JSON.parse(u),f=Array.isArray(d.sessions)?d.sessions:[],S=Array.isArray(d.attribution)?d.attribution:[];if(f.length===0)return{sessionsScanned:d.sessionsScanned??0,sessionsStored:0};let T=`${i.replace(/\/$/,"")}/api/finops/claude-usage?orgId=${encodeURIComponent(s)}`,P={"Content-Type":"application/json","X-Venos-Org":s};a&&(P.Authorization=`Bearer ${a}`);let O=0;for(let V of Js(f,S)){let fe=await E(T,{method:"POST",headers:P,body:JSON.stringify(V)},{timeoutMs:1e4});if(!fe.ok)throw new Error(`venos usage-sync: orchestrator returned ${fe.status}`);let sr=await fe.json();O+=sr.sessionsStored??V.sessions.length}return{sessionsScanned:d.sessionsScanned??0,sessionsStored:O}}import{existsSync as Xn,readFileSync as Zn,writeFileSync as qn}from"node:fs";import{join as Ke}from"node:path";import{spawn as Hi}from"node:child_process";import{execFileSync as le}from"node:child_process";import{existsSync as Bs,readdirSync as Gs,readFileSync as Vn,realpathSync as Ys}from"node:fs";import{homedir as zs,hostname as Xs,release as G}from"node:os";import{basename as Zs,dirname as qs,join as Qs}from"node:path";var ei=[{key:"claude-code",displayName:"Claude Code",isCli:!0,detect:{darwin:["~/.local/bin/claude","~/.claude/local/claude","/opt/homebrew/bin/claude","/usr/local/bin/claude"],linux:["~/.local/bin/claude","~/.npm-global/bin/claude","/usr/local/bin/claude"],win32:["%APPDATA%\\npm\\claude.cmd","%USERPROFILE%\\.local\\bin\\claude.exe"]},version:{darwin:{strategy:"symlink-version"},linux:{strategy:"symlink-version"},win32:{strategy:"none"}}},{key:"claude-desktop",displayName:"Claude Desktop",isCli:!1,detect:{darwin:["/Applications/Claude.app/Contents/Info.plist","~/Applications/Claude.app/Contents/Info.plist"],win32:["%LOCALAPPDATA%\\AnthropicClaude\\claude.exe"]},version:{darwin:{strategy:"plist"},win32:{strategy:"none"}}},{key:"chatgpt-desktop",displayName:"ChatGPT Desktop",isCli:!1,detect:{darwin:["/Applications/ChatGPT.app/Contents/Info.plist","~/Applications/ChatGPT.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"cursor",displayName:"Cursor",isCli:!1,detect:{darwin:["/Applications/Cursor.app/Contents/Info.plist"],win32:["%LOCALAPPDATA%\\Programs\\cursor\\Cursor.exe"],linux:["/usr/share/cursor/resources/app/package.json","/opt/cursor/resources/app/package.json"]},version:{darwin:{strategy:"plist"},linux:{strategy:"pkgjson"},win32:{strategy:"none"}}},{key:"windsurf",displayName:"Windsurf",isCli:!1,detect:{darwin:["/Applications/Windsurf.app/Contents/Info.plist"],win32:["%LOCALAPPDATA%\\Programs\\Windsurf\\Windsurf.exe"],linux:["/usr/share/windsurf/resources/app/package.json","/opt/windsurf/resources/app/package.json"]},version:{darwin:{strategy:"plist"},linux:{strategy:"pkgjson"},win32:{strategy:"none"}}},{key:"ollama",displayName:"Ollama",isCli:!0,detect:{darwin:["/opt/homebrew/bin/ollama","/usr/local/bin/ollama","/Applications/Ollama.app/Contents/Info.plist"],win32:["%LOCALAPPDATA%\\Programs\\Ollama\\ollama.exe"],linux:["/usr/local/bin/ollama","/usr/bin/ollama"]},version:{darwin:{strategy:"exec-version"},linux:{strategy:"exec-version"},win32:{strategy:"none"}}},{key:"openai-codex",displayName:"OpenAI Codex",isCli:!0,detect:{darwin:["/Applications/Codex.app/Contents/Info.plist","~/.npm-global/bin/codex"]},version:{darwin:{strategy:"plist"}}},{key:"perplexity-desktop",displayName:"Perplexity Desktop",isCli:!1,detect:{darwin:["/Applications/Perplexity.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"google-antigravity",displayName:"Google Antigravity",isCli:!1,detect:{darwin:["/Applications/Antigravity.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"warp",displayName:"Warp",isCli:!1,detect:{darwin:["/Applications/Warp.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"wispr-flow",displayName:"Wispr Flow",isCli:!1,detect:{darwin:["/Applications/Wispr Flow.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"conductor",displayName:"Conductor",isCli:!1,detect:{darwin:["/Applications/Conductor.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"lm-studio",displayName:"LM Studio",isCli:!1,detect:{darwin:["/Applications/LM Studio.app/Contents/Info.plist"],win32:["%LOCALAPPDATA%\\Programs\\lm-studio\\LM Studio.exe"]},version:{darwin:{strategy:"plist"},win32:{strategy:"none"}}}],ti=/\d+(?:\.\d+){1,4}/;function ni(e,t){let n=e;return n.startsWith("~")&&(n=t+n.slice(1)),n=n.replace(/%([^%]+)%/g,(r,o)=>process.env[o]??""),n}function ri(e){if(!e.includes("*"))return Bs(e)?e:null;let t=qs(e),n=Zs(e),r=n.indexOf("*"),o=n.slice(0,r),s=n.slice(r+1),i;try{i=Gs(t)}catch{return null}for(let a of i)if(a.startsWith(o)&&a.endsWith(s)&&a.length>=o.length+s.length)return Qs(t,a);return null}function oi(e){let t=e.replace(/\.plist$/,"");try{return le("defaults",["read",t,"CFBundleShortVersionString"],{encoding:"utf8",timeout:4e3,stdio:["ignore","pipe","ignore"]}).trim()}catch{return""}}function si(e){try{let t=JSON.parse(Vn(e,"utf8"));return typeof t.version=="string"?t.version.trim():""}catch{return""}}function ii(e){try{let t=Ys(e);for(let n of t.split(/[/\\]/)){let r=n.match(/^\d+(?:\.\d+){1,4}$/);if(r)return r[0]}}catch{}return""}function ai(e){try{let n=le(e,["--version"],{encoding:"utf8",timeout:4e3,stdio:["ignore","pipe","ignore"]}).match(ti);return n?n[0]:""}catch{return""}}function ci(e,t){switch(e){case"plist":return oi(t);case"pkgjson":return si(t);case"symlink-version":return ii(t);case"exec-version":return ai(t);case"none":return""}}function li(e,t){let n=[];for(let r of ei){let o=r.detect[e];if(!o)continue;let s="";for(let l of o){let c=ri(ni(l,t));if(c){s=c;break}}if(s==="")continue;let i=r.version[e],a=i?ci(i.strategy,s):"";n.push({key:r.key,name:r.displayName,version:a,sourcePath:s})}return n.sort((r,o)=>r.name.localeCompare(o.name)),n}function ui(){try{let e=le("sw_vers",["-productName"],{encoding:"utf8",timeout:4e3}).trim(),t=le("sw_vers",["-productVersion"],{encoding:"utf8",timeout:4e3}).trim(),n=t.split(".")[0]??"";return{platform:n?`${e} ${n}`:e,version:t}}catch{return{platform:"macOS",version:G()}}}function di(){try{let t=Vn("/etc/os-release","utf8").match(/^PRETTY_NAME="?([^"\n]+)"?/m);if(t&&t[1])return{platform:t[1],version:G()}}catch{}return{platform:"Linux",version:G()}}function pi(){let e=G();return{platform:Number(e.split(".")[2]??"0")>=22e3?"Windows 11":"Windows 10",version:e}}function Fe(e){let t;return e==="darwin"?t=ui():e==="linux"?t=di():e==="win32"?t=pi():t={platform:e,version:G()},{osPlatform:t.platform,osVersion:t.version}}function fi(e){let t=Fe(e),n={platform:t.osPlatform,version:t.osVersion},r="";return e==="win32"&&(r=(process.env.USERDNSDOMAIN??process.env.USERDOMAIN??"").trim()),{hostname:v()||Xs(),osPlatform:n.platform,osVersion:n.version,deviceType:"Workstation",accountName:je(),accountDomain:r}}async function Y(e={}){let t=e.home??process.env.HOME??process.env.USERPROFILE??zs(),n=process.platform,r=li(n,t),o=fi(n);if(e.dryRun)return{agents:r.length,detected:r,host:o,uploaded:!1};let s=k(t),i=s.orchestratorUrl.replace(/\/$/,""),a=h(t),l=await fetch(`${i}/v1/inventory/agents`,{method:"POST",headers:b(s.orgId,s.apiKey),body:JSON.stringify({orgId:s.orgId,machineId:a,hostname:o.hostname,osPlatform:o.osPlatform,osVersion:o.osVersion,deviceType:o.deviceType,accountName:o.accountName,accountDomain:o.accountDomain,agents:r.map(c=>({key:c.key,name:c.name,version:c.version,sourcePath:c.sourcePath}))})});if(!l.ok){let c=await l.text();throw new Error(`scan-agents upload failed: ${l.status} ${c}`)}return{agents:r.length,detected:r,host:o,uploaded:!0}}import{readFileSync as mi}from"node:fs";import{join as ue}from"node:path";function gi(e,t){let n;try{n=JSON.parse(mi(e,"utf8"))}catch{return[]}let r=n.mcpServers;if(!r||typeof r!="object")return[];let o=[];for(let[s,i]of Object.entries(r)){if(!s||!i||typeof i!="object")continue;let a=i.url??i.serverUrl??"",l=(i.type??i.transport??"").toLowerCase(),c=a?l==="sse"?"sse":"streamable-http":"stdio";o.push({name:s,client:t,transport:c,command:i.command??"",args:Array.isArray(i.args)?i.args.map(String):[],url:a,sourcePath:e})}return o}function hi(e){let t=[{path:ue(e,".claude.json"),client:"Claude Code"},{path:ue(e,".cursor","mcp.json"),client:"Cursor"},{path:ue(e,".codeium","windsurf","mcp_config.json"),client:"Windsurf"},{path:ue(e,"Library","Application Support","Claude","claude_desktop_config.json"),client:"Claude Desktop"}],n=[];for(let r of t)n.push(...gi(r.path,r.client));return n.sort((r,o)=>r.name.localeCompare(o.name)||r.client.localeCompare(o.client)),n}function yi(e,t){let n=[],r={mode:"replace",servers:[]},o=JSON.stringify({servers:[]}).length;for(let s of e){let i=JSON.stringify(s).length+1;o+i>t&&r.servers.length>0&&(n.push(r),r={mode:"append",servers:[]},o=JSON.stringify({servers:[]}).length),r.servers.push(s),o+=i}return n.push(r),n}var vi=6e3;async function de(e){let t=e??process.env.HOME??process.env.USERPROFILE??"",n=k(t),r=hi(t),o=yi(r,vi),s=n.orchestratorUrl.replace(/\/$/,""),i=h(t),a=v();for(let l of o){let c=await fetch(`${s}/v1/inventory/mcp`,{method:"POST",headers:b(n.orgId,n.apiKey),body:JSON.stringify({orgId:n.orgId,machineId:i,hostname:a,mode:l.mode,servers:l.servers})});if(!c.ok){let u=await c.text();throw new Error(`scan-mcp upload failed: ${c.status} ${u}`)}}return{servers:r.length,chunks:o.length}}import{readdirSync as Fn,readFileSync as Ln}from"node:fs";import{join as C}from"node:path";function Le(e){try{return Fn(e,{withFileTypes:!0}).filter(t=>t.isDirectory()).map(t=>t.name)}catch{return[]}}function Si(e,t){let n;try{n=Ln(C(e,"SKILL.md"),"utf8")}catch{return null}let r=n.match(/^---\s*\n([\s\S]*?)\n---/);if(!r)return{name:t,description:""};let o=r[1]??"",s=o.match(/^name:\s*(.+)$/m)?.[1]?.trim()??t,a=o.match(/^description:\s*(.+?)(?=\n\w+:|$)/ms)?.[1]?.trim().replace(/\s+/g," ")??"";return{name:s,description:a}}function Wn(e,t,n){let r=[];for(let o of Le(e)){let s=C(e,o),i=Si(s,o);i&&r.push({name:i.name,description:i.description,source:t,pluginName:n,path:s})}return r}function Dn(e){let t=[...Wn(C(e,"skills"),"user","")],n=[],r=C(e,"plugins","marketplaces");for(let o of Le(r)){let s=C(r,o,"plugins");for(let i of Le(s)){let a=C(s,i),l="",c=o;try{let f=JSON.parse(Ln(C(a,".claude-plugin","plugin.json"),"utf8"));l=f.description??"",c=f.author?.name??o}catch{}let u=Wn(C(a,"skills"),"plugin",i);t.push(...u);let d=0;try{d=Fn(C(a,"commands"),{withFileTypes:!0}).filter(f=>f.name.endsWith(".md")).length}catch{}n.push({name:i,description:l,author:c,source:"marketplace",skillCount:u.length,commandCount:d})}}return t.sort((o,s)=>o.name.localeCompare(s.name)||o.pluginName.localeCompare(s.pluginName)),n.sort((o,s)=>o.name.localeCompare(s.name)),{skills:t,plugins:n}}function wi(e,t){let n=[],r={mode:"replace",skills:[],plugins:[]},o=JSON.stringify({skills:[],plugins:[]}).length,s=(i,a)=>{let l=JSON.stringify(i).length+1;o+l>t&&(r.skills.length>0||r.plugins.length>0)&&(n.push(r),r={mode:"append",skills:[],plugins:[]},o=JSON.stringify({skills:[],plugins:[]}).length),a==="skill"?r.skills.push(i):r.plugins.push(i),o+=l};for(let i of e.skills)s(i,"skill");for(let i of e.plugins)s(i,"plugin");return n.push(r),n}var Hn=6e3;async function pe(e){let t=e??process.env.HOME??process.env.USERPROFILE??"",n=k(t),r=Dn(C(t,".claude")),o=wi(r,Hn),s=n.orchestratorUrl.replace(/\/$/,""),i=h(t),a=v();for(let l of o){let c=await fetch(`${s}/v1/inventory/skills`,{method:"POST",headers:b(n.orgId,n.apiKey),body:JSON.stringify({orgId:n.orgId,machineId:i,hostname:a,mode:l.mode,skills:l.skills,plugins:l.plugins})});if(!c.ok){let u=await c.text();throw new Error(`scan-skills upload failed: ${c.status} ${u}`)}}return{uploaded:r.skills.length+r.plugins.length,skills:r.skills.length,plugins:r.plugins.length,chunks:o.length}}function ki(e,t,n){let r=n.risk_assessment?.recommendation??"",o=n.risk_assessment?.score??0;return(n.issues??[]).map(s=>({category:s.category??"uncategorized",severity:(s.severity??"low").toLowerCase(),title:s.finding??s.id??"finding",owaspMcp:"",skillName:e.name,recommendation:r,metadata:{rule_id:s.id??"",skill_name:e.name,plugin_name:e.pluginName,source_path:e.path,file:s.location?.file??"",start_line:s.location?.start_line??null,explanation:s.explanation??"",remediation:s.remediation??"",recommendation:r,risk_score:o,machine_id:t}}))}function Ci(e,t){let n=[],r=[],o=0;for(let s of e){let i=JSON.stringify(s).length+1;o+i>t&&r.length>0&&(n.push(r),r=[],o=0),r.push(s),o+=i}return r.length>0&&n.push(r),n}async function xi(e){let{execFile:t}=await import("node:child_process"),{promisify:n}=await import("node:util"),r=n(t),o;try{({stdout:o}=await r("skillspector",["scan",e,"--format","json","--no-llm"],{timeout:18e4,maxBuffer:50*1024*1024}))}catch(s){if(o=s.stdout??"",!o)return null}try{return JSON.parse(o)}catch{return null}}async function Jn(e,t=xi){let n=e??process.env.HOME??process.env.USERPROFILE??"",r=k(n),o=Dn(C(n,".claude")),s=h(n),i=v(),a=[],l=0;for(let d of o.skills){if(!d.path)continue;let f=await t(d.path);f&&(l++,a.push(...ki(d,s,f)))}let c=r.orchestratorUrl.replace(/\/$/,""),u=Ci(a,Hn);for(let d of u){let f=await fetch(`${c}/v1/inventory/skill-findings`,{method:"POST",headers:b(r.orgId,r.apiKey),body:JSON.stringify({orgId:r.orgId,machineId:s,hostname:i,findings:d})});if(!f.ok){let S=await f.text();throw new Error(`scan-skills findings upload failed: ${f.status} ${S}`)}}return{skillsScanned:l,findings:a.length,chunks:u.length}}import{execFile as bi,spawn as Pi}from"node:child_process";import{existsSync as Oi,readFileSync as Ii,writeFileSync as Ei}from"node:fs";import{delimiter as Kn,dirname as Gn,join as De}from"node:path";var Ri=1440*60*1e3,Ti=2e3,Ai=6e4,_i=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;function Yn(e){return De(e,".venos","update-check.json")}function Ui(e){try{let t=JSON.parse(Ii(Yn(e),"utf8"));if(typeof t.checkedAt=="number"&&t.policy&&typeof t.policy.mode=="string")return t}catch{}return null}function Ni(e,t){try{Ei(Yn(e),JSON.stringify(t))}catch{}}function Bn(e){let t=/^(\d+)\.(\d+)\.(\d+)/.exec(e.trim());return t?[Number(t[1]),Number(t[2]),Number(t[3])]:null}function $i(e,t){let n=Bn(e),r=Bn(t);if(!n||!r)return!1;for(let o=0;o<3;o++){if(n[o]>r[o])return!0;if(n[o]<r[o])return!1}return!1}async function Mi(e,t,n,r){let s=`${e.replace(/\/$/,"")}/api/cli/policy?orgId=${encodeURIComponent(t)}`;r&&r.trim()!==""&&(s+=`&machineId=${encodeURIComponent(r)}`);try{let i=await n(s,{signal:AbortSignal.timeout(Ti)});if(!i.ok)return null;let a=await i.json();return{mode:typeof a.mode=="string"&&a.mode!==""?a.mode:"notify",latest:typeof a.latest=="string"?a.latest.trim():"",pinnedVersion:typeof a.pinnedVersion=="string"?a.pinnedVersion.trim():""}}catch{return null}}function ji(e,t){if(e.mode==="off")return null;if(e.mode==="pinned"){let n=e.pinnedVersion;return n===""||n===t?null:{kind:"notify",targetVersion:n,message:`venos: your organization pins venos to ${n} (you have ${t}).
110
- Install it with: npm i -g @venos-inc/venos@${n}`}}return $i(e.latest,t)?e.mode==="auto"?{kind:"auto",targetVersion:e.latest,message:`venos: auto-updating ${t} -> ${e.latest} per your organization's policy...`}:{kind:"notify",targetVersion:e.latest,message:`venos: a newer version is available (${t} -> ${e.latest}).
111
- Update with: npm i -g @venos-inc/venos@latest`}:null}async function He(e){let t=e.now??Date.now(),n=e.fetchImpl??fetch,r,o=e.bypassCache?null:Ui(e.home);if(o&&t-o.checkedAt<Ri)r=o.policy;else{if(r=await Mi(e.orchestratorUrl,e.orgId,n,e.machineId),r===null)return null;Ni(e.home,{checkedAt:t,policy:r})}return ji(r,e.currentVersion)}function Vi(e=process.env,t=process.execPath){let n=Gn(t),r=e.PATH??"";return r===""?{...e,PATH:n}:r.split(Kn).includes(n)?{...e,PATH:r}:{...e,PATH:`${n}${Kn}${r}`}}var Wi=(e,t)=>new Promise((n,r)=>{bi(e,t,{timeout:Ai,env:Vi()},o=>{o?r(o):n()})});function Fi(e=process.execPath,t=Oi){let n=Gn(e),r=[De(n,"node_modules","npm","bin","npm-cli.js"),De(n,"..","lib","node_modules","npm","bin","npm-cli.js")];for(let o of r)if(t(o))return o;return null}function Li(e,t,n=process.execPath){if(!_i.test(e))return null;let r=`@venos-inc/venos@${e}`;return t!==null?{cmd:n,args:[t,"install","-g",r]}:{cmd:"npm",args:["install","-g",r]}}async function Je(e,t=Wi){let n=Li(e,Fi());if(n===null)return!1;try{return await t(n.cmd,n.args),!0}catch{return!1}}function Di(){let e=process.argv[1]??"";if(e!=="")try{Pi(process.execPath,[e,"heartbeat"],{detached:!0,stdio:"ignore",env:{...process.env,VENOS_SKIP_AUTOUPDATE:"1"}}).unref()}catch{}}async function zn(e,t=Je,n=Di){try{let r=await He({...e,bypassCache:!0});return!r||r.kind!=="auto"||!await t(r.targetVersion)?null:(n(),r.targetVersion)}catch{return null}}function Ji(e,t){let n=typeof t.orgId=="string"&&t.orgId.trim()!==""&&typeof t.orchestratorUrl=="string"&&t.orchestratorUrl.trim()!=="",r="";try{r=te()}catch{}let o={orgId:t.orgId,orchestratorUrl:t.orchestratorUrl,mcpServerPath:r,hookCommand:"venos hook",usageSyncCommand:"venos usage-sync --throttle",...t.apiKey?{apiKey:t.apiKey}:{}},s=!1,i=!1;for(let c of J)if(c.isInstalled(e)){s=!0;try{c.isWired(c.load(c.configPath(e)),o)&&(i=!0)}catch{}}let a=!s||i,l=rn(e);return{config_valid:n,hooks_wired:a,service_installed:l}}async function Qn(e={},t){let n=t??process.env.HOME??process.env.USERPROFILE??"",r=Ke(n,".venos","config.json");if(!Xn(r))return{machineId:"",status:"skipped-no-config",checks:{}};let o=JSON.parse(Zn(r,"utf8")),s=e.orgId??o.orgId,i=e.orchestratorUrl??o.orchestratorUrl,a=e.apiKey??o.apiKey,l=h(n),c=v(),u=Ji(n,o),{osPlatform:d,osVersion:f}=Fe(process.platform),S={orgId:s,machineId:l,hostname:c,cliVersion:e.cliVersion??"",osPlatform:d,osVersion:f,checks:u},T=`${i.replace(/\/$/,"")}/v1/inventory/heartbeat?orgId=${encodeURIComponent(s)}`,P={"Content-Type":"application/json","X-Venos-Org":s};a&&(P.Authorization=`Bearer ${a}`);let O=await E(T,{method:"POST",headers:P,body:JSON.stringify(S)},{timeoutMs:5e3});if(!O.ok)throw new Error(`venos heartbeat: orchestrator returned ${O.status}`);try{qn(er(n),new Date().toISOString())}catch{}let V=e.cliVersion??"";return V!==""&&process.env.VENOS_SKIP_AUTOUPDATE!=="1"&&await zn({currentVersion:V,orchestratorUrl:i,orgId:s,home:n,machineId:l}),{machineId:l,status:"sent",checks:u}}function er(e){return Ke(e,".venos","heartbeat.last")}async function tr(e){let t=e??process.env.HOME??process.env.USERPROFILE??"",n=Ke(t,".venos","config.json");if(!Xn(n))return{status:"skipped-no-config"};try{let r=JSON.parse(Zn(n,"utf8")),o=r.orgId,s=r.orchestratorUrl;if(!o||!s)return{status:"skipped-no-config"};let i={orgId:o,machineId:h(t),hostname:v()},l=`${s.replace(/\/$/,"")}/v1/inventory/uninstall?orgId=${encodeURIComponent(o)}`,c={"Content-Type":"application/json","X-Venos-Org":o};return r.apiKey&&(c.Authorization=`Bearer ${r.apiKey}`),{status:(await E(l,{method:"POST",headers:c,body:JSON.stringify(i)},{timeoutMs:5e3})).ok?"sent":"error"}}catch{return{status:"error"}}}async function nr(e){let t=[["scan-mcp",()=>de(e)],["scan-skills",()=>pe(e)],["scan-agents",()=>Y({home:e})],["scan-documents",()=>se({home:e})]];for(let[n,r]of t)try{await r()}catch(o){let s=o instanceof Error?o.message:String(o);process.stderr.write(`venos heartbeat: ${n} inventory refresh skipped (${s})
112
- `)}}function Be(e,t=60,n=Hi){let r=e??process.env.HOME??process.env.USERPROFILE??"",o=er(r);if(!We(o,t*6e4,Date.now()))return{ran:!1,reason:"throttled"};try{qn(o,new Date().toISOString())}catch{}let s=process.argv[1]??"";return n(process.execPath,[s,"heartbeat"],{detached:!0,stdio:"ignore"}).unref(),{ran:!0,reason:"spawned"}}var Ge="0.1.13";async function rr(){try{let e=JSON.parse(Ki(B(R()),"utf8"));if(!e.orchestratorUrl||!e.orgId)return;let t=await He({currentVersion:Ge,orchestratorUrl:e.orchestratorUrl,orgId:e.orgId,home:R(),machineId:h(R())});if(!t)return;if(t.kind==="auto"){process.stderr.write(`
114
+ If you are developing locally, run: pnpm --filter @venos/session-waste build`)}var Di=Li(Wi);async function Hi(e,t){try{let n=`${e}/api/finops/pricing?orgId=${encodeURIComponent(t)}`,r=await fetch(n,{headers:{"X-Venos-Org":t}});if(!r.ok)return;let o=await r.json(),s={};for(let i of o.items??[])s[i.model]={input:i.inputPer1k*1e3,output:i.outputPer1k*1e3,cacheCreate:i.cacheCreatePer1k*1e3,cacheRead:i.cacheReadPer1k*1e3};return Object.keys(s).length>0?JSON.stringify(s):void 0}catch{return}}async function fr(e){let t=e??process.env.HOME??process.env.USERPROFILE??"",n=pr(t,".venos","config.json");if(!Fi(n))throw new Error(`venos config not found at ${n} \u2014 run "venos init" first`);let r=JSON.parse(Vi(n,"utf8")),o=r.orchestratorUrl.replace(/\/$/,""),s=ur(),i=pr(t,".claude"),a=await Hi(o,r.orgId),{stdout:c}=await Di(process.execPath,[s,i],{maxBuffer:32*1024*1024,env:a?{...process.env,VENOS_SESSION_PRICING:a}:process.env}),l=JSON.parse(c),u=Array.isArray(l.findings)?l.findings:[];if(u.length===0)return{sessionsScanned:l.sessionsScanned??0,findingsStored:0};let d=`${o}/api/finops/session-waste?orgId=${encodeURIComponent(r.orgId)}`,p=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json","X-Venos-Org":r.orgId},body:JSON.stringify({findings:u})});if(!p.ok)throw new Error(`venos waste-scan: orchestrator returned ${p.status}`);let y=await p.json();return{sessionsScanned:l.sessionsScanned??0,findingsStored:y.stored??u.length}}import{readFileSync as Ji,existsSync as Ki,statSync as Bi,writeFileSync as Gi}from"node:fs";import{join as Xe}from"node:path";import{execFile as Yi,spawn as zi}from"node:child_process";import{promisify as Xi}from"node:util";var Zi=Xi(Yi),qi=500;function Qi(e,t,n=qi){let r=[];for(let o=0;o<e.length;o+=n)r.push({sessions:e.slice(o,o+n),attribution:[]});for(let o=0;o<t.length;o+=n)r.push({sessions:[],attribution:t.slice(o,o+n)});return r}function ea(e){return Xe(e,".venos","usage-sync.last")}function Ze(e,t,n){try{return n-Bi(e).mtimeMs>=t}catch{return!0}}function mr(e,t=60,n=zi){let r=e??process.env.HOME??process.env.USERPROFILE??"",o=ea(r);if(!Ze(o,t*6e4,Date.now()))return{ran:!1,reason:"throttled"};try{Gi(o,new Date().toISOString())}catch{return{ran:!1,reason:"stamp-write-failed"}}let s=process.argv[1]??"";return n(process.execPath,[s,"usage-sync"],{detached:!0,stdio:"ignore"}).unref(),{ran:!0,reason:"spawned"}}async function ta(e,t,n,r=_){e.length===0||n.length===0||await Promise.allSettled(e.map(async o=>{let s=`${o.url}/api/finops/claude-usage?orgId=${encodeURIComponent(t)}`,i={"Content-Type":"application/json","X-Venos-Org":t};o.apiKey&&(i.Authorization=`Bearer ${o.apiKey}`);try{for(let a of n){let c=await r(s,{method:"POST",headers:i,body:JSON.stringify(a)},{timeoutMs:1e4});if(await c.text(),!c.ok)return}}catch{}}))}async function gr(e={},t){let n=t??process.env.HOME??process.env.USERPROFILE??"",r=Xe(n,".venos","config.json");if(!Ki(r))throw new Error(`venos config not found at ${r} \u2014 run "venos init" first`);let o=JSON.parse(Ji(r,"utf8")),s=e.orgId??o.orgId,i=e.orchestratorUrl??o.orchestratorUrl,a=e.apiKey??o.apiKey,c=dr(),l=Xe(n,".claude"),{stdout:u}=await Zi(process.execPath,[c,l],{maxBuffer:64*1024*1024}),d=JSON.parse(u),p=Array.isArray(d.sessions)?d.sessions:[],y=Array.isArray(d.attribution)?d.attribution:[];if(p.length===0)return{sessionsScanned:d.sessionsScanned??0,sessionsStored:0};let h=`${i.replace(/\/$/,"")}/api/finops/claude-usage?orgId=${encodeURIComponent(s)}`,k={"Content-Type":"application/json","X-Venos-Org":s};a&&(k.Authorization=`Bearer ${a}`);let C=Qi(p,y),b=ta(W(o),s,C),A=0;try{for(let te of C){let we=await _(h,{method:"POST",headers:k,body:JSON.stringify(te)},{timeoutMs:1e4});if(!we.ok)throw new Error(`venos usage-sync: orchestrator returned ${we.status}`);let Vr=await we.json();A+=Vr.sessionsStored??te.sessions.length}}finally{await b}return{sessionsScanned:d.sessionsScanned??0,sessionsStored:A}}import{existsSync as Rr,readFileSync as _r,writeFileSync as Ir}from"node:fs";import{join as rt}from"node:path";import{spawn as Qa}from"node:child_process";import{execFileSync as ye}from"node:child_process";import{existsSync as na,readdirSync as ra,readFileSync as hr,realpathSync as oa}from"node:fs";import{homedir as sa,hostname as ia,release as Q}from"node:os";import{basename as aa,dirname as ca,join as la}from"node:path";var ua=[{key:"claude-code",displayName:"Claude Code",isCli:!0,detect:{darwin:["~/.local/bin/claude","~/.claude/local/claude","/opt/homebrew/bin/claude","/usr/local/bin/claude"],linux:["~/.local/bin/claude","~/.npm-global/bin/claude","/usr/local/bin/claude"],win32:["%APPDATA%\\npm\\claude.cmd","%USERPROFILE%\\.local\\bin\\claude.exe"]},version:{darwin:{strategy:"symlink-version"},linux:{strategy:"symlink-version"},win32:{strategy:"none"}}},{key:"claude-desktop",displayName:"Claude Desktop",isCli:!1,detect:{darwin:["/Applications/Claude.app/Contents/Info.plist","~/Applications/Claude.app/Contents/Info.plist"],win32:["%LOCALAPPDATA%\\AnthropicClaude\\claude.exe"]},version:{darwin:{strategy:"plist"},win32:{strategy:"none"}}},{key:"chatgpt-desktop",displayName:"ChatGPT Desktop",isCli:!1,detect:{darwin:["/Applications/ChatGPT.app/Contents/Info.plist","~/Applications/ChatGPT.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"cursor",displayName:"Cursor",isCli:!1,detect:{darwin:["/Applications/Cursor.app/Contents/Info.plist"],win32:["%LOCALAPPDATA%\\Programs\\cursor\\Cursor.exe"],linux:["/usr/share/cursor/resources/app/package.json","/opt/cursor/resources/app/package.json"]},version:{darwin:{strategy:"plist"},linux:{strategy:"pkgjson"},win32:{strategy:"none"}}},{key:"windsurf",displayName:"Windsurf",isCli:!1,detect:{darwin:["/Applications/Windsurf.app/Contents/Info.plist"],win32:["%LOCALAPPDATA%\\Programs\\Windsurf\\Windsurf.exe"],linux:["/usr/share/windsurf/resources/app/package.json","/opt/windsurf/resources/app/package.json"]},version:{darwin:{strategy:"plist"},linux:{strategy:"pkgjson"},win32:{strategy:"none"}}},{key:"ollama",displayName:"Ollama",isCli:!0,detect:{darwin:["/opt/homebrew/bin/ollama","/usr/local/bin/ollama","/Applications/Ollama.app/Contents/Info.plist"],win32:["%LOCALAPPDATA%\\Programs\\Ollama\\ollama.exe"],linux:["/usr/local/bin/ollama","/usr/bin/ollama"]},version:{darwin:{strategy:"exec-version"},linux:{strategy:"exec-version"},win32:{strategy:"none"}}},{key:"openai-codex",displayName:"OpenAI Codex",isCli:!0,detect:{darwin:["/Applications/Codex.app/Contents/Info.plist","~/.npm-global/bin/codex"]},version:{darwin:{strategy:"plist"}}},{key:"perplexity-desktop",displayName:"Perplexity Desktop",isCli:!1,detect:{darwin:["/Applications/Perplexity.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"google-antigravity",displayName:"Google Antigravity",isCli:!1,detect:{darwin:["/Applications/Antigravity.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"warp",displayName:"Warp",isCli:!1,detect:{darwin:["/Applications/Warp.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"wispr-flow",displayName:"Wispr Flow",isCli:!1,detect:{darwin:["/Applications/Wispr Flow.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"conductor",displayName:"Conductor",isCli:!1,detect:{darwin:["/Applications/Conductor.app/Contents/Info.plist"]},version:{darwin:{strategy:"plist"}}},{key:"lm-studio",displayName:"LM Studio",isCli:!1,detect:{darwin:["/Applications/LM Studio.app/Contents/Info.plist"],win32:["%LOCALAPPDATA%\\Programs\\lm-studio\\LM Studio.exe"]},version:{darwin:{strategy:"plist"},win32:{strategy:"none"}}}],da=/\d+(?:\.\d+){1,4}/;function pa(e,t){let n=e;return n.startsWith("~")&&(n=t+n.slice(1)),n=n.replace(/%([^%]+)%/g,(r,o)=>process.env[o]??""),n}function fa(e){if(!e.includes("*"))return na(e)?e:null;let t=ca(e),n=aa(e),r=n.indexOf("*"),o=n.slice(0,r),s=n.slice(r+1),i;try{i=ra(t)}catch{return null}for(let a of i)if(a.startsWith(o)&&a.endsWith(s)&&a.length>=o.length+s.length)return la(t,a);return null}function ma(e){let t=e.replace(/\.plist$/,"");try{return ye("defaults",["read",t,"CFBundleShortVersionString"],{encoding:"utf8",timeout:4e3,stdio:["ignore","pipe","ignore"]}).trim()}catch{return""}}function ga(e){try{let t=JSON.parse(hr(e,"utf8"));return typeof t.version=="string"?t.version.trim():""}catch{return""}}function ha(e){try{let t=oa(e);for(let n of t.split(/[/\\]/)){let r=n.match(/^\d+(?:\.\d+){1,4}$/);if(r)return r[0]}}catch{}return""}function ya(e){try{let n=ye(e,["--version"],{encoding:"utf8",timeout:4e3,stdio:["ignore","pipe","ignore"]}).match(da);return n?n[0]:""}catch{return""}}function va(e,t){switch(e){case"plist":return ma(t);case"pkgjson":return ga(t);case"symlink-version":return ha(t);case"exec-version":return ya(t);case"none":return""}}function Sa(e,t){let n=[];for(let r of ua){let o=r.detect[e];if(!o)continue;let s="";for(let c of o){let l=fa(pa(c,t));if(l){s=l;break}}if(s==="")continue;let i=r.version[e],a=i?va(i.strategy,s):"";n.push({key:r.key,name:r.displayName,version:a,sourcePath:s})}return n.sort((r,o)=>r.name.localeCompare(o.name)),n}function ka(){try{let e=ye("sw_vers",["-productName"],{encoding:"utf8",timeout:4e3}).trim(),t=ye("sw_vers",["-productVersion"],{encoding:"utf8",timeout:4e3}).trim(),n=t.split(".")[0]??"";return{platform:n?`${e} ${n}`:e,version:t}}catch{return{platform:"macOS",version:Q()}}}function wa(){try{let t=hr("/etc/os-release","utf8").match(/^PRETTY_NAME="?([^"\n]+)"?/m);if(t&&t[1])return{platform:t[1],version:Q()}}catch{}return{platform:"Linux",version:Q()}}function Ca(){let e=Q();return{platform:Number(e.split(".")[2]??"0")>=22e3?"Windows 11":"Windows 10",version:e}}function qe(e){let t;return e==="darwin"?t=ka():e==="linux"?t=wa():e==="win32"?t=Ca():t={platform:e,version:Q()},{osPlatform:t.platform,osVersion:t.version}}function Oa(e){let t=qe(e),n={platform:t.osPlatform,version:t.osVersion},r="";return e==="win32"&&(r=(process.env.USERDNSDOMAIN??process.env.USERDOMAIN??"").trim()),{hostname:w()||ia(),osPlatform:n.platform,osVersion:n.version,deviceType:"Workstation",accountName:Ye(),accountDomain:r}}async function ee(e={}){let t=e.home??process.env.HOME??process.env.USERPROFILE??sa(),n=process.platform,r=Sa(n,t),o=Oa(n);if(e.dryRun)return{agents:r.length,detected:r,host:o,uploaded:!1};let s=x(t),i=s.orchestratorUrl.replace(/\/$/,""),a=S(t),c=await fetch(`${i}/v1/inventory/agents`,{method:"POST",headers:R(s.orgId,s.apiKey),body:JSON.stringify({orgId:s.orgId,machineId:a,hostname:o.hostname,osPlatform:o.osPlatform,osVersion:o.osVersion,deviceType:o.deviceType,accountName:o.accountName,accountDomain:o.accountDomain,agents:r.map(l=>({key:l.key,name:l.name,version:l.version,sourcePath:l.sourcePath}))})});if(!c.ok){let l=await c.text();throw new Error(`scan-agents upload failed: ${c.status} ${l}`)}return{agents:r.length,detected:r,host:o,uploaded:!0}}import{readFileSync as xa}from"node:fs";import{join as ve}from"node:path";function ba(e,t){let n;try{n=JSON.parse(xa(e,"utf8"))}catch{return[]}let r=n.mcpServers;if(!r||typeof r!="object")return[];let o=[];for(let[s,i]of Object.entries(r)){if(!s||!i||typeof i!="object")continue;let a=i.url??i.serverUrl??"",c=(i.type??i.transport??"").toLowerCase(),l=a?c==="sse"?"sse":"streamable-http":"stdio";o.push({name:s,client:t,transport:l,command:i.command??"",args:Array.isArray(i.args)?i.args.map(String):[],url:a,sourcePath:e})}return o}function Pa(e){let t=[{path:ve(e,".claude.json"),client:"Claude Code"},{path:ve(e,".cursor","mcp.json"),client:"Cursor"},{path:ve(e,".codeium","windsurf","mcp_config.json"),client:"Windsurf"},{path:ve(e,"Library","Application Support","Claude","claude_desktop_config.json"),client:"Claude Desktop"}],n=[];for(let r of t)n.push(...ba(r.path,r.client));return n.sort((r,o)=>r.name.localeCompare(o.name)||r.client.localeCompare(o.client)),n}function Ea(e,t){let n=[],r={mode:"replace",servers:[]},o=JSON.stringify({servers:[]}).length;for(let s of e){let i=JSON.stringify(s).length+1;o+i>t&&r.servers.length>0&&(n.push(r),r={mode:"append",servers:[]},o=JSON.stringify({servers:[]}).length),r.servers.push(s),o+=i}return n.push(r),n}var Ra=6e3;async function Se(e){let t=e??process.env.HOME??process.env.USERPROFILE??"",n=x(t),r=Pa(t),o=Ea(r,Ra),s=n.orchestratorUrl.replace(/\/$/,""),i=S(t),a=w();for(let c of o){let l=await fetch(`${s}/v1/inventory/mcp`,{method:"POST",headers:R(n.orgId,n.apiKey),body:JSON.stringify({orgId:n.orgId,machineId:i,hostname:a,mode:c.mode,servers:c.servers})});if(!l.ok){let u=await l.text();throw new Error(`scan-mcp upload failed: ${l.status} ${u}`)}}return{servers:r.length,chunks:o.length}}import{readdirSync as vr,readFileSync as Sr}from"node:fs";import{join as P}from"node:path";function Qe(e){try{return vr(e,{withFileTypes:!0}).filter(t=>t.isDirectory()).map(t=>t.name)}catch{return[]}}function _a(e,t){let n;try{n=Sr(P(e,"SKILL.md"),"utf8")}catch{return null}let r=n.match(/^---\s*\n([\s\S]*?)\n---/);if(!r)return{name:t,description:""};let o=r[1]??"",s=o.match(/^name:\s*(.+)$/m)?.[1]?.trim()??t,a=o.match(/^description:\s*(.+?)(?=\n\w+:|$)/ms)?.[1]?.trim().replace(/\s+/g," ")??"";return{name:s,description:a}}function yr(e,t,n){let r=[];for(let o of Qe(e)){let s=P(e,o),i=_a(s,o);i&&r.push({name:i.name,description:i.description,source:t,pluginName:n,path:s})}return r}function kr(e){let t=[...yr(P(e,"skills"),"user","")],n=[],r=P(e,"plugins","marketplaces");for(let o of Qe(r)){let s=P(r,o,"plugins");for(let i of Qe(s)){let a=P(s,i),c="",l=o;try{let p=JSON.parse(Sr(P(a,".claude-plugin","plugin.json"),"utf8"));c=p.description??"",l=p.author?.name??o}catch{}let u=yr(P(a,"skills"),"plugin",i);t.push(...u);let d=0;try{d=vr(P(a,"commands"),{withFileTypes:!0}).filter(p=>p.name.endsWith(".md")).length}catch{}n.push({name:i,description:c,author:l,source:"marketplace",skillCount:u.length,commandCount:d})}}return t.sort((o,s)=>o.name.localeCompare(s.name)||o.pluginName.localeCompare(s.pluginName)),n.sort((o,s)=>o.name.localeCompare(s.name)),{skills:t,plugins:n}}function Ia(e,t){let n=[],r={mode:"replace",skills:[],plugins:[]},o=JSON.stringify({skills:[],plugins:[]}).length,s=(i,a)=>{let c=JSON.stringify(i).length+1;o+c>t&&(r.skills.length>0||r.plugins.length>0)&&(n.push(r),r={mode:"append",skills:[],plugins:[]},o=JSON.stringify({skills:[],plugins:[]}).length),a==="skill"?r.skills.push(i):r.plugins.push(i),o+=c};for(let i of e.skills)s(i,"skill");for(let i of e.plugins)s(i,"plugin");return n.push(r),n}var wr=6e3;async function ke(e){let t=e??process.env.HOME??process.env.USERPROFILE??"",n=x(t),r=kr(P(t,".claude")),o=Ia(r,wr),s=n.orchestratorUrl.replace(/\/$/,""),i=S(t),a=w();for(let c of o){let l=await fetch(`${s}/v1/inventory/skills`,{method:"POST",headers:R(n.orgId,n.apiKey),body:JSON.stringify({orgId:n.orgId,machineId:i,hostname:a,mode:c.mode,skills:c.skills,plugins:c.plugins})});if(!l.ok){let u=await l.text();throw new Error(`scan-skills upload failed: ${l.status} ${u}`)}}return{uploaded:r.skills.length+r.plugins.length,skills:r.skills.length,plugins:r.plugins.length,chunks:o.length}}function Ta(e,t,n){let r=n.risk_assessment?.recommendation??"",o=n.risk_assessment?.score??0;return(n.issues??[]).map(s=>({category:s.category??"uncategorized",severity:(s.severity??"low").toLowerCase(),title:s.finding??s.id??"finding",owaspMcp:"",skillName:e.name,recommendation:r,metadata:{rule_id:s.id??"",skill_name:e.name,plugin_name:e.pluginName,source_path:e.path,file:s.location?.file??"",start_line:s.location?.start_line??null,explanation:s.explanation??"",remediation:s.remediation??"",recommendation:r,risk_score:o,machine_id:t}}))}function Aa(e,t){let n=[],r=[],o=0;for(let s of e){let i=JSON.stringify(s).length+1;o+i>t&&r.length>0&&(n.push(r),r=[],o=0),r.push(s),o+=i}return r.length>0&&n.push(r),n}async function Na(e){let{execFile:t}=await import("node:child_process"),{promisify:n}=await import("node:util"),r=n(t),o;try{({stdout:o}=await r("skillspector",["scan",e,"--format","json","--no-llm"],{timeout:18e4,maxBuffer:50*1024*1024}))}catch(s){if(o=s.stdout??"",!o)return null}try{return JSON.parse(o)}catch{return null}}async function Cr(e,t=Na){let n=e??process.env.HOME??process.env.USERPROFILE??"",r=x(n),o=kr(P(n,".claude")),s=S(n),i=w(),a=[],c=0;for(let d of o.skills){if(!d.path)continue;let p=await t(d.path);p&&(c++,a.push(...Ta(d,s,p)))}let l=r.orchestratorUrl.replace(/\/$/,""),u=Aa(a,wr);for(let d of u){let p=await fetch(`${l}/v1/inventory/skill-findings`,{method:"POST",headers:R(r.orgId,r.apiKey),body:JSON.stringify({orgId:r.orgId,machineId:s,hostname:i,findings:d})});if(!p.ok){let y=await p.text();throw new Error(`scan-skills findings upload failed: ${p.status} ${y}`)}}return{skillsScanned:c,findings:a.length,chunks:u.length}}import{execFile as Ua,spawn as $a}from"node:child_process";import{existsSync as Ma,readFileSync as ja,writeFileSync as Va}from"node:fs";import{delimiter as Or,dirname as br,join as et}from"node:path";var Fa=1440*60*1e3,Wa=2e3,La=6e4,Da=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;function Pr(e){return et(e,".venos","update-check.json")}function Ha(e){try{let t=JSON.parse(ja(Pr(e),"utf8"));if(typeof t.checkedAt=="number"&&t.policy&&typeof t.policy.mode=="string")return t}catch{}return null}function Ja(e,t){try{Va(Pr(e),JSON.stringify(t))}catch{}}function xr(e){let t=/^(\d+)\.(\d+)\.(\d+)/.exec(e.trim());return t?[Number(t[1]),Number(t[2]),Number(t[3])]:null}function Ka(e,t){let n=xr(e),r=xr(t);if(!n||!r)return!1;for(let o=0;o<3;o++){if(n[o]>r[o])return!0;if(n[o]<r[o])return!1}return!1}async function Ba(e,t,n,r){let s=`${e.replace(/\/$/,"")}/api/cli/policy?orgId=${encodeURIComponent(t)}`;r&&r.trim()!==""&&(s+=`&machineId=${encodeURIComponent(r)}`);try{let i=await n(s,{signal:AbortSignal.timeout(Wa)});if(!i.ok)return null;let a=await i.json();return{mode:typeof a.mode=="string"&&a.mode!==""?a.mode:"notify",latest:typeof a.latest=="string"?a.latest.trim():"",pinnedVersion:typeof a.pinnedVersion=="string"?a.pinnedVersion.trim():""}}catch{return null}}function Ga(e,t){if(e.mode==="off")return null;if(e.mode==="pinned"){let n=e.pinnedVersion;return n===""||n===t?null:{kind:"notify",targetVersion:n,message:`venos: your organization pins venos to ${n} (you have ${t}).
115
+ Install it with: npm i -g @venos-inc/venos@${n}`}}return Ka(e.latest,t)?e.mode==="auto"?{kind:"auto",targetVersion:e.latest,message:`venos: auto-updating ${t} -> ${e.latest} per your organization's policy...`}:{kind:"notify",targetVersion:e.latest,message:`venos: a newer version is available (${t} -> ${e.latest}).
116
+ Update with: npm i -g @venos-inc/venos@latest`}:null}async function tt(e){let t=e.now??Date.now(),n=e.fetchImpl??fetch,r,o=e.bypassCache?null:Ha(e.home);if(o&&t-o.checkedAt<Fa)r=o.policy;else{if(r=await Ba(e.orchestratorUrl,e.orgId,n,e.machineId),r===null)return null;Ja(e.home,{checkedAt:t,policy:r})}return Ga(r,e.currentVersion)}function Ya(e=process.env,t=process.execPath){let n=br(t),r=e.PATH??"";return r===""?{...e,PATH:n}:r.split(Or).includes(n)?{...e,PATH:r}:{...e,PATH:`${n}${Or}${r}`}}var za=(e,t)=>new Promise((n,r)=>{Ua(e,t,{timeout:La,env:Ya()},o=>{o?r(o):n()})});function Xa(e=process.execPath,t=Ma){let n=br(e),r=[et(n,"node_modules","npm","bin","npm-cli.js"),et(n,"..","lib","node_modules","npm","bin","npm-cli.js")];for(let o of r)if(t(o))return o;return null}function Za(e,t,n=process.execPath){if(!Da.test(e))return null;let r=`@venos-inc/venos@${e}`;return t!==null?{cmd:n,args:[t,"install","-g",r]}:{cmd:"npm",args:["install","-g",r]}}async function nt(e,t=za){let n=Za(e,Xa());if(n===null)return!1;try{return await t(n.cmd,n.args),!0}catch{return!1}}function qa(){let e=process.argv[1]??"";if(e!=="")try{$a(process.execPath,[e,"heartbeat"],{detached:!0,stdio:"ignore",env:{...process.env,VENOS_SKIP_AUTOUPDATE:"1"}}).unref()}catch{}}async function Er(e,t=nt,n=qa){try{let r=await tt({...e,bypassCache:!0});return!r||r.kind!=="auto"||!await t(r.targetVersion)?null:(n(),r.targetVersion)}catch{return null}}function ec(e,t){let n=typeof t.orgId=="string"&&t.orgId.trim()!==""&&typeof t.orchestratorUrl=="string"&&t.orchestratorUrl.trim()!=="",r="";try{r=ce()}catch{}let o={orgId:t.orgId,orchestratorUrl:t.orchestratorUrl,mcpServerPath:r,hookCommand:"venos hook",usageSyncCommand:"venos usage-sync --throttle",...t.apiKey?{apiKey:t.apiKey}:{}},s=!1,i=!1;for(let l of z)if(l.isInstalled(e)){s=!0;try{l.isWired(l.load(l.configPath(e)),o)&&(i=!0)}catch{}}let a=!s||i,c=kn(e);return{config_valid:n,hooks_wired:a,service_installed:c}}async function Tr(e={},t){let n=t??process.env.HOME??process.env.USERPROFILE??"",r=rt(n,".venos","config.json");if(!Rr(r))return{machineId:"",status:"skipped-no-config",checks:{}};let o=JSON.parse(_r(r,"utf8")),s=e.orgId??o.orgId,i=e.orchestratorUrl??o.orchestratorUrl,a=e.apiKey??o.apiKey,c=S(n),l=w(),u=ec(n,o),{osPlatform:d,osVersion:p}=qe(process.platform),y={orgId:s,machineId:c,hostname:l,cliVersion:e.cliVersion??"",osPlatform:d,osVersion:p,checks:u},h=`${i.replace(/\/$/,"")}/v1/inventory/heartbeat?orgId=${encodeURIComponent(s)}`,k={"Content-Type":"application/json","X-Venos-Org":s};a&&(k.Authorization=`Bearer ${a}`);let C=Ar(W(o),"/v1/inventory/heartbeat",y,s),b;try{b=await _(h,{method:"POST",headers:k,body:JSON.stringify(y)},{timeoutMs:5e3})}catch(te){throw await C,te}if(!b.ok)throw await C,new Error(`venos heartbeat: orchestrator returned ${b.status}`);await C;try{Ir(Nr(n),new Date().toISOString())}catch{}let A=e.cliVersion??"";return A!==""&&process.env.VENOS_SKIP_AUTOUPDATE!=="1"&&await Er({currentVersion:A,orchestratorUrl:i,orgId:s,home:n,machineId:c}),{machineId:c,status:"sent",checks:u}}async function Ar(e,t,n,r){e.length!==0&&await Promise.allSettled(e.map(async o=>{let i=`${o.url.replace(/\/$/,"")}${t}?orgId=${encodeURIComponent(r)}`,a={"Content-Type":"application/json","X-Venos-Org":r};o.apiKey&&(a.Authorization=`Bearer ${o.apiKey}`);try{await(await _(i,{method:"POST",headers:a,body:JSON.stringify(n)},{timeoutMs:5e3})).text()}catch{}}))}function Nr(e){return rt(e,".venos","heartbeat.last")}async function Ur(e){let t=e??process.env.HOME??process.env.USERPROFILE??"",n=rt(t,".venos","config.json");if(!Rr(n))return{status:"skipped-no-config"};try{let r=JSON.parse(_r(n,"utf8")),o=r.orgId,s=r.orchestratorUrl;if(!o||!s)return{status:"skipped-no-config"};let i={orgId:o,machineId:S(t),hostname:w()},c=`${s.replace(/\/$/,"")}/v1/inventory/uninstall?orgId=${encodeURIComponent(o)}`,l={"Content-Type":"application/json","X-Venos-Org":o};r.apiKey&&(l.Authorization=`Bearer ${r.apiKey}`);let u=Ar(W(r),"/v1/inventory/uninstall",i,o),d;try{d=(await _(c,{method:"POST",headers:l,body:JSON.stringify(i)},{timeoutMs:5e3})).ok?"sent":"error"}catch{d="error"}return await u,{status:d}}catch{return{status:"error"}}}async function $r(e){let t=[["scan-mcp",()=>Se(e)],["scan-skills",()=>ke(e)],["scan-agents",()=>ee({home:e})],["scan-documents",()=>me({home:e})]];for(let[n,r]of t)try{await r()}catch(o){let s=o instanceof Error?o.message:String(o);process.stderr.write(`venos heartbeat: ${n} inventory refresh skipped (${s})
117
+ `)}}function ot(e,t=60,n=Qa){let r=e??process.env.HOME??process.env.USERPROFILE??"",o=Nr(r);if(!Ze(o,t*6e4,Date.now()))return{ran:!1,reason:"throttled"};try{Ir(o,new Date().toISOString())}catch{}let s=process.argv[1]??"";return n(process.execPath,[s,"heartbeat"],{detached:!0,stdio:"ignore"}).unref(),{ran:!0,reason:"spawned"}}var st="0.1.14";async function Mr(){try{let e=JSON.parse(tc(q(U()),"utf8"));if(!e.orchestratorUrl||!e.orgId)return;let t=await tt({currentVersion:st,orchestratorUrl:e.orchestratorUrl,orgId:e.orgId,home:U(),machineId:S(U())});if(!t)return;if(t.kind==="auto"){process.stderr.write(`
113
118
  ${t.message}
114
- `);let n=await Je(t.targetVersion);process.stderr.write(n?`venos: updated to ${t.targetVersion}. Re-run venos to use it.
119
+ `);let n=await nt(t.targetVersion);process.stderr.write(n?`venos: updated to ${t.targetVersion}. Re-run venos to use it.
115
120
  `:`venos: auto-update failed. Install manually: npm i -g @venos-inc/venos@${t.targetVersion}
116
121
  `);return}process.stderr.write(`
117
122
  ${t.message}
118
- `)}catch{}}var or=`Usage: venos <command> [options]
123
+ `)}catch{}}var jr=`Usage: venos <command> [options]
119
124
 
120
125
  Commands:
121
126
  init Wire your AI client(s) to the venos security gateway
@@ -138,25 +143,34 @@ Options (init):
138
143
  bound to on the gateway)
139
144
  --json Emit machine-readable JSON instead of the human summary
140
145
  --no-telemetry Skip activation ping even on a non-localhost URL
146
+ --sensor Also launch this machine's host sensor (auto-selects the
147
+ platform backend: macOS native, Linux eBPF, Windows ETW;
148
+ override with VENOS_SENSOR_BACKEND). Stopped by --remove.
141
149
  --remove Inverse of init \u2014 drop the venos entry from every
142
150
  wired client's config and delete ~/.venos/config.json.
143
151
  Pre-venos .venos-backup snapshots are preserved.
144
- `;function x(e,t){let n=e.indexOf(t);if(!(n===-1||n+1>=e.length))return e[n+1]}function I(e,t){return e.includes(t)}async function Bi(){let e=process.argv.slice(2),t=e[0];switch(t){case"init":{if(I(e,"--remove")){await tr(R()),gn({json:I(e,"--json")});break}let n=x(e,"--orchestrator"),r=x(e,"--api-key"),o=x(e,"--org"),s=fn({orchestratorUrl:n,apiKey:r,orgId:o});s.length>0&&(console.error(`venos init: missing required flag(s): ${s.join(", ")}`),console.error(`
152
+ --mirror <record> Best-effort secondary delivery endpoint for hook
153
+ events, e.g. "url=https://app.venos.ai,apiKey=venos_x,
154
+ orgId=org-demo" (apiKey/orgId optional). Repeatable for
155
+ multiple mirrors. Supplying --mirror replaces the
156
+ stored mirror list outright; omitting it keeps the
157
+ previously configured mirrors.
158
+ `;function E(e,t){let n=e.indexOf(t);if(!(n===-1||n+1>=e.length))return e[n+1]}function nc(e,t){let n=[];for(let r=0;r<e.length;r++)e[r]===t&&r+1<e.length&&n.push(e[r+1]);return n}function I(e,t){return e.includes(t)}function rc(e){let t={};for(let[,n,r]of e.matchAll(/([^,=]+)=([^,]*)/g))t[n.trim()]=r.trim();if(t.url)return{url:t.url,...t.apiKey?{apiKey:t.apiKey}:{},...t.orgId?{orgId:t.orgId}:{}}}async function oc(){let e=process.argv.slice(2),t=e[0];switch(t){case"init":{if(I(e,"--remove")){await Ur(U()),lr({json:I(e,"--json")});break}let n=E(e,"--orchestrator"),r=E(e,"--api-key"),o=E(e,"--org"),s=ar({orchestratorUrl:n,apiKey:r,orgId:o});s.length>0&&(console.error(`venos init: missing required flag(s): ${s.join(", ")}`),console.error(`
145
159
  All three connection flags are required:
146
- venos init --orchestrator <gateway-url> --api-key venos_xxx --org org-xxxx`),process.exit(1));let i=I(e,"--json");await mn({orchestratorUrl:n,apiKey:r,orgId:o,json:i,noTelemetry:I(e,"--no-telemetry")}),i||await rr();break}case"hook":{let n=x(e,"--source");await An(void 0,n??"claude-code");break}case"waste-scan":{let n=await $n();process.stdout.write(`venos waste-scan: ${n.sessionsScanned} session(s) scanned, ${n.findingsStored} finding(s) reported
147
- `);break}case"usage-sync":{if(I(e,"--throttle")){let i=Mn();Be(),process.stdout.write(`venos usage-sync --throttle: ${i.reason}
148
- `);break}let n=x(e,"--org"),r=x(e,"--orchestrator"),o=x(e,"--api-key"),s=await jn({...n!==void 0?{orgId:n}:{},...r!==void 0?{orchestratorUrl:r}:{},...o!==void 0?{apiKey:o}:{}});process.stdout.write(`venos usage-sync: ${s.sessionsScanned} session(s) scanned, ${s.sessionsStored} stored
149
- `);break}case"scan-skills":{if(I(e,"--scan")){let r=await Jn();process.stdout.write(`venos scan-skills --scan: ${r.findings} finding(s) from ${r.skillsScanned} skill(s) reported in ${r.chunks} chunk(s)
150
- `);break}let n=await pe();process.stdout.write(`venos scan-skills: ${n.skills} skill(s) + ${n.plugins} plugin(s) reported
151
- `);break}case"scan-mcp":{let n=await de();process.stdout.write(`venos scan-mcp: ${n.servers} MCP server(s) reported in ${n.chunks} chunk(s)
152
- `);break}case"scan-agents":{if(I(e,"--dry-run")){let r=await Y({dryRun:!0});process.stdout.write(JSON.stringify(r,null,2)+`
153
- `);break}let n=await Y();process.stdout.write(`venos scan-agents: ${n.agents} local AI agent(s) reported
154
- `);break}case"scan-documents":{let n=await se({home:R()});process.stdout.write(n.reason==="not-configured"?`venos scan-documents: not configured (set dspmScan.dirs in ~/.venos/config.json)
160
+ venos init --orchestrator <gateway-url> --api-key venos_xxx --org org-xxxx`),process.exit(1));let i=I(e,"--json"),a=E(e,"--local-cli"),c=nc(e,"--mirror").map(rc).filter(l=>l!==void 0);await cr({orchestratorUrl:n,apiKey:r,orgId:o,json:i,noTelemetry:I(e,"--no-telemetry"),sensor:I(e,"--sensor"),...a!==void 0?{localCliPath:a}:{},...c.length>0?{mirrors:c}:{}}),i||await Mr();break}case"hook":{let n=E(e,"--source");await Zn(void 0,n??"claude-code");break}case"waste-scan":{let n=await fr();process.stdout.write(`venos waste-scan: ${n.sessionsScanned} session(s) scanned, ${n.findingsStored} finding(s) reported
161
+ `);break}case"usage-sync":{if(I(e,"--throttle")){let i=mr();ot(),process.stdout.write(`venos usage-sync --throttle: ${i.reason}
162
+ `);break}let n=E(e,"--org"),r=E(e,"--orchestrator"),o=E(e,"--api-key"),s=await gr({...n!==void 0?{orgId:n}:{},...r!==void 0?{orchestratorUrl:r}:{},...o!==void 0?{apiKey:o}:{}});process.stdout.write(`venos usage-sync: ${s.sessionsScanned} session(s) scanned, ${s.sessionsStored} stored
163
+ `);break}case"scan-skills":{if(I(e,"--scan")){let r=await Cr();process.stdout.write(`venos scan-skills --scan: ${r.findings} finding(s) from ${r.skillsScanned} skill(s) reported in ${r.chunks} chunk(s)
164
+ `);break}let n=await ke();process.stdout.write(`venos scan-skills: ${n.skills} skill(s) + ${n.plugins} plugin(s) reported
165
+ `);break}case"scan-mcp":{let n=await Se();process.stdout.write(`venos scan-mcp: ${n.servers} MCP server(s) reported in ${n.chunks} chunk(s)
166
+ `);break}case"scan-agents":{if(I(e,"--dry-run")){let r=await ee({dryRun:!0});process.stdout.write(JSON.stringify(r,null,2)+`
167
+ `);break}let n=await ee();process.stdout.write(`venos scan-agents: ${n.agents} local AI agent(s) reported
168
+ `);break}case"scan-documents":{let n=await me({home:U()});process.stdout.write(n.reason==="not-configured"?`venos scan-documents: not configured (set dspmScan.dirs in ~/.venos/config.json)
155
169
  `:`venos scan-documents: ${n.classified} document(s) classified, ${n.skipped} skipped of ${n.scanned} scanned
156
- `);break}case"classify-file":{let n=e[0];n&&await bn(R(),n);break}case"heartbeat":{if(I(e,"--throttle")){let i=Be();process.stdout.write(`venos heartbeat --throttle: ${i.reason}
157
- `);break}let n=x(e,"--org"),r=x(e,"--orchestrator"),o=x(e,"--api-key"),s=await Qn({cliVersion:Ge,...n!==void 0?{orgId:n}:{},...r!==void 0?{orchestratorUrl:r}:{},...o!==void 0?{apiKey:o}:{}});process.stdout.write(s.status==="sent"?`venos heartbeat: reported (${s.machineId.slice(0,12)})
170
+ `);break}case"classify-file":{let n=e[0];n&&await Wn(U(),n);break}case"heartbeat":{if(I(e,"--throttle")){let i=ot();process.stdout.write(`venos heartbeat --throttle: ${i.reason}
171
+ `);break}let n=E(e,"--org"),r=E(e,"--orchestrator"),o=E(e,"--api-key"),s=await Tr({cliVersion:st,...n!==void 0?{orgId:n}:{},...r!==void 0?{orchestratorUrl:r}:{},...o!==void 0?{apiKey:o}:{}});process.stdout.write(s.status==="sent"?`venos heartbeat: reported (${s.machineId.slice(0,12)})
158
172
  `:`venos heartbeat: no config \u2014 run "venos init" first
159
- `),s.status==="sent"&&n===void 0&&r===void 0&&o===void 0&&await nr(R());break}case"version":case"--version":case"-v":process.stdout.write(`${Ge}
160
- `),process.exit(0);break;case"help":case void 0:process.stdout.write(or),await rr(),process.exit(0);break;default:process.stderr.write(`Unknown subcommand: ${t}
161
- ${or}`),process.exit(2)}}try{await Bi()}catch(e){let t=e instanceof Error?e.message:String(e);process.stderr.write(`venos: ${t}
173
+ `),s.status==="sent"&&n===void 0&&r===void 0&&o===void 0&&await $r(U());break}case"version":case"--version":case"-v":process.stdout.write(`${st}
174
+ `),process.exit(0);break;case"help":case void 0:process.stdout.write(jr),await Mr(),process.exit(0);break;default:process.stderr.write(`Unknown subcommand: ${t}
175
+ ${jr}`),process.exit(2)}}try{await oc()}catch(e){let t=e instanceof Error?e.message:String(e);process.stderr.write(`venos: ${t}
162
176
  `),process.exit(1)}