@hasna/connectors 1.3.0 → 1.3.2

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 (708) hide show
  1. package/bin/index.js +248 -2116
  2. package/bin/mcp.js +176 -1690
  3. package/bin/serve.js +130 -1246
  4. package/connectors/connect-gmail/src/cli/index.ts +32 -3
  5. package/connectors/connect-mercury/CLAUDE.md +1 -0
  6. package/connectors/connect-yousign/CLAUDE.md +48 -0
  7. package/connectors/connect-yousign/bun.lock +32 -0
  8. package/connectors/connect-yousign/node_modules/@types/bun/LICENSE +21 -0
  9. package/connectors/connect-yousign/node_modules/@types/bun/README.md +20 -0
  10. package/connectors/connect-yousign/node_modules/@types/bun/index.d.ts +1 -0
  11. package/connectors/connect-yousign/node_modules/@types/bun/package.json +53 -0
  12. package/connectors/connect-yousign/node_modules/@types/node/LICENSE +21 -0
  13. package/connectors/connect-yousign/node_modules/@types/node/README.md +15 -0
  14. package/connectors/connect-yousign/node_modules/@types/node/assert/strict.d.ts +105 -0
  15. package/connectors/connect-yousign/node_modules/@types/node/assert.d.ts +955 -0
  16. package/connectors/connect-yousign/node_modules/@types/node/async_hooks.d.ts +623 -0
  17. package/connectors/connect-yousign/node_modules/@types/node/buffer.buffer.d.ts +466 -0
  18. package/connectors/connect-yousign/node_modules/@types/node/buffer.d.ts +1810 -0
  19. package/connectors/connect-yousign/node_modules/@types/node/child_process.d.ts +1433 -0
  20. package/connectors/connect-yousign/node_modules/@types/node/cluster.d.ts +486 -0
  21. package/connectors/connect-yousign/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  22. package/connectors/connect-yousign/node_modules/@types/node/console.d.ts +151 -0
  23. package/connectors/connect-yousign/node_modules/@types/node/constants.d.ts +20 -0
  24. package/connectors/connect-yousign/node_modules/@types/node/crypto.d.ts +4065 -0
  25. package/connectors/connect-yousign/node_modules/@types/node/dgram.d.ts +564 -0
  26. package/connectors/connect-yousign/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
  27. package/connectors/connect-yousign/node_modules/@types/node/dns/promises.d.ts +503 -0
  28. package/connectors/connect-yousign/node_modules/@types/node/dns.d.ts +922 -0
  29. package/connectors/connect-yousign/node_modules/@types/node/domain.d.ts +166 -0
  30. package/connectors/connect-yousign/node_modules/@types/node/events.d.ts +1047 -0
  31. package/connectors/connect-yousign/node_modules/@types/node/fs/promises.d.ts +1329 -0
  32. package/connectors/connect-yousign/node_modules/@types/node/fs.d.ts +4678 -0
  33. package/connectors/connect-yousign/node_modules/@types/node/globals.d.ts +150 -0
  34. package/connectors/connect-yousign/node_modules/@types/node/globals.typedarray.d.ts +101 -0
  35. package/connectors/connect-yousign/node_modules/@types/node/http.d.ts +2188 -0
  36. package/connectors/connect-yousign/node_modules/@types/node/http2.d.ts +2480 -0
  37. package/connectors/connect-yousign/node_modules/@types/node/https.d.ts +405 -0
  38. package/connectors/connect-yousign/node_modules/@types/node/index.d.ts +115 -0
  39. package/connectors/connect-yousign/node_modules/@types/node/inspector/promises.d.ts +41 -0
  40. package/connectors/connect-yousign/node_modules/@types/node/inspector.d.ts +269 -0
  41. package/connectors/connect-yousign/node_modules/@types/node/inspector.generated.d.ts +4401 -0
  42. package/connectors/connect-yousign/node_modules/@types/node/module.d.ts +757 -0
  43. package/connectors/connect-yousign/node_modules/@types/node/net.d.ts +933 -0
  44. package/connectors/connect-yousign/node_modules/@types/node/os.d.ts +507 -0
  45. package/connectors/connect-yousign/node_modules/@types/node/package.json +155 -0
  46. package/connectors/connect-yousign/node_modules/@types/node/path/posix.d.ts +8 -0
  47. package/connectors/connect-yousign/node_modules/@types/node/path/win32.d.ts +8 -0
  48. package/connectors/connect-yousign/node_modules/@types/node/path.d.ts +187 -0
  49. package/connectors/connect-yousign/node_modules/@types/node/perf_hooks.d.ts +643 -0
  50. package/connectors/connect-yousign/node_modules/@types/node/process.d.ts +2175 -0
  51. package/connectors/connect-yousign/node_modules/@types/node/punycode.d.ts +117 -0
  52. package/connectors/connect-yousign/node_modules/@types/node/querystring.d.ts +152 -0
  53. package/connectors/connect-yousign/node_modules/@types/node/quic.d.ts +910 -0
  54. package/connectors/connect-yousign/node_modules/@types/node/readline/promises.d.ts +161 -0
  55. package/connectors/connect-yousign/node_modules/@types/node/readline.d.ts +542 -0
  56. package/connectors/connect-yousign/node_modules/@types/node/repl.d.ts +415 -0
  57. package/connectors/connect-yousign/node_modules/@types/node/sea.d.ts +162 -0
  58. package/connectors/connect-yousign/node_modules/@types/node/sqlite.d.ts +1065 -0
  59. package/connectors/connect-yousign/node_modules/@types/node/stream/consumers.d.ts +38 -0
  60. package/connectors/connect-yousign/node_modules/@types/node/stream/promises.d.ts +211 -0
  61. package/connectors/connect-yousign/node_modules/@types/node/stream/web.d.ts +296 -0
  62. package/connectors/connect-yousign/node_modules/@types/node/stream.d.ts +1770 -0
  63. package/connectors/connect-yousign/node_modules/@types/node/string_decoder.d.ts +67 -0
  64. package/connectors/connect-yousign/node_modules/@types/node/test/reporters.d.ts +96 -0
  65. package/connectors/connect-yousign/node_modules/@types/node/test.d.ts +2275 -0
  66. package/connectors/connect-yousign/node_modules/@types/node/timers/promises.d.ts +108 -0
  67. package/connectors/connect-yousign/node_modules/@types/node/timers.d.ts +159 -0
  68. package/connectors/connect-yousign/node_modules/@types/node/tls.d.ts +1203 -0
  69. package/connectors/connect-yousign/node_modules/@types/node/trace_events.d.ts +197 -0
  70. package/connectors/connect-yousign/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
  71. package/connectors/connect-yousign/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  72. package/connectors/connect-yousign/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  73. package/connectors/connect-yousign/node_modules/@types/node/ts5.6/index.d.ts +117 -0
  74. package/connectors/connect-yousign/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  75. package/connectors/connect-yousign/node_modules/@types/node/ts5.7/index.d.ts +117 -0
  76. package/connectors/connect-yousign/node_modules/@types/node/tty.d.ts +250 -0
  77. package/connectors/connect-yousign/node_modules/@types/node/url.d.ts +541 -0
  78. package/connectors/connect-yousign/node_modules/@types/node/util/types.d.ts +558 -0
  79. package/connectors/connect-yousign/node_modules/@types/node/util.d.ts +1687 -0
  80. package/connectors/connect-yousign/node_modules/@types/node/v8.d.ts +988 -0
  81. package/connectors/connect-yousign/node_modules/@types/node/vm.d.ts +1208 -0
  82. package/connectors/connect-yousign/node_modules/@types/node/wasi.d.ts +202 -0
  83. package/connectors/connect-yousign/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
  84. package/connectors/connect-yousign/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  85. package/connectors/connect-yousign/node_modules/@types/node/web-globals/console.d.ts +9 -0
  86. package/connectors/connect-yousign/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  87. package/connectors/connect-yousign/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  88. package/connectors/connect-yousign/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  89. package/connectors/connect-yousign/node_modules/@types/node/web-globals/events.d.ts +106 -0
  90. package/connectors/connect-yousign/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
  91. package/connectors/connect-yousign/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  92. package/connectors/connect-yousign/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  93. package/connectors/connect-yousign/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  94. package/connectors/connect-yousign/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  95. package/connectors/connect-yousign/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  96. package/connectors/connect-yousign/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  97. package/connectors/connect-yousign/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  98. package/connectors/connect-yousign/node_modules/@types/node/web-globals/url.d.ts +24 -0
  99. package/connectors/connect-yousign/node_modules/@types/node/worker_threads.d.ts +717 -0
  100. package/connectors/connect-yousign/node_modules/@types/node/zlib.d.ts +682 -0
  101. package/connectors/connect-yousign/node_modules/bun-types/CLAUDE.md +105 -0
  102. package/connectors/connect-yousign/node_modules/bun-types/README.md +33 -0
  103. package/connectors/connect-yousign/node_modules/bun-types/bun.d.ts +8481 -0
  104. package/connectors/connect-yousign/node_modules/bun-types/bun.ns.d.ts +5 -0
  105. package/connectors/connect-yousign/node_modules/bun-types/bundle.d.ts +74 -0
  106. package/connectors/connect-yousign/node_modules/bun-types/deprecated.d.ts +184 -0
  107. package/connectors/connect-yousign/node_modules/bun-types/devserver.d.ts +187 -0
  108. package/connectors/connect-yousign/node_modules/bun-types/docs/README.md +28 -0
  109. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/bytecode.mdx +447 -0
  110. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/css.mdx +1024 -0
  111. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/esbuild.mdx +304 -0
  112. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/executables.mdx +1318 -0
  113. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/fullstack.mdx +1086 -0
  114. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/hot-reloading.mdx +229 -0
  115. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/html-static.mdx +498 -0
  116. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/index.mdx +1840 -0
  117. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/loaders.mdx +451 -0
  118. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/macros.mdx +328 -0
  119. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/minifier.mdx +1286 -0
  120. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/plugins.mdx +477 -0
  121. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/standalone-html.mdx +314 -0
  122. package/connectors/connect-yousign/node_modules/bun-types/docs/feedback.mdx +75 -0
  123. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-array.mdx +29 -0
  124. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-blob.mdx +26 -0
  125. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-buffer.mdx +27 -0
  126. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-string.mdx +17 -0
  127. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-typedarray.mdx +41 -0
  128. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-arraybuffer.mdx +16 -0
  129. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-dataview.mdx +16 -0
  130. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-stream.mdx +16 -0
  131. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-string.mdx +17 -0
  132. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-typedarray.mdx +16 -0
  133. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-arraybuffer.mdx +16 -0
  134. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-blob.mdx +16 -0
  135. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-readablestream.mdx +43 -0
  136. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-string.mdx +27 -0
  137. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-typedarray.mdx +16 -0
  138. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/dataview-to-string.mdx +17 -0
  139. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-arraybuffer.mdx +27 -0
  140. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-blob.mdx +18 -0
  141. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-buffer.mdx +16 -0
  142. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-dataview.mdx +16 -0
  143. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-readablestream.mdx +43 -0
  144. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-string.mdx +18 -0
  145. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/aws-lambda.mdx +204 -0
  146. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/digital-ocean.mdx +161 -0
  147. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/google-cloud-run.mdx +194 -0
  148. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/railway.mdx +145 -0
  149. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/render.mdx +82 -0
  150. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/vercel.mdx +97 -0
  151. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/astro.mdx +82 -0
  152. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/discordjs.mdx +80 -0
  153. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/docker.mdx +151 -0
  154. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/drizzle.mdx +195 -0
  155. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/elysia.mdx +31 -0
  156. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/express.mdx +43 -0
  157. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/gel.mdx +261 -0
  158. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/hono.mdx +47 -0
  159. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/mongoose.mdx +92 -0
  160. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/neon-drizzle.mdx +234 -0
  161. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/neon-serverless-postgres.mdx +60 -0
  162. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/nextjs.mdx +103 -0
  163. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/nuxt.mdx +96 -0
  164. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/pm2.mdx +55 -0
  165. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/prisma-postgres.mdx +169 -0
  166. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/prisma.mdx +164 -0
  167. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/qwik.mdx +114 -0
  168. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/react.mdx +52 -0
  169. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/remix.mdx +97 -0
  170. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/sentry.mdx +54 -0
  171. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/solidstart.mdx +62 -0
  172. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/ssr-react.mdx +49 -0
  173. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/stric.mdx +54 -0
  174. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/sveltekit.mdx +138 -0
  175. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/systemd.mdx +114 -0
  176. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/tanstack-start.mdx +791 -0
  177. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/upstash.mdx +87 -0
  178. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/vite.mdx +77 -0
  179. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/html-rewriter/extract-links.mdx +71 -0
  180. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/html-rewriter/extract-social-meta.mdx +97 -0
  181. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/cluster.mdx +69 -0
  182. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/fetch-unix.mdx +35 -0
  183. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/fetch.mdx +26 -0
  184. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/file-uploads.mdx +97 -0
  185. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/hot.mdx +28 -0
  186. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/proxy.mdx +50 -0
  187. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/server.mdx +48 -0
  188. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/simple.mdx +20 -0
  189. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/stream-file.mdx +50 -0
  190. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/stream-iterator.mdx +49 -0
  191. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/stream-node-streams-in-bun.mdx +22 -0
  192. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/tls.mdx +32 -0
  193. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/index.mdx +10 -0
  194. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-dev.mdx +28 -0
  195. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-git.mdx +40 -0
  196. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-optional.mdx +27 -0
  197. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-peer.mdx +45 -0
  198. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-tarball.mdx +35 -0
  199. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add.mdx +44 -0
  200. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/azure-artifacts.mdx +76 -0
  201. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/cicd.mdx +43 -0
  202. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/custom-registry.mdx +32 -0
  203. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/from-npm-install-to-bun-install.mdx +230 -0
  204. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/git-diff-bun-lockfile.mdx +48 -0
  205. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/jfrog-artifactory.mdx +28 -0
  206. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/npm-alias.mdx +25 -0
  207. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/registry-scope.mdx +40 -0
  208. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/trusted.mdx +52 -0
  209. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/workspaces.mdx +70 -0
  210. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/yarnlock.mdx +51 -0
  211. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/argv.mdx +66 -0
  212. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/ctrl-c.mdx +18 -0
  213. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/ipc.mdx +69 -0
  214. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/nanoseconds.mdx +15 -0
  215. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/os-signals.mdx +31 -0
  216. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/spawn-stderr.mdx +34 -0
  217. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/spawn-stdout.mdx +28 -0
  218. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/spawn.mdx +43 -0
  219. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/stdin.mdx +62 -0
  220. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/arraybuffer.mdx +30 -0
  221. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/buffer.mdx +21 -0
  222. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/exists.mdx +18 -0
  223. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/json.mdx +19 -0
  224. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/mime.mdx +22 -0
  225. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/stream.mdx +28 -0
  226. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/string.mdx +24 -0
  227. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/uint8array.mdx +23 -0
  228. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/watch.mdx +66 -0
  229. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/build-time-constants.mdx +295 -0
  230. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/cicd.mdx +45 -0
  231. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/codesign-macos-executable.mdx +61 -0
  232. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/define-constant.mdx +149 -0
  233. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/delete-directory.mdx +39 -0
  234. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/delete-file.mdx +21 -0
  235. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/heap-snapshot.mdx +28 -0
  236. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-html.mdx +15 -0
  237. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-json.mdx +46 -0
  238. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-json5.mdx +74 -0
  239. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-toml.mdx +32 -0
  240. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-yaml.mdx +104 -0
  241. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/read-env.mdx +37 -0
  242. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/set-env.mdx +51 -0
  243. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/shell.mdx +42 -0
  244. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/timezone.mdx +38 -0
  245. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/tsconfig-paths.mdx +31 -0
  246. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/typescript.mdx +51 -0
  247. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/vscode-debugger.mdx +47 -0
  248. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/web-debugger.mdx +103 -0
  249. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-arraybuffer.mdx +13 -0
  250. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-blob.mdx +13 -0
  251. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-json.mdx +14 -0
  252. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-string.mdx +14 -0
  253. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-uint8array.mdx +13 -0
  254. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-array.mdx +16 -0
  255. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-arraybuffer.mdx +16 -0
  256. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-blob.mdx +16 -0
  257. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-buffer.mdx +17 -0
  258. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-json.mdx +16 -0
  259. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-string.mdx +16 -0
  260. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-typedarray.mdx +24 -0
  261. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/bail.mdx +24 -0
  262. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/concurrent-test-glob.mdx +146 -0
  263. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/coverage-threshold.mdx +67 -0
  264. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/coverage.mdx +49 -0
  265. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/happy-dom.mdx +73 -0
  266. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/migrate-from-jest.mdx +125 -0
  267. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/mock-clock.mdx +50 -0
  268. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/mock-functions.mdx +70 -0
  269. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/rerun-each.mdx +16 -0
  270. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/run-tests.mdx +116 -0
  271. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/skip-tests.mdx +43 -0
  272. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/snapshot.mdx +102 -0
  273. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/spy-on.mdx +49 -0
  274. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/svelte-test.mdx +113 -0
  275. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/testing-library.mdx +93 -0
  276. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/timeout.mdx +17 -0
  277. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/todo-tests.mdx +74 -0
  278. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/update-snapshots.mdx +49 -0
  279. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/watch-mode.mdx +24 -0
  280. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/base64.mdx +17 -0
  281. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/deep-equals.mdx +41 -0
  282. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/deflate.mdx +20 -0
  283. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/detect-bun.mdx +28 -0
  284. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/entrypoint.mdx +19 -0
  285. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/escape-html.mdx +24 -0
  286. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/file-url-to-path.mdx +16 -0
  287. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/gzip.mdx +20 -0
  288. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/hash-a-password.mdx +56 -0
  289. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/import-meta-dir.mdx +15 -0
  290. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/import-meta-file.mdx +15 -0
  291. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/import-meta-path.mdx +15 -0
  292. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/javascript-uuid.mdx +25 -0
  293. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/main.mdx +43 -0
  294. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/path-to-file-url.mdx +16 -0
  295. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/sleep.mdx +24 -0
  296. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/upgrade.mdx +93 -0
  297. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/version.mdx +23 -0
  298. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/which-path-to-executable-bin.mdx +17 -0
  299. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/compression.mdx +33 -0
  300. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/context.mdx +79 -0
  301. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/pubsub.mdx +43 -0
  302. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/simple.mdx +38 -0
  303. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/append.mdx +54 -0
  304. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/basic.mdx +46 -0
  305. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/blob.mdx +30 -0
  306. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/cat.mdx +19 -0
  307. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/file-cp.mdx +18 -0
  308. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/filesink.mdx +54 -0
  309. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/response.mdx +19 -0
  310. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/stdout.mdx +23 -0
  311. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/stream.mdx +19 -0
  312. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/unlink.mdx +18 -0
  313. package/connectors/connect-yousign/node_modules/bun-types/docs/index.mdx +133 -0
  314. package/connectors/connect-yousign/node_modules/bun-types/docs/installation.mdx +372 -0
  315. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/bunx.mdx +91 -0
  316. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/catalogs.mdx +292 -0
  317. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/add.mdx +179 -0
  318. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/audit.mdx +60 -0
  319. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/info.mdx +70 -0
  320. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/install.mdx +591 -0
  321. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/link.mdx +61 -0
  322. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/outdated.mdx +197 -0
  323. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/patch.mdx +69 -0
  324. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/pm.mdx +323 -0
  325. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/publish.mdx +131 -0
  326. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/remove.mdx +16 -0
  327. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/update.mdx +140 -0
  328. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/why.mdx +84 -0
  329. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/filter.mdx +127 -0
  330. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/global-cache.mdx +72 -0
  331. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/isolated-installs.mdx +220 -0
  332. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/lifecycle.mdx +64 -0
  333. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/lockfile.mdx +64 -0
  334. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/npmrc.mdx +245 -0
  335. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/overrides.mdx +83 -0
  336. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/scopes-registries.mdx +35 -0
  337. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/security-scanner-api.mdx +95 -0
  338. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/workspaces.mdx +115 -0
  339. package/connectors/connect-yousign/node_modules/bun-types/docs/project/benchmarking.mdx +296 -0
  340. package/connectors/connect-yousign/node_modules/bun-types/docs/project/bindgen.mdx +223 -0
  341. package/connectors/connect-yousign/node_modules/bun-types/docs/project/building-windows.mdx +143 -0
  342. package/connectors/connect-yousign/node_modules/bun-types/docs/project/contributing.mdx +366 -0
  343. package/connectors/connect-yousign/node_modules/bun-types/docs/project/feedback.mdx +20 -0
  344. package/connectors/connect-yousign/node_modules/bun-types/docs/project/license.mdx +78 -0
  345. package/connectors/connect-yousign/node_modules/bun-types/docs/project/roadmap.mdx +8 -0
  346. package/connectors/connect-yousign/node_modules/bun-types/docs/quickstart.mdx +251 -0
  347. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/archive.mdx +452 -0
  348. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/auto-install.mdx +97 -0
  349. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/binary-data.mdx +846 -0
  350. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/bun-apis.mdx +59 -0
  351. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/bunfig.mdx +754 -0
  352. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/c-compiler.mdx +204 -0
  353. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/child-process.mdx +659 -0
  354. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/color.mdx +267 -0
  355. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/console.mdx +67 -0
  356. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/cookies.mdx +454 -0
  357. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/debugger.mdx +335 -0
  358. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/environment-variables.mdx +231 -0
  359. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/ffi.mdx +567 -0
  360. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/file-io.mdx +306 -0
  361. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/file-system-router.mdx +118 -0
  362. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/file-types.mdx +482 -0
  363. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/glob.mdx +181 -0
  364. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/globals.mdx +72 -0
  365. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/hashing.mdx +315 -0
  366. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/html-rewriter.mdx +333 -0
  367. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/cookies.mdx +79 -0
  368. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/error-handling.mdx +40 -0
  369. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/metrics.mdx +36 -0
  370. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/routing.mdx +289 -0
  371. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/server.mdx +645 -0
  372. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/tls.mdx +101 -0
  373. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/websockets.mdx +414 -0
  374. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/index.mdx +223 -0
  375. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/json5.mdx +271 -0
  376. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/jsonl.mdx +188 -0
  377. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/jsx.mdx +115 -0
  378. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/markdown.mdx +344 -0
  379. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/module-resolution.mdx +374 -0
  380. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/dns.mdx +111 -0
  381. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/fetch.mdx +484 -0
  382. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/tcp.mdx +239 -0
  383. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/udp.mdx +180 -0
  384. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/node-api.mdx +19 -0
  385. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/nodejs-compat.mdx +468 -0
  386. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/plugins.mdx +419 -0
  387. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/redis.mdx +583 -0
  388. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/repl.mdx +176 -0
  389. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/s3.mdx +881 -0
  390. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/secrets.mdx +340 -0
  391. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/semver.mdx +57 -0
  392. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/shell.mdx +637 -0
  393. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/sql.mdx +1404 -0
  394. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/sqlite.mdx +721 -0
  395. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/streams.mdx +232 -0
  396. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/templating/create.mdx +269 -0
  397. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/templating/init.mdx +58 -0
  398. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/transpiler.mdx +288 -0
  399. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/typescript.mdx +58 -0
  400. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/utils.mdx +1010 -0
  401. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/watch-mode.mdx +161 -0
  402. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/web-apis.mdx +29 -0
  403. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/workers.mdx +314 -0
  404. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/yaml.mdx +469 -0
  405. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/add.mdx +166 -0
  406. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/build.mdx +197 -0
  407. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/bunx.mdx +49 -0
  408. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/feedback.mdx +17 -0
  409. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/init.mdx +84 -0
  410. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/install.mdx +173 -0
  411. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/link.mdx +163 -0
  412. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/outdated.mdx +140 -0
  413. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/patch.mdx +171 -0
  414. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/publish.mdx +198 -0
  415. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/remove.mdx +146 -0
  416. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/run.mdx +305 -0
  417. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/test.mdx +105 -0
  418. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/update.mdx +144 -0
  419. package/connectors/connect-yousign/node_modules/bun-types/docs/test/code-coverage.mdx +409 -0
  420. package/connectors/connect-yousign/node_modules/bun-types/docs/test/configuration.mdx +520 -0
  421. package/connectors/connect-yousign/node_modules/bun-types/docs/test/dates-times.mdx +129 -0
  422. package/connectors/connect-yousign/node_modules/bun-types/docs/test/discovery.mdx +90 -0
  423. package/connectors/connect-yousign/node_modules/bun-types/docs/test/dom.mdx +226 -0
  424. package/connectors/connect-yousign/node_modules/bun-types/docs/test/index.mdx +409 -0
  425. package/connectors/connect-yousign/node_modules/bun-types/docs/test/lifecycle.mdx +366 -0
  426. package/connectors/connect-yousign/node_modules/bun-types/docs/test/mocks.mdx +637 -0
  427. package/connectors/connect-yousign/node_modules/bun-types/docs/test/reporters.mdx +126 -0
  428. package/connectors/connect-yousign/node_modules/bun-types/docs/test/runtime-behavior.mdx +342 -0
  429. package/connectors/connect-yousign/node_modules/bun-types/docs/test/snapshots.mdx +434 -0
  430. package/connectors/connect-yousign/node_modules/bun-types/docs/test/writing-tests.mdx +672 -0
  431. package/connectors/connect-yousign/node_modules/bun-types/docs/typescript.mdx +54 -0
  432. package/connectors/connect-yousign/node_modules/bun-types/extensions.d.ts +40 -0
  433. package/connectors/connect-yousign/node_modules/bun-types/fetch.d.ts +79 -0
  434. package/connectors/connect-yousign/node_modules/bun-types/ffi.d.ts +1154 -0
  435. package/connectors/connect-yousign/node_modules/bun-types/globals.d.ts +2067 -0
  436. package/connectors/connect-yousign/node_modules/bun-types/html-rewriter.d.ts +186 -0
  437. package/connectors/connect-yousign/node_modules/bun-types/index.d.ts +32 -0
  438. package/connectors/connect-yousign/node_modules/bun-types/jsc.d.ts +233 -0
  439. package/connectors/connect-yousign/node_modules/bun-types/jsx.d.ts +11 -0
  440. package/connectors/connect-yousign/node_modules/bun-types/overrides.d.ts +376 -0
  441. package/connectors/connect-yousign/node_modules/bun-types/package.json +37 -0
  442. package/connectors/connect-yousign/node_modules/bun-types/redis.d.ts +3352 -0
  443. package/connectors/connect-yousign/node_modules/bun-types/s3.d.ts +1335 -0
  444. package/connectors/connect-yousign/node_modules/bun-types/security.d.ts +101 -0
  445. package/connectors/connect-yousign/node_modules/bun-types/serve.d.ts +1296 -0
  446. package/connectors/connect-yousign/node_modules/bun-types/shell.d.ts +380 -0
  447. package/connectors/connect-yousign/node_modules/bun-types/sql.d.ts +887 -0
  448. package/connectors/connect-yousign/node_modules/bun-types/sqlite.d.ts +1322 -0
  449. package/connectors/connect-yousign/node_modules/bun-types/test-globals.d.ts +22 -0
  450. package/connectors/connect-yousign/node_modules/bun-types/test.d.ts +2392 -0
  451. package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/branding.d.ts +283 -0
  452. package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/index.d.ts +1207 -0
  453. package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/messages.d.ts +395 -0
  454. package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/overloads.d.ts +669 -0
  455. package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/utils.d.ts +431 -0
  456. package/connectors/connect-yousign/node_modules/bun-types/wasm.d.ts +193 -0
  457. package/connectors/connect-yousign/node_modules/chalk/license +9 -0
  458. package/connectors/connect-yousign/node_modules/chalk/package.json +83 -0
  459. package/connectors/connect-yousign/node_modules/chalk/readme.md +297 -0
  460. package/connectors/connect-yousign/node_modules/chalk/source/index.d.ts +325 -0
  461. package/connectors/connect-yousign/node_modules/chalk/source/index.js +225 -0
  462. package/connectors/connect-yousign/node_modules/chalk/source/utilities.js +33 -0
  463. package/connectors/connect-yousign/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  464. package/connectors/connect-yousign/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  465. package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  466. package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  467. package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  468. package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  469. package/connectors/connect-yousign/node_modules/commander/LICENSE +22 -0
  470. package/connectors/connect-yousign/node_modules/commander/Readme.md +1157 -0
  471. package/connectors/connect-yousign/node_modules/commander/esm.mjs +16 -0
  472. package/connectors/connect-yousign/node_modules/commander/index.js +24 -0
  473. package/connectors/connect-yousign/node_modules/commander/lib/argument.js +149 -0
  474. package/connectors/connect-yousign/node_modules/commander/lib/command.js +2509 -0
  475. package/connectors/connect-yousign/node_modules/commander/lib/error.js +39 -0
  476. package/connectors/connect-yousign/node_modules/commander/lib/help.js +520 -0
  477. package/connectors/connect-yousign/node_modules/commander/lib/option.js +330 -0
  478. package/connectors/connect-yousign/node_modules/commander/lib/suggestSimilar.js +101 -0
  479. package/connectors/connect-yousign/node_modules/commander/package-support.json +16 -0
  480. package/connectors/connect-yousign/node_modules/commander/package.json +84 -0
  481. package/connectors/connect-yousign/node_modules/commander/typings/esm.d.mts +3 -0
  482. package/connectors/connect-yousign/node_modules/commander/typings/index.d.ts +969 -0
  483. package/connectors/connect-yousign/node_modules/typescript/LICENSE.txt +55 -0
  484. package/connectors/connect-yousign/node_modules/typescript/README.md +50 -0
  485. package/connectors/connect-yousign/node_modules/typescript/SECURITY.md +41 -0
  486. package/connectors/connect-yousign/node_modules/typescript/ThirdPartyNoticeText.txt +193 -0
  487. package/connectors/connect-yousign/node_modules/typescript/bin/tsc +2 -0
  488. package/connectors/connect-yousign/node_modules/typescript/bin/tsserver +2 -0
  489. package/connectors/connect-yousign/node_modules/typescript/lib/_tsc.js +133818 -0
  490. package/connectors/connect-yousign/node_modules/typescript/lib/_tsserver.js +659 -0
  491. package/connectors/connect-yousign/node_modules/typescript/lib/_typingsInstaller.js +222 -0
  492. package/connectors/connect-yousign/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +2122 -0
  493. package/connectors/connect-yousign/node_modules/typescript/lib/de/diagnosticMessages.generated.json +2122 -0
  494. package/connectors/connect-yousign/node_modules/typescript/lib/es/diagnosticMessages.generated.json +2122 -0
  495. package/connectors/connect-yousign/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +2122 -0
  496. package/connectors/connect-yousign/node_modules/typescript/lib/it/diagnosticMessages.generated.json +2122 -0
  497. package/connectors/connect-yousign/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +2122 -0
  498. package/connectors/connect-yousign/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +2122 -0
  499. package/connectors/connect-yousign/node_modules/typescript/lib/lib.d.ts +22 -0
  500. package/connectors/connect-yousign/node_modules/typescript/lib/lib.decorators.d.ts +384 -0
  501. package/connectors/connect-yousign/node_modules/typescript/lib/lib.decorators.legacy.d.ts +22 -0
  502. package/connectors/connect-yousign/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +41 -0
  503. package/connectors/connect-yousign/node_modules/typescript/lib/lib.dom.d.ts +39429 -0
  504. package/connectors/connect-yousign/node_modules/typescript/lib/lib.dom.iterable.d.ts +571 -0
  505. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.collection.d.ts +147 -0
  506. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.core.d.ts +597 -0
  507. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.d.ts +28 -0
  508. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.generator.d.ts +77 -0
  509. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.iterable.d.ts +605 -0
  510. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.promise.d.ts +81 -0
  511. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.proxy.d.ts +128 -0
  512. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.reflect.d.ts +144 -0
  513. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.symbol.d.ts +46 -0
  514. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +326 -0
  515. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.array.include.d.ts +116 -0
  516. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.d.ts +21 -0
  517. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.full.d.ts +23 -0
  518. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.intl.d.ts +31 -0
  519. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +21 -0
  520. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.d.ts +26 -0
  521. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
  522. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.full.d.ts +23 -0
  523. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.intl.d.ts +44 -0
  524. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.object.d.ts +49 -0
  525. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +135 -0
  526. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.string.d.ts +45 -0
  527. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +53 -0
  528. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +77 -0
  529. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +53 -0
  530. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.d.ts +24 -0
  531. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.full.d.ts +24 -0
  532. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.intl.d.ts +83 -0
  533. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.promise.d.ts +30 -0
  534. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.regexp.d.ts +37 -0
  535. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.array.d.ts +79 -0
  536. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.d.ts +24 -0
  537. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.full.d.ts +24 -0
  538. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.intl.d.ts +23 -0
  539. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.object.d.ts +33 -0
  540. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.string.d.ts +37 -0
  541. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.symbol.d.ts +24 -0
  542. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.bigint.d.ts +765 -0
  543. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.d.ts +27 -0
  544. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.date.d.ts +42 -0
  545. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.full.d.ts +24 -0
  546. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.intl.d.ts +474 -0
  547. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.number.d.ts +28 -0
  548. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.promise.d.ts +47 -0
  549. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +99 -0
  550. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.string.d.ts +44 -0
  551. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +41 -0
  552. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.d.ts +23 -0
  553. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.full.d.ts +24 -0
  554. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.intl.d.ts +166 -0
  555. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.promise.d.ts +48 -0
  556. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.string.d.ts +33 -0
  557. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.weakref.d.ts +78 -0
  558. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.array.d.ts +121 -0
  559. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.d.ts +25 -0
  560. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.error.d.ts +75 -0
  561. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.full.d.ts +24 -0
  562. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.intl.d.ts +145 -0
  563. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.object.d.ts +26 -0
  564. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.regexp.d.ts +39 -0
  565. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.string.d.ts +25 -0
  566. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.array.d.ts +924 -0
  567. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
  568. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.d.ts +22 -0
  569. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.full.d.ts +24 -0
  570. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.intl.d.ts +56 -0
  571. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +65 -0
  572. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.collection.d.ts +29 -0
  573. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.d.ts +26 -0
  574. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.full.d.ts +24 -0
  575. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.object.d.ts +29 -0
  576. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.promise.d.ts +35 -0
  577. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.regexp.d.ts +25 -0
  578. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +68 -0
  579. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.string.d.ts +29 -0
  580. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es5.d.ts +4601 -0
  581. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es6.d.ts +23 -0
  582. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.array.d.ts +35 -0
  583. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.collection.d.ts +96 -0
  584. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.d.ts +29 -0
  585. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
  586. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.disposable.d.ts +193 -0
  587. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.error.d.ts +24 -0
  588. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.float16.d.ts +445 -0
  589. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.full.d.ts +24 -0
  590. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.intl.d.ts +21 -0
  591. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.iterator.d.ts +148 -0
  592. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.promise.d.ts +34 -0
  593. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +25 -0
  594. package/connectors/connect-yousign/node_modules/typescript/lib/lib.scripthost.d.ts +322 -0
  595. package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +41 -0
  596. package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.d.ts +13150 -0
  597. package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +23 -0
  598. package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.iterable.d.ts +340 -0
  599. package/connectors/connect-yousign/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +2122 -0
  600. package/connectors/connect-yousign/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +2122 -0
  601. package/connectors/connect-yousign/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +2122 -0
  602. package/connectors/connect-yousign/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +2122 -0
  603. package/connectors/connect-yousign/node_modules/typescript/lib/tsc.js +8 -0
  604. package/connectors/connect-yousign/node_modules/typescript/lib/tsserver.js +8 -0
  605. package/connectors/connect-yousign/node_modules/typescript/lib/tsserverlibrary.d.ts +17 -0
  606. package/connectors/connect-yousign/node_modules/typescript/lib/tsserverlibrary.js +21 -0
  607. package/connectors/connect-yousign/node_modules/typescript/lib/typesMap.json +497 -0
  608. package/connectors/connect-yousign/node_modules/typescript/lib/typescript.d.ts +11437 -0
  609. package/connectors/connect-yousign/node_modules/typescript/lib/typescript.js +200276 -0
  610. package/connectors/connect-yousign/node_modules/typescript/lib/typingsInstaller.js +8 -0
  611. package/connectors/connect-yousign/node_modules/typescript/lib/watchGuard.js +53 -0
  612. package/connectors/connect-yousign/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +2122 -0
  613. package/connectors/connect-yousign/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +2122 -0
  614. package/connectors/connect-yousign/node_modules/typescript/package.json +120 -0
  615. package/connectors/connect-yousign/node_modules/undici-types/LICENSE +21 -0
  616. package/connectors/connect-yousign/node_modules/undici-types/README.md +6 -0
  617. package/connectors/connect-yousign/node_modules/undici-types/agent.d.ts +32 -0
  618. package/connectors/connect-yousign/node_modules/undici-types/api.d.ts +43 -0
  619. package/connectors/connect-yousign/node_modules/undici-types/balanced-pool.d.ts +30 -0
  620. package/connectors/connect-yousign/node_modules/undici-types/cache-interceptor.d.ts +173 -0
  621. package/connectors/connect-yousign/node_modules/undici-types/cache.d.ts +36 -0
  622. package/connectors/connect-yousign/node_modules/undici-types/client-stats.d.ts +15 -0
  623. package/connectors/connect-yousign/node_modules/undici-types/client.d.ts +108 -0
  624. package/connectors/connect-yousign/node_modules/undici-types/connector.d.ts +34 -0
  625. package/connectors/connect-yousign/node_modules/undici-types/content-type.d.ts +21 -0
  626. package/connectors/connect-yousign/node_modules/undici-types/cookies.d.ts +30 -0
  627. package/connectors/connect-yousign/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  628. package/connectors/connect-yousign/node_modules/undici-types/dispatcher.d.ts +276 -0
  629. package/connectors/connect-yousign/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  630. package/connectors/connect-yousign/node_modules/undici-types/errors.d.ts +161 -0
  631. package/connectors/connect-yousign/node_modules/undici-types/eventsource.d.ts +66 -0
  632. package/connectors/connect-yousign/node_modules/undici-types/fetch.d.ts +211 -0
  633. package/connectors/connect-yousign/node_modules/undici-types/formdata.d.ts +108 -0
  634. package/connectors/connect-yousign/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  635. package/connectors/connect-yousign/node_modules/undici-types/global-origin.d.ts +7 -0
  636. package/connectors/connect-yousign/node_modules/undici-types/h2c-client.d.ts +73 -0
  637. package/connectors/connect-yousign/node_modules/undici-types/handlers.d.ts +15 -0
  638. package/connectors/connect-yousign/node_modules/undici-types/header.d.ts +160 -0
  639. package/connectors/connect-yousign/node_modules/undici-types/index.d.ts +88 -0
  640. package/connectors/connect-yousign/node_modules/undici-types/interceptors.d.ts +73 -0
  641. package/connectors/connect-yousign/node_modules/undici-types/mock-agent.d.ts +68 -0
  642. package/connectors/connect-yousign/node_modules/undici-types/mock-call-history.d.ts +111 -0
  643. package/connectors/connect-yousign/node_modules/undici-types/mock-client.d.ts +27 -0
  644. package/connectors/connect-yousign/node_modules/undici-types/mock-errors.d.ts +12 -0
  645. package/connectors/connect-yousign/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  646. package/connectors/connect-yousign/node_modules/undici-types/mock-pool.d.ts +27 -0
  647. package/connectors/connect-yousign/node_modules/undici-types/package.json +55 -0
  648. package/connectors/connect-yousign/node_modules/undici-types/patch.d.ts +29 -0
  649. package/connectors/connect-yousign/node_modules/undici-types/pool-stats.d.ts +19 -0
  650. package/connectors/connect-yousign/node_modules/undici-types/pool.d.ts +41 -0
  651. package/connectors/connect-yousign/node_modules/undici-types/proxy-agent.d.ts +29 -0
  652. package/connectors/connect-yousign/node_modules/undici-types/readable.d.ts +68 -0
  653. package/connectors/connect-yousign/node_modules/undici-types/retry-agent.d.ts +8 -0
  654. package/connectors/connect-yousign/node_modules/undici-types/retry-handler.d.ts +125 -0
  655. package/connectors/connect-yousign/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  656. package/connectors/connect-yousign/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  657. package/connectors/connect-yousign/node_modules/undici-types/util.d.ts +18 -0
  658. package/connectors/connect-yousign/node_modules/undici-types/utility.d.ts +7 -0
  659. package/connectors/connect-yousign/node_modules/undici-types/webidl.d.ts +341 -0
  660. package/connectors/connect-yousign/node_modules/undici-types/websocket.d.ts +186 -0
  661. package/connectors/connect-yousign/package.json +52 -0
  662. package/connectors/connect-yousign/src/api/client.ts +119 -0
  663. package/connectors/connect-yousign/src/api/index.ts +221 -0
  664. package/connectors/connect-yousign/src/cli/index.ts +555 -0
  665. package/connectors/connect-yousign/src/index.ts +21 -0
  666. package/connectors/connect-yousign/src/types/index.ts +275 -0
  667. package/connectors/connect-yousign/src/utils/config.ts +121 -0
  668. package/connectors/connect-yousign/tsconfig.json +16 -0
  669. package/dashboard/dist/assets/index-CSlS3oNV.css +1 -0
  670. package/dashboard/dist/assets/index-sSIkMXYs.js +284 -0
  671. package/dashboard/dist/index.html +2 -2
  672. package/dist/index.d.ts +1 -1
  673. package/dist/index.js +22 -312
  674. package/dist/lib/installer.d.ts +7 -6
  675. package/dist/lib/registry.d.ts +1 -22
  676. package/dist/mcp/index.d.ts +1 -1
  677. package/dist/server/auth.d.ts +2 -4
  678. package/package.json +1 -2
  679. package/dashboard/dist/assets/index-DmR_QNtT.css +0 -1
  680. package/dashboard/dist/assets/index-Dp-apHbC.js +0 -284
  681. package/dist/db/agents.d.ts +0 -38
  682. package/dist/db/agents.test.d.ts +0 -1
  683. package/dist/db/database.d.ts +0 -7
  684. package/dist/db/jobs.d.ts +0 -53
  685. package/dist/db/jobs.test.d.ts +0 -1
  686. package/dist/db/locks.d.ts +0 -59
  687. package/dist/db/locks.test.d.ts +0 -1
  688. package/dist/db/promotions.d.ts +0 -5
  689. package/dist/db/promotions.test.d.ts +0 -1
  690. package/dist/db/rate.d.ts +0 -57
  691. package/dist/db/rate.test.d.ts +0 -1
  692. package/dist/db/usage.d.ts +0 -17
  693. package/dist/db/usage.test.d.ts +0 -1
  694. package/dist/db/workflows.d.ts +0 -26
  695. package/dist/db/workflows.test.d.ts +0 -1
  696. package/dist/lib/fuzzy.d.ts +0 -16
  697. package/dist/lib/fuzzy.test.d.ts +0 -1
  698. package/dist/lib/llm.d.ts +0 -38
  699. package/dist/lib/llm.test.d.ts +0 -1
  700. package/dist/lib/lock.d.ts +0 -22
  701. package/dist/lib/lock.test.d.ts +0 -1
  702. package/dist/lib/scheduler.d.ts +0 -20
  703. package/dist/lib/scheduler.test.d.ts +0 -1
  704. package/dist/lib/strip.d.ts +0 -20
  705. package/dist/lib/strip.test.d.ts +0 -1
  706. package/dist/lib/synonyms.d.ts +0 -12
  707. package/dist/lib/synonyms.test.d.ts +0 -1
  708. package/dist/lib/workflow-runner.d.ts +0 -22
package/bin/mcp.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
  // @bun
3
3
  var __create = Object.create;
4
4
  var __getProtoOf = Object.getPrototypeOf;
@@ -26,7 +26,6 @@ var __export = (target, all) => {
26
26
  set: (newValue) => all[name] = () => newValue
27
27
  });
28
28
  };
29
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
30
29
 
31
30
  // node_modules/ajv/dist/compile/codegen/code.js
32
31
  var require_code = __commonJS((exports) => {
@@ -4570,7 +4569,6 @@ var require_limitLength = __commonJS((exports) => {
4570
4569
  var require_pattern = __commonJS((exports) => {
4571
4570
  Object.defineProperty(exports, "__esModule", { value: true });
4572
4571
  var code_1 = require_code2();
4573
- var util_1 = require_util();
4574
4572
  var codegen_1 = require_codegen();
4575
4573
  var error2 = {
4576
4574
  message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`,
@@ -4583,18 +4581,10 @@ var require_pattern = __commonJS((exports) => {
4583
4581
  $data: true,
4584
4582
  error: error2,
4585
4583
  code(cxt) {
4586
- const { gen, data, $data, schema, schemaCode, it } = cxt;
4584
+ const { data, $data, schema, schemaCode, it } = cxt;
4587
4585
  const u = it.opts.unicodeRegExp ? "u" : "";
4588
- if ($data) {
4589
- const { regExp } = it.opts.code;
4590
- const regExpCode = regExp.code === "new RegExp" ? (0, codegen_1._)`new RegExp` : (0, util_1.useFunc)(gen, regExp);
4591
- const valid = gen.let("valid");
4592
- gen.try(() => gen.assign(valid, (0, codegen_1._)`${regExpCode}(${schemaCode}, ${u}).test(${data})`), () => gen.assign(valid, false));
4593
- cxt.fail$data((0, codegen_1._)`!${valid}`);
4594
- } else {
4595
- const regExp = (0, code_1.usePattern)(cxt, schema);
4596
- cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`);
4597
- }
4586
+ const regExp = $data ? (0, codegen_1._)`(new RegExp(${schemaCode}, ${u}))` : (0, code_1.usePattern)(cxt, schema);
4587
+ cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`);
4598
4588
  }
4599
4589
  };
4600
4590
  exports.default = def;
@@ -6287,7 +6277,7 @@ var require_formats = __commonJS((exports) => {
6287
6277
  }
6288
6278
  var TIME = /^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;
6289
6279
  function getTime(strictTimeZone) {
6290
- return function time(str) {
6280
+ return function time3(str) {
6291
6281
  const matches = TIME.exec(str);
6292
6282
  if (!matches)
6293
6283
  return false;
@@ -6500,895 +6490,6 @@ var require_dist = __commonJS((exports, module) => {
6500
6490
  exports.default = formatsPlugin;
6501
6491
  });
6502
6492
 
6503
- // src/lib/installer.ts
6504
- var exports_installer = {};
6505
- __export(exports_installer, {
6506
- removeConnector: () => removeConnector,
6507
- installConnectors: () => installConnectors,
6508
- installConnector: () => installConnector,
6509
- getInstalledConnectors: () => getInstalledConnectors,
6510
- getConnectorPath: () => getConnectorPath,
6511
- getConnectorDocs: () => getConnectorDocs,
6512
- connectorExists: () => connectorExists
6513
- });
6514
- import { existsSync as existsSync2, cpSync, mkdirSync, readFileSync as readFileSync2, writeFileSync, readdirSync, statSync, rmSync } from "fs";
6515
- import { homedir } from "os";
6516
- import { join as join2, dirname as dirname2 } from "path";
6517
- import { fileURLToPath as fileURLToPath2 } from "url";
6518
- function resolveConnectorsDir() {
6519
- const fromBin = join2(__dirname2, "..", "connectors");
6520
- if (existsSync2(fromBin))
6521
- return fromBin;
6522
- const fromSrc = join2(__dirname2, "..", "..", "connectors");
6523
- if (existsSync2(fromSrc))
6524
- return fromSrc;
6525
- return fromBin;
6526
- }
6527
- function getConnectorPath(name) {
6528
- const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
6529
- return join2(CONNECTORS_DIR, connectorName);
6530
- }
6531
- function connectorExists(name) {
6532
- return existsSync2(getConnectorPath(name));
6533
- }
6534
- function installConnector(name, options = {}) {
6535
- const { targetDir = process.cwd(), overwrite = false } = options;
6536
- if (!/^[a-z0-9-]+$/.test(name)) {
6537
- return {
6538
- connector: name,
6539
- success: false,
6540
- error: `Invalid connector name '${name}'`
6541
- };
6542
- }
6543
- const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
6544
- const sourcePath = getConnectorPath(name);
6545
- const destDir = join2(targetDir, ".connectors");
6546
- const destPath = join2(destDir, connectorName);
6547
- if (!existsSync2(sourcePath)) {
6548
- return {
6549
- connector: name,
6550
- success: false,
6551
- error: `Connector '${name}' not found`
6552
- };
6553
- }
6554
- if (existsSync2(destPath) && !overwrite) {
6555
- return {
6556
- connector: name,
6557
- success: false,
6558
- error: `Already installed. Use --overwrite to replace.`,
6559
- path: destPath
6560
- };
6561
- }
6562
- try {
6563
- if (!existsSync2(destDir)) {
6564
- mkdirSync(destDir, { recursive: true });
6565
- }
6566
- cpSync(sourcePath, destPath, { recursive: true });
6567
- const homeCredDir = join2(homedir(), ".connectors", connectorName);
6568
- if (existsSync2(homeCredDir)) {
6569
- const filesToCopy = ["credentials.json", "current_profile"];
6570
- for (const file of filesToCopy) {
6571
- const src = join2(homeCredDir, file);
6572
- if (existsSync2(src)) {
6573
- cpSync(src, join2(destPath, file));
6574
- }
6575
- }
6576
- const profilesDir = join2(homeCredDir, "profiles");
6577
- if (existsSync2(profilesDir)) {
6578
- cpSync(profilesDir, join2(destPath, "profiles"), { recursive: true });
6579
- }
6580
- }
6581
- updateConnectorsIndex(destDir);
6582
- return {
6583
- connector: name,
6584
- success: true,
6585
- path: destPath
6586
- };
6587
- } catch (error2) {
6588
- return {
6589
- connector: name,
6590
- success: false,
6591
- error: error2 instanceof Error ? error2.message : "Unknown error"
6592
- };
6593
- }
6594
- }
6595
- function installConnectors(names, options = {}) {
6596
- return names.map((name) => installConnector(name, options));
6597
- }
6598
- function updateConnectorsIndex(connectorsDir) {
6599
- const indexPath = join2(connectorsDir, "index.ts");
6600
- const connectors = readdirSync(connectorsDir).filter((f) => f.startsWith("connect-") && !f.includes("."));
6601
- const exports = connectors.map((c) => {
6602
- const name = c.replace("connect-", "");
6603
- return `export * as ${name} from './${c}/src/index.js';`;
6604
- }).join(`
6605
- `);
6606
- const content = `/**
6607
- * Auto-generated index of installed connectors
6608
- * Do not edit manually - run 'connectors install' to update
6609
- */
6610
-
6611
- ${exports}
6612
- `;
6613
- writeFileSync(indexPath, content);
6614
- }
6615
- function getInstalledConnectors(targetDir = process.cwd()) {
6616
- const connectorsDir = join2(targetDir, ".connectors");
6617
- if (!existsSync2(connectorsDir)) {
6618
- return [];
6619
- }
6620
- return readdirSync(connectorsDir).filter((f) => {
6621
- const fullPath = join2(connectorsDir, f);
6622
- return f.startsWith("connect-") && statSync(fullPath).isDirectory();
6623
- }).map((f) => f.replace("connect-", ""));
6624
- }
6625
- function getConnectorDocs(name) {
6626
- const connectorPath = getConnectorPath(name);
6627
- const claudeMdPath = join2(connectorPath, "CLAUDE.md");
6628
- if (!existsSync2(claudeMdPath))
6629
- return null;
6630
- const raw = readFileSync2(claudeMdPath, "utf-8");
6631
- return {
6632
- overview: extractSection(raw, "Project Overview"),
6633
- auth: extractSection(raw, "Authentication"),
6634
- envVars: parseEnvVarsTable(extractSection(raw, "Environment Variables")),
6635
- cliCommands: extractSection(raw, "CLI Commands"),
6636
- dataStorage: extractSection(raw, "Data Storage"),
6637
- raw
6638
- };
6639
- }
6640
- function extractSection(markdown, heading) {
6641
- const regex = new RegExp(`^##\\s+${escapeRegex2(heading)}\\s*$`, "m");
6642
- const match = regex.exec(markdown);
6643
- if (!match)
6644
- return "";
6645
- const start = match.index + match[0].length;
6646
- const nextHeading = markdown.slice(start).search(/^##\s/m);
6647
- const content = nextHeading === -1 ? markdown.slice(start) : markdown.slice(start, start + nextHeading);
6648
- return content.trim();
6649
- }
6650
- function escapeRegex2(str) {
6651
- return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
6652
- }
6653
- function parseEnvVarsTable(section) {
6654
- if (!section)
6655
- return [];
6656
- const vars = [];
6657
- const lines = section.split(`
6658
- `);
6659
- for (const line of lines) {
6660
- const match = line.match(/\|\s*`([^`]+)`\s*\|\s*(.+?)\s*\|/);
6661
- if (match && match[1] !== "Variable") {
6662
- vars.push({ variable: match[1], description: match[2].trim() });
6663
- }
6664
- }
6665
- return vars;
6666
- }
6667
- function removeConnector(name, targetDir = process.cwd()) {
6668
- const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
6669
- const connectorsDir = join2(targetDir, ".connectors");
6670
- const connectorPath = join2(connectorsDir, connectorName);
6671
- if (!existsSync2(connectorPath)) {
6672
- return false;
6673
- }
6674
- rmSync(connectorPath, { recursive: true });
6675
- updateConnectorsIndex(connectorsDir);
6676
- return true;
6677
- }
6678
- var __dirname2, CONNECTORS_DIR;
6679
- var init_installer = __esm(() => {
6680
- __dirname2 = dirname2(fileURLToPath2(import.meta.url));
6681
- CONNECTORS_DIR = resolveConnectorsDir();
6682
- });
6683
-
6684
- // src/db/database.ts
6685
- var exports_database = {};
6686
- __export(exports_database, {
6687
- shortUuid: () => shortUuid,
6688
- now: () => now,
6689
- getDatabase: () => getDatabase,
6690
- closeDatabase: () => closeDatabase
6691
- });
6692
- import { Database } from "bun:sqlite";
6693
- import { join as join6 } from "path";
6694
- import { homedir as homedir4 } from "os";
6695
- import { mkdirSync as mkdirSync4 } from "fs";
6696
- function getDatabase(path) {
6697
- if (_db)
6698
- return _db;
6699
- const dbPath = path ?? DB_PATH;
6700
- mkdirSync4(join6(dbPath, ".."), { recursive: true });
6701
- _db = new Database(dbPath);
6702
- _db.run("PRAGMA journal_mode = WAL");
6703
- migrate(_db);
6704
- return _db;
6705
- }
6706
- function closeDatabase() {
6707
- _db?.close();
6708
- _db = null;
6709
- }
6710
- function now() {
6711
- return new Date().toISOString();
6712
- }
6713
- function shortUuid() {
6714
- return crypto.randomUUID().slice(0, 8);
6715
- }
6716
- function migrate(db) {
6717
- db.run(`
6718
- CREATE TABLE IF NOT EXISTS agents (
6719
- id TEXT PRIMARY KEY,
6720
- name TEXT UNIQUE NOT NULL,
6721
- session_id TEXT,
6722
- role TEXT NOT NULL DEFAULT 'agent',
6723
- last_seen_at TEXT NOT NULL,
6724
- created_at TEXT NOT NULL
6725
- )
6726
- `);
6727
- db.run(`
6728
- CREATE TABLE IF NOT EXISTS resource_locks (
6729
- id TEXT PRIMARY KEY,
6730
- resource_type TEXT NOT NULL CHECK(resource_type IN ('connector', 'agent', 'profile', 'token')),
6731
- resource_id TEXT NOT NULL,
6732
- agent_id TEXT NOT NULL,
6733
- lock_type TEXT NOT NULL DEFAULT 'exclusive' CHECK(lock_type IN ('advisory', 'exclusive')),
6734
- locked_at TEXT NOT NULL DEFAULT (datetime('now')),
6735
- expires_at TEXT NOT NULL
6736
- )
6737
- `);
6738
- db.run(`
6739
- CREATE UNIQUE INDEX IF NOT EXISTS idx_resource_locks_exclusive
6740
- ON resource_locks(resource_type, resource_id)
6741
- WHERE lock_type = 'exclusive'
6742
- `);
6743
- db.run(`CREATE INDEX IF NOT EXISTS idx_resource_locks_agent ON resource_locks(agent_id)`);
6744
- db.run(`CREATE INDEX IF NOT EXISTS idx_resource_locks_expires ON resource_locks(expires_at)`);
6745
- db.run(`
6746
- CREATE TABLE IF NOT EXISTS connector_rate_usage (
6747
- agent_id TEXT NOT NULL,
6748
- connector TEXT NOT NULL,
6749
- window_start TEXT NOT NULL,
6750
- call_count INTEGER NOT NULL DEFAULT 0,
6751
- PRIMARY KEY (agent_id, connector, window_start)
6752
- )
6753
- `);
6754
- db.run(`CREATE INDEX IF NOT EXISTS idx_rate_usage_window ON connector_rate_usage(connector, window_start)`);
6755
- db.run(`
6756
- CREATE TABLE IF NOT EXISTS connector_jobs (
6757
- id TEXT PRIMARY KEY,
6758
- name TEXT UNIQUE NOT NULL,
6759
- connector TEXT NOT NULL,
6760
- command TEXT NOT NULL,
6761
- args TEXT NOT NULL DEFAULT '[]',
6762
- cron TEXT NOT NULL,
6763
- enabled INTEGER NOT NULL DEFAULT 1,
6764
- strip INTEGER NOT NULL DEFAULT 0,
6765
- created_at TEXT NOT NULL,
6766
- last_run_at TEXT
6767
- )
6768
- `);
6769
- db.run(`CREATE INDEX IF NOT EXISTS idx_jobs_enabled ON connector_jobs(enabled)`);
6770
- db.run(`
6771
- CREATE TABLE IF NOT EXISTS connector_job_runs (
6772
- id TEXT PRIMARY KEY,
6773
- job_id TEXT NOT NULL REFERENCES connector_jobs(id) ON DELETE CASCADE,
6774
- started_at TEXT NOT NULL,
6775
- finished_at TEXT,
6776
- exit_code INTEGER,
6777
- raw_output TEXT,
6778
- stripped_output TEXT
6779
- )
6780
- `);
6781
- db.run(`CREATE INDEX IF NOT EXISTS idx_job_runs_job ON connector_job_runs(job_id, started_at DESC)`);
6782
- db.run(`
6783
- CREATE TABLE IF NOT EXISTS connector_workflows (
6784
- id TEXT PRIMARY KEY,
6785
- name TEXT UNIQUE NOT NULL,
6786
- steps TEXT NOT NULL DEFAULT '[]',
6787
- enabled INTEGER NOT NULL DEFAULT 1,
6788
- created_at TEXT NOT NULL
6789
- )
6790
- `);
6791
- db.run(`
6792
- CREATE TABLE IF NOT EXISTS connector_usage (
6793
- id TEXT PRIMARY KEY,
6794
- connector TEXT NOT NULL,
6795
- action TEXT NOT NULL,
6796
- agent_id TEXT,
6797
- timestamp TEXT NOT NULL
6798
- )
6799
- `);
6800
- db.run(`CREATE INDEX IF NOT EXISTS idx_usage_connector ON connector_usage(connector, timestamp DESC)`);
6801
- db.run(`
6802
- CREATE TABLE IF NOT EXISTS connector_promotions (
6803
- connector TEXT UNIQUE NOT NULL,
6804
- promoted_at TEXT NOT NULL
6805
- )
6806
- `);
6807
- }
6808
- var DB_DIR, DB_PATH, _db = null;
6809
- var init_database = __esm(() => {
6810
- DB_DIR = join6(homedir4(), ".connectors");
6811
- DB_PATH = join6(DB_DIR, "connectors.db");
6812
- });
6813
-
6814
- // src/lib/llm.ts
6815
- var exports_llm = {};
6816
- __export(exports_llm, {
6817
- setLlmStrip: () => setLlmStrip,
6818
- saveLlmConfig: () => saveLlmConfig,
6819
- maskKey: () => maskKey,
6820
- isStripEnabled: () => isStripEnabled,
6821
- getLlmConfig: () => getLlmConfig,
6822
- PROVIDER_DEFAULTS: () => PROVIDER_DEFAULTS,
6823
- LLMClient: () => LLMClient
6824
- });
6825
- import { existsSync as existsSync6, readFileSync as readFileSync4, writeFileSync as writeFileSync3, mkdirSync as mkdirSync5 } from "fs";
6826
- import { join as join7 } from "path";
6827
- import { homedir as homedir5 } from "os";
6828
- function getLlmConfigPath() {
6829
- return join7(homedir5(), ".connectors", "llm.json");
6830
- }
6831
- function getLlmConfig() {
6832
- const path = getLlmConfigPath();
6833
- if (!existsSync6(path))
6834
- return null;
6835
- try {
6836
- return JSON.parse(readFileSync4(path, "utf-8"));
6837
- } catch {
6838
- return null;
6839
- }
6840
- }
6841
- function saveLlmConfig(config2) {
6842
- const dir = join7(homedir5(), ".connectors");
6843
- mkdirSync5(dir, { recursive: true });
6844
- writeFileSync3(getLlmConfigPath(), JSON.stringify(config2, null, 2));
6845
- }
6846
- function setLlmStrip(enabled) {
6847
- const config2 = getLlmConfig();
6848
- if (!config2)
6849
- throw new Error("No LLM config found. Run: connectors llm set --provider <provider> --key <key>");
6850
- saveLlmConfig({ ...config2, strip: enabled });
6851
- }
6852
- function isStripEnabled() {
6853
- return getLlmConfig()?.strip === true;
6854
- }
6855
- function maskKey(key) {
6856
- if (key.length <= 8)
6857
- return "***";
6858
- return key.slice(0, 8) + "***";
6859
- }
6860
-
6861
- class LLMClient {
6862
- config;
6863
- constructor(config2) {
6864
- this.config = config2;
6865
- }
6866
- static fromConfig() {
6867
- const config2 = getLlmConfig();
6868
- if (!config2)
6869
- return null;
6870
- return new LLMClient(config2);
6871
- }
6872
- async complete(prompt, content) {
6873
- const start = Date.now();
6874
- const { provider, model, api_key } = this.config;
6875
- if (provider === "anthropic") {
6876
- return this._anthropicComplete(prompt, content, start);
6877
- }
6878
- const baseUrl = PROVIDER_BASE_URLS[provider];
6879
- const response = await fetch(`${baseUrl}/chat/completions`, {
6880
- method: "POST",
6881
- headers: {
6882
- "Content-Type": "application/json",
6883
- Authorization: `Bearer ${api_key}`
6884
- },
6885
- body: JSON.stringify({
6886
- model,
6887
- messages: [
6888
- { role: "system", content: prompt },
6889
- { role: "user", content }
6890
- ],
6891
- temperature: 0,
6892
- max_tokens: 4096
6893
- })
6894
- });
6895
- if (!response.ok) {
6896
- const error2 = await response.text();
6897
- throw new Error(`LLM request failed (${provider} ${response.status}): ${error2}`);
6898
- }
6899
- const data = await response.json();
6900
- return {
6901
- content: data.choices[0].message.content,
6902
- provider,
6903
- model,
6904
- latency_ms: Date.now() - start
6905
- };
6906
- }
6907
- async _anthropicComplete(prompt, content, start) {
6908
- const { model, api_key } = this.config;
6909
- const response = await fetch("https://api.anthropic.com/v1/messages", {
6910
- method: "POST",
6911
- headers: {
6912
- "Content-Type": "application/json",
6913
- "x-api-key": api_key,
6914
- "anthropic-version": "2023-06-01"
6915
- },
6916
- body: JSON.stringify({
6917
- model,
6918
- system: prompt,
6919
- messages: [{ role: "user", content }],
6920
- max_tokens: 4096
6921
- })
6922
- });
6923
- if (!response.ok) {
6924
- const error2 = await response.text();
6925
- throw new Error(`LLM request failed (anthropic ${response.status}): ${error2}`);
6926
- }
6927
- const data = await response.json();
6928
- return {
6929
- content: data.content[0].text,
6930
- provider: "anthropic",
6931
- model,
6932
- latency_ms: Date.now() - start
6933
- };
6934
- }
6935
- }
6936
- var PROVIDER_BASE_URLS, PROVIDER_DEFAULTS;
6937
- var init_llm = __esm(() => {
6938
- PROVIDER_BASE_URLS = {
6939
- cerebras: "https://api.cerebras.ai/v1",
6940
- groq: "https://api.groq.com/openai/v1",
6941
- openai: "https://api.openai.com/v1"
6942
- };
6943
- PROVIDER_DEFAULTS = {
6944
- cerebras: { model: "qwen-3-32b" },
6945
- groq: { model: "llama-3.3-70b-versatile" },
6946
- openai: { model: "gpt-4o-mini" },
6947
- anthropic: { model: "claude-haiku-4-5-20251001" }
6948
- };
6949
- });
6950
-
6951
- // src/lib/strip.ts
6952
- async function maybeStrip(output, _type = "json") {
6953
- const config2 = getLlmConfig();
6954
- if (!config2?.strip)
6955
- return output;
6956
- if (!output || output.trim().length === 0)
6957
- return output;
6958
- const client = LLMClient.fromConfig();
6959
- if (!client)
6960
- return output;
6961
- try {
6962
- const result = await client.complete(STRIP_PROMPT, output);
6963
- return result.content.trim();
6964
- } catch {
6965
- return output;
6966
- }
6967
- }
6968
- var STRIP_PROMPT = `You are a data extraction assistant. Your job is to take raw API output and return ONLY the essential, structured data.
6969
-
6970
- Rules:
6971
- - Return valid JSON only (no markdown, no explanation)
6972
- - Remove pagination metadata, rate limit headers, empty fields, null values
6973
- - Keep all meaningful data fields
6974
- - If the input is already minimal, return it unchanged
6975
- - If input is not JSON, extract key facts as a JSON object
6976
- - Never truncate actual data values`;
6977
- var init_strip = __esm(() => {
6978
- init_llm();
6979
- });
6980
-
6981
- // src/db/promotions.ts
6982
- var exports_promotions = {};
6983
- __export(exports_promotions, {
6984
- promoteConnector: () => promoteConnector,
6985
- isPromoted: () => isPromoted,
6986
- getPromotedConnectors: () => getPromotedConnectors,
6987
- demoteConnector: () => demoteConnector
6988
- });
6989
- function promoteConnector(name, db) {
6990
- const d = db ?? getDatabase();
6991
- d.run("INSERT OR REPLACE INTO connector_promotions (connector, promoted_at) VALUES (?, ?)", [name, now()]);
6992
- }
6993
- function demoteConnector(name, db) {
6994
- const d = db ?? getDatabase();
6995
- return d.run("DELETE FROM connector_promotions WHERE connector = ?", [name]).changes > 0;
6996
- }
6997
- function getPromotedConnectors(db) {
6998
- const d = db ?? getDatabase();
6999
- return d.query("SELECT connector FROM connector_promotions ORDER BY promoted_at DESC").all().map((r) => r.connector);
7000
- }
7001
- function isPromoted(name, db) {
7002
- const d = db ?? getDatabase();
7003
- const row = d.query("SELECT 1 FROM connector_promotions WHERE connector = ?").get(name);
7004
- return !!row;
7005
- }
7006
- var init_promotions = __esm(() => {
7007
- init_database();
7008
- });
7009
-
7010
- // src/db/usage.ts
7011
- var exports_usage = {};
7012
- __export(exports_usage, {
7013
- logUsage: () => logUsage,
7014
- getUsageStats: () => getUsageStats,
7015
- getUsageMap: () => getUsageMap,
7016
- getTopConnectors: () => getTopConnectors,
7017
- cleanOldUsage: () => cleanOldUsage
7018
- });
7019
- function logUsage(connector, action, agentId, db) {
7020
- const d = db ?? getDatabase();
7021
- d.run("INSERT INTO connector_usage (id, connector, action, agent_id, timestamp) VALUES (?, ?, ?, ?, ?)", [shortUuid(), connector, action, agentId ?? null, now()]);
7022
- }
7023
- function getUsageStats(connector, db) {
7024
- const d = db ?? getDatabase();
7025
- const total = d.query("SELECT COUNT(*) as c FROM connector_usage WHERE connector = ?").get(connector).c;
7026
- const d7 = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString();
7027
- const last7d = d.query("SELECT COUNT(*) as c FROM connector_usage WHERE connector = ? AND timestamp > ?").get(connector, d7).c;
7028
- const d1 = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
7029
- const last24h = d.query("SELECT COUNT(*) as c FROM connector_usage WHERE connector = ? AND timestamp > ?").get(connector, d1).c;
7030
- return { connector, total, last7d, last24h };
7031
- }
7032
- function getTopConnectors(limit = 10, days = 7, db) {
7033
- const d = db ?? getDatabase();
7034
- const since = new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString();
7035
- return d.query("SELECT connector, COUNT(*) as count FROM connector_usage WHERE timestamp > ? GROUP BY connector ORDER BY count DESC LIMIT ?").all(since, limit);
7036
- }
7037
- function getUsageMap(days = 7, db) {
7038
- const top = getTopConnectors(100, days, db);
7039
- return new Map(top.map((t) => [t.connector, t.count]));
7040
- }
7041
- function cleanOldUsage(days = 30, db) {
7042
- const d = db ?? getDatabase();
7043
- const cutoff = new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString();
7044
- return d.run("DELETE FROM connector_usage WHERE timestamp < ?", [cutoff]).changes;
7045
- }
7046
- var init_usage = __esm(() => {
7047
- init_database();
7048
- });
7049
-
7050
- // src/db/jobs.ts
7051
- var exports_jobs = {};
7052
- __export(exports_jobs, {
7053
- updateJob: () => updateJob,
7054
- touchJobLastRun: () => touchJobLastRun,
7055
- listJobs: () => listJobs,
7056
- listJobRuns: () => listJobRuns,
7057
- listEnabledJobs: () => listEnabledJobs,
7058
- getLatestRun: () => getLatestRun,
7059
- getJobByName: () => getJobByName,
7060
- getJob: () => getJob,
7061
- finishJobRun: () => finishJobRun,
7062
- deleteJob: () => deleteJob,
7063
- createJobRun: () => createJobRun,
7064
- createJob: () => createJob
7065
- });
7066
- function rowToJob(row) {
7067
- return {
7068
- ...row,
7069
- args: JSON.parse(row.args || "[]"),
7070
- enabled: row.enabled === 1,
7071
- strip: row.strip === 1
7072
- };
7073
- }
7074
- function createJob(input, db) {
7075
- const d = db ?? getDatabase();
7076
- const id = shortUuid();
7077
- const ts = now();
7078
- d.run("INSERT INTO connector_jobs (id, name, connector, command, args, cron, enabled, strip, created_at) VALUES (?, ?, ?, ?, ?, ?, 1, ?, ?)", [id, input.name, input.connector, input.command, JSON.stringify(input.args ?? []), input.cron, input.strip ? 1 : 0, ts]);
7079
- return getJob(id, d);
7080
- }
7081
- function getJob(id, db) {
7082
- const d = db ?? getDatabase();
7083
- const row = d.query("SELECT * FROM connector_jobs WHERE id = ?").get(id);
7084
- return row ? rowToJob(row) : null;
7085
- }
7086
- function getJobByName(name, db) {
7087
- const d = db ?? getDatabase();
7088
- const row = d.query("SELECT * FROM connector_jobs WHERE name = ?").get(name);
7089
- return row ? rowToJob(row) : null;
7090
- }
7091
- function listJobs(db) {
7092
- const d = db ?? getDatabase();
7093
- return d.query("SELECT * FROM connector_jobs ORDER BY name").all().map(rowToJob);
7094
- }
7095
- function listEnabledJobs(db) {
7096
- const d = db ?? getDatabase();
7097
- return d.query("SELECT * FROM connector_jobs WHERE enabled = 1").all().map(rowToJob);
7098
- }
7099
- function updateJob(id, input, db) {
7100
- const d = db ?? getDatabase();
7101
- const sets = [];
7102
- const params = [];
7103
- if (input.name !== undefined) {
7104
- sets.push("name = ?");
7105
- params.push(input.name);
7106
- }
7107
- if (input.connector !== undefined) {
7108
- sets.push("connector = ?");
7109
- params.push(input.connector);
7110
- }
7111
- if (input.command !== undefined) {
7112
- sets.push("command = ?");
7113
- params.push(input.command);
7114
- }
7115
- if (input.args !== undefined) {
7116
- sets.push("args = ?");
7117
- params.push(JSON.stringify(input.args));
7118
- }
7119
- if (input.cron !== undefined) {
7120
- sets.push("cron = ?");
7121
- params.push(input.cron);
7122
- }
7123
- if (input.enabled !== undefined) {
7124
- sets.push("enabled = ?");
7125
- params.push(input.enabled ? 1 : 0);
7126
- }
7127
- if (input.strip !== undefined) {
7128
- sets.push("strip = ?");
7129
- params.push(input.strip ? 1 : 0);
7130
- }
7131
- if (sets.length === 0)
7132
- return getJob(id, d);
7133
- params.push(id);
7134
- d.run(`UPDATE connector_jobs SET ${sets.join(", ")} WHERE id = ?`, params);
7135
- return getJob(id, d);
7136
- }
7137
- function deleteJob(id, db) {
7138
- const d = db ?? getDatabase();
7139
- return d.run("DELETE FROM connector_jobs WHERE id = ?", [id]).changes > 0;
7140
- }
7141
- function touchJobLastRun(id, db) {
7142
- const d = db ?? getDatabase();
7143
- d.run("UPDATE connector_jobs SET last_run_at = ? WHERE id = ?", [now(), id]);
7144
- }
7145
- function createJobRun(jobId, db) {
7146
- const d = db ?? getDatabase();
7147
- const id = shortUuid();
7148
- const ts = now();
7149
- d.run("INSERT INTO connector_job_runs (id, job_id, started_at) VALUES (?, ?, ?)", [id, jobId, ts]);
7150
- return { id, job_id: jobId, started_at: ts, finished_at: null, exit_code: null, raw_output: null, stripped_output: null };
7151
- }
7152
- function finishJobRun(id, result, db) {
7153
- const d = db ?? getDatabase();
7154
- d.run("UPDATE connector_job_runs SET finished_at = ?, exit_code = ?, raw_output = ?, stripped_output = ? WHERE id = ?", [now(), result.exit_code, result.raw_output, result.stripped_output ?? null, id]);
7155
- }
7156
- function getLatestRun(jobId, db) {
7157
- const d = db ?? getDatabase();
7158
- return d.query("SELECT * FROM connector_job_runs WHERE job_id = ? ORDER BY started_at DESC LIMIT 1").get(jobId);
7159
- }
7160
- function listJobRuns(jobId, limit = 20, db) {
7161
- const d = db ?? getDatabase();
7162
- return d.query("SELECT * FROM connector_job_runs WHERE job_id = ? ORDER BY started_at DESC LIMIT ?").all(jobId, limit);
7163
- }
7164
- var init_jobs = __esm(() => {
7165
- init_database();
7166
- });
7167
-
7168
- // src/lib/scheduler.ts
7169
- var exports_scheduler = {};
7170
- __export(exports_scheduler, {
7171
- triggerJob: () => triggerJob,
7172
- stopScheduler: () => stopScheduler,
7173
- startScheduler: () => startScheduler
7174
- });
7175
- import { spawn as spawn2 } from "child_process";
7176
- function cronMatches(cron, d) {
7177
- const parts = cron.trim().split(/\s+/);
7178
- if (parts.length !== 5)
7179
- return false;
7180
- const [min, hour, dom, mon, dow] = parts;
7181
- function matches(field, value, min_v, max_v) {
7182
- if (field === "*")
7183
- return true;
7184
- if (field.startsWith("*/")) {
7185
- const step = parseInt(field.slice(2));
7186
- return value % step === 0;
7187
- }
7188
- if (field.includes("-")) {
7189
- const [a, b] = field.split("-").map(Number);
7190
- return value >= a && value <= b;
7191
- }
7192
- if (field.includes(",")) {
7193
- return field.split(",").map(Number).includes(value);
7194
- }
7195
- return parseInt(field) === value;
7196
- }
7197
- return matches(min, d.getMinutes(), 0, 59) && matches(hour, d.getHours(), 0, 23) && matches(dom, d.getDate(), 1, 31) && matches(mon, d.getMonth() + 1, 1, 12) && matches(dow, d.getDay(), 0, 6);
7198
- }
7199
- async function runConnectorCommand2(connector, command, args) {
7200
- return new Promise((resolve) => {
7201
- const cmdArgs = [connector, command, ...args, "--format", "json"];
7202
- const proc = spawn2("connectors", ["run", ...cmdArgs], { shell: false });
7203
- let output = "";
7204
- proc.stdout.on("data", (d) => {
7205
- output += d.toString();
7206
- });
7207
- proc.stderr.on("data", (d) => {
7208
- output += d.toString();
7209
- });
7210
- proc.on("close", (code) => resolve({ exitCode: code ?? 1, output }));
7211
- proc.on("error", () => resolve({ exitCode: 1, output: `Failed to spawn connectors run` }));
7212
- setTimeout(() => {
7213
- proc.kill();
7214
- resolve({ exitCode: 124, output: output + `
7215
- [timeout]` });
7216
- }, 60000);
7217
- });
7218
- }
7219
- async function executeJob(job, db) {
7220
- const run = createJobRun(job.id, db);
7221
- try {
7222
- const { exitCode, output } = await runConnectorCommand2(job.connector, job.command, job.args);
7223
- const stripped = job.strip ? await maybeStrip(output) : undefined;
7224
- finishJobRun(run.id, { exit_code: exitCode, raw_output: output, stripped_output: stripped }, db);
7225
- touchJobLastRun(job.id, db);
7226
- } catch (e) {
7227
- finishJobRun(run.id, { exit_code: 1, raw_output: String(e) }, db);
7228
- }
7229
- }
7230
- function startScheduler(db) {
7231
- if (_interval)
7232
- return;
7233
- _interval = setInterval(async () => {
7234
- const now3 = new Date;
7235
- const currentMinute = now3.getMinutes() + now3.getHours() * 60;
7236
- if (currentMinute === _lastCheckedMinute)
7237
- return;
7238
- _lastCheckedMinute = currentMinute;
7239
- const jobs = listEnabledJobs(db);
7240
- for (const job of jobs) {
7241
- if (cronMatches(job.cron, now3)) {
7242
- executeJob(job, db).catch(() => {});
7243
- }
7244
- }
7245
- }, 30000);
7246
- }
7247
- function stopScheduler() {
7248
- if (_interval) {
7249
- clearInterval(_interval);
7250
- _interval = null;
7251
- _lastCheckedMinute = -1;
7252
- }
7253
- }
7254
- async function triggerJob(job, db) {
7255
- const run = createJobRun(job.id, db);
7256
- const { exitCode, output } = await runConnectorCommand2(job.connector, job.command, job.args);
7257
- const stripped = job.strip ? await maybeStrip(output) : undefined;
7258
- finishJobRun(run.id, { exit_code: exitCode, raw_output: output, stripped_output: stripped }, db);
7259
- touchJobLastRun(job.id, db);
7260
- return { run_id: run.id, exit_code: exitCode, output: stripped ?? output };
7261
- }
7262
- var _interval = null, _lastCheckedMinute = -1;
7263
- var init_scheduler = __esm(() => {
7264
- init_jobs();
7265
- init_strip();
7266
- });
7267
-
7268
- // src/db/workflows.ts
7269
- var exports_workflows = {};
7270
- __export(exports_workflows, {
7271
- updateWorkflow: () => updateWorkflow,
7272
- listWorkflows: () => listWorkflows,
7273
- getWorkflowByName: () => getWorkflowByName,
7274
- getWorkflow: () => getWorkflow,
7275
- deleteWorkflow: () => deleteWorkflow,
7276
- createWorkflow: () => createWorkflow
7277
- });
7278
- function rowToWorkflow(row) {
7279
- return {
7280
- ...row,
7281
- steps: JSON.parse(row.steps || "[]"),
7282
- enabled: row.enabled === 1
7283
- };
7284
- }
7285
- function createWorkflow(input, db) {
7286
- const d = db ?? getDatabase();
7287
- const id = shortUuid();
7288
- d.run("INSERT INTO connector_workflows (id, name, steps, enabled, created_at) VALUES (?, ?, ?, 1, ?)", [id, input.name, JSON.stringify(input.steps), now()]);
7289
- return getWorkflow(id, d);
7290
- }
7291
- function getWorkflow(id, db) {
7292
- const d = db ?? getDatabase();
7293
- const row = d.query("SELECT * FROM connector_workflows WHERE id = ?").get(id);
7294
- return row ? rowToWorkflow(row) : null;
7295
- }
7296
- function getWorkflowByName(name, db) {
7297
- const d = db ?? getDatabase();
7298
- const row = d.query("SELECT * FROM connector_workflows WHERE name = ?").get(name);
7299
- return row ? rowToWorkflow(row) : null;
7300
- }
7301
- function listWorkflows(db) {
7302
- const d = db ?? getDatabase();
7303
- return d.query("SELECT * FROM connector_workflows ORDER BY name").all().map(rowToWorkflow);
7304
- }
7305
- function updateWorkflow(id, input, db) {
7306
- const d = db ?? getDatabase();
7307
- const sets = [];
7308
- const params = [];
7309
- if (input.name !== undefined) {
7310
- sets.push("name = ?");
7311
- params.push(input.name);
7312
- }
7313
- if (input.steps !== undefined) {
7314
- sets.push("steps = ?");
7315
- params.push(JSON.stringify(input.steps));
7316
- }
7317
- if (input.enabled !== undefined) {
7318
- sets.push("enabled = ?");
7319
- params.push(input.enabled ? 1 : 0);
7320
- }
7321
- if (sets.length === 0)
7322
- return getWorkflow(id, d);
7323
- params.push(id);
7324
- d.run(`UPDATE connector_workflows SET ${sets.join(", ")} WHERE id = ?`, params);
7325
- return getWorkflow(id, d);
7326
- }
7327
- function deleteWorkflow(id, db) {
7328
- const d = db ?? getDatabase();
7329
- return d.run("DELETE FROM connector_workflows WHERE id = ?", [id]).changes > 0;
7330
- }
7331
- var init_workflows = __esm(() => {
7332
- init_database();
7333
- });
7334
-
7335
- // src/lib/workflow-runner.ts
7336
- var exports_workflow_runner = {};
7337
- __export(exports_workflow_runner, {
7338
- runWorkflow: () => runWorkflow
7339
- });
7340
- import { spawn as spawn3 } from "child_process";
7341
- async function runStep(step, previousOutput) {
7342
- return new Promise((resolve) => {
7343
- const args = [...step.args ?? []];
7344
- if (previousOutput && previousOutput.trim()) {
7345
- args.push("--input", previousOutput.trim().slice(0, 4096));
7346
- }
7347
- const cmdArgs = ["run", step.connector, step.command, ...args, "--format", "json"];
7348
- const proc = spawn3("connectors", cmdArgs, { shell: false });
7349
- let output = "";
7350
- proc.stdout.on("data", (d) => {
7351
- output += d.toString();
7352
- });
7353
- proc.stderr.on("data", (d) => {
7354
- output += d.toString();
7355
- });
7356
- proc.on("close", (code) => resolve({ exitCode: code ?? 1, output }));
7357
- proc.on("error", () => resolve({ exitCode: 1, output: "Failed to spawn connectors" }));
7358
- setTimeout(() => {
7359
- proc.kill();
7360
- resolve({ exitCode: 124, output: output + `
7361
- [timeout]` });
7362
- }, 60000);
7363
- });
7364
- }
7365
- async function runWorkflow(workflow) {
7366
- const results = [];
7367
- let previousOutput;
7368
- let success = true;
7369
- for (let i = 0;i < workflow.steps.length; i++) {
7370
- const step = workflow.steps[i];
7371
- const { exitCode, output } = await runStep(step, previousOutput);
7372
- const stripped = await maybeStrip(output);
7373
- results.push({ step: i + 1, connector: step.connector, command: step.command, exit_code: exitCode, output: stripped });
7374
- if (exitCode !== 0) {
7375
- success = false;
7376
- break;
7377
- }
7378
- previousOutput = stripped;
7379
- }
7380
- return {
7381
- workflow_id: workflow.id,
7382
- workflow_name: workflow.name,
7383
- steps: results,
7384
- success,
7385
- final_output: results[results.length - 1]?.output ?? ""
7386
- };
7387
- }
7388
- var init_workflow_runner = __esm(() => {
7389
- init_strip();
7390
- });
7391
-
7392
6493
  // node_modules/zod/v3/external.js
7393
6494
  var exports_external = {};
7394
6495
  __export(exports_external, {
@@ -19010,62 +18111,6 @@ class ExperimentalServerTasks {
19010
18111
  requestStream(request, resultSchema, options) {
19011
18112
  return this._server.requestStream(request, resultSchema, options);
19012
18113
  }
19013
- createMessageStream(params, options) {
19014
- const clientCapabilities = this._server.getClientCapabilities();
19015
- if ((params.tools || params.toolChoice) && !clientCapabilities?.sampling?.tools) {
19016
- throw new Error("Client does not support sampling tools capability.");
19017
- }
19018
- if (params.messages.length > 0) {
19019
- const lastMessage = params.messages[params.messages.length - 1];
19020
- const lastContent = Array.isArray(lastMessage.content) ? lastMessage.content : [lastMessage.content];
19021
- const hasToolResults = lastContent.some((c) => c.type === "tool_result");
19022
- const previousMessage = params.messages.length > 1 ? params.messages[params.messages.length - 2] : undefined;
19023
- const previousContent = previousMessage ? Array.isArray(previousMessage.content) ? previousMessage.content : [previousMessage.content] : [];
19024
- const hasPreviousToolUse = previousContent.some((c) => c.type === "tool_use");
19025
- if (hasToolResults) {
19026
- if (lastContent.some((c) => c.type !== "tool_result")) {
19027
- throw new Error("The last message must contain only tool_result content if any is present");
19028
- }
19029
- if (!hasPreviousToolUse) {
19030
- throw new Error("tool_result blocks are not matching any tool_use from the previous message");
19031
- }
19032
- }
19033
- if (hasPreviousToolUse) {
19034
- const toolUseIds = new Set(previousContent.filter((c) => c.type === "tool_use").map((c) => c.id));
19035
- const toolResultIds = new Set(lastContent.filter((c) => c.type === "tool_result").map((c) => c.toolUseId));
19036
- if (toolUseIds.size !== toolResultIds.size || ![...toolUseIds].every((id) => toolResultIds.has(id))) {
19037
- throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match");
19038
- }
19039
- }
19040
- }
19041
- return this.requestStream({
19042
- method: "sampling/createMessage",
19043
- params
19044
- }, CreateMessageResultSchema, options);
19045
- }
19046
- elicitInputStream(params, options) {
19047
- const clientCapabilities = this._server.getClientCapabilities();
19048
- const mode = params.mode ?? "form";
19049
- switch (mode) {
19050
- case "url": {
19051
- if (!clientCapabilities?.elicitation?.url) {
19052
- throw new Error("Client does not support url elicitation.");
19053
- }
19054
- break;
19055
- }
19056
- case "form": {
19057
- if (!clientCapabilities?.elicitation?.form) {
19058
- throw new Error("Client does not support form elicitation.");
19059
- }
19060
- break;
19061
- }
19062
- }
19063
- const normalizedParams = mode === "form" && params.mode === undefined ? { ...params, mode: "form" } : params;
19064
- return this.requestStream({
19065
- method: "elicitation/create",
19066
- params: normalizedParams
19067
- }, ElicitResultSchema, options);
19068
- }
19069
18114
  async getTask(taskId, options) {
19070
18115
  return this._server.getTask({ taskId }, options);
19071
18116
  }
@@ -20349,94 +19394,6 @@ class StdioServerTransport {
20349
19394
  import { existsSync, readFileSync } from "fs";
20350
19395
  import { join, dirname } from "path";
20351
19396
  import { fileURLToPath } from "url";
20352
-
20353
- // src/lib/fuzzy.ts
20354
- function levenshtein(a, b) {
20355
- const m = a.length;
20356
- const n = b.length;
20357
- if (m === 0)
20358
- return n;
20359
- if (n === 0)
20360
- return m;
20361
- let prev = new Array(n + 1);
20362
- let curr = new Array(n + 1);
20363
- for (let j = 0;j <= n; j++)
20364
- prev[j] = j;
20365
- for (let i = 1;i <= m; i++) {
20366
- curr[0] = i;
20367
- for (let j = 1;j <= n; j++) {
20368
- const cost = a[i - 1] === b[j - 1] ? 0 : 1;
20369
- curr[j] = Math.min(curr[j - 1] + 1, prev[j] + 1, prev[j - 1] + cost);
20370
- }
20371
- [prev, curr] = [curr, prev];
20372
- }
20373
- return prev[n];
20374
- }
20375
- function bestFuzzyScore(token, candidates, maxDistance = 2) {
20376
- if (token.length < 3)
20377
- return 0;
20378
- let bestDist = maxDistance + 1;
20379
- for (const c of candidates) {
20380
- if (Math.abs(token.length - c.length) > maxDistance)
20381
- continue;
20382
- const d = levenshtein(token, c);
20383
- if (d < bestDist)
20384
- bestDist = d;
20385
- if (d === 0)
20386
- return maxDistance + 1;
20387
- }
20388
- if (bestDist > maxDistance)
20389
- return 0;
20390
- return maxDistance - bestDist + 1;
20391
- }
20392
-
20393
- // src/lib/synonyms.ts
20394
- var SYNONYM_MAP = {
20395
- email: ["smtp", "mail", "inbox", "resend", "ses"],
20396
- chat: ["messaging", "im", "slack", "discord", "teams"],
20397
- sms: ["text", "twilio", "messaging"],
20398
- payment: ["billing", "invoicing", "commerce", "checkout", "stripe"],
20399
- payments: ["billing", "invoicing", "commerce", "checkout", "stripe"],
20400
- ecommerce: ["shop", "store", "commerce", "shopify"],
20401
- finance: ["banking", "accounting", "invoicing"],
20402
- crypto: ["blockchain", "web3", "wallet"],
20403
- ai: ["llm", "ml", "model", "gpt", "claude", "anthropic", "openai"],
20404
- llm: ["ai", "model", "gpt", "claude"],
20405
- auth: ["oauth", "sso", "login", "identity", "authentication"],
20406
- database: ["db", "sql", "nosql", "postgres", "mongo", "supabase"],
20407
- deploy: ["hosting", "infrastructure", "ci", "cd", "vercel"],
20408
- storage: ["files", "drive", "s3", "bucket", "upload"],
20409
- cloud: ["aws", "gcp", "azure", "infrastructure"],
20410
- api: ["rest", "graphql", "endpoint", "webhook"],
20411
- monitoring: ["logs", "observability", "alerting", "datadog", "sentry"],
20412
- ci: ["cd", "deploy", "pipeline", "github", "actions"],
20413
- crm: ["sales", "leads", "contacts", "hubspot", "salesforce"],
20414
- analytics: ["data", "metrics", "tracking", "mixpanel", "amplitude"],
20415
- project: ["task", "issue", "board", "jira", "linear", "asana"],
20416
- docs: ["documentation", "wiki", "notion", "confluence"],
20417
- design: ["figma", "sketch", "ui", "ux"],
20418
- security: ["auth", "encryption", "compliance", "vault"]
20419
- };
20420
- function expandQuery(tokens) {
20421
- const synonyms = new Set;
20422
- for (const token of tokens) {
20423
- const matches = SYNONYM_MAP[token];
20424
- if (matches) {
20425
- for (const syn of matches) {
20426
- if (!tokens.includes(syn))
20427
- synonyms.add(syn);
20428
- }
20429
- }
20430
- for (const [key, values] of Object.entries(SYNONYM_MAP)) {
20431
- if (values.includes(token) && !tokens.includes(key)) {
20432
- synonyms.add(key);
20433
- }
20434
- }
20435
- }
20436
- return { original: tokens, expanded: [...synonyms] };
20437
- }
20438
-
20439
- // src/lib/registry.ts
20440
19397
  var CATEGORIES = [
20441
19398
  "AI & ML",
20442
19399
  "Developer Tools",
@@ -25322,6 +24279,13 @@ var CONNECTORS = [
25322
24279
  category: "Business Tools",
25323
24280
  tags: ["e-signature", "contracts", "digital", "documents", "legal"]
25324
24281
  },
24282
+ {
24283
+ name: "yousign",
24284
+ displayName: "Yousign",
24285
+ description: "eIDAS-compliant electronic signature API for EU workflows",
24286
+ category: "Business Tools",
24287
+ tags: ["e-signature", "eidas", "contracts", "documents", "legal", "eu"]
24288
+ },
25325
24289
  {
25326
24290
  name: "signl4",
25327
24291
  displayName: "SIGNL4",
@@ -26355,152 +25319,9 @@ var CONNECTORS = [
26355
25319
  function getConnectorsByCategory(category) {
26356
25320
  return CONNECTORS.filter((c) => c.category === category);
26357
25321
  }
26358
- function searchConnectors(query, context) {
26359
- const tokens = query.toLowerCase().trim().split(/\s+/).filter(Boolean);
26360
- if (tokens.length === 0)
26361
- return [];
26362
- const limit = context?.limit ?? 20;
26363
- const installed = new Set(context?.installed ?? []);
26364
- const promoted = new Set(context?.promoted ?? []);
26365
- const usage = context?.usage ?? new Map;
26366
- const results = [];
26367
- for (const c of CONNECTORS) {
26368
- const nameLow = c.name.toLowerCase();
26369
- const displayLow = c.displayName.toLowerCase();
26370
- const descLow = c.description.toLowerCase();
26371
- const tagsLow = c.tags.map((t) => t.toLowerCase());
26372
- let score = 0;
26373
- const matchReasons = [];
26374
- let allTokensMatch = true;
26375
- for (const token of tokens) {
26376
- let tokenMatched = false;
26377
- if (nameLow === token) {
26378
- score += 100;
26379
- matchReasons.push(`name="${token}"`);
26380
- tokenMatched = true;
26381
- } else if (nameLow.includes(token)) {
26382
- score += 10;
26383
- matchReasons.push(`name~${token}`);
26384
- tokenMatched = true;
26385
- }
26386
- if (tagsLow.includes(token)) {
26387
- score += 8;
26388
- if (!tokenMatched)
26389
- matchReasons.push(`tag="${token}"`);
26390
- tokenMatched = true;
26391
- } else if (tagsLow.some((t) => t.includes(token))) {
26392
- score += 5;
26393
- if (!tokenMatched)
26394
- matchReasons.push(`tag~${token}`);
26395
- tokenMatched = true;
26396
- }
26397
- if (displayLow.includes(token)) {
26398
- score += 3;
26399
- if (!tokenMatched)
26400
- matchReasons.push(`display~${token}`);
26401
- tokenMatched = true;
26402
- }
26403
- if (descLow.includes(token)) {
26404
- score += 1;
26405
- if (!tokenMatched)
26406
- matchReasons.push(`desc~${token}`);
26407
- tokenMatched = true;
26408
- }
26409
- if (!tokenMatched && token.length >= 3) {
26410
- const nameFuzzy = bestFuzzyScore(token, [nameLow], 1);
26411
- if (nameFuzzy > 0) {
26412
- score += nameFuzzy * 6;
26413
- matchReasons.push(`fuzzy:name\u2248${token}`);
26414
- tokenMatched = true;
26415
- }
26416
- if (!tokenMatched) {
26417
- const tagFuzzy = bestFuzzyScore(token, tagsLow, 2);
26418
- if (tagFuzzy > 0) {
26419
- score += tagFuzzy * 3;
26420
- matchReasons.push(`fuzzy:tag\u2248${token}`);
26421
- tokenMatched = true;
26422
- }
26423
- }
26424
- if (!tokenMatched) {
26425
- const displayFuzzy = bestFuzzyScore(token, [displayLow], 2);
26426
- if (displayFuzzy > 0) {
26427
- score += displayFuzzy * 2;
26428
- matchReasons.push(`fuzzy:display\u2248${token}`);
26429
- tokenMatched = true;
26430
- }
26431
- }
26432
- }
26433
- if (!tokenMatched) {
26434
- allTokensMatch = false;
26435
- break;
26436
- }
26437
- }
26438
- if (!allTokensMatch)
26439
- continue;
26440
- const badges = [];
26441
- if (installed.has(c.name)) {
26442
- score += 50;
26443
- badges.push("installed");
26444
- }
26445
- if (promoted.has(c.name)) {
26446
- score += 30;
26447
- badges.push("promoted");
26448
- }
26449
- const usageCount = usage.get(c.name) ?? 0;
26450
- if (usageCount > 0) {
26451
- score += Math.min(usageCount * 2, 40);
26452
- if (usageCount >= 5)
26453
- badges.push("hot");
26454
- }
26455
- results.push({ ...c, score, matchReasons, badges });
26456
- }
26457
- const matchedNames = new Set(results.map((r) => r.name));
26458
- if (results.length < limit) {
26459
- const { expanded } = expandQuery(tokens);
26460
- if (expanded.length > 0) {
26461
- for (const c of CONNECTORS) {
26462
- if (matchedNames.has(c.name))
26463
- continue;
26464
- const nameLow2 = c.name.toLowerCase();
26465
- const tagsLow2 = c.tags.map((t) => t.toLowerCase());
26466
- const descLow2 = c.description.toLowerCase();
26467
- let synScore = 0;
26468
- const synReasons = [];
26469
- for (const syn of expanded) {
26470
- if (nameLow2.includes(syn)) {
26471
- synScore += 2;
26472
- synReasons.push(`syn:name~${syn}`);
26473
- } else if (tagsLow2.some((t) => t.includes(syn))) {
26474
- synScore += 1;
26475
- synReasons.push(`syn:tag~${syn}`);
26476
- } else if (descLow2.includes(syn)) {
26477
- synScore += 1;
26478
- synReasons.push(`syn:desc~${syn}`);
26479
- }
26480
- }
26481
- if (synScore > 0) {
26482
- const badges = [];
26483
- if (installed.has(c.name)) {
26484
- synScore += 50;
26485
- badges.push("installed");
26486
- }
26487
- if (promoted.has(c.name)) {
26488
- synScore += 30;
26489
- badges.push("promoted");
26490
- }
26491
- const usageCount = usage.get(c.name) ?? 0;
26492
- if (usageCount > 0) {
26493
- synScore += Math.min(usageCount * 2, 40);
26494
- if (usageCount >= 5)
26495
- badges.push("hot");
26496
- }
26497
- results.push({ ...c, score: synScore, matchReasons: synReasons, badges });
26498
- }
26499
- }
26500
- }
26501
- }
26502
- results.sort((a, b) => b.score - a.score);
26503
- return results.slice(0, limit);
25322
+ function searchConnectors(query) {
25323
+ const q = query.toLowerCase();
25324
+ return CONNECTORS.filter((c) => c.name.toLowerCase().includes(q) || c.displayName.toLowerCase().includes(q) || c.description.toLowerCase().includes(q) || c.tags.some((t) => t.includes(q)));
26504
25325
  }
26505
25326
  function getConnector(name) {
26506
25327
  return CONNECTORS.find((c) => c.name === name);
@@ -26529,83 +25350,106 @@ function loadConnectorVersions() {
26529
25350
  }
26530
25351
  }
26531
25352
 
26532
- // src/mcp/index.ts
26533
- init_installer();
26534
-
26535
- // src/server/auth.ts
26536
- import { existsSync as existsSync4, readFileSync as readFileSync3, writeFileSync as writeFileSync2, mkdirSync as mkdirSync3, readdirSync as readdirSync2, rmSync as rmSync2, statSync as statSync3 } from "fs";
26537
- init_installer();
26538
- import { homedir as homedir3 } from "os";
26539
- import { join as join4 } from "path";
26540
-
26541
- // src/lib/lock.ts
26542
- import { openSync, closeSync, unlinkSync, existsSync as existsSync3, statSync as statSync2 } from "fs";
26543
- import { join as join3 } from "path";
26544
- import { homedir as homedir2 } from "os";
26545
- import { mkdirSync as mkdirSync2 } from "fs";
26546
- var LOCK_TIMEOUT_MS = 5000;
26547
- var LOCK_RETRY_MS = 100;
26548
- var STALE_LOCK_MS = 30000;
26549
-
26550
- class LockTimeoutError extends Error {
26551
- connector;
26552
- constructor(connector) {
26553
- super(`Could not acquire write lock for connector "${connector}" within ${LOCK_TIMEOUT_MS}ms. Another agent may be writing. Try again shortly.`);
26554
- this.connector = connector;
26555
- this.name = "LockTimeoutError";
26556
- }
25353
+ // src/lib/installer.ts
25354
+ import { existsSync as existsSync2, readFileSync as readFileSync2, readdirSync, statSync } from "fs";
25355
+ import { join as join2, dirname as dirname2 } from "path";
25356
+ import { fileURLToPath as fileURLToPath2 } from "url";
25357
+ var __dirname2 = dirname2(fileURLToPath2(import.meta.url));
25358
+ function resolveConnectorsDir() {
25359
+ const fromBin = join2(__dirname2, "..", "connectors");
25360
+ if (existsSync2(fromBin))
25361
+ return fromBin;
25362
+ const fromSrc = join2(__dirname2, "..", "..", "connectors");
25363
+ if (existsSync2(fromSrc))
25364
+ return fromSrc;
25365
+ return fromBin;
26557
25366
  }
26558
- function lockPath(connector) {
26559
- const dir = join3(homedir2(), ".connectors", `connect-${connector}`);
26560
- mkdirSync2(dir, { recursive: true });
26561
- return join3(dir, ".write.lock");
25367
+ var CONNECTORS_DIR = resolveConnectorsDir();
25368
+ function getConnectorPath(name) {
25369
+ const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
25370
+ return join2(CONNECTORS_DIR, connectorName);
26562
25371
  }
26563
- function isStale(path) {
26564
- try {
26565
- const stat = statSync2(path);
26566
- return Date.now() - stat.mtimeMs > STALE_LOCK_MS;
26567
- } catch {
26568
- return false;
25372
+ function installConnector(name, options = {}) {
25373
+ if (!/^[a-z0-9-]+$/.test(name)) {
25374
+ return {
25375
+ connector: name,
25376
+ success: false,
25377
+ error: `Invalid connector name '${name}'`
25378
+ };
26569
25379
  }
26570
- }
26571
- function tryAcquire(path) {
26572
- if (existsSync3(path) && isStale(path)) {
26573
- try {
26574
- unlinkSync(path);
26575
- } catch {}
25380
+ const sourcePath = getConnectorPath(name);
25381
+ if (!existsSync2(sourcePath)) {
25382
+ return {
25383
+ connector: name,
25384
+ success: false,
25385
+ error: `Connector '${name}' not found`
25386
+ };
26576
25387
  }
26577
- try {
26578
- const fd = openSync(path, "wx");
26579
- closeSync(fd);
26580
- return true;
26581
- } catch (e) {
26582
- if (e.code === "EEXIST")
26583
- return false;
26584
- throw e;
25388
+ return {
25389
+ connector: name,
25390
+ success: true,
25391
+ path: sourcePath
25392
+ };
25393
+ }
25394
+ function getInstalledConnectors() {
25395
+ if (!existsSync2(CONNECTORS_DIR)) {
25396
+ return [];
26585
25397
  }
25398
+ return readdirSync(CONNECTORS_DIR).filter((f) => {
25399
+ const fullPath = join2(CONNECTORS_DIR, f);
25400
+ return f.startsWith("connect-") && statSync(fullPath).isDirectory();
25401
+ }).map((f) => f.replace("connect-", ""));
26586
25402
  }
26587
- function release(path) {
26588
- try {
26589
- unlinkSync(path);
26590
- } catch {}
26591
- }
26592
- async function withWriteLock(connector, fn) {
26593
- const path = lockPath(connector);
26594
- const deadline = Date.now() + LOCK_TIMEOUT_MS;
26595
- while (Date.now() < deadline) {
26596
- if (tryAcquire(path)) {
26597
- try {
26598
- return await fn();
26599
- } finally {
26600
- release(path);
26601
- }
25403
+ function getConnectorDocs(name) {
25404
+ const connectorPath = getConnectorPath(name);
25405
+ const claudeMdPath = join2(connectorPath, "CLAUDE.md");
25406
+ if (!existsSync2(claudeMdPath))
25407
+ return null;
25408
+ const raw = readFileSync2(claudeMdPath, "utf-8");
25409
+ return {
25410
+ overview: extractSection(raw, "Project Overview"),
25411
+ auth: extractSection(raw, "Authentication"),
25412
+ envVars: parseEnvVarsTable(extractSection(raw, "Environment Variables")),
25413
+ cliCommands: extractSection(raw, "CLI Commands"),
25414
+ dataStorage: extractSection(raw, "Data Storage"),
25415
+ raw
25416
+ };
25417
+ }
25418
+ function extractSection(markdown, heading) {
25419
+ const regex = new RegExp(`^##\\s+${escapeRegex2(heading)}\\s*$`, "m");
25420
+ const match = regex.exec(markdown);
25421
+ if (!match)
25422
+ return "";
25423
+ const start = match.index + match[0].length;
25424
+ const nextHeading = markdown.slice(start).search(/^##\s/m);
25425
+ const content = nextHeading === -1 ? markdown.slice(start) : markdown.slice(start, start + nextHeading);
25426
+ return content.trim();
25427
+ }
25428
+ function escapeRegex2(str) {
25429
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
25430
+ }
25431
+ function parseEnvVarsTable(section) {
25432
+ if (!section)
25433
+ return [];
25434
+ const vars = [];
25435
+ const lines = section.split(`
25436
+ `);
25437
+ for (const line of lines) {
25438
+ const match = line.match(/\|\s*`([^`]+)`\s*\|\s*(.+?)\s*\|/);
25439
+ if (match && match[1] !== "Variable") {
25440
+ vars.push({ variable: match[1], description: match[2].trim() });
26602
25441
  }
26603
- await new Promise((resolve) => setTimeout(resolve, LOCK_RETRY_MS));
26604
25442
  }
26605
- throw new LockTimeoutError(connector);
25443
+ return vars;
25444
+ }
25445
+ function removeConnector(name) {
25446
+ return false;
26606
25447
  }
26607
25448
 
26608
25449
  // src/server/auth.ts
25450
+ import { existsSync as existsSync3, readFileSync as readFileSync3, writeFileSync, mkdirSync, readdirSync as readdirSync2, rmSync, statSync as statSync2 } from "fs";
25451
+ import { homedir } from "os";
25452
+ import { join as join3 } from "path";
26609
25453
  var oauthStateStore = new Map;
26610
25454
  var GOOGLE_SCOPES = {
26611
25455
  gmail: [
@@ -26658,12 +25502,12 @@ function getAuthType(name) {
26658
25502
  }
26659
25503
  function getConnectorConfigDir(name) {
26660
25504
  const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
26661
- return join4(homedir3(), ".connectors", connectorName);
25505
+ return join3(homedir(), ".connectors", connectorName);
26662
25506
  }
26663
25507
  function getCurrentProfile(name) {
26664
25508
  const configDir = getConnectorConfigDir(name);
26665
- const currentProfileFile = join4(configDir, "current_profile");
26666
- if (existsSync4(currentProfileFile)) {
25509
+ const currentProfileFile = join3(configDir, "current_profile");
25510
+ if (existsSync3(currentProfileFile)) {
26667
25511
  try {
26668
25512
  return readFileSync3(currentProfileFile, "utf-8").trim() || "default";
26669
25513
  } catch {
@@ -26677,14 +25521,14 @@ function loadProfileConfig(name) {
26677
25521
  const profile = getCurrentProfile(name);
26678
25522
  let flatConfig = {};
26679
25523
  let dirConfig = {};
26680
- const profileFile = join4(configDir, "profiles", `${profile}.json`);
26681
- if (existsSync4(profileFile)) {
25524
+ const profileFile = join3(configDir, "profiles", `${profile}.json`);
25525
+ if (existsSync3(profileFile)) {
26682
25526
  try {
26683
25527
  flatConfig = JSON.parse(readFileSync3(profileFile, "utf-8"));
26684
25528
  } catch {}
26685
25529
  }
26686
- const profileDirConfig = join4(configDir, "profiles", profile, "config.json");
26687
- if (existsSync4(profileDirConfig)) {
25530
+ const profileDirConfig = join3(configDir, "profiles", profile, "config.json");
25531
+ if (existsSync3(profileDirConfig)) {
26688
25532
  try {
26689
25533
  dirConfig = JSON.parse(readFileSync3(profileDirConfig, "utf-8"));
26690
25534
  } catch {}
@@ -26697,24 +25541,14 @@ function loadProfileConfig(name) {
26697
25541
  function loadTokens(name) {
26698
25542
  const configDir = getConnectorConfigDir(name);
26699
25543
  const profile = getCurrentProfile(name);
26700
- const tokensFile = join4(configDir, "profiles", profile, "tokens.json");
26701
- if (existsSync4(tokensFile)) {
25544
+ const tokensFile = join3(configDir, "profiles", profile, "tokens.json");
25545
+ if (existsSync3(tokensFile)) {
26702
25546
  try {
26703
25547
  return JSON.parse(readFileSync3(tokensFile, "utf-8"));
26704
25548
  } catch {
26705
25549
  return null;
26706
25550
  }
26707
25551
  }
26708
- const profileConfig = loadProfileConfig(name);
26709
- if (profileConfig.refreshToken || profileConfig.accessToken) {
26710
- return {
26711
- accessToken: profileConfig.accessToken,
26712
- refreshToken: profileConfig.refreshToken,
26713
- expiresAt: profileConfig.expiresAt,
26714
- tokenType: profileConfig.tokenType,
26715
- scope: profileConfig.scope
26716
- };
26717
- }
26718
25552
  return null;
26719
25553
  }
26720
25554
  function getAuthStatus(name) {
@@ -26755,51 +25589,48 @@ function getAuthStatus(name) {
26755
25589
  envVarTotalCount
26756
25590
  };
26757
25591
  }
26758
- async function saveApiKey(name, key, field) {
26759
- return withWriteLock(name, () => _saveApiKey(name, key, field));
26760
- }
26761
- function _saveApiKey(name, key, field) {
25592
+ function saveApiKey(name, key, field) {
26762
25593
  const configDir = getConnectorConfigDir(name);
26763
25594
  const profile = getCurrentProfile(name);
26764
25595
  const keyField = field || guessKeyField(name);
26765
25596
  if (keyField === "clientId" || keyField === "clientSecret") {
26766
- const credentialsFile = join4(configDir, "credentials.json");
26767
- mkdirSync3(configDir, { recursive: true });
25597
+ const credentialsFile = join3(configDir, "credentials.json");
25598
+ mkdirSync(configDir, { recursive: true });
26768
25599
  let creds = {};
26769
- if (existsSync4(credentialsFile)) {
25600
+ if (existsSync3(credentialsFile)) {
26770
25601
  try {
26771
25602
  creds = JSON.parse(readFileSync3(credentialsFile, "utf-8"));
26772
25603
  } catch {}
26773
25604
  }
26774
25605
  creds[keyField] = key;
26775
- writeFileSync2(credentialsFile, JSON.stringify(creds, null, 2));
25606
+ writeFileSync(credentialsFile, JSON.stringify(creds, null, 2));
26776
25607
  return;
26777
25608
  }
26778
- const profileFile = join4(configDir, "profiles", `${profile}.json`);
26779
- const profileDir = join4(configDir, "profiles", profile);
26780
- if (existsSync4(profileFile)) {
25609
+ const profileFile = join3(configDir, "profiles", `${profile}.json`);
25610
+ const profileDir = join3(configDir, "profiles", profile);
25611
+ if (existsSync3(profileFile)) {
26781
25612
  let config2 = {};
26782
25613
  try {
26783
25614
  config2 = JSON.parse(readFileSync3(profileFile, "utf-8"));
26784
25615
  } catch {}
26785
25616
  config2[keyField] = key;
26786
- writeFileSync2(profileFile, JSON.stringify(config2, null, 2));
25617
+ writeFileSync(profileFile, JSON.stringify(config2, null, 2));
26787
25618
  return;
26788
25619
  }
26789
- if (existsSync4(profileDir)) {
26790
- const configFile = join4(profileDir, "config.json");
25620
+ if (existsSync3(profileDir)) {
25621
+ const configFile = join3(profileDir, "config.json");
26791
25622
  let config2 = {};
26792
- if (existsSync4(configFile)) {
25623
+ if (existsSync3(configFile)) {
26793
25624
  try {
26794
25625
  config2 = JSON.parse(readFileSync3(configFile, "utf-8"));
26795
25626
  } catch {}
26796
25627
  }
26797
25628
  config2[keyField] = key;
26798
- writeFileSync2(configFile, JSON.stringify(config2, null, 2));
25629
+ writeFileSync(configFile, JSON.stringify(config2, null, 2));
26799
25630
  return;
26800
25631
  }
26801
- mkdirSync3(profileDir, { recursive: true });
26802
- writeFileSync2(join4(profileDir, "config.json"), JSON.stringify({ [keyField]: key }, null, 2));
25632
+ mkdirSync(profileDir, { recursive: true });
25633
+ writeFileSync(join3(profileDir, "config.json"), JSON.stringify({ [keyField]: key }, null, 2));
26803
25634
  }
26804
25635
  function guessKeyField(name) {
26805
25636
  const docs = getConnectorDocs(name);
@@ -26817,17 +25648,17 @@ function guessKeyField(name) {
26817
25648
  }
26818
25649
 
26819
25650
  // src/lib/runner.ts
26820
- import { existsSync as existsSync5 } from "fs";
26821
- import { join as join5, dirname as dirname3 } from "path";
25651
+ import { existsSync as existsSync4 } from "fs";
25652
+ import { join as join4, dirname as dirname3 } from "path";
26822
25653
  import { fileURLToPath as fileURLToPath3 } from "url";
26823
25654
  import { spawn } from "child_process";
26824
25655
  var __dirname3 = dirname3(fileURLToPath3(import.meta.url));
26825
25656
  function resolveConnectorsDir2() {
26826
- const fromBin = join5(__dirname3, "..", "connectors");
26827
- if (existsSync5(fromBin))
25657
+ const fromBin = join4(__dirname3, "..", "connectors");
25658
+ if (existsSync4(fromBin))
26828
25659
  return fromBin;
26829
- const fromSrc = join5(__dirname3, "..", "..", "connectors");
26830
- if (existsSync5(fromSrc))
25660
+ const fromSrc = join4(__dirname3, "..", "..", "connectors");
25661
+ if (existsSync4(fromSrc))
26831
25662
  return fromSrc;
26832
25663
  return fromBin;
26833
25664
  }
@@ -26867,9 +25698,9 @@ function buildEnvWithCredentials(connectorName, baseEnv) {
26867
25698
  }
26868
25699
  function getConnectorCliPath(name) {
26869
25700
  const safeName = name.replace(/[^a-z0-9-]/g, "");
26870
- const connectorDir = join5(CONNECTORS_DIR2, `connect-${safeName}`);
26871
- const cliPath = join5(connectorDir, "src", "cli", "index.ts");
26872
- if (existsSync5(cliPath))
25701
+ const connectorDir = join4(CONNECTORS_DIR2, `connect-${safeName}`);
25702
+ const cliPath = join4(connectorDir, "src", "cli", "index.ts");
25703
+ if (existsSync4(cliPath))
26873
25704
  return cliPath;
26874
25705
  return null;
26875
25706
  }
@@ -26948,248 +25779,32 @@ async function getConnectorCommandHelp(name, command) {
26948
25779
  return result.stdout || result.stderr;
26949
25780
  }
26950
25781
 
26951
- // src/db/agents.ts
26952
- init_database();
26953
- var AGENT_ACTIVE_WINDOW_MS = 30 * 60 * 1000;
26954
- function shortUuid2() {
26955
- return crypto.randomUUID().slice(0, 8);
26956
- }
26957
- function isAgentConflict(result) {
26958
- return result.conflict === true;
26959
- }
26960
- function registerAgent(input, db) {
26961
- const d = db ?? getDatabase();
26962
- const normalizedName = input.name.trim().toLowerCase();
26963
- const existing = getAgentByName(normalizedName, d);
26964
- if (existing) {
26965
- const lastSeenMs = new Date(existing.last_seen_at).getTime();
26966
- const isActive = Date.now() - lastSeenMs < AGENT_ACTIVE_WINDOW_MS;
26967
- const sameSession = input.session_id && existing.session_id && input.session_id === existing.session_id;
26968
- const differentSession = input.session_id && existing.session_id && input.session_id !== existing.session_id;
26969
- if (isActive && differentSession) {
26970
- const minutesAgo = Math.round((Date.now() - lastSeenMs) / 60000);
26971
- return {
26972
- conflict: true,
26973
- existing_id: existing.id,
26974
- existing_name: existing.name,
26975
- last_seen_at: existing.last_seen_at,
26976
- session_hint: existing.session_id ? existing.session_id.slice(0, 8) : null,
26977
- working_dir: null,
26978
- message: `Agent "${normalizedName}" is already active (last seen ${minutesAgo}m ago). Pass session_id="${existing.session_id}" to reclaim it, or choose a different name.`
26979
- };
26980
- }
26981
- const updates = ["last_seen_at = ?"];
26982
- const params = [now()];
26983
- if (input.session_id && !sameSession) {
26984
- updates.push("session_id = ?");
26985
- params.push(input.session_id);
26986
- }
26987
- params.push(existing.id);
26988
- d.run(`UPDATE agents SET ${updates.join(", ")} WHERE id = ?`, params);
26989
- return getAgent(existing.id, d);
26990
- }
26991
- const id = shortUuid2();
26992
- const ts = now();
26993
- d.run(`INSERT INTO agents (id, name, session_id, role, last_seen_at, created_at)
26994
- VALUES (?, ?, ?, ?, ?, ?)`, [id, normalizedName, input.session_id ?? null, input.role ?? "agent", ts, ts]);
26995
- return getAgent(id, d);
26996
- }
26997
- function getAgent(id, db) {
26998
- const d = db ?? getDatabase();
26999
- return d.query("SELECT * FROM agents WHERE id = ?").get(id);
27000
- }
27001
- function getAgentByName(name, db) {
27002
- const d = db ?? getDatabase();
27003
- return d.query("SELECT * FROM agents WHERE LOWER(name) = ?").get(name.trim().toLowerCase());
27004
- }
27005
- function listAgents(db) {
27006
- const d = db ?? getDatabase();
27007
- return d.query("SELECT * FROM agents ORDER BY name").all();
27008
- }
27009
-
27010
- // src/db/rate.ts
27011
- init_database();
27012
- var AGENT_ACTIVE_WINDOW_MS2 = 30 * 60 * 1000;
27013
- var WINDOW_SECONDS = 60;
27014
- function ensureRateTable(db) {
27015
- db.run(`
27016
- CREATE TABLE IF NOT EXISTS connector_rate_usage (
27017
- agent_id TEXT NOT NULL,
27018
- connector TEXT NOT NULL,
27019
- window_start TEXT NOT NULL,
27020
- call_count INTEGER NOT NULL DEFAULT 0,
27021
- PRIMARY KEY (agent_id, connector, window_start)
27022
- )
27023
- `);
27024
- db.run(`CREATE INDEX IF NOT EXISTS idx_rate_usage_window ON connector_rate_usage(connector, window_start)`);
27025
- }
27026
- function countActiveAgents(db) {
27027
- const cutoff = new Date(Date.now() - AGENT_ACTIVE_WINDOW_MS2).toISOString();
27028
- const row = db.query("SELECT COUNT(*) as count FROM agents WHERE last_seen_at > ?").get(cutoff);
27029
- return Math.max(1, row?.count ?? 1);
27030
- }
27031
- function currentWindowStart() {
27032
- const now3 = Date.now();
27033
- const windowMs = WINDOW_SECONDS * 1000;
27034
- return new Date(Math.floor(now3 / windowMs) * windowMs).toISOString();
27035
- }
27036
- function checkRateBudget(agentId, connector, connectorLimit, consume = true, db) {
27037
- const d = db ?? getDatabase();
27038
- ensureRateTable(d);
27039
- const activeAgents = countActiveAgents(d);
27040
- const budget = Math.max(1, Math.floor(connectorLimit / activeAgents));
27041
- const windowStart = currentWindowStart();
27042
- const windowMs = WINDOW_SECONDS * 1000;
27043
- const windowEnd = new Date(Math.floor(Date.now() / windowMs) * windowMs + windowMs);
27044
- const windowResetsIn = windowEnd.getTime() - Date.now();
27045
- const row = d.query("SELECT call_count FROM connector_rate_usage WHERE agent_id = ? AND connector = ? AND window_start = ?").get(agentId, connector, windowStart);
27046
- const used = row?.call_count ?? 0;
27047
- if (used >= budget) {
27048
- return {
27049
- exceeded: true,
27050
- connector,
27051
- agent_id: agentId,
27052
- budget,
27053
- used,
27054
- active_agents: activeAgents,
27055
- window_resets_in_ms: windowResetsIn,
27056
- message: `Rate budget exceeded for "${connector}" (${used}/${budget} calls used, ${activeAgents} active agent${activeAgents === 1 ? "" : "s"} sharing limit of ${connectorLimit}/min). Resets in ${Math.ceil(windowResetsIn / 1000)}s.`
27057
- };
27058
- }
27059
- if (consume) {
27060
- d.run(`INSERT INTO connector_rate_usage (agent_id, connector, window_start, call_count)
27061
- VALUES (?, ?, ?, 1)
27062
- ON CONFLICT(agent_id, connector, window_start) DO UPDATE SET call_count = call_count + 1`, [agentId, connector, windowStart]);
27063
- }
27064
- return {
27065
- connector,
27066
- agent_id: agentId,
27067
- limit: connectorLimit,
27068
- active_agents: activeAgents,
27069
- budget,
27070
- used: consume ? used + 1 : used,
27071
- remaining: consume ? budget - used - 1 : budget - used,
27072
- window_start: windowStart,
27073
- window_resets_in_ms: windowResetsIn
27074
- };
27075
- }
27076
- function getRateBudget(agentId, connector, connectorLimit, db) {
27077
- return checkRateBudget(agentId, connector, connectorLimit, false, db);
27078
- }
27079
-
27080
- // src/mcp/index.ts
27081
- init_strip();
27082
- // package.json
27083
- var package_default = {
27084
- name: "@hasna/connectors",
27085
- version: "1.2.1",
27086
- description: "Open source connector library - Install API connectors with a single command",
27087
- type: "module",
27088
- bin: {
27089
- connectors: "./bin/index.js",
27090
- "connectors-mcp": "./bin/mcp.js",
27091
- "connectors-serve": "./bin/serve.js"
27092
- },
27093
- files: [
27094
- "bin/",
27095
- "dist/",
27096
- "dashboard/dist/",
27097
- "connectors/",
27098
- "README.md"
27099
- ],
27100
- exports: {
27101
- ".": {
27102
- import: "./dist/index.js",
27103
- types: "./dist/index.d.ts"
27104
- }
27105
- },
27106
- main: "./dist/index.js",
27107
- types: "./dist/index.d.ts",
27108
- scripts: {
27109
- build: "cd dashboard && bun run build && cd .. && bun build ./src/cli/index.tsx --outdir ./bin --target bun --external ink --external react --external chalk --external conf && bun build ./src/mcp/index.ts --outfile ./bin/mcp.js --target bun && bun build ./src/server/index.ts --outfile ./bin/serve.js --target bun && bun build ./src/index.ts --outdir ./dist --target bun && tsc --emitDeclarationOnly --outDir ./dist",
27110
- "build:dashboard": "cd dashboard && bun run build",
27111
- postinstall: '[ "$SKIP_DASHBOARD" = "1" ] || [ ! -f dashboard/package.json ] || [ -d dashboard/node_modules ] || (cd dashboard && bun install)',
27112
- dev: "bun run ./src/cli/index.tsx",
27113
- typecheck: "tsc --noEmit",
27114
- test: "bun test",
27115
- "sdk:build": "cd sdk && bun run build",
27116
- prepublishOnly: "bun test && bun run build"
27117
- },
27118
- keywords: [
27119
- "connectors",
27120
- "api",
27121
- "cli",
27122
- "typescript",
27123
- "bun",
27124
- "figma",
27125
- "stripe",
27126
- "github",
27127
- "openai",
27128
- "mcp",
27129
- "model-context-protocol"
27130
- ],
27131
- author: "Hasna",
27132
- license: "Apache-2.0",
27133
- devDependencies: {
27134
- "@types/bun": "latest",
27135
- "@types/react": "^18.2.0",
27136
- "ink-testing-library": "^4.0.0",
27137
- typescript: "^5"
27138
- },
27139
- dependencies: {
27140
- "@modelcontextprotocol/sdk": "^1.26.0",
27141
- chalk: "^5.3.0",
27142
- commander: "^12.1.0",
27143
- conf: "^13.0.1",
27144
- "fast-xml-parser": "^5.5.3",
27145
- ink: "^5.0.1",
27146
- "ink-select-input": "^6.0.0",
27147
- "ink-spinner": "^5.0.0",
27148
- "ink-text-input": "^6.0.0",
27149
- open: "^11.0.0",
27150
- react: "^18.2.0",
27151
- zod: "3"
27152
- },
27153
- engines: {
27154
- bun: ">=1.0.0"
27155
- },
27156
- publishConfig: {
27157
- registry: "https://registry.npmjs.org",
27158
- access: "public"
27159
- },
27160
- repository: {
27161
- type: "git",
27162
- url: "git+https://github.com/hasna/connectors.git"
27163
- },
27164
- homepage: "https://github.com/hasna/connectors#readme",
27165
- bugs: {
27166
- url: "https://github.com/hasna/connectors/issues"
27167
- }
27168
- };
27169
-
27170
25782
  // src/mcp/index.ts
27171
25783
  loadConnectorVersions();
27172
- async function stripped(text) {
27173
- return { content: [{ type: "text", text: await maybeStrip(text) }] };
27174
- }
27175
25784
  var server = new McpServer({
27176
25785
  name: "connectors",
27177
- version: package_default.version
25786
+ version: "1.1.9"
27178
25787
  });
27179
25788
  server.registerTool("search_connectors", {
27180
25789
  title: "Search Connectors",
27181
25790
  description: "Search connectors by name or keyword.",
27182
25791
  inputSchema: { query: exports_external.string() }
27183
25792
  }, async ({ query }) => {
27184
- const { getInstalledConnectors: getInstalledConnectors2 } = await Promise.resolve().then(() => (init_installer(), exports_installer));
27185
- const { getPromotedConnectors: getPromotedConnectors2 } = await Promise.resolve().then(() => (init_promotions(), exports_promotions));
27186
- const { getUsageMap: getUsageMap2 } = await Promise.resolve().then(() => (init_usage(), exports_usage));
27187
- const results = searchConnectors(query, {
27188
- installed: getInstalledConnectors2(),
27189
- promoted: getPromotedConnectors2(),
27190
- usage: getUsageMap2()
27191
- });
27192
- return stripped(JSON.stringify(results.map((c) => ({ name: c.name, displayName: c.displayName, version: c.version, category: c.category, description: c.description, score: c.score, badges: c.badges })), null, 2));
25793
+ const results = searchConnectors(query);
25794
+ return {
25795
+ content: [
25796
+ {
25797
+ type: "text",
25798
+ text: JSON.stringify(results.map((c) => ({
25799
+ name: c.name,
25800
+ displayName: c.displayName,
25801
+ version: c.version,
25802
+ category: c.category,
25803
+ description: c.description
25804
+ })), null, 2)
25805
+ }
25806
+ ]
25807
+ };
27193
25808
  });
27194
25809
  server.registerTool("list_connectors", {
27195
25810
  title: "List Connectors",
@@ -27222,7 +25837,9 @@ server.registerTool("list_connectors", {
27222
25837
  category: c.category,
27223
25838
  description: c.description
27224
25839
  }));
27225
- return stripped(JSON.stringify(data, null, 2));
25840
+ return {
25841
+ content: [{ type: "text", text: JSON.stringify(data, null, 2) }]
25842
+ };
27226
25843
  });
27227
25844
  server.registerTool("connector_docs", {
27228
25845
  title: "Connector Documentation",
@@ -27264,14 +25881,14 @@ server.registerTool("connector_docs", {
27264
25881
  });
27265
25882
  server.registerTool("install_connector", {
27266
25883
  title: "Install Connector",
27267
- description: "Install connectors into .connectors/.",
25884
+ description: "Verify connectors are available in the global package.",
27268
25885
  inputSchema: {
27269
25886
  names: exports_external.array(exports_external.string()),
27270
25887
  overwrite: exports_external.boolean().optional()
27271
25888
  }
27272
- }, async ({ names, overwrite }) => {
27273
- const results = names.map((name) => installConnector(name, { overwrite: overwrite ?? false }));
27274
- const summary = results.map((r) => r.success ? `\u2713 ${r.connector} \u2192 ${r.path}` : `\u2717 ${r.connector}: ${r.error}`);
25889
+ }, async ({ names }) => {
25890
+ const results = names.map((name) => installConnector(name));
25891
+ const summary = results.map((r) => r.success ? `\u2713 ${r.connector} available at ${r.path}` : `\u2717 ${r.connector}: ${r.error}`);
27275
25892
  return {
27276
25893
  content: [
27277
25894
  {
@@ -27279,8 +25896,7 @@ server.registerTool("install_connector", {
27279
25896
  text: JSON.stringify({
27280
25897
  results,
27281
25898
  summary: summary.join(`
27282
- `),
27283
- usage: results.some((r) => r.success) ? "Import from './.connectors': import { " + results.filter((r) => r.success).map((r) => r.connector).join(", ") + " } from './.connectors'" : undefined
25899
+ `)
27284
25900
  }, null, 2)
27285
25901
  }
27286
25902
  ]
@@ -27288,22 +25904,22 @@ server.registerTool("install_connector", {
27288
25904
  });
27289
25905
  server.registerTool("remove_connector", {
27290
25906
  title: "Remove Connector",
27291
- description: "Remove an installed connector.",
25907
+ description: "Remove connector auth/credentials from ~/.connectors/. Does not remove the connector from the global package.",
27292
25908
  inputSchema: { name: exports_external.string() }
27293
25909
  }, async ({ name }) => {
27294
- const removed = removeConnector(name);
25910
+ removeConnector(name);
27295
25911
  return {
27296
25912
  content: [
27297
25913
  {
27298
25914
  type: "text",
27299
- text: JSON.stringify({ name, removed })
25915
+ text: JSON.stringify({ name, message: "Connector auth can be cleared with configure_auth. The connector itself is part of the global package." })
27300
25916
  }
27301
25917
  ]
27302
25918
  };
27303
25919
  });
27304
25920
  server.registerTool("list_installed", {
27305
25921
  title: "List Installed Connectors",
27306
- description: "List connectors installed in .connectors/.",
25922
+ description: "List all connectors available in the global package.",
27307
25923
  inputSchema: {}
27308
25924
  }, async () => {
27309
25925
  const installed = getInstalledConnectors();
@@ -27375,7 +25991,7 @@ server.registerTool("configure_auth", {
27375
25991
  }
27376
25992
  }, async ({ name, key, field }) => {
27377
25993
  try {
27378
- await saveApiKey(name, key, field);
25994
+ saveApiKey(name, key, field);
27379
25995
  return {
27380
25996
  content: [
27381
25997
  {
@@ -27471,11 +26087,18 @@ server.registerTool("run_connector_operation", {
27471
26087
  description: "Execute an API operation on a connector. Pass the connector name and CLI arguments. Use list_connector_operations first to discover available commands. Example: name='stripe', args=['products', 'list', '--limit', '5']",
27472
26088
  inputSchema: {
27473
26089
  name: exports_external.string().describe("Connector name (e.g. stripe, gmail, anthropic)"),
27474
- args: exports_external.array(exports_external.string()).describe("CLI arguments for the connector command (e.g. ['products', 'list', '--limit', '5'])"),
26090
+ args: exports_external.union([exports_external.array(exports_external.string()), exports_external.string()]).describe("CLI arguments for the connector command (e.g. ['products', 'list', '--limit', '5'])"),
27475
26091
  format: exports_external.enum(["json", "pretty"]).optional().describe("Output format (default: json for structured parsing)"),
27476
26092
  timeout: exports_external.number().optional().describe("Timeout in milliseconds (default: 30000)")
27477
26093
  }
27478
- }, async ({ name, args, format, timeout }) => {
26094
+ }, async ({ name, args: rawArgs, format, timeout }) => {
26095
+ const args = typeof rawArgs === "string" ? (() => {
26096
+ try {
26097
+ return JSON.parse(rawArgs);
26098
+ } catch {
26099
+ return [rawArgs];
26100
+ }
26101
+ })() : rawArgs;
27479
26102
  const meta = getConnector(name);
27480
26103
  if (!meta) {
27481
26104
  return {
@@ -27483,10 +26106,6 @@ server.registerTool("run_connector_operation", {
27483
26106
  isError: true
27484
26107
  };
27485
26108
  }
27486
- try {
27487
- const { logUsage: logUsage2 } = await Promise.resolve().then(() => (init_usage(), exports_usage));
27488
- logUsage2(name, "run");
27489
- } catch {}
27490
26109
  const finalArgs = [...args];
27491
26110
  if (format) {
27492
26111
  finalArgs.push("--format", format);
@@ -27569,7 +26188,7 @@ server.registerTool("setup_connector", {
27569
26188
  }
27570
26189
  if (key) {
27571
26190
  try {
27572
- await saveApiKey(name, key, field);
26191
+ saveApiKey(name, key, field);
27573
26192
  } catch (error2) {
27574
26193
  return {
27575
26194
  content: [
@@ -27655,139 +26274,6 @@ server.registerTool("describe_tools", {
27655
26274
  `);
27656
26275
  return { content: [{ type: "text", text: result }] };
27657
26276
  });
27658
- server.registerTool("get_hot_connectors", { title: "Get Hot Connectors", description: "Top connectors by usage.", inputSchema: { limit: exports_external.number().optional(), days: exports_external.number().optional() } }, async ({ limit, days }) => {
27659
- const { getTopConnectors: getTopConnectors2 } = await Promise.resolve().then(() => (init_usage(), exports_usage));
27660
- const { getPromotedConnectors: getPromotedConnectors2 } = await Promise.resolve().then(() => (init_promotions(), exports_promotions));
27661
- const top = getTopConnectors2(limit ?? 10, days ?? 7);
27662
- const promoted = new Set(getPromotedConnectors2());
27663
- const result = top.map((t) => ({ ...t, promoted: promoted.has(t.connector) }));
27664
- return stripped(JSON.stringify(result, null, 2));
27665
- });
27666
- server.registerTool("promote_connector", { title: "Promote Connector", description: "Boost a connector in search rankings.", inputSchema: { name: exports_external.string() } }, async ({ name }) => {
27667
- const meta = getConnector(name);
27668
- if (!meta)
27669
- return { content: [{ type: "text", text: JSON.stringify({ error: "Connector not found" }) }], isError: true };
27670
- const { promoteConnector: promoteConnector2 } = await Promise.resolve().then(() => (init_promotions(), exports_promotions));
27671
- promoteConnector2(name);
27672
- return { content: [{ type: "text", text: JSON.stringify({ success: true, connector: name }) }] };
27673
- });
27674
- server.registerTool("demote_connector", { title: "Demote Connector", description: "Remove search ranking boost.", inputSchema: { name: exports_external.string() } }, async ({ name }) => {
27675
- const { demoteConnector: demoteConnector2 } = await Promise.resolve().then(() => (init_promotions(), exports_promotions));
27676
- const removed = demoteConnector2(name);
27677
- return { content: [{ type: "text", text: JSON.stringify({ success: removed, connector: name }) }] };
27678
- });
27679
- server.registerTool("list_jobs", { title: "List Jobs", description: "List scheduled connector jobs.", inputSchema: {} }, async () => {
27680
- const { listJobs: listJobs2 } = await Promise.resolve().then(() => (init_jobs(), exports_jobs));
27681
- const { getDatabase: getDatabase2 } = await Promise.resolve().then(() => (init_database(), exports_database));
27682
- return stripped(JSON.stringify(listJobs2(getDatabase2()), null, 2));
27683
- });
27684
- server.registerTool("get_latest_job_run", { title: "Get Latest Job Run", description: "Get the most recent run output for a job.", inputSchema: { name: exports_external.string() } }, async ({ name }) => {
27685
- const { getJobByName: getJobByName2, getLatestRun: getLatestRun2 } = await Promise.resolve().then(() => (init_jobs(), exports_jobs));
27686
- const { getDatabase: getDatabase2 } = await Promise.resolve().then(() => (init_database(), exports_database));
27687
- const db = getDatabase2();
27688
- const job = getJobByName2(name, db);
27689
- if (!job)
27690
- return { content: [{ type: "text", text: JSON.stringify({ error: `Job "${name}" not found` }) }], isError: true };
27691
- const run = getLatestRun2(job.id, db);
27692
- return stripped(JSON.stringify(run ?? { message: "No runs yet" }, null, 2));
27693
- });
27694
- server.registerTool("run_job", { title: "Run Job", description: "Manually trigger a scheduled job.", inputSchema: { name: exports_external.string() } }, async ({ name }) => {
27695
- const { getJobByName: getJobByName2 } = await Promise.resolve().then(() => (init_jobs(), exports_jobs));
27696
- const { getDatabase: getDatabase2 } = await Promise.resolve().then(() => (init_database(), exports_database));
27697
- const { triggerJob: triggerJob2 } = await Promise.resolve().then(() => (init_scheduler(), exports_scheduler));
27698
- const db = getDatabase2();
27699
- const job = getJobByName2(name, db);
27700
- if (!job)
27701
- return { content: [{ type: "text", text: JSON.stringify({ error: `Job "${name}" not found` }) }], isError: true };
27702
- const result = await triggerJob2(job, db);
27703
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
27704
- });
27705
- server.registerTool("list_workflows", { title: "List Workflows", description: "List connector workflows.", inputSchema: {} }, async () => {
27706
- const { listWorkflows: listWorkflows2 } = await Promise.resolve().then(() => (init_workflows(), exports_workflows));
27707
- const { getDatabase: getDatabase2 } = await Promise.resolve().then(() => (init_database(), exports_database));
27708
- return stripped(JSON.stringify(listWorkflows2(getDatabase2()), null, 2));
27709
- });
27710
- server.registerTool("run_workflow", { title: "Run Workflow", description: "Execute a connector workflow pipeline.", inputSchema: { name: exports_external.string() } }, async ({ name }) => {
27711
- const { getWorkflowByName: getWorkflowByName2 } = await Promise.resolve().then(() => (init_workflows(), exports_workflows));
27712
- const { getDatabase: getDatabase2 } = await Promise.resolve().then(() => (init_database(), exports_database));
27713
- const { runWorkflow: runWorkflow2 } = await Promise.resolve().then(() => (init_workflow_runner(), exports_workflow_runner));
27714
- const wf = getWorkflowByName2(name, getDatabase2());
27715
- if (!wf)
27716
- return { content: [{ type: "text", text: JSON.stringify({ error: `Workflow "${name}" not found` }) }], isError: true };
27717
- const result = await runWorkflow2(wf);
27718
- return stripped(JSON.stringify(result, null, 2));
27719
- });
27720
- server.registerTool("get_llm_config", {
27721
- title: "Get LLM Config",
27722
- description: "Get current LLM provider config and strip status.",
27723
- inputSchema: {}
27724
- }, async () => {
27725
- const { getLlmConfig: getConfig, maskKey: mask } = await Promise.resolve().then(() => (init_llm(), exports_llm));
27726
- const config2 = getConfig();
27727
- if (!config2)
27728
- return { content: [{ type: "text", text: JSON.stringify({ configured: false }) }] };
27729
- return { content: [{ type: "text", text: JSON.stringify({ configured: true, provider: config2.provider, model: config2.model, key: mask(config2.api_key), strip: config2.strip }) }] };
27730
- });
27731
- server.registerTool("set_llm_strip", {
27732
- title: "Set LLM Strip",
27733
- description: "Enable or disable global output stripping.",
27734
- inputSchema: { enabled: exports_external.boolean() }
27735
- }, async ({ enabled }) => {
27736
- const { setLlmStrip: setLlmStrip2 } = await Promise.resolve().then(() => (init_llm(), exports_llm));
27737
- try {
27738
- setLlmStrip2(enabled);
27739
- return { content: [{ type: "text", text: JSON.stringify({ success: true, strip: enabled }) }] };
27740
- } catch (e) {
27741
- return { content: [{ type: "text", text: JSON.stringify({ success: false, error: e instanceof Error ? e.message : String(e) }) }], isError: true };
27742
- }
27743
- });
27744
- server.registerTool("register_agent", {
27745
- title: "Register Agent",
27746
- description: "Register or heartbeat an agent. Returns agent or conflict error.",
27747
- inputSchema: {
27748
- name: exports_external.string(),
27749
- session_id: exports_external.string().optional(),
27750
- role: exports_external.string().optional()
27751
- }
27752
- }, async ({ name, session_id, role }) => {
27753
- const result = registerAgent({ name, session_id, role });
27754
- if (isAgentConflict(result)) {
27755
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
27756
- }
27757
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
27758
- });
27759
- server.registerTool("list_agents", {
27760
- title: "List Agents",
27761
- description: "List all registered agents.",
27762
- inputSchema: {}
27763
- }, async () => {
27764
- const agents = listAgents();
27765
- return { content: [{ type: "text", text: JSON.stringify(agents, null, 2) }] };
27766
- });
27767
- server.registerTool("check_rate_budget", {
27768
- title: "Check Rate Budget",
27769
- description: "Consume one rate budget unit for an agent+connector. Returns budget status or RateExceededError.",
27770
- inputSchema: {
27771
- agent_id: exports_external.string(),
27772
- connector: exports_external.string(),
27773
- limit: exports_external.number().describe("Connector's documented rate limit (calls/min)")
27774
- }
27775
- }, async ({ agent_id, connector, limit }) => {
27776
- const result = checkRateBudget(agent_id, connector, limit);
27777
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
27778
- });
27779
- server.registerTool("get_rate_budget", {
27780
- title: "Get Rate Budget",
27781
- description: "Peek at rate budget status without consuming a unit.",
27782
- inputSchema: {
27783
- agent_id: exports_external.string(),
27784
- connector: exports_external.string(),
27785
- limit: exports_external.number().describe("Connector's documented rate limit (calls/min)")
27786
- }
27787
- }, async ({ agent_id, connector, limit }) => {
27788
- const result = getRateBudget(agent_id, connector, limit);
27789
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
27790
- });
27791
26277
  async function main() {
27792
26278
  const transport = new StdioServerTransport;
27793
26279
  await server.connect(transport);