@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/serve.js CHANGED
@@ -1,810 +1,16 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var __create = Object.create;
4
- var __getProtoOf = Object.getPrototypeOf;
5
- var __defProp = Object.defineProperty;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __toESM = (mod, isNodeMode, target) => {
9
- target = mod != null ? __create(__getProtoOf(mod)) : {};
10
- const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
11
- for (let key of __getOwnPropNames(mod))
12
- if (!__hasOwnProp.call(to, key))
13
- __defProp(to, key, {
14
- get: () => mod[key],
15
- enumerable: true
16
- });
17
- return to;
18
- };
19
- var __export = (target, all) => {
20
- for (var name in all)
21
- __defProp(target, name, {
22
- get: all[name],
23
- enumerable: true,
24
- configurable: true,
25
- set: (newValue) => all[name] = () => newValue
26
- });
27
- };
28
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
29
3
  var __require = import.meta.require;
30
4
 
31
- // src/db/database.ts
32
- var exports_database = {};
33
- __export(exports_database, {
34
- shortUuid: () => shortUuid,
35
- now: () => now,
36
- getDatabase: () => getDatabase,
37
- closeDatabase: () => closeDatabase
38
- });
39
- import { Database } from "bun:sqlite";
40
- import { join } from "path";
41
- import { homedir } from "os";
42
- import { mkdirSync } from "fs";
43
- function getDatabase(path) {
44
- if (_db)
45
- return _db;
46
- const dbPath = path ?? DB_PATH;
47
- mkdirSync(join(dbPath, ".."), { recursive: true });
48
- _db = new Database(dbPath);
49
- _db.run("PRAGMA journal_mode = WAL");
50
- migrate(_db);
51
- return _db;
52
- }
53
- function closeDatabase() {
54
- _db?.close();
55
- _db = null;
56
- }
57
- function now() {
58
- return new Date().toISOString();
59
- }
60
- function shortUuid() {
61
- return crypto.randomUUID().slice(0, 8);
62
- }
63
- function migrate(db) {
64
- db.run(`
65
- CREATE TABLE IF NOT EXISTS agents (
66
- id TEXT PRIMARY KEY,
67
- name TEXT UNIQUE NOT NULL,
68
- session_id TEXT,
69
- role TEXT NOT NULL DEFAULT 'agent',
70
- last_seen_at TEXT NOT NULL,
71
- created_at TEXT NOT NULL
72
- )
73
- `);
74
- db.run(`
75
- CREATE TABLE IF NOT EXISTS resource_locks (
76
- id TEXT PRIMARY KEY,
77
- resource_type TEXT NOT NULL CHECK(resource_type IN ('connector', 'agent', 'profile', 'token')),
78
- resource_id TEXT NOT NULL,
79
- agent_id TEXT NOT NULL,
80
- lock_type TEXT NOT NULL DEFAULT 'exclusive' CHECK(lock_type IN ('advisory', 'exclusive')),
81
- locked_at TEXT NOT NULL DEFAULT (datetime('now')),
82
- expires_at TEXT NOT NULL
83
- )
84
- `);
85
- db.run(`
86
- CREATE UNIQUE INDEX IF NOT EXISTS idx_resource_locks_exclusive
87
- ON resource_locks(resource_type, resource_id)
88
- WHERE lock_type = 'exclusive'
89
- `);
90
- db.run(`CREATE INDEX IF NOT EXISTS idx_resource_locks_agent ON resource_locks(agent_id)`);
91
- db.run(`CREATE INDEX IF NOT EXISTS idx_resource_locks_expires ON resource_locks(expires_at)`);
92
- db.run(`
93
- CREATE TABLE IF NOT EXISTS connector_rate_usage (
94
- agent_id TEXT NOT NULL,
95
- connector TEXT NOT NULL,
96
- window_start TEXT NOT NULL,
97
- call_count INTEGER NOT NULL DEFAULT 0,
98
- PRIMARY KEY (agent_id, connector, window_start)
99
- )
100
- `);
101
- db.run(`CREATE INDEX IF NOT EXISTS idx_rate_usage_window ON connector_rate_usage(connector, window_start)`);
102
- db.run(`
103
- CREATE TABLE IF NOT EXISTS connector_jobs (
104
- id TEXT PRIMARY KEY,
105
- name TEXT UNIQUE NOT NULL,
106
- connector TEXT NOT NULL,
107
- command TEXT NOT NULL,
108
- args TEXT NOT NULL DEFAULT '[]',
109
- cron TEXT NOT NULL,
110
- enabled INTEGER NOT NULL DEFAULT 1,
111
- strip INTEGER NOT NULL DEFAULT 0,
112
- created_at TEXT NOT NULL,
113
- last_run_at TEXT
114
- )
115
- `);
116
- db.run(`CREATE INDEX IF NOT EXISTS idx_jobs_enabled ON connector_jobs(enabled)`);
117
- db.run(`
118
- CREATE TABLE IF NOT EXISTS connector_job_runs (
119
- id TEXT PRIMARY KEY,
120
- job_id TEXT NOT NULL REFERENCES connector_jobs(id) ON DELETE CASCADE,
121
- started_at TEXT NOT NULL,
122
- finished_at TEXT,
123
- exit_code INTEGER,
124
- raw_output TEXT,
125
- stripped_output TEXT
126
- )
127
- `);
128
- db.run(`CREATE INDEX IF NOT EXISTS idx_job_runs_job ON connector_job_runs(job_id, started_at DESC)`);
129
- db.run(`
130
- CREATE TABLE IF NOT EXISTS connector_workflows (
131
- id TEXT PRIMARY KEY,
132
- name TEXT UNIQUE NOT NULL,
133
- steps TEXT NOT NULL DEFAULT '[]',
134
- enabled INTEGER NOT NULL DEFAULT 1,
135
- created_at TEXT NOT NULL
136
- )
137
- `);
138
- db.run(`
139
- CREATE TABLE IF NOT EXISTS connector_usage (
140
- id TEXT PRIMARY KEY,
141
- connector TEXT NOT NULL,
142
- action TEXT NOT NULL,
143
- agent_id TEXT,
144
- timestamp TEXT NOT NULL
145
- )
146
- `);
147
- db.run(`CREATE INDEX IF NOT EXISTS idx_usage_connector ON connector_usage(connector, timestamp DESC)`);
148
- db.run(`
149
- CREATE TABLE IF NOT EXISTS connector_promotions (
150
- connector TEXT UNIQUE NOT NULL,
151
- promoted_at TEXT NOT NULL
152
- )
153
- `);
154
- }
155
- var DB_DIR, DB_PATH, _db = null;
156
- var init_database = __esm(() => {
157
- DB_DIR = join(homedir(), ".connectors");
158
- DB_PATH = join(DB_DIR, "connectors.db");
159
- });
160
-
161
- // src/lib/llm.ts
162
- import { existsSync, readFileSync, writeFileSync, mkdirSync as mkdirSync2 } from "fs";
163
- import { join as join2 } from "path";
164
- import { homedir as homedir2 } from "os";
165
- function getLlmConfigPath() {
166
- return join2(homedir2(), ".connectors", "llm.json");
167
- }
168
- function getLlmConfig() {
169
- const path = getLlmConfigPath();
170
- if (!existsSync(path))
171
- return null;
172
- try {
173
- return JSON.parse(readFileSync(path, "utf-8"));
174
- } catch {
175
- return null;
176
- }
177
- }
178
- function saveLlmConfig(config) {
179
- const dir = join2(homedir2(), ".connectors");
180
- mkdirSync2(dir, { recursive: true });
181
- writeFileSync(getLlmConfigPath(), JSON.stringify(config, null, 2));
182
- }
183
- function maskKey(key) {
184
- if (key.length <= 8)
185
- return "***";
186
- return key.slice(0, 8) + "***";
187
- }
188
-
189
- class LLMClient {
190
- config;
191
- constructor(config) {
192
- this.config = config;
193
- }
194
- static fromConfig() {
195
- const config = getLlmConfig();
196
- if (!config)
197
- return null;
198
- return new LLMClient(config);
199
- }
200
- async complete(prompt, content) {
201
- const start = Date.now();
202
- const { provider, model, api_key } = this.config;
203
- if (provider === "anthropic") {
204
- return this._anthropicComplete(prompt, content, start);
205
- }
206
- const baseUrl = PROVIDER_BASE_URLS[provider];
207
- const response = await fetch(`${baseUrl}/chat/completions`, {
208
- method: "POST",
209
- headers: {
210
- "Content-Type": "application/json",
211
- Authorization: `Bearer ${api_key}`
212
- },
213
- body: JSON.stringify({
214
- model,
215
- messages: [
216
- { role: "system", content: prompt },
217
- { role: "user", content }
218
- ],
219
- temperature: 0,
220
- max_tokens: 4096
221
- })
222
- });
223
- if (!response.ok) {
224
- const error = await response.text();
225
- throw new Error(`LLM request failed (${provider} ${response.status}): ${error}`);
226
- }
227
- const data = await response.json();
228
- return {
229
- content: data.choices[0].message.content,
230
- provider,
231
- model,
232
- latency_ms: Date.now() - start
233
- };
234
- }
235
- async _anthropicComplete(prompt, content, start) {
236
- const { model, api_key } = this.config;
237
- const response = await fetch("https://api.anthropic.com/v1/messages", {
238
- method: "POST",
239
- headers: {
240
- "Content-Type": "application/json",
241
- "x-api-key": api_key,
242
- "anthropic-version": "2023-06-01"
243
- },
244
- body: JSON.stringify({
245
- model,
246
- system: prompt,
247
- messages: [{ role: "user", content }],
248
- max_tokens: 4096
249
- })
250
- });
251
- if (!response.ok) {
252
- const error = await response.text();
253
- throw new Error(`LLM request failed (anthropic ${response.status}): ${error}`);
254
- }
255
- const data = await response.json();
256
- return {
257
- content: data.content[0].text,
258
- provider: "anthropic",
259
- model,
260
- latency_ms: Date.now() - start
261
- };
262
- }
263
- }
264
- var PROVIDER_BASE_URLS;
265
- var init_llm = __esm(() => {
266
- PROVIDER_BASE_URLS = {
267
- cerebras: "https://api.cerebras.ai/v1",
268
- groq: "https://api.groq.com/openai/v1",
269
- openai: "https://api.openai.com/v1"
270
- };
271
- });
272
-
273
- // src/lib/strip.ts
274
- async function maybeStrip(output, _type = "json") {
275
- const config = getLlmConfig();
276
- if (!config?.strip)
277
- return output;
278
- if (!output || output.trim().length === 0)
279
- return output;
280
- const client = LLMClient.fromConfig();
281
- if (!client)
282
- return output;
283
- try {
284
- const result = await client.complete(STRIP_PROMPT, output);
285
- return result.content.trim();
286
- } catch {
287
- return output;
288
- }
289
- }
290
- var STRIP_PROMPT = `You are a data extraction assistant. Your job is to take raw API output and return ONLY the essential, structured data.
291
-
292
- Rules:
293
- - Return valid JSON only (no markdown, no explanation)
294
- - Remove pagination metadata, rate limit headers, empty fields, null values
295
- - Keep all meaningful data fields
296
- - If the input is already minimal, return it unchanged
297
- - If input is not JSON, extract key facts as a JSON object
298
- - Never truncate actual data values`;
299
- var init_strip = __esm(() => {
300
- init_llm();
301
- });
302
-
303
- // src/db/jobs.ts
304
- function rowToJob(row) {
305
- return {
306
- ...row,
307
- args: JSON.parse(row.args || "[]"),
308
- enabled: row.enabled === 1,
309
- strip: row.strip === 1
310
- };
311
- }
312
- function createJob(input, db) {
313
- const d = db ?? getDatabase();
314
- const id = shortUuid();
315
- const ts = now();
316
- 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]);
317
- return getJob(id, d);
318
- }
319
- function getJob(id, db) {
320
- const d = db ?? getDatabase();
321
- const row = d.query("SELECT * FROM connector_jobs WHERE id = ?").get(id);
322
- return row ? rowToJob(row) : null;
323
- }
324
- function getJobByName(name, db) {
325
- const d = db ?? getDatabase();
326
- const row = d.query("SELECT * FROM connector_jobs WHERE name = ?").get(name);
327
- return row ? rowToJob(row) : null;
328
- }
329
- function listJobs(db) {
330
- const d = db ?? getDatabase();
331
- return d.query("SELECT * FROM connector_jobs ORDER BY name").all().map(rowToJob);
332
- }
333
- function listEnabledJobs(db) {
334
- const d = db ?? getDatabase();
335
- return d.query("SELECT * FROM connector_jobs WHERE enabled = 1").all().map(rowToJob);
336
- }
337
- function updateJob(id, input, db) {
338
- const d = db ?? getDatabase();
339
- const sets = [];
340
- const params = [];
341
- if (input.name !== undefined) {
342
- sets.push("name = ?");
343
- params.push(input.name);
344
- }
345
- if (input.connector !== undefined) {
346
- sets.push("connector = ?");
347
- params.push(input.connector);
348
- }
349
- if (input.command !== undefined) {
350
- sets.push("command = ?");
351
- params.push(input.command);
352
- }
353
- if (input.args !== undefined) {
354
- sets.push("args = ?");
355
- params.push(JSON.stringify(input.args));
356
- }
357
- if (input.cron !== undefined) {
358
- sets.push("cron = ?");
359
- params.push(input.cron);
360
- }
361
- if (input.enabled !== undefined) {
362
- sets.push("enabled = ?");
363
- params.push(input.enabled ? 1 : 0);
364
- }
365
- if (input.strip !== undefined) {
366
- sets.push("strip = ?");
367
- params.push(input.strip ? 1 : 0);
368
- }
369
- if (sets.length === 0)
370
- return getJob(id, d);
371
- params.push(id);
372
- d.run(`UPDATE connector_jobs SET ${sets.join(", ")} WHERE id = ?`, params);
373
- return getJob(id, d);
374
- }
375
- function deleteJob(id, db) {
376
- const d = db ?? getDatabase();
377
- return d.run("DELETE FROM connector_jobs WHERE id = ?", [id]).changes > 0;
378
- }
379
- function touchJobLastRun(id, db) {
380
- const d = db ?? getDatabase();
381
- d.run("UPDATE connector_jobs SET last_run_at = ? WHERE id = ?", [now(), id]);
382
- }
383
- function createJobRun(jobId, db) {
384
- const d = db ?? getDatabase();
385
- const id = shortUuid();
386
- const ts = now();
387
- d.run("INSERT INTO connector_job_runs (id, job_id, started_at) VALUES (?, ?, ?)", [id, jobId, ts]);
388
- return { id, job_id: jobId, started_at: ts, finished_at: null, exit_code: null, raw_output: null, stripped_output: null };
389
- }
390
- function finishJobRun(id, result, db) {
391
- const d = db ?? getDatabase();
392
- 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]);
393
- }
394
- function listJobRuns(jobId, limit = 20, db) {
395
- const d = db ?? getDatabase();
396
- return d.query("SELECT * FROM connector_job_runs WHERE job_id = ? ORDER BY started_at DESC LIMIT ?").all(jobId, limit);
397
- }
398
- var init_jobs = __esm(() => {
399
- init_database();
400
- });
401
-
402
- // src/lib/scheduler.ts
403
- var exports_scheduler = {};
404
- __export(exports_scheduler, {
405
- triggerJob: () => triggerJob,
406
- stopScheduler: () => stopScheduler,
407
- startScheduler: () => startScheduler
408
- });
409
- import { spawn } from "child_process";
410
- function cronMatches(cron, d) {
411
- const parts = cron.trim().split(/\s+/);
412
- if (parts.length !== 5)
413
- return false;
414
- const [min, hour, dom, mon, dow] = parts;
415
- function matches(field, value, min_v, max_v) {
416
- if (field === "*")
417
- return true;
418
- if (field.startsWith("*/")) {
419
- const step = parseInt(field.slice(2));
420
- return value % step === 0;
421
- }
422
- if (field.includes("-")) {
423
- const [a, b] = field.split("-").map(Number);
424
- return value >= a && value <= b;
425
- }
426
- if (field.includes(",")) {
427
- return field.split(",").map(Number).includes(value);
428
- }
429
- return parseInt(field) === value;
430
- }
431
- 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);
432
- }
433
- async function runConnectorCommand(connector, command, args) {
434
- return new Promise((resolve) => {
435
- const cmdArgs = [connector, command, ...args, "--format", "json"];
436
- const proc = spawn("connectors", ["run", ...cmdArgs], { shell: false });
437
- let output = "";
438
- proc.stdout.on("data", (d) => {
439
- output += d.toString();
440
- });
441
- proc.stderr.on("data", (d) => {
442
- output += d.toString();
443
- });
444
- proc.on("close", (code) => resolve({ exitCode: code ?? 1, output }));
445
- proc.on("error", () => resolve({ exitCode: 1, output: `Failed to spawn connectors run` }));
446
- setTimeout(() => {
447
- proc.kill();
448
- resolve({ exitCode: 124, output: output + `
449
- [timeout]` });
450
- }, 60000);
451
- });
452
- }
453
- async function executeJob(job, db) {
454
- const run = createJobRun(job.id, db);
455
- try {
456
- const { exitCode, output } = await runConnectorCommand(job.connector, job.command, job.args);
457
- const stripped = job.strip ? await maybeStrip(output) : undefined;
458
- finishJobRun(run.id, { exit_code: exitCode, raw_output: output, stripped_output: stripped }, db);
459
- touchJobLastRun(job.id, db);
460
- } catch (e) {
461
- finishJobRun(run.id, { exit_code: 1, raw_output: String(e) }, db);
462
- }
463
- }
464
- function startScheduler(db) {
465
- if (_interval)
466
- return;
467
- _interval = setInterval(async () => {
468
- const now3 = new Date;
469
- const currentMinute = now3.getMinutes() + now3.getHours() * 60;
470
- if (currentMinute === _lastCheckedMinute)
471
- return;
472
- _lastCheckedMinute = currentMinute;
473
- const jobs = listEnabledJobs(db);
474
- for (const job of jobs) {
475
- if (cronMatches(job.cron, now3)) {
476
- executeJob(job, db).catch(() => {});
477
- }
478
- }
479
- }, 30000);
480
- }
481
- function stopScheduler() {
482
- if (_interval) {
483
- clearInterval(_interval);
484
- _interval = null;
485
- _lastCheckedMinute = -1;
486
- }
487
- }
488
- async function triggerJob(job, db) {
489
- const run = createJobRun(job.id, db);
490
- const { exitCode, output } = await runConnectorCommand(job.connector, job.command, job.args);
491
- const stripped = job.strip ? await maybeStrip(output) : undefined;
492
- finishJobRun(run.id, { exit_code: exitCode, raw_output: output, stripped_output: stripped }, db);
493
- touchJobLastRun(job.id, db);
494
- return { run_id: run.id, exit_code: exitCode, output: stripped ?? output };
495
- }
496
- var _interval = null, _lastCheckedMinute = -1;
497
- var init_scheduler = __esm(() => {
498
- init_jobs();
499
- init_strip();
500
- });
501
-
502
- // src/db/usage.ts
503
- var exports_usage = {};
504
- __export(exports_usage, {
505
- logUsage: () => logUsage,
506
- getUsageStats: () => getUsageStats,
507
- getUsageMap: () => getUsageMap,
508
- getTopConnectors: () => getTopConnectors,
509
- cleanOldUsage: () => cleanOldUsage
510
- });
511
- function logUsage(connector, action, agentId, db) {
512
- const d = db ?? getDatabase();
513
- d.run("INSERT INTO connector_usage (id, connector, action, agent_id, timestamp) VALUES (?, ?, ?, ?, ?)", [shortUuid(), connector, action, agentId ?? null, now()]);
514
- }
515
- function getUsageStats(connector, db) {
516
- const d = db ?? getDatabase();
517
- const total = d.query("SELECT COUNT(*) as c FROM connector_usage WHERE connector = ?").get(connector).c;
518
- const d7 = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString();
519
- const last7d = d.query("SELECT COUNT(*) as c FROM connector_usage WHERE connector = ? AND timestamp > ?").get(connector, d7).c;
520
- const d1 = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
521
- const last24h = d.query("SELECT COUNT(*) as c FROM connector_usage WHERE connector = ? AND timestamp > ?").get(connector, d1).c;
522
- return { connector, total, last7d, last24h };
523
- }
524
- function getTopConnectors(limit = 10, days = 7, db) {
525
- const d = db ?? getDatabase();
526
- const since = new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString();
527
- return d.query("SELECT connector, COUNT(*) as count FROM connector_usage WHERE timestamp > ? GROUP BY connector ORDER BY count DESC LIMIT ?").all(since, limit);
528
- }
529
- function getUsageMap(days = 7, db) {
530
- const top = getTopConnectors(100, days, db);
531
- return new Map(top.map((t) => [t.connector, t.count]));
532
- }
533
- function cleanOldUsage(days = 30, db) {
534
- const d = db ?? getDatabase();
535
- const cutoff = new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString();
536
- return d.run("DELETE FROM connector_usage WHERE timestamp < ?", [cutoff]).changes;
537
- }
538
- var init_usage = __esm(() => {
539
- init_database();
540
- });
541
-
542
- // src/db/promotions.ts
543
- var exports_promotions = {};
544
- __export(exports_promotions, {
545
- promoteConnector: () => promoteConnector,
546
- isPromoted: () => isPromoted,
547
- getPromotedConnectors: () => getPromotedConnectors,
548
- demoteConnector: () => demoteConnector
549
- });
550
- function promoteConnector(name, db) {
551
- const d = db ?? getDatabase();
552
- d.run("INSERT OR REPLACE INTO connector_promotions (connector, promoted_at) VALUES (?, ?)", [name, now()]);
553
- }
554
- function demoteConnector(name, db) {
555
- const d = db ?? getDatabase();
556
- return d.run("DELETE FROM connector_promotions WHERE connector = ?", [name]).changes > 0;
557
- }
558
- function getPromotedConnectors(db) {
559
- const d = db ?? getDatabase();
560
- return d.query("SELECT connector FROM connector_promotions ORDER BY promoted_at DESC").all().map((r) => r.connector);
561
- }
562
- function isPromoted(name, db) {
563
- const d = db ?? getDatabase();
564
- const row = d.query("SELECT 1 FROM connector_promotions WHERE connector = ?").get(name);
565
- return !!row;
566
- }
567
- var init_promotions = __esm(() => {
568
- init_database();
569
- });
570
-
571
- // src/server/serve.ts
572
- import { existsSync as existsSync6, readdirSync as readdirSync3, readFileSync as readFileSync5, writeFileSync as writeFileSync4, mkdirSync as mkdirSync6 } from "fs";
573
-
574
- // src/db/agents.ts
575
- init_database();
576
- var AGENT_ACTIVE_WINDOW_MS = 30 * 60 * 1000;
577
- function shortUuid2() {
578
- return crypto.randomUUID().slice(0, 8);
579
- }
580
- function isAgentConflict(result) {
581
- return result.conflict === true;
582
- }
583
- function registerAgent(input, db) {
584
- const d = db ?? getDatabase();
585
- const normalizedName = input.name.trim().toLowerCase();
586
- const existing = getAgentByName(normalizedName, d);
587
- if (existing) {
588
- const lastSeenMs = new Date(existing.last_seen_at).getTime();
589
- const isActive = Date.now() - lastSeenMs < AGENT_ACTIVE_WINDOW_MS;
590
- const sameSession = input.session_id && existing.session_id && input.session_id === existing.session_id;
591
- const differentSession = input.session_id && existing.session_id && input.session_id !== existing.session_id;
592
- if (isActive && differentSession) {
593
- const minutesAgo = Math.round((Date.now() - lastSeenMs) / 60000);
594
- return {
595
- conflict: true,
596
- existing_id: existing.id,
597
- existing_name: existing.name,
598
- last_seen_at: existing.last_seen_at,
599
- session_hint: existing.session_id ? existing.session_id.slice(0, 8) : null,
600
- working_dir: null,
601
- 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.`
602
- };
603
- }
604
- const updates = ["last_seen_at = ?"];
605
- const params = [now()];
606
- if (input.session_id && !sameSession) {
607
- updates.push("session_id = ?");
608
- params.push(input.session_id);
609
- }
610
- params.push(existing.id);
611
- d.run(`UPDATE agents SET ${updates.join(", ")} WHERE id = ?`, params);
612
- return getAgent(existing.id, d);
613
- }
614
- const id = shortUuid2();
615
- const ts = now();
616
- d.run(`INSERT INTO agents (id, name, session_id, role, last_seen_at, created_at)
617
- VALUES (?, ?, ?, ?, ?, ?)`, [id, normalizedName, input.session_id ?? null, input.role ?? "agent", ts, ts]);
618
- return getAgent(id, d);
619
- }
620
- function getAgent(id, db) {
621
- const d = db ?? getDatabase();
622
- return d.query("SELECT * FROM agents WHERE id = ?").get(id);
623
- }
624
- function getAgentByName(name, db) {
625
- const d = db ?? getDatabase();
626
- return d.query("SELECT * FROM agents WHERE LOWER(name) = ?").get(name.trim().toLowerCase());
627
- }
628
- function listAgents(db) {
629
- const d = db ?? getDatabase();
630
- return d.query("SELECT * FROM agents ORDER BY name").all();
631
- }
632
- function deleteAgent(id, db) {
633
- const d = db ?? getDatabase();
634
- return d.run("DELETE FROM agents WHERE id = ?", [id]).changes > 0;
635
- }
636
-
637
- // src/db/rate.ts
638
- init_database();
639
- var AGENT_ACTIVE_WINDOW_MS2 = 30 * 60 * 1000;
640
- var WINDOW_SECONDS = 60;
641
- function ensureRateTable(db) {
642
- db.run(`
643
- CREATE TABLE IF NOT EXISTS connector_rate_usage (
644
- agent_id TEXT NOT NULL,
645
- connector TEXT NOT NULL,
646
- window_start TEXT NOT NULL,
647
- call_count INTEGER NOT NULL DEFAULT 0,
648
- PRIMARY KEY (agent_id, connector, window_start)
649
- )
650
- `);
651
- db.run(`CREATE INDEX IF NOT EXISTS idx_rate_usage_window ON connector_rate_usage(connector, window_start)`);
652
- }
653
- function countActiveAgents(db) {
654
- const cutoff = new Date(Date.now() - AGENT_ACTIVE_WINDOW_MS2).toISOString();
655
- const row = db.query("SELECT COUNT(*) as count FROM agents WHERE last_seen_at > ?").get(cutoff);
656
- return Math.max(1, row?.count ?? 1);
657
- }
658
- function currentWindowStart() {
659
- const now3 = Date.now();
660
- const windowMs = WINDOW_SECONDS * 1000;
661
- return new Date(Math.floor(now3 / windowMs) * windowMs).toISOString();
662
- }
663
- function checkRateBudget(agentId, connector, connectorLimit, consume = true, db) {
664
- const d = db ?? getDatabase();
665
- ensureRateTable(d);
666
- const activeAgents = countActiveAgents(d);
667
- const budget = Math.max(1, Math.floor(connectorLimit / activeAgents));
668
- const windowStart = currentWindowStart();
669
- const windowMs = WINDOW_SECONDS * 1000;
670
- const windowEnd = new Date(Math.floor(Date.now() / windowMs) * windowMs + windowMs);
671
- const windowResetsIn = windowEnd.getTime() - Date.now();
672
- const row = d.query("SELECT call_count FROM connector_rate_usage WHERE agent_id = ? AND connector = ? AND window_start = ?").get(agentId, connector, windowStart);
673
- const used = row?.call_count ?? 0;
674
- if (used >= budget) {
675
- return {
676
- exceeded: true,
677
- connector,
678
- agent_id: agentId,
679
- budget,
680
- used,
681
- active_agents: activeAgents,
682
- window_resets_in_ms: windowResetsIn,
683
- 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.`
684
- };
685
- }
686
- if (consume) {
687
- d.run(`INSERT INTO connector_rate_usage (agent_id, connector, window_start, call_count)
688
- VALUES (?, ?, ?, 1)
689
- ON CONFLICT(agent_id, connector, window_start) DO UPDATE SET call_count = call_count + 1`, [agentId, connector, windowStart]);
690
- }
691
- return {
692
- connector,
693
- agent_id: agentId,
694
- limit: connectorLimit,
695
- active_agents: activeAgents,
696
- budget,
697
- used: consume ? used + 1 : used,
698
- remaining: consume ? budget - used - 1 : budget - used,
699
- window_start: windowStart,
700
- window_resets_in_ms: windowResetsIn
701
- };
702
- }
703
- function getRateBudget(agentId, connector, connectorLimit, db) {
704
- return checkRateBudget(agentId, connector, connectorLimit, false, db);
705
- }
706
-
707
5
  // src/server/serve.ts
708
- init_strip();
709
- init_llm();
710
- init_jobs();
711
-
712
- // src/db/workflows.ts
713
- init_database();
714
- function rowToWorkflow(row) {
715
- return {
716
- ...row,
717
- steps: JSON.parse(row.steps || "[]"),
718
- enabled: row.enabled === 1
719
- };
720
- }
721
- function createWorkflow(input, db) {
722
- const d = db ?? getDatabase();
723
- const id = shortUuid();
724
- d.run("INSERT INTO connector_workflows (id, name, steps, enabled, created_at) VALUES (?, ?, ?, 1, ?)", [id, input.name, JSON.stringify(input.steps), now()]);
725
- return getWorkflow(id, d);
726
- }
727
- function getWorkflow(id, db) {
728
- const d = db ?? getDatabase();
729
- const row = d.query("SELECT * FROM connector_workflows WHERE id = ?").get(id);
730
- return row ? rowToWorkflow(row) : null;
731
- }
732
- function getWorkflowByName(name, db) {
733
- const d = db ?? getDatabase();
734
- const row = d.query("SELECT * FROM connector_workflows WHERE name = ?").get(name);
735
- return row ? rowToWorkflow(row) : null;
736
- }
737
- function listWorkflows(db) {
738
- const d = db ?? getDatabase();
739
- return d.query("SELECT * FROM connector_workflows ORDER BY name").all().map(rowToWorkflow);
740
- }
741
- function deleteWorkflow(id, db) {
742
- const d = db ?? getDatabase();
743
- return d.run("DELETE FROM connector_workflows WHERE id = ?", [id]).changes > 0;
744
- }
745
-
746
- // src/server/serve.ts
747
- init_scheduler();
748
-
749
- // src/lib/workflow-runner.ts
750
- init_strip();
751
- import { spawn as spawn2 } from "child_process";
752
- async function runStep(step, previousOutput) {
753
- return new Promise((resolve) => {
754
- const args = [...step.args ?? []];
755
- if (previousOutput && previousOutput.trim()) {
756
- args.push("--input", previousOutput.trim().slice(0, 4096));
757
- }
758
- const cmdArgs = ["run", step.connector, step.command, ...args, "--format", "json"];
759
- const proc = spawn2("connectors", cmdArgs, { shell: false });
760
- let output = "";
761
- proc.stdout.on("data", (d) => {
762
- output += d.toString();
763
- });
764
- proc.stderr.on("data", (d) => {
765
- output += d.toString();
766
- });
767
- proc.on("close", (code) => resolve({ exitCode: code ?? 1, output }));
768
- proc.on("error", () => resolve({ exitCode: 1, output: "Failed to spawn connectors" }));
769
- setTimeout(() => {
770
- proc.kill();
771
- resolve({ exitCode: 124, output: output + `
772
- [timeout]` });
773
- }, 60000);
774
- });
775
- }
776
- async function runWorkflow(workflow) {
777
- const results = [];
778
- let previousOutput;
779
- let success = true;
780
- for (let i = 0;i < workflow.steps.length; i++) {
781
- const step = workflow.steps[i];
782
- const { exitCode, output } = await runStep(step, previousOutput);
783
- const stripped = await maybeStrip(output);
784
- results.push({ step: i + 1, connector: step.connector, command: step.command, exit_code: exitCode, output: stripped });
785
- if (exitCode !== 0) {
786
- success = false;
787
- break;
788
- }
789
- previousOutput = stripped;
790
- }
791
- return {
792
- workflow_id: workflow.id,
793
- workflow_name: workflow.name,
794
- steps: results,
795
- success,
796
- final_output: results[results.length - 1]?.output ?? ""
797
- };
798
- }
799
-
800
- // src/server/serve.ts
801
- import { join as join7, dirname as dirname3, extname, basename } from "path";
6
+ import { existsSync as existsSync4, readdirSync as readdirSync3, readFileSync as readFileSync4, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "fs";
7
+ import { join as join4, dirname as dirname3, extname, basename } from "path";
802
8
  import { fileURLToPath as fileURLToPath3 } from "url";
803
- import { homedir as homedir6 } from "os";
9
+ import { homedir as homedir2 } from "os";
804
10
 
805
11
  // src/lib/registry.ts
806
- import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
807
- import { join as join3, dirname } from "path";
12
+ import { existsSync, readFileSync } from "fs";
13
+ import { join, dirname } from "path";
808
14
  import { fileURLToPath } from "url";
809
15
  var CONNECTORS = [
810
16
  {
@@ -5672,6 +4878,13 @@ var CONNECTORS = [
5672
4878
  category: "Business Tools",
5673
4879
  tags: ["e-signature", "contracts", "digital", "documents", "legal"]
5674
4880
  },
4881
+ {
4882
+ name: "yousign",
4883
+ displayName: "Yousign",
4884
+ description: "eIDAS-compliant electronic signature API for EU workflows",
4885
+ category: "Business Tools",
4886
+ tags: ["e-signature", "eidas", "contracts", "documents", "legal", "eu"]
4887
+ },
5675
4888
  {
5676
4889
  name: "signl4",
5677
4890
  displayName: "SIGNL4",
@@ -6712,17 +5925,17 @@ function loadConnectorVersions() {
6712
5925
  versionsLoaded = true;
6713
5926
  const thisDir = dirname(fileURLToPath(import.meta.url));
6714
5927
  const candidates = [
6715
- join3(thisDir, "..", "connectors"),
6716
- join3(thisDir, "..", "..", "connectors")
5928
+ join(thisDir, "..", "connectors"),
5929
+ join(thisDir, "..", "..", "connectors")
6717
5930
  ];
6718
- const connectorsDir = candidates.find((d) => existsSync2(d));
5931
+ const connectorsDir = candidates.find((d) => existsSync(d));
6719
5932
  if (!connectorsDir)
6720
5933
  return;
6721
5934
  for (const connector of CONNECTORS) {
6722
5935
  try {
6723
- const pkgPath = join3(connectorsDir, `connect-${connector.name}`, "package.json");
6724
- if (existsSync2(pkgPath)) {
6725
- const pkg = JSON.parse(readFileSync2(pkgPath, "utf-8"));
5936
+ const pkgPath = join(connectorsDir, `connect-${connector.name}`, "package.json");
5937
+ if (existsSync(pkgPath)) {
5938
+ const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
6726
5939
  connector.version = pkg.version || "0.0.0";
6727
5940
  }
6728
5941
  } catch {}
@@ -6730,27 +5943,25 @@ function loadConnectorVersions() {
6730
5943
  }
6731
5944
 
6732
5945
  // src/lib/installer.ts
6733
- import { existsSync as existsSync3, cpSync, mkdirSync as mkdirSync3, readFileSync as readFileSync3, writeFileSync as writeFileSync2, readdirSync, statSync, rmSync } from "fs";
6734
- import { homedir as homedir3 } from "os";
6735
- import { join as join4, dirname as dirname2 } from "path";
5946
+ import { existsSync as existsSync2, readFileSync as readFileSync2, readdirSync, statSync } from "fs";
5947
+ import { join as join2, dirname as dirname2 } from "path";
6736
5948
  import { fileURLToPath as fileURLToPath2 } from "url";
6737
5949
  var __dirname2 = dirname2(fileURLToPath2(import.meta.url));
6738
5950
  function resolveConnectorsDir() {
6739
- const fromBin = join4(__dirname2, "..", "connectors");
6740
- if (existsSync3(fromBin))
5951
+ const fromBin = join2(__dirname2, "..", "connectors");
5952
+ if (existsSync2(fromBin))
6741
5953
  return fromBin;
6742
- const fromSrc = join4(__dirname2, "..", "..", "connectors");
6743
- if (existsSync3(fromSrc))
5954
+ const fromSrc = join2(__dirname2, "..", "..", "connectors");
5955
+ if (existsSync2(fromSrc))
6744
5956
  return fromSrc;
6745
5957
  return fromBin;
6746
5958
  }
6747
5959
  var CONNECTORS_DIR = resolveConnectorsDir();
6748
5960
  function getConnectorPath(name) {
6749
5961
  const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
6750
- return join4(CONNECTORS_DIR, connectorName);
5962
+ return join2(CONNECTORS_DIR, connectorName);
6751
5963
  }
6752
5964
  function installConnector(name, options = {}) {
6753
- const { targetDir = process.cwd(), overwrite = false } = options;
6754
5965
  if (!/^[a-z0-9-]+$/.test(name)) {
6755
5966
  return {
6756
5967
  connector: name,
@@ -6758,91 +5969,35 @@ function installConnector(name, options = {}) {
6758
5969
  error: `Invalid connector name '${name}'`
6759
5970
  };
6760
5971
  }
6761
- const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
6762
5972
  const sourcePath = getConnectorPath(name);
6763
- const destDir = join4(targetDir, ".connectors");
6764
- const destPath = join4(destDir, connectorName);
6765
- if (!existsSync3(sourcePath)) {
5973
+ if (!existsSync2(sourcePath)) {
6766
5974
  return {
6767
5975
  connector: name,
6768
5976
  success: false,
6769
5977
  error: `Connector '${name}' not found`
6770
5978
  };
6771
5979
  }
6772
- if (existsSync3(destPath) && !overwrite) {
6773
- return {
6774
- connector: name,
6775
- success: false,
6776
- error: `Already installed. Use --overwrite to replace.`,
6777
- path: destPath
6778
- };
6779
- }
6780
- try {
6781
- if (!existsSync3(destDir)) {
6782
- mkdirSync3(destDir, { recursive: true });
6783
- }
6784
- cpSync(sourcePath, destPath, { recursive: true });
6785
- const homeCredDir = join4(homedir3(), ".connectors", connectorName);
6786
- if (existsSync3(homeCredDir)) {
6787
- const filesToCopy = ["credentials.json", "current_profile"];
6788
- for (const file of filesToCopy) {
6789
- const src = join4(homeCredDir, file);
6790
- if (existsSync3(src)) {
6791
- cpSync(src, join4(destPath, file));
6792
- }
6793
- }
6794
- const profilesDir = join4(homeCredDir, "profiles");
6795
- if (existsSync3(profilesDir)) {
6796
- cpSync(profilesDir, join4(destPath, "profiles"), { recursive: true });
6797
- }
6798
- }
6799
- updateConnectorsIndex(destDir);
6800
- return {
6801
- connector: name,
6802
- success: true,
6803
- path: destPath
6804
- };
6805
- } catch (error) {
6806
- return {
6807
- connector: name,
6808
- success: false,
6809
- error: error instanceof Error ? error.message : "Unknown error"
6810
- };
6811
- }
6812
- }
6813
- function updateConnectorsIndex(connectorsDir) {
6814
- const indexPath = join4(connectorsDir, "index.ts");
6815
- const connectors = readdirSync(connectorsDir).filter((f) => f.startsWith("connect-") && !f.includes("."));
6816
- const exports = connectors.map((c) => {
6817
- const name = c.replace("connect-", "");
6818
- return `export * as ${name} from './${c}/src/index.js';`;
6819
- }).join(`
6820
- `);
6821
- const content = `/**
6822
- * Auto-generated index of installed connectors
6823
- * Do not edit manually - run 'connectors install' to update
6824
- */
6825
-
6826
- ${exports}
6827
- `;
6828
- writeFileSync2(indexPath, content);
5980
+ return {
5981
+ connector: name,
5982
+ success: true,
5983
+ path: sourcePath
5984
+ };
6829
5985
  }
6830
- function getInstalledConnectors(targetDir = process.cwd()) {
6831
- const connectorsDir = join4(targetDir, ".connectors");
6832
- if (!existsSync3(connectorsDir)) {
5986
+ function getInstalledConnectors() {
5987
+ if (!existsSync2(CONNECTORS_DIR)) {
6833
5988
  return [];
6834
5989
  }
6835
- return readdirSync(connectorsDir).filter((f) => {
6836
- const fullPath = join4(connectorsDir, f);
5990
+ return readdirSync(CONNECTORS_DIR).filter((f) => {
5991
+ const fullPath = join2(CONNECTORS_DIR, f);
6837
5992
  return f.startsWith("connect-") && statSync(fullPath).isDirectory();
6838
5993
  }).map((f) => f.replace("connect-", ""));
6839
5994
  }
6840
5995
  function getConnectorDocs(name) {
6841
5996
  const connectorPath = getConnectorPath(name);
6842
- const claudeMdPath = join4(connectorPath, "CLAUDE.md");
6843
- if (!existsSync3(claudeMdPath))
5997
+ const claudeMdPath = join2(connectorPath, "CLAUDE.md");
5998
+ if (!existsSync2(claudeMdPath))
6844
5999
  return null;
6845
- const raw = readFileSync3(claudeMdPath, "utf-8");
6000
+ const raw = readFileSync2(claudeMdPath, "utf-8");
6846
6001
  return {
6847
6002
  overview: extractSection(raw, "Project Overview"),
6848
6003
  auth: extractSection(raw, "Authentication"),
@@ -6879,92 +6034,15 @@ function parseEnvVarsTable(section) {
6879
6034
  }
6880
6035
  return vars;
6881
6036
  }
6882
- function removeConnector(name, targetDir = process.cwd()) {
6883
- const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
6884
- const connectorsDir = join4(targetDir, ".connectors");
6885
- const connectorPath = join4(connectorsDir, connectorName);
6886
- if (!existsSync3(connectorPath)) {
6887
- return false;
6888
- }
6889
- rmSync(connectorPath, { recursive: true });
6890
- updateConnectorsIndex(connectorsDir);
6891
- return true;
6037
+ function removeConnector(name) {
6038
+ return false;
6892
6039
  }
6893
6040
 
6894
6041
  // src/server/auth.ts
6895
- import { existsSync as existsSync5, readFileSync as readFileSync4, writeFileSync as writeFileSync3, mkdirSync as mkdirSync5, readdirSync as readdirSync2, rmSync as rmSync2, statSync as statSync3 } from "fs";
6042
+ import { existsSync as existsSync3, readFileSync as readFileSync3, writeFileSync, mkdirSync, readdirSync as readdirSync2, rmSync, statSync as statSync2 } from "fs";
6896
6043
  import { randomBytes } from "crypto";
6897
- import { homedir as homedir5 } from "os";
6898
- import { join as join6 } from "path";
6899
-
6900
- // src/lib/lock.ts
6901
- import { openSync, closeSync, unlinkSync, existsSync as existsSync4, statSync as statSync2 } from "fs";
6902
- import { join as join5 } from "path";
6903
- import { homedir as homedir4 } from "os";
6904
- import { mkdirSync as mkdirSync4 } from "fs";
6905
- var LOCK_TIMEOUT_MS = 5000;
6906
- var LOCK_RETRY_MS = 100;
6907
- var STALE_LOCK_MS = 30000;
6908
-
6909
- class LockTimeoutError extends Error {
6910
- connector;
6911
- constructor(connector) {
6912
- super(`Could not acquire write lock for connector "${connector}" within ${LOCK_TIMEOUT_MS}ms. Another agent may be writing. Try again shortly.`);
6913
- this.connector = connector;
6914
- this.name = "LockTimeoutError";
6915
- }
6916
- }
6917
- function lockPath(connector) {
6918
- const dir = join5(homedir4(), ".connectors", `connect-${connector}`);
6919
- mkdirSync4(dir, { recursive: true });
6920
- return join5(dir, ".write.lock");
6921
- }
6922
- function isStale(path) {
6923
- try {
6924
- const stat = statSync2(path);
6925
- return Date.now() - stat.mtimeMs > STALE_LOCK_MS;
6926
- } catch {
6927
- return false;
6928
- }
6929
- }
6930
- function tryAcquire(path) {
6931
- if (existsSync4(path) && isStale(path)) {
6932
- try {
6933
- unlinkSync(path);
6934
- } catch {}
6935
- }
6936
- try {
6937
- const fd = openSync(path, "wx");
6938
- closeSync(fd);
6939
- return true;
6940
- } catch (e) {
6941
- if (e.code === "EEXIST")
6942
- return false;
6943
- throw e;
6944
- }
6945
- }
6946
- function release(path) {
6947
- try {
6948
- unlinkSync(path);
6949
- } catch {}
6950
- }
6951
- async function withWriteLock(connector, fn) {
6952
- const path = lockPath(connector);
6953
- const deadline = Date.now() + LOCK_TIMEOUT_MS;
6954
- while (Date.now() < deadline) {
6955
- if (tryAcquire(path)) {
6956
- try {
6957
- return await fn();
6958
- } finally {
6959
- release(path);
6960
- }
6961
- }
6962
- await new Promise((resolve) => setTimeout(resolve, LOCK_RETRY_MS));
6963
- }
6964
- throw new LockTimeoutError(connector);
6965
- }
6966
-
6967
- // src/server/auth.ts
6044
+ import { homedir } from "os";
6045
+ import { join as join3 } from "path";
6968
6046
  var FETCH_TIMEOUT = 1e4;
6969
6047
  var oauthStateStore = new Map;
6970
6048
  var GOOGLE_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
@@ -7020,14 +6098,14 @@ function getAuthType(name) {
7020
6098
  }
7021
6099
  function getConnectorConfigDir(name) {
7022
6100
  const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
7023
- return join6(homedir5(), ".connectors", connectorName);
6101
+ return join3(homedir(), ".connectors", connectorName);
7024
6102
  }
7025
6103
  function getCurrentProfile(name) {
7026
6104
  const configDir = getConnectorConfigDir(name);
7027
- const currentProfileFile = join6(configDir, "current_profile");
7028
- if (existsSync5(currentProfileFile)) {
6105
+ const currentProfileFile = join3(configDir, "current_profile");
6106
+ if (existsSync3(currentProfileFile)) {
7029
6107
  try {
7030
- return readFileSync4(currentProfileFile, "utf-8").trim() || "default";
6108
+ return readFileSync3(currentProfileFile, "utf-8").trim() || "default";
7031
6109
  } catch {
7032
6110
  return "default";
7033
6111
  }
@@ -7039,16 +6117,16 @@ function loadProfileConfig(name) {
7039
6117
  const profile = getCurrentProfile(name);
7040
6118
  let flatConfig = {};
7041
6119
  let dirConfig = {};
7042
- const profileFile = join6(configDir, "profiles", `${profile}.json`);
7043
- if (existsSync5(profileFile)) {
6120
+ const profileFile = join3(configDir, "profiles", `${profile}.json`);
6121
+ if (existsSync3(profileFile)) {
7044
6122
  try {
7045
- flatConfig = JSON.parse(readFileSync4(profileFile, "utf-8"));
6123
+ flatConfig = JSON.parse(readFileSync3(profileFile, "utf-8"));
7046
6124
  } catch {}
7047
6125
  }
7048
- const profileDirConfig = join6(configDir, "profiles", profile, "config.json");
7049
- if (existsSync5(profileDirConfig)) {
6126
+ const profileDirConfig = join3(configDir, "profiles", profile, "config.json");
6127
+ if (existsSync3(profileDirConfig)) {
7050
6128
  try {
7051
- dirConfig = JSON.parse(readFileSync4(profileDirConfig, "utf-8"));
6129
+ dirConfig = JSON.parse(readFileSync3(profileDirConfig, "utf-8"));
7052
6130
  } catch {}
7053
6131
  }
7054
6132
  if (Object.keys(flatConfig).length === 0 && Object.keys(dirConfig).length === 0) {
@@ -7059,24 +6137,14 @@ function loadProfileConfig(name) {
7059
6137
  function loadTokens(name) {
7060
6138
  const configDir = getConnectorConfigDir(name);
7061
6139
  const profile = getCurrentProfile(name);
7062
- const tokensFile = join6(configDir, "profiles", profile, "tokens.json");
7063
- if (existsSync5(tokensFile)) {
6140
+ const tokensFile = join3(configDir, "profiles", profile, "tokens.json");
6141
+ if (existsSync3(tokensFile)) {
7064
6142
  try {
7065
- return JSON.parse(readFileSync4(tokensFile, "utf-8"));
6143
+ return JSON.parse(readFileSync3(tokensFile, "utf-8"));
7066
6144
  } catch {
7067
6145
  return null;
7068
6146
  }
7069
6147
  }
7070
- const profileConfig = loadProfileConfig(name);
7071
- if (profileConfig.refreshToken || profileConfig.accessToken) {
7072
- return {
7073
- accessToken: profileConfig.accessToken,
7074
- refreshToken: profileConfig.refreshToken,
7075
- expiresAt: profileConfig.expiresAt,
7076
- tokenType: profileConfig.tokenType,
7077
- scope: profileConfig.scope
7078
- };
7079
- }
7080
6148
  return null;
7081
6149
  }
7082
6150
  function getAuthStatus(name) {
@@ -7117,51 +6185,48 @@ function getAuthStatus(name) {
7117
6185
  envVarTotalCount
7118
6186
  };
7119
6187
  }
7120
- async function saveApiKey(name, key, field) {
7121
- return withWriteLock(name, () => _saveApiKey(name, key, field));
7122
- }
7123
- function _saveApiKey(name, key, field) {
6188
+ function saveApiKey(name, key, field) {
7124
6189
  const configDir = getConnectorConfigDir(name);
7125
6190
  const profile = getCurrentProfile(name);
7126
6191
  const keyField = field || guessKeyField(name);
7127
6192
  if (keyField === "clientId" || keyField === "clientSecret") {
7128
- const credentialsFile = join6(configDir, "credentials.json");
7129
- mkdirSync5(configDir, { recursive: true });
6193
+ const credentialsFile = join3(configDir, "credentials.json");
6194
+ mkdirSync(configDir, { recursive: true });
7130
6195
  let creds = {};
7131
- if (existsSync5(credentialsFile)) {
6196
+ if (existsSync3(credentialsFile)) {
7132
6197
  try {
7133
- creds = JSON.parse(readFileSync4(credentialsFile, "utf-8"));
6198
+ creds = JSON.parse(readFileSync3(credentialsFile, "utf-8"));
7134
6199
  } catch {}
7135
6200
  }
7136
6201
  creds[keyField] = key;
7137
- writeFileSync3(credentialsFile, JSON.stringify(creds, null, 2));
6202
+ writeFileSync(credentialsFile, JSON.stringify(creds, null, 2));
7138
6203
  return;
7139
6204
  }
7140
- const profileFile = join6(configDir, "profiles", `${profile}.json`);
7141
- const profileDir = join6(configDir, "profiles", profile);
7142
- if (existsSync5(profileFile)) {
6205
+ const profileFile = join3(configDir, "profiles", `${profile}.json`);
6206
+ const profileDir = join3(configDir, "profiles", profile);
6207
+ if (existsSync3(profileFile)) {
7143
6208
  let config = {};
7144
6209
  try {
7145
- config = JSON.parse(readFileSync4(profileFile, "utf-8"));
6210
+ config = JSON.parse(readFileSync3(profileFile, "utf-8"));
7146
6211
  } catch {}
7147
6212
  config[keyField] = key;
7148
- writeFileSync3(profileFile, JSON.stringify(config, null, 2));
6213
+ writeFileSync(profileFile, JSON.stringify(config, null, 2));
7149
6214
  return;
7150
6215
  }
7151
- if (existsSync5(profileDir)) {
7152
- const configFile = join6(profileDir, "config.json");
6216
+ if (existsSync3(profileDir)) {
6217
+ const configFile = join3(profileDir, "config.json");
7153
6218
  let config = {};
7154
- if (existsSync5(configFile)) {
6219
+ if (existsSync3(configFile)) {
7155
6220
  try {
7156
- config = JSON.parse(readFileSync4(configFile, "utf-8"));
6221
+ config = JSON.parse(readFileSync3(configFile, "utf-8"));
7157
6222
  } catch {}
7158
6223
  }
7159
6224
  config[keyField] = key;
7160
- writeFileSync3(configFile, JSON.stringify(config, null, 2));
6225
+ writeFileSync(configFile, JSON.stringify(config, null, 2));
7161
6226
  return;
7162
6227
  }
7163
- mkdirSync5(profileDir, { recursive: true });
7164
- writeFileSync3(join6(profileDir, "config.json"), JSON.stringify({ [keyField]: key }, null, 2));
6228
+ mkdirSync(profileDir, { recursive: true });
6229
+ writeFileSync(join3(profileDir, "config.json"), JSON.stringify({ [keyField]: key }, null, 2));
7165
6230
  }
7166
6231
  function guessKeyField(name) {
7167
6232
  const docs = getConnectorDocs(name);
@@ -7179,10 +6244,10 @@ function guessKeyField(name) {
7179
6244
  }
7180
6245
  function getOAuthConfig(name) {
7181
6246
  const configDir = getConnectorConfigDir(name);
7182
- const credentialsFile = join6(configDir, "credentials.json");
7183
- if (existsSync5(credentialsFile)) {
6247
+ const credentialsFile = join3(configDir, "credentials.json");
6248
+ if (existsSync3(credentialsFile)) {
7184
6249
  try {
7185
- const creds = JSON.parse(readFileSync4(credentialsFile, "utf-8"));
6250
+ const creds = JSON.parse(readFileSync3(credentialsFile, "utf-8"));
7186
6251
  return { clientId: creds.clientId, clientSecret: creds.clientSecret };
7187
6252
  } catch {}
7188
6253
  }
@@ -7261,15 +6326,12 @@ async function exchangeOAuthCode(name, code, redirectUri) {
7261
6326
  function saveOAuthTokens(name, tokens) {
7262
6327
  const configDir = getConnectorConfigDir(name);
7263
6328
  const profile = getCurrentProfile(name);
7264
- const profileDir = join6(configDir, "profiles", profile);
7265
- mkdirSync5(profileDir, { recursive: true });
7266
- const tokensFile = join6(profileDir, "tokens.json");
7267
- writeFileSync3(tokensFile, JSON.stringify(tokens, null, 2), { mode: 384 });
6329
+ const profileDir = join3(configDir, "profiles", profile);
6330
+ mkdirSync(profileDir, { recursive: true });
6331
+ const tokensFile = join3(profileDir, "tokens.json");
6332
+ writeFileSync(tokensFile, JSON.stringify(tokens, null, 2), { mode: 384 });
7268
6333
  }
7269
6334
  async function refreshOAuthToken(name) {
7270
- return withWriteLock(name, () => _refreshOAuthToken(name));
7271
- }
7272
- async function _refreshOAuthToken(name) {
7273
6335
  const oauthConfig = getOAuthConfig(name);
7274
6336
  const currentTokens = loadTokens(name);
7275
6337
  if (!oauthConfig.clientId || !oauthConfig.clientSecret) {
@@ -7306,15 +6368,15 @@ async function _refreshOAuthToken(name) {
7306
6368
  }
7307
6369
  function listProfiles(name) {
7308
6370
  const configDir = getConnectorConfigDir(name);
7309
- const profilesDir = join6(configDir, "profiles");
7310
- if (!existsSync5(profilesDir))
6371
+ const profilesDir = join3(configDir, "profiles");
6372
+ if (!existsSync3(profilesDir))
7311
6373
  return ["default"];
7312
6374
  const seen = new Set;
7313
6375
  try {
7314
6376
  const entries = readdirSync2(profilesDir);
7315
6377
  for (const entry of entries) {
7316
- const fullPath = join6(profilesDir, entry);
7317
- const stat = statSync3(fullPath);
6378
+ const fullPath = join3(profilesDir, entry);
6379
+ const stat = statSync2(fullPath);
7318
6380
  if (stat.isDirectory()) {
7319
6381
  seen.add(entry);
7320
6382
  } else if (entry.endsWith(".json")) {
@@ -7327,25 +6389,25 @@ function listProfiles(name) {
7327
6389
  }
7328
6390
  function switchProfile(name, profile) {
7329
6391
  const configDir = getConnectorConfigDir(name);
7330
- mkdirSync5(configDir, { recursive: true });
7331
- writeFileSync3(join6(configDir, "current_profile"), profile);
6392
+ mkdirSync(configDir, { recursive: true });
6393
+ writeFileSync(join3(configDir, "current_profile"), profile);
7332
6394
  }
7333
6395
  function deleteProfile(name, profile) {
7334
6396
  if (profile === "default")
7335
6397
  return false;
7336
6398
  const configDir = getConnectorConfigDir(name);
7337
- const profilesDir = join6(configDir, "profiles");
7338
- const profileFile = join6(profilesDir, `${profile}.json`);
7339
- if (existsSync5(profileFile)) {
7340
- rmSync2(profileFile);
6399
+ const profilesDir = join3(configDir, "profiles");
6400
+ const profileFile = join3(profilesDir, `${profile}.json`);
6401
+ if (existsSync3(profileFile)) {
6402
+ rmSync(profileFile);
7341
6403
  if (getCurrentProfile(name) === profile) {
7342
6404
  switchProfile(name, "default");
7343
6405
  }
7344
6406
  return true;
7345
6407
  }
7346
- const profileDir = join6(profilesDir, profile);
7347
- if (existsSync5(profileDir)) {
7348
- rmSync2(profileDir, { recursive: true });
6408
+ const profileDir = join3(profilesDir, profile);
6409
+ if (existsSync3(profileDir)) {
6410
+ rmSync(profileDir, { recursive: true });
7349
6411
  if (getCurrentProfile(name) === profile) {
7350
6412
  switchProfile(name, "default");
7351
6413
  }
@@ -7367,20 +6429,20 @@ function resolveDashboardDir() {
7367
6429
  const candidates = [];
7368
6430
  try {
7369
6431
  const scriptDir = dirname3(fileURLToPath3(import.meta.url));
7370
- candidates.push(join7(scriptDir, "..", "dashboard", "dist"));
7371
- candidates.push(join7(scriptDir, "..", "..", "dashboard", "dist"));
6432
+ candidates.push(join4(scriptDir, "..", "dashboard", "dist"));
6433
+ candidates.push(join4(scriptDir, "..", "..", "dashboard", "dist"));
7372
6434
  } catch {}
7373
6435
  if (process.argv[1]) {
7374
6436
  const mainDir = dirname3(process.argv[1]);
7375
- candidates.push(join7(mainDir, "..", "dashboard", "dist"));
7376
- candidates.push(join7(mainDir, "..", "..", "dashboard", "dist"));
6437
+ candidates.push(join4(mainDir, "..", "dashboard", "dist"));
6438
+ candidates.push(join4(mainDir, "..", "..", "dashboard", "dist"));
7377
6439
  }
7378
- candidates.push(join7(process.cwd(), "dashboard", "dist"));
6440
+ candidates.push(join4(process.cwd(), "dashboard", "dist"));
7379
6441
  for (const candidate of candidates) {
7380
- if (existsSync6(candidate))
6442
+ if (existsSync4(candidate))
7381
6443
  return candidate;
7382
6444
  }
7383
- return join7(process.cwd(), "dashboard", "dist");
6445
+ return join4(process.cwd(), "dashboard", "dist");
7384
6446
  }
7385
6447
  var MIME_TYPES = {
7386
6448
  ".html": "text/html; charset=utf-8",
@@ -7408,18 +6470,6 @@ function json(data, status = 200, port) {
7408
6470
  }
7409
6471
  });
7410
6472
  }
7411
- async function jsonStripped(data, status = 200, port) {
7412
- const raw = JSON.stringify(data);
7413
- const body = await maybeStrip(raw);
7414
- return new Response(body, {
7415
- status,
7416
- headers: {
7417
- "Content-Type": "application/json",
7418
- "Access-Control-Allow-Origin": port ? `http://localhost:${port}` : "*",
7419
- ...SECURITY_HEADERS
7420
- }
7421
- });
7422
- }
7423
6473
  function htmlResponse(content, status = 200) {
7424
6474
  return new Response(content, {
7425
6475
  status,
@@ -7482,7 +6532,7 @@ function oauthPage(type, title, message, hint, extra) {
7482
6532
  </body></html>`;
7483
6533
  }
7484
6534
  function serveStaticFile(filePath) {
7485
- if (!existsSync6(filePath))
6535
+ if (!existsSync4(filePath))
7486
6536
  return null;
7487
6537
  const ext = extname(filePath);
7488
6538
  const contentType = MIME_TYPES[ext] || "application/octet-stream";
@@ -7506,7 +6556,7 @@ async function startServer(requestedPort, options) {
7506
6556
  const shouldOpen = options?.open ?? true;
7507
6557
  loadConnectorVersions();
7508
6558
  const dashboardDir = resolveDashboardDir();
7509
- const dashboardExists = existsSync6(dashboardDir);
6559
+ const dashboardExists = existsSync4(dashboardDir);
7510
6560
  if (!dashboardExists) {
7511
6561
  console.error(`
7512
6562
  Dashboard not found at: ${dashboardDir}`);
@@ -7535,10 +6585,10 @@ Dashboard not found at: ${dashboardDir}`);
7535
6585
  const fields = fieldsParam ? new Set(fieldsParam.split(",").map((f) => f.trim())) : null;
7536
6586
  const data = getAllConnectorsWithAuth();
7537
6587
  if (compact) {
7538
- return jsonStripped(data.map((c) => ({ name: c.name, category: c.category, installed: c.installed })), 200, port);
6588
+ return json(data.map((c) => ({ name: c.name, category: c.category, installed: c.installed })), 200, port);
7539
6589
  }
7540
6590
  if (fields) {
7541
- return jsonStripped(data.map((c) => {
6591
+ return json(data.map((c) => {
7542
6592
  const out = {};
7543
6593
  for (const f of fields) {
7544
6594
  if (f in c)
@@ -7547,7 +6597,7 @@ Dashboard not found at: ${dashboardDir}`);
7547
6597
  return out;
7548
6598
  }), 200, port);
7549
6599
  }
7550
- return jsonStripped(data, 200, port);
6600
+ return json(data, 200, port);
7551
6601
  }
7552
6602
  const singleMatch = path.match(/^\/api\/connectors\/([^/]+)$/);
7553
6603
  if (singleMatch && method === "GET") {
@@ -7581,7 +6631,7 @@ Dashboard not found at: ${dashboardDir}`);
7581
6631
  const body = await req.json();
7582
6632
  if (!body.key)
7583
6633
  return json({ error: "Missing 'key' in request body" }, 400, port);
7584
- await saveApiKey(name, body.key, body.field);
6634
+ saveApiKey(name, body.key, body.field);
7585
6635
  logActivity("key_saved", name, body.field ? `Field: ${body.field}` : undefined);
7586
6636
  return json({ success: true }, 200, port);
7587
6637
  } catch (e) {
@@ -7626,10 +6676,7 @@ Dashboard not found at: ${dashboardDir}`);
7626
6676
  if (!isValidConnectorName(name))
7627
6677
  return json({ error: "Invalid connector name" }, 400, port);
7628
6678
  try {
7629
- const removed = removeConnector(name);
7630
- if (!removed) {
7631
- return json({ error: `Connector '${name}' is not installed` }, 404, port);
7632
- }
6679
+ removeConnector(name);
7633
6680
  logActivity("uninstalled", name);
7634
6681
  return json({ success: true, name }, 200, port);
7635
6682
  } catch (e) {
@@ -7655,167 +6702,6 @@ Dashboard not found at: ${dashboardDir}`);
7655
6702
  if (path === "/api/activity" && method === "GET") {
7656
6703
  return json(activityLog, 200, port);
7657
6704
  }
7658
- if (path === "/api/hot" && method === "GET") {
7659
- const { getTopConnectors: getTopConnectors2 } = await Promise.resolve().then(() => (init_usage(), exports_usage));
7660
- const { getPromotedConnectors: getPromotedConnectors2 } = await Promise.resolve().then(() => (init_promotions(), exports_promotions));
7661
- const limit = parseInt(url2.searchParams.get("limit") || "10", 10);
7662
- const days = parseInt(url2.searchParams.get("days") || "7", 10);
7663
- const db = getDatabase2();
7664
- const top = getTopConnectors2(limit, days, db);
7665
- const promoted = new Set(getPromotedConnectors2(db));
7666
- return json(top.map((t) => ({ ...t, promoted: promoted.has(t.connector) })), 200, port);
7667
- }
7668
- const promoteMatch = path.match(/^\/api\/connectors\/([^/]+)\/promote$/);
7669
- if (promoteMatch && method === "POST") {
7670
- const name = promoteMatch[1];
7671
- if (!getConnector(name))
7672
- return json({ error: "Connector not found" }, 404, port);
7673
- const { promoteConnector: promoteConnector2 } = await Promise.resolve().then(() => (init_promotions(), exports_promotions));
7674
- promoteConnector2(name, getDatabase2());
7675
- return json({ success: true, connector: name }, 200, port);
7676
- }
7677
- if (promoteMatch && method === "DELETE") {
7678
- const { demoteConnector: demoteConnector2 } = await Promise.resolve().then(() => (init_promotions(), exports_promotions));
7679
- const removed = demoteConnector2(promoteMatch[1], getDatabase2());
7680
- return json({ success: removed, connector: promoteMatch[1] }, 200, port);
7681
- }
7682
- if (path === "/api/llm" && method === "GET") {
7683
- const config = getLlmConfig();
7684
- if (!config)
7685
- return json({ configured: false }, 200, port);
7686
- return json({ configured: true, provider: config.provider, model: config.model, key: maskKey(config.api_key), strip: config.strip }, 200, port);
7687
- }
7688
- if (path === "/api/llm" && method === "POST") {
7689
- const body = await req.json().catch(() => ({}));
7690
- const validProviders = ["cerebras", "groq", "openai", "anthropic"];
7691
- const provider = body.provider;
7692
- if (!provider || !validProviders.includes(provider))
7693
- return json({ error: "provider must be one of: " + validProviders.join(", ") }, 400, port);
7694
- const api_key = body.api_key;
7695
- if (!api_key)
7696
- return json({ error: "api_key is required" }, 400, port);
7697
- const model = body.model || getLlmConfig()?.model || "qwen-3-32b";
7698
- const strip = typeof body.strip === "boolean" ? body.strip : getLlmConfig()?.strip ?? false;
7699
- saveLlmConfig({ provider, model, api_key, strip });
7700
- return json({ success: true, provider, model, strip }, 200, port);
7701
- }
7702
- if (path === "/api/llm/test" && method === "POST") {
7703
- const config = getLlmConfig();
7704
- if (!config)
7705
- return json({ error: "No LLM configured" }, 400, port);
7706
- try {
7707
- const client = new LLMClient(config);
7708
- const result = await client.complete('Respond with exactly: {"status":"ok"}', "ping");
7709
- return json({ success: true, provider: result.provider, model: result.model, latency_ms: result.latency_ms, response: result.content }, 200, port);
7710
- } catch (e) {
7711
- return json({ success: false, error: e instanceof Error ? e.message : String(e) }, 500, port);
7712
- }
7713
- }
7714
- if (path === "/api/jobs" && method === "GET") {
7715
- return json(listJobs(getDatabase2()), 200, port);
7716
- }
7717
- if (path === "/api/jobs" && method === "POST") {
7718
- const body = await req.json().catch(() => ({}));
7719
- if (!body.name || !body.connector || !body.command || !body.cron)
7720
- return json({ error: "name, connector, command, cron required" }, 400, port);
7721
- const job = createJob({ name: body.name, connector: body.connector, command: body.command, args: body.args ?? [], cron: body.cron, strip: !!body.strip }, getDatabase2());
7722
- return json(job, 201, port);
7723
- }
7724
- const jobMatch = path.match(/^\/api\/jobs\/([^/]+)$/);
7725
- if (jobMatch) {
7726
- const db = getDatabase2();
7727
- const job = getJobByName(jobMatch[1]) ?? getDatabase2().query("SELECT * FROM connector_jobs WHERE id = ?").get(jobMatch[1]);
7728
- if (!job && method !== "DELETE")
7729
- return json({ error: "Job not found" }, 404, port);
7730
- if (method === "GET")
7731
- return json(listJobRuns(job.id, 20, db), 200, port);
7732
- if (method === "DELETE") {
7733
- const j = getJobByName(jobMatch[1], db);
7734
- if (!j)
7735
- return json({ error: "Job not found" }, 404, port);
7736
- deleteJob(j.id, db);
7737
- return json({ success: true }, 200, port);
7738
- }
7739
- if (method === "PATCH") {
7740
- const body = await req.json().catch(() => ({}));
7741
- const j = getJobByName(jobMatch[1], db);
7742
- const updated = updateJob(j.id, { enabled: typeof body.enabled === "boolean" ? body.enabled : undefined, strip: typeof body.strip === "boolean" ? body.strip : undefined }, db);
7743
- return json(updated, 200, port);
7744
- }
7745
- }
7746
- const jobRunMatch = path.match(/^\/api\/jobs\/([^/]+)\/run$/);
7747
- if (jobRunMatch && method === "POST") {
7748
- const db = getDatabase2();
7749
- const job = getJobByName(jobRunMatch[1], db);
7750
- if (!job)
7751
- return json({ error: "Job not found" }, 404, port);
7752
- const result = await triggerJob(job, db);
7753
- return json(result, 200, port);
7754
- }
7755
- if (path === "/api/workflows" && method === "GET") {
7756
- return json(listWorkflows(getDatabase2()), 200, port);
7757
- }
7758
- if (path === "/api/workflows" && method === "POST") {
7759
- const body = await req.json().catch(() => ({}));
7760
- if (!body.name || !body.steps)
7761
- return json({ error: "name and steps required" }, 400, port);
7762
- const wf = createWorkflow({ name: body.name, steps: body.steps }, getDatabase2());
7763
- return json(wf, 201, port);
7764
- }
7765
- const wfMatch = path.match(/^\/api\/workflows\/([^/]+)$/);
7766
- if (wfMatch) {
7767
- const db = getDatabase2();
7768
- const wf = getWorkflowByName(wfMatch[1], db);
7769
- if (!wf)
7770
- return json({ error: "Workflow not found" }, 404, port);
7771
- if (method === "GET")
7772
- return json(wf, 200, port);
7773
- if (method === "DELETE") {
7774
- deleteWorkflow(wf.id, db);
7775
- return json({ success: true }, 200, port);
7776
- }
7777
- }
7778
- const wfRunMatch = path.match(/^\/api\/workflows\/([^/]+)\/run$/);
7779
- if (wfRunMatch && method === "POST") {
7780
- const wf = getWorkflowByName(wfRunMatch[1], getDatabase2());
7781
- if (!wf)
7782
- return json({ error: "Workflow not found" }, 404, port);
7783
- const result = await runWorkflow(wf);
7784
- return json(result, 200, port);
7785
- }
7786
- if (path === "/api/agents" && method === "GET") {
7787
- return json(listAgents(), 200, port);
7788
- }
7789
- if (path === "/api/agents/register" && method === "POST") {
7790
- const body = await req.json().catch(() => ({}));
7791
- const name = typeof body.name === "string" ? body.name : null;
7792
- if (!name)
7793
- return json({ error: "name is required" }, 400, port);
7794
- const result = registerAgent({
7795
- name,
7796
- session_id: typeof body.session_id === "string" ? body.session_id : undefined,
7797
- role: typeof body.role === "string" ? body.role : undefined
7798
- });
7799
- if (isAgentConflict(result))
7800
- return json(result, 409, port);
7801
- return json(result, 200, port);
7802
- }
7803
- if (path.startsWith("/api/agents/") && method === "DELETE") {
7804
- const agentName = path.slice("/api/agents/".length);
7805
- const agent = getAgentByName(agentName);
7806
- if (!agent)
7807
- return json({ error: "Agent not found" }, 404, port);
7808
- deleteAgent(agent.id);
7809
- return json({ success: true }, 200, port);
7810
- }
7811
- const rateMatch = path.match(/^\/api\/rate\/([^/]+)\/([^/]+)$/);
7812
- if (rateMatch && method === "GET") {
7813
- const [, agentId, connector] = rateMatch;
7814
- const limit = parseInt(url2.searchParams.get("limit") || "60", 10);
7815
- const consume = url2.searchParams.get("consume") === "true";
7816
- const result = consume ? checkRateBudget(agentId, connector, limit) : getRateBudget(agentId, connector, limit);
7817
- return json(result, 200, port);
7818
- }
7819
6705
  const profilesMatch = path.match(/^\/api\/connectors\/([^/]+)\/profiles$/);
7820
6706
  if (profilesMatch && method === "GET") {
7821
6707
  const name = profilesMatch[1];
@@ -7823,12 +6709,12 @@ Dashboard not found at: ${dashboardDir}`);
7823
6709
  return json({ error: "Invalid connector name" }, 400, port);
7824
6710
  try {
7825
6711
  const profiles = listProfiles(name);
7826
- const configDir = join7(homedir6(), ".connectors", name.startsWith("connect-") ? name : `connect-${name}`);
7827
- const currentProfileFile = join7(configDir, "current_profile");
6712
+ const configDir = join4(homedir2(), ".connectors", name.startsWith("connect-") ? name : `connect-${name}`);
6713
+ const currentProfileFile = join4(configDir, "current_profile");
7828
6714
  let current = "default";
7829
- if (existsSync6(currentProfileFile)) {
6715
+ if (existsSync4(currentProfileFile)) {
7830
6716
  try {
7831
- current = readFileSync5(currentProfileFile, "utf-8").trim() || "default";
6717
+ current = readFileSync4(currentProfileFile, "utf-8").trim() || "default";
7832
6718
  } catch {}
7833
6719
  }
7834
6720
  return json({ current, profiles }, 200, port);
@@ -7875,16 +6761,16 @@ Dashboard not found at: ${dashboardDir}`);
7875
6761
  }
7876
6762
  if (path === "/api/export" && method === "GET") {
7877
6763
  try {
7878
- const connectDir = join7(homedir6(), ".connectors");
6764
+ const connectDir = join4(homedir2(), ".connectors");
7879
6765
  const result = {};
7880
- if (existsSync6(connectDir)) {
6766
+ if (existsSync4(connectDir)) {
7881
6767
  const entries = readdirSync3(connectDir, { withFileTypes: true });
7882
6768
  for (const entry of entries) {
7883
6769
  if (!entry.isDirectory() || !entry.name.startsWith("connect-"))
7884
6770
  continue;
7885
6771
  const connectorName = entry.name.replace(/^connect-/, "");
7886
- const profilesDir = join7(connectDir, entry.name, "profiles");
7887
- if (!existsSync6(profilesDir))
6772
+ const profilesDir = join4(connectDir, entry.name, "profiles");
6773
+ if (!existsSync4(profilesDir))
7888
6774
  continue;
7889
6775
  const profiles = {};
7890
6776
  const profileEntries = readdirSync3(profilesDir, { withFileTypes: true });
@@ -7892,15 +6778,15 @@ Dashboard not found at: ${dashboardDir}`);
7892
6778
  if (pEntry.isFile() && pEntry.name.endsWith(".json")) {
7893
6779
  const profileName = basename(pEntry.name, ".json");
7894
6780
  try {
7895
- const config = JSON.parse(readFileSync5(join7(profilesDir, pEntry.name), "utf-8"));
6781
+ const config = JSON.parse(readFileSync4(join4(profilesDir, pEntry.name), "utf-8"));
7896
6782
  profiles[profileName] = config;
7897
6783
  } catch {}
7898
6784
  }
7899
6785
  if (pEntry.isDirectory()) {
7900
- const configPath = join7(profilesDir, pEntry.name, "config.json");
7901
- if (existsSync6(configPath)) {
6786
+ const configPath = join4(profilesDir, pEntry.name, "config.json");
6787
+ if (existsSync4(configPath)) {
7902
6788
  try {
7903
- const config = JSON.parse(readFileSync5(configPath, "utf-8"));
6789
+ const config = JSON.parse(readFileSync4(configPath, "utf-8"));
7904
6790
  profiles[pEntry.name] = config;
7905
6791
  } catch {}
7906
6792
  }
@@ -7935,20 +6821,20 @@ Dashboard not found at: ${dashboardDir}`);
7935
6821
  return json({ error: "Invalid import format: missing 'connectors' object" }, 400, port);
7936
6822
  }
7937
6823
  let imported = 0;
7938
- const connectDir = join7(homedir6(), ".connectors");
6824
+ const connectDir = join4(homedir2(), ".connectors");
7939
6825
  for (const [connectorName, data] of Object.entries(body.connectors)) {
7940
6826
  if (!isValidConnectorName(connectorName))
7941
6827
  continue;
7942
6828
  if (!data.profiles || typeof data.profiles !== "object")
7943
6829
  continue;
7944
- const connectorDir = join7(connectDir, `connect-${connectorName}`);
7945
- const profilesDir = join7(connectorDir, "profiles");
6830
+ const connectorDir = join4(connectDir, `connect-${connectorName}`);
6831
+ const profilesDir = join4(connectorDir, "profiles");
7946
6832
  for (const [profileName, config] of Object.entries(data.profiles)) {
7947
6833
  if (!config || typeof config !== "object")
7948
6834
  continue;
7949
- mkdirSync6(profilesDir, { recursive: true });
7950
- const profileFile = join7(profilesDir, `${profileName}.json`);
7951
- writeFileSync4(profileFile, JSON.stringify(config, null, 2));
6835
+ mkdirSync2(profilesDir, { recursive: true });
6836
+ const profileFile = join4(profilesDir, `${profileName}.json`);
6837
+ writeFileSync2(profileFile, JSON.stringify(config, null, 2));
7952
6838
  imported++;
7953
6839
  }
7954
6840
  }
@@ -8003,12 +6889,12 @@ Dashboard not found at: ${dashboardDir}`);
8003
6889
  }
8004
6890
  if (dashboardExists && (method === "GET" || method === "HEAD")) {
8005
6891
  if (path !== "/") {
8006
- const filePath = join7(dashboardDir, path);
6892
+ const filePath = join4(dashboardDir, path);
8007
6893
  const res2 = serveStaticFile(filePath);
8008
6894
  if (res2)
8009
6895
  return res2;
8010
6896
  }
8011
- const indexPath = join7(dashboardDir, "index.html");
6897
+ const indexPath = join4(dashboardDir, "index.html");
8012
6898
  const res = serveStaticFile(indexPath);
8013
6899
  if (res)
8014
6900
  return res;
@@ -8022,9 +6908,6 @@ Dashboard not found at: ${dashboardDir}`);
8022
6908
  };
8023
6909
  process.on("SIGINT", shutdown);
8024
6910
  process.on("SIGTERM", shutdown);
8025
- const { startScheduler: startScheduler2 } = await Promise.resolve().then(() => (init_scheduler(), exports_scheduler));
8026
- const { getDatabase: getDatabase2 } = await Promise.resolve().then(() => (init_database(), exports_database));
8027
- startScheduler2(getDatabase2());
8028
6911
  const url = `http://localhost:${port}`;
8029
6912
  console.log(`Connectors Dashboard running at ${url}`);
8030
6913
  if (shouldOpen) {
@@ -8049,4 +6932,5 @@ function parsePort() {
8049
6932
  }
8050
6933
  return DEFAULT_PORT;
8051
6934
  }
8052
- startServer(parsePort());
6935
+ var shouldOpen = !process.argv.includes("--no-open");
6936
+ startServer(parsePort(), { open: shouldOpen });