@hasna/connectors 1.3.24 → 1.3.26

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 (695) hide show
  1. package/bin/index.js +911 -143
  2. package/bin/mcp.js +2804 -1815
  3. package/bin/serve.js +1200 -430
  4. package/connectors/{connect-yousign → connect-cloudflare}/bun.lock +3 -3
  5. package/connectors/connect-gmail/bin/index.js +7027 -0
  6. package/connectors/connect-googledrive/bin/index.js +5958 -0
  7. package/connectors/connect-imessage/bin/.gitkeep +2 -0
  8. package/connectors/connect-imessage/bin/index.js +3016 -0
  9. package/connectors/connect-imessage/bun.lock +32 -0
  10. package/connectors/connect-imessage/package.json +46 -0
  11. package/connectors/connect-imessage/src/api/client.ts +139 -0
  12. package/connectors/connect-imessage/src/api/conversations.ts +49 -0
  13. package/connectors/connect-imessage/src/api/health.ts +16 -0
  14. package/connectors/connect-imessage/src/api/index.ts +62 -0
  15. package/connectors/connect-imessage/src/api/messages.ts +119 -0
  16. package/connectors/connect-imessage/src/cli/index.ts +258 -0
  17. package/connectors/connect-imessage/src/index.ts +26 -0
  18. package/connectors/connect-imessage/src/types/index.ts +134 -0
  19. package/connectors/connect-imessage/src/utils/config.ts +219 -0
  20. package/connectors/connect-imessage/src/utils/output.ts +121 -0
  21. package/connectors/connect-imessage/tsconfig.json +16 -0
  22. package/dashboard/dist/assets/index-ClBXkNbL.css +1 -0
  23. package/dashboard/dist/assets/index-DvfmyAO4.js +284 -0
  24. package/dashboard/dist/index.html +2 -2
  25. package/dist/core/connectors/gmail.d.ts +5 -0
  26. package/dist/core/connectors/googledrive.d.ts +6 -0
  27. package/dist/core/connectors/internal-operations.test.d.ts +1 -0
  28. package/dist/core/connectors/internal-runtime.test.d.ts +1 -0
  29. package/dist/core/errors.test.d.ts +1 -0
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.js +1075 -89
  32. package/dist/lib/runner-auth.test.d.ts +1 -0
  33. package/dist/lib/runner.d.ts +31 -0
  34. package/dist/lib/test-endpoints.test.d.ts +1 -0
  35. package/dist/lib/workflow-runner.d.ts +7 -0
  36. package/dist/server/auth-exchange.test.d.ts +1 -0
  37. package/dist/server/auth-refresh.test.d.ts +1 -0
  38. package/dist/server/auth.d.ts +1 -0
  39. package/package.json +1 -1
  40. package/connectors/connect-yousign/node_modules/@types/bun/LICENSE +0 -21
  41. package/connectors/connect-yousign/node_modules/@types/bun/README.md +0 -20
  42. package/connectors/connect-yousign/node_modules/@types/bun/index.d.ts +0 -1
  43. package/connectors/connect-yousign/node_modules/@types/bun/package.json +0 -53
  44. package/connectors/connect-yousign/node_modules/@types/node/LICENSE +0 -21
  45. package/connectors/connect-yousign/node_modules/@types/node/README.md +0 -15
  46. package/connectors/connect-yousign/node_modules/@types/node/assert/strict.d.ts +0 -105
  47. package/connectors/connect-yousign/node_modules/@types/node/assert.d.ts +0 -955
  48. package/connectors/connect-yousign/node_modules/@types/node/async_hooks.d.ts +0 -623
  49. package/connectors/connect-yousign/node_modules/@types/node/buffer.buffer.d.ts +0 -466
  50. package/connectors/connect-yousign/node_modules/@types/node/buffer.d.ts +0 -1810
  51. package/connectors/connect-yousign/node_modules/@types/node/child_process.d.ts +0 -1433
  52. package/connectors/connect-yousign/node_modules/@types/node/cluster.d.ts +0 -486
  53. package/connectors/connect-yousign/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  54. package/connectors/connect-yousign/node_modules/@types/node/console.d.ts +0 -151
  55. package/connectors/connect-yousign/node_modules/@types/node/constants.d.ts +0 -20
  56. package/connectors/connect-yousign/node_modules/@types/node/crypto.d.ts +0 -4065
  57. package/connectors/connect-yousign/node_modules/@types/node/dgram.d.ts +0 -564
  58. package/connectors/connect-yousign/node_modules/@types/node/diagnostics_channel.d.ts +0 -576
  59. package/connectors/connect-yousign/node_modules/@types/node/dns/promises.d.ts +0 -503
  60. package/connectors/connect-yousign/node_modules/@types/node/dns.d.ts +0 -922
  61. package/connectors/connect-yousign/node_modules/@types/node/domain.d.ts +0 -166
  62. package/connectors/connect-yousign/node_modules/@types/node/events.d.ts +0 -1047
  63. package/connectors/connect-yousign/node_modules/@types/node/fs/promises.d.ts +0 -1329
  64. package/connectors/connect-yousign/node_modules/@types/node/fs.d.ts +0 -4678
  65. package/connectors/connect-yousign/node_modules/@types/node/globals.d.ts +0 -150
  66. package/connectors/connect-yousign/node_modules/@types/node/globals.typedarray.d.ts +0 -101
  67. package/connectors/connect-yousign/node_modules/@types/node/http.d.ts +0 -2188
  68. package/connectors/connect-yousign/node_modules/@types/node/http2.d.ts +0 -2480
  69. package/connectors/connect-yousign/node_modules/@types/node/https.d.ts +0 -405
  70. package/connectors/connect-yousign/node_modules/@types/node/index.d.ts +0 -115
  71. package/connectors/connect-yousign/node_modules/@types/node/inspector/promises.d.ts +0 -41
  72. package/connectors/connect-yousign/node_modules/@types/node/inspector.d.ts +0 -269
  73. package/connectors/connect-yousign/node_modules/@types/node/inspector.generated.d.ts +0 -4401
  74. package/connectors/connect-yousign/node_modules/@types/node/module.d.ts +0 -757
  75. package/connectors/connect-yousign/node_modules/@types/node/net.d.ts +0 -933
  76. package/connectors/connect-yousign/node_modules/@types/node/os.d.ts +0 -507
  77. package/connectors/connect-yousign/node_modules/@types/node/package.json +0 -155
  78. package/connectors/connect-yousign/node_modules/@types/node/path/posix.d.ts +0 -8
  79. package/connectors/connect-yousign/node_modules/@types/node/path/win32.d.ts +0 -8
  80. package/connectors/connect-yousign/node_modules/@types/node/path.d.ts +0 -187
  81. package/connectors/connect-yousign/node_modules/@types/node/perf_hooks.d.ts +0 -643
  82. package/connectors/connect-yousign/node_modules/@types/node/process.d.ts +0 -2175
  83. package/connectors/connect-yousign/node_modules/@types/node/punycode.d.ts +0 -117
  84. package/connectors/connect-yousign/node_modules/@types/node/querystring.d.ts +0 -152
  85. package/connectors/connect-yousign/node_modules/@types/node/quic.d.ts +0 -910
  86. package/connectors/connect-yousign/node_modules/@types/node/readline/promises.d.ts +0 -161
  87. package/connectors/connect-yousign/node_modules/@types/node/readline.d.ts +0 -542
  88. package/connectors/connect-yousign/node_modules/@types/node/repl.d.ts +0 -415
  89. package/connectors/connect-yousign/node_modules/@types/node/sea.d.ts +0 -162
  90. package/connectors/connect-yousign/node_modules/@types/node/sqlite.d.ts +0 -1065
  91. package/connectors/connect-yousign/node_modules/@types/node/stream/consumers.d.ts +0 -38
  92. package/connectors/connect-yousign/node_modules/@types/node/stream/promises.d.ts +0 -211
  93. package/connectors/connect-yousign/node_modules/@types/node/stream/web.d.ts +0 -296
  94. package/connectors/connect-yousign/node_modules/@types/node/stream.d.ts +0 -1770
  95. package/connectors/connect-yousign/node_modules/@types/node/string_decoder.d.ts +0 -67
  96. package/connectors/connect-yousign/node_modules/@types/node/test/reporters.d.ts +0 -96
  97. package/connectors/connect-yousign/node_modules/@types/node/test.d.ts +0 -2275
  98. package/connectors/connect-yousign/node_modules/@types/node/timers/promises.d.ts +0 -108
  99. package/connectors/connect-yousign/node_modules/@types/node/timers.d.ts +0 -159
  100. package/connectors/connect-yousign/node_modules/@types/node/tls.d.ts +0 -1203
  101. package/connectors/connect-yousign/node_modules/@types/node/trace_events.d.ts +0 -197
  102. package/connectors/connect-yousign/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -462
  103. package/connectors/connect-yousign/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
  104. package/connectors/connect-yousign/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -36
  105. package/connectors/connect-yousign/node_modules/@types/node/ts5.6/index.d.ts +0 -117
  106. package/connectors/connect-yousign/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
  107. package/connectors/connect-yousign/node_modules/@types/node/ts5.7/index.d.ts +0 -117
  108. package/connectors/connect-yousign/node_modules/@types/node/tty.d.ts +0 -250
  109. package/connectors/connect-yousign/node_modules/@types/node/url.d.ts +0 -541
  110. package/connectors/connect-yousign/node_modules/@types/node/util/types.d.ts +0 -558
  111. package/connectors/connect-yousign/node_modules/@types/node/util.d.ts +0 -1687
  112. package/connectors/connect-yousign/node_modules/@types/node/v8.d.ts +0 -988
  113. package/connectors/connect-yousign/node_modules/@types/node/vm.d.ts +0 -1208
  114. package/connectors/connect-yousign/node_modules/@types/node/wasi.d.ts +0 -202
  115. package/connectors/connect-yousign/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -59
  116. package/connectors/connect-yousign/node_modules/@types/node/web-globals/blob.d.ts +0 -23
  117. package/connectors/connect-yousign/node_modules/@types/node/web-globals/console.d.ts +0 -9
  118. package/connectors/connect-yousign/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
  119. package/connectors/connect-yousign/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  120. package/connectors/connect-yousign/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
  121. package/connectors/connect-yousign/node_modules/@types/node/web-globals/events.d.ts +0 -106
  122. package/connectors/connect-yousign/node_modules/@types/node/web-globals/fetch.d.ts +0 -69
  123. package/connectors/connect-yousign/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
  124. package/connectors/connect-yousign/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
  125. package/connectors/connect-yousign/node_modules/@types/node/web-globals/navigator.d.ts +0 -25
  126. package/connectors/connect-yousign/node_modules/@types/node/web-globals/performance.d.ts +0 -45
  127. package/connectors/connect-yousign/node_modules/@types/node/web-globals/storage.d.ts +0 -24
  128. package/connectors/connect-yousign/node_modules/@types/node/web-globals/streams.d.ts +0 -115
  129. package/connectors/connect-yousign/node_modules/@types/node/web-globals/timers.d.ts +0 -44
  130. package/connectors/connect-yousign/node_modules/@types/node/web-globals/url.d.ts +0 -24
  131. package/connectors/connect-yousign/node_modules/@types/node/worker_threads.d.ts +0 -717
  132. package/connectors/connect-yousign/node_modules/@types/node/zlib.d.ts +0 -682
  133. package/connectors/connect-yousign/node_modules/bun-types/CLAUDE.md +0 -105
  134. package/connectors/connect-yousign/node_modules/bun-types/README.md +0 -33
  135. package/connectors/connect-yousign/node_modules/bun-types/bun.d.ts +0 -8481
  136. package/connectors/connect-yousign/node_modules/bun-types/bun.ns.d.ts +0 -5
  137. package/connectors/connect-yousign/node_modules/bun-types/bundle.d.ts +0 -74
  138. package/connectors/connect-yousign/node_modules/bun-types/deprecated.d.ts +0 -184
  139. package/connectors/connect-yousign/node_modules/bun-types/devserver.d.ts +0 -187
  140. package/connectors/connect-yousign/node_modules/bun-types/docs/README.md +0 -28
  141. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/bytecode.mdx +0 -447
  142. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/css.mdx +0 -1024
  143. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/esbuild.mdx +0 -304
  144. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/executables.mdx +0 -1318
  145. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/fullstack.mdx +0 -1086
  146. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/hot-reloading.mdx +0 -229
  147. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/html-static.mdx +0 -498
  148. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/index.mdx +0 -1840
  149. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/loaders.mdx +0 -451
  150. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/macros.mdx +0 -328
  151. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/minifier.mdx +0 -1286
  152. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/plugins.mdx +0 -477
  153. package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/standalone-html.mdx +0 -314
  154. package/connectors/connect-yousign/node_modules/bun-types/docs/feedback.mdx +0 -75
  155. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-array.mdx +0 -29
  156. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-blob.mdx +0 -26
  157. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-buffer.mdx +0 -27
  158. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-string.mdx +0 -17
  159. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-typedarray.mdx +0 -41
  160. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-arraybuffer.mdx +0 -16
  161. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-dataview.mdx +0 -16
  162. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-stream.mdx +0 -16
  163. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-string.mdx +0 -17
  164. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-typedarray.mdx +0 -16
  165. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-arraybuffer.mdx +0 -16
  166. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-blob.mdx +0 -16
  167. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-readablestream.mdx +0 -43
  168. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-string.mdx +0 -27
  169. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-typedarray.mdx +0 -16
  170. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/dataview-to-string.mdx +0 -17
  171. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-arraybuffer.mdx +0 -27
  172. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-blob.mdx +0 -18
  173. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-buffer.mdx +0 -16
  174. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-dataview.mdx +0 -16
  175. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-readablestream.mdx +0 -43
  176. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-string.mdx +0 -18
  177. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/aws-lambda.mdx +0 -204
  178. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/digital-ocean.mdx +0 -161
  179. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/google-cloud-run.mdx +0 -194
  180. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/railway.mdx +0 -145
  181. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/render.mdx +0 -82
  182. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/vercel.mdx +0 -97
  183. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/astro.mdx +0 -82
  184. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/discordjs.mdx +0 -80
  185. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/docker.mdx +0 -151
  186. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/drizzle.mdx +0 -195
  187. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/elysia.mdx +0 -31
  188. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/express.mdx +0 -43
  189. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/gel.mdx +0 -261
  190. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/hono.mdx +0 -47
  191. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/mongoose.mdx +0 -92
  192. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/neon-drizzle.mdx +0 -234
  193. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/neon-serverless-postgres.mdx +0 -60
  194. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/nextjs.mdx +0 -103
  195. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/nuxt.mdx +0 -96
  196. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/pm2.mdx +0 -55
  197. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/prisma-postgres.mdx +0 -169
  198. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/prisma.mdx +0 -164
  199. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/qwik.mdx +0 -114
  200. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/react.mdx +0 -52
  201. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/remix.mdx +0 -97
  202. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/sentry.mdx +0 -54
  203. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/solidstart.mdx +0 -62
  204. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/ssr-react.mdx +0 -49
  205. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/stric.mdx +0 -54
  206. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/sveltekit.mdx +0 -138
  207. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/systemd.mdx +0 -114
  208. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/tanstack-start.mdx +0 -791
  209. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/upstash.mdx +0 -87
  210. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/vite.mdx +0 -77
  211. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/html-rewriter/extract-links.mdx +0 -71
  212. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/html-rewriter/extract-social-meta.mdx +0 -97
  213. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/cluster.mdx +0 -69
  214. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/fetch-unix.mdx +0 -35
  215. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/fetch.mdx +0 -26
  216. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/file-uploads.mdx +0 -97
  217. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/hot.mdx +0 -28
  218. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/proxy.mdx +0 -50
  219. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/server.mdx +0 -48
  220. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/simple.mdx +0 -20
  221. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/stream-file.mdx +0 -50
  222. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/stream-iterator.mdx +0 -49
  223. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/stream-node-streams-in-bun.mdx +0 -22
  224. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/tls.mdx +0 -32
  225. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/index.mdx +0 -10
  226. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-dev.mdx +0 -28
  227. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-git.mdx +0 -40
  228. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-optional.mdx +0 -27
  229. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-peer.mdx +0 -45
  230. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-tarball.mdx +0 -35
  231. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add.mdx +0 -44
  232. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/azure-artifacts.mdx +0 -76
  233. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/cicd.mdx +0 -43
  234. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/custom-registry.mdx +0 -32
  235. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/from-npm-install-to-bun-install.mdx +0 -230
  236. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/git-diff-bun-lockfile.mdx +0 -48
  237. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/jfrog-artifactory.mdx +0 -28
  238. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/npm-alias.mdx +0 -25
  239. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/registry-scope.mdx +0 -40
  240. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/trusted.mdx +0 -52
  241. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/workspaces.mdx +0 -70
  242. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/yarnlock.mdx +0 -51
  243. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/argv.mdx +0 -66
  244. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/ctrl-c.mdx +0 -18
  245. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/ipc.mdx +0 -69
  246. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/nanoseconds.mdx +0 -15
  247. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/os-signals.mdx +0 -31
  248. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/spawn-stderr.mdx +0 -34
  249. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/spawn-stdout.mdx +0 -28
  250. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/spawn.mdx +0 -43
  251. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/stdin.mdx +0 -62
  252. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/arraybuffer.mdx +0 -30
  253. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/buffer.mdx +0 -21
  254. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/exists.mdx +0 -18
  255. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/json.mdx +0 -19
  256. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/mime.mdx +0 -22
  257. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/stream.mdx +0 -28
  258. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/string.mdx +0 -24
  259. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/uint8array.mdx +0 -23
  260. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/watch.mdx +0 -66
  261. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/build-time-constants.mdx +0 -295
  262. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/cicd.mdx +0 -45
  263. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/codesign-macos-executable.mdx +0 -61
  264. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/define-constant.mdx +0 -149
  265. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/delete-directory.mdx +0 -39
  266. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/delete-file.mdx +0 -21
  267. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/heap-snapshot.mdx +0 -28
  268. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-html.mdx +0 -15
  269. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-json.mdx +0 -46
  270. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-json5.mdx +0 -74
  271. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-toml.mdx +0 -32
  272. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-yaml.mdx +0 -104
  273. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/read-env.mdx +0 -37
  274. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/set-env.mdx +0 -51
  275. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/shell.mdx +0 -42
  276. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/timezone.mdx +0 -38
  277. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/tsconfig-paths.mdx +0 -31
  278. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/typescript.mdx +0 -51
  279. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/vscode-debugger.mdx +0 -47
  280. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/web-debugger.mdx +0 -103
  281. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-arraybuffer.mdx +0 -13
  282. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-blob.mdx +0 -13
  283. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-json.mdx +0 -14
  284. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-string.mdx +0 -14
  285. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-uint8array.mdx +0 -13
  286. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-array.mdx +0 -16
  287. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-arraybuffer.mdx +0 -16
  288. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-blob.mdx +0 -16
  289. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-buffer.mdx +0 -17
  290. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-json.mdx +0 -16
  291. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-string.mdx +0 -16
  292. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-typedarray.mdx +0 -24
  293. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/bail.mdx +0 -24
  294. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/concurrent-test-glob.mdx +0 -146
  295. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/coverage-threshold.mdx +0 -67
  296. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/coverage.mdx +0 -49
  297. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/happy-dom.mdx +0 -73
  298. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/migrate-from-jest.mdx +0 -125
  299. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/mock-clock.mdx +0 -50
  300. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/mock-functions.mdx +0 -70
  301. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/rerun-each.mdx +0 -16
  302. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/run-tests.mdx +0 -116
  303. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/skip-tests.mdx +0 -43
  304. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/snapshot.mdx +0 -102
  305. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/spy-on.mdx +0 -49
  306. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/svelte-test.mdx +0 -113
  307. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/testing-library.mdx +0 -93
  308. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/timeout.mdx +0 -17
  309. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/todo-tests.mdx +0 -74
  310. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/update-snapshots.mdx +0 -49
  311. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/watch-mode.mdx +0 -24
  312. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/base64.mdx +0 -17
  313. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/deep-equals.mdx +0 -41
  314. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/deflate.mdx +0 -20
  315. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/detect-bun.mdx +0 -28
  316. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/entrypoint.mdx +0 -19
  317. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/escape-html.mdx +0 -24
  318. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/file-url-to-path.mdx +0 -16
  319. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/gzip.mdx +0 -20
  320. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/hash-a-password.mdx +0 -56
  321. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/import-meta-dir.mdx +0 -15
  322. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/import-meta-file.mdx +0 -15
  323. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/import-meta-path.mdx +0 -15
  324. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/javascript-uuid.mdx +0 -25
  325. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/main.mdx +0 -43
  326. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/path-to-file-url.mdx +0 -16
  327. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/sleep.mdx +0 -24
  328. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/upgrade.mdx +0 -93
  329. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/version.mdx +0 -23
  330. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/which-path-to-executable-bin.mdx +0 -17
  331. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/compression.mdx +0 -33
  332. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/context.mdx +0 -79
  333. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/pubsub.mdx +0 -43
  334. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/simple.mdx +0 -38
  335. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/append.mdx +0 -54
  336. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/basic.mdx +0 -46
  337. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/blob.mdx +0 -30
  338. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/cat.mdx +0 -19
  339. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/file-cp.mdx +0 -18
  340. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/filesink.mdx +0 -54
  341. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/response.mdx +0 -19
  342. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/stdout.mdx +0 -23
  343. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/stream.mdx +0 -19
  344. package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/unlink.mdx +0 -18
  345. package/connectors/connect-yousign/node_modules/bun-types/docs/index.mdx +0 -133
  346. package/connectors/connect-yousign/node_modules/bun-types/docs/installation.mdx +0 -372
  347. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/bunx.mdx +0 -91
  348. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/catalogs.mdx +0 -292
  349. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/add.mdx +0 -179
  350. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/audit.mdx +0 -60
  351. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/info.mdx +0 -70
  352. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/install.mdx +0 -591
  353. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/link.mdx +0 -61
  354. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/outdated.mdx +0 -197
  355. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/patch.mdx +0 -69
  356. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/pm.mdx +0 -323
  357. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/publish.mdx +0 -131
  358. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/remove.mdx +0 -16
  359. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/update.mdx +0 -140
  360. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/why.mdx +0 -84
  361. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/filter.mdx +0 -127
  362. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/global-cache.mdx +0 -72
  363. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/isolated-installs.mdx +0 -220
  364. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/lifecycle.mdx +0 -64
  365. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/lockfile.mdx +0 -64
  366. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/npmrc.mdx +0 -245
  367. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/overrides.mdx +0 -83
  368. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/scopes-registries.mdx +0 -35
  369. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/security-scanner-api.mdx +0 -95
  370. package/connectors/connect-yousign/node_modules/bun-types/docs/pm/workspaces.mdx +0 -115
  371. package/connectors/connect-yousign/node_modules/bun-types/docs/project/benchmarking.mdx +0 -296
  372. package/connectors/connect-yousign/node_modules/bun-types/docs/project/bindgen.mdx +0 -223
  373. package/connectors/connect-yousign/node_modules/bun-types/docs/project/building-windows.mdx +0 -143
  374. package/connectors/connect-yousign/node_modules/bun-types/docs/project/contributing.mdx +0 -366
  375. package/connectors/connect-yousign/node_modules/bun-types/docs/project/feedback.mdx +0 -20
  376. package/connectors/connect-yousign/node_modules/bun-types/docs/project/license.mdx +0 -78
  377. package/connectors/connect-yousign/node_modules/bun-types/docs/project/roadmap.mdx +0 -8
  378. package/connectors/connect-yousign/node_modules/bun-types/docs/quickstart.mdx +0 -251
  379. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/archive.mdx +0 -452
  380. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/auto-install.mdx +0 -97
  381. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/binary-data.mdx +0 -846
  382. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/bun-apis.mdx +0 -59
  383. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/bunfig.mdx +0 -754
  384. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/c-compiler.mdx +0 -204
  385. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/child-process.mdx +0 -659
  386. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/color.mdx +0 -267
  387. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/console.mdx +0 -67
  388. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/cookies.mdx +0 -454
  389. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/debugger.mdx +0 -335
  390. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/environment-variables.mdx +0 -231
  391. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/ffi.mdx +0 -567
  392. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/file-io.mdx +0 -306
  393. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/file-system-router.mdx +0 -118
  394. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/file-types.mdx +0 -482
  395. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/glob.mdx +0 -181
  396. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/globals.mdx +0 -72
  397. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/hashing.mdx +0 -315
  398. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/html-rewriter.mdx +0 -333
  399. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/cookies.mdx +0 -79
  400. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/error-handling.mdx +0 -40
  401. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/metrics.mdx +0 -36
  402. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/routing.mdx +0 -289
  403. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/server.mdx +0 -645
  404. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/tls.mdx +0 -101
  405. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/websockets.mdx +0 -414
  406. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/index.mdx +0 -223
  407. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/json5.mdx +0 -271
  408. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/jsonl.mdx +0 -188
  409. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/jsx.mdx +0 -115
  410. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/markdown.mdx +0 -344
  411. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/module-resolution.mdx +0 -374
  412. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/dns.mdx +0 -111
  413. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/fetch.mdx +0 -484
  414. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/tcp.mdx +0 -239
  415. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/udp.mdx +0 -180
  416. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/node-api.mdx +0 -19
  417. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/nodejs-compat.mdx +0 -468
  418. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/plugins.mdx +0 -419
  419. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/redis.mdx +0 -583
  420. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/repl.mdx +0 -176
  421. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/s3.mdx +0 -881
  422. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/secrets.mdx +0 -340
  423. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/semver.mdx +0 -57
  424. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/shell.mdx +0 -637
  425. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/sql.mdx +0 -1404
  426. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/sqlite.mdx +0 -721
  427. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/streams.mdx +0 -232
  428. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/templating/create.mdx +0 -269
  429. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/templating/init.mdx +0 -58
  430. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/transpiler.mdx +0 -288
  431. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/typescript.mdx +0 -58
  432. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/utils.mdx +0 -1010
  433. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/watch-mode.mdx +0 -161
  434. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/web-apis.mdx +0 -29
  435. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/workers.mdx +0 -314
  436. package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/yaml.mdx +0 -469
  437. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/add.mdx +0 -166
  438. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/build.mdx +0 -197
  439. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/bunx.mdx +0 -49
  440. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/feedback.mdx +0 -17
  441. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/init.mdx +0 -84
  442. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/install.mdx +0 -173
  443. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/link.mdx +0 -163
  444. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/outdated.mdx +0 -140
  445. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/patch.mdx +0 -171
  446. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/publish.mdx +0 -198
  447. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/remove.mdx +0 -146
  448. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/run.mdx +0 -305
  449. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/test.mdx +0 -105
  450. package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/update.mdx +0 -144
  451. package/connectors/connect-yousign/node_modules/bun-types/docs/test/code-coverage.mdx +0 -409
  452. package/connectors/connect-yousign/node_modules/bun-types/docs/test/configuration.mdx +0 -520
  453. package/connectors/connect-yousign/node_modules/bun-types/docs/test/dates-times.mdx +0 -129
  454. package/connectors/connect-yousign/node_modules/bun-types/docs/test/discovery.mdx +0 -90
  455. package/connectors/connect-yousign/node_modules/bun-types/docs/test/dom.mdx +0 -226
  456. package/connectors/connect-yousign/node_modules/bun-types/docs/test/index.mdx +0 -409
  457. package/connectors/connect-yousign/node_modules/bun-types/docs/test/lifecycle.mdx +0 -366
  458. package/connectors/connect-yousign/node_modules/bun-types/docs/test/mocks.mdx +0 -637
  459. package/connectors/connect-yousign/node_modules/bun-types/docs/test/reporters.mdx +0 -126
  460. package/connectors/connect-yousign/node_modules/bun-types/docs/test/runtime-behavior.mdx +0 -342
  461. package/connectors/connect-yousign/node_modules/bun-types/docs/test/snapshots.mdx +0 -434
  462. package/connectors/connect-yousign/node_modules/bun-types/docs/test/writing-tests.mdx +0 -672
  463. package/connectors/connect-yousign/node_modules/bun-types/docs/typescript.mdx +0 -54
  464. package/connectors/connect-yousign/node_modules/bun-types/extensions.d.ts +0 -40
  465. package/connectors/connect-yousign/node_modules/bun-types/fetch.d.ts +0 -79
  466. package/connectors/connect-yousign/node_modules/bun-types/ffi.d.ts +0 -1154
  467. package/connectors/connect-yousign/node_modules/bun-types/globals.d.ts +0 -2067
  468. package/connectors/connect-yousign/node_modules/bun-types/html-rewriter.d.ts +0 -186
  469. package/connectors/connect-yousign/node_modules/bun-types/index.d.ts +0 -32
  470. package/connectors/connect-yousign/node_modules/bun-types/jsc.d.ts +0 -233
  471. package/connectors/connect-yousign/node_modules/bun-types/jsx.d.ts +0 -11
  472. package/connectors/connect-yousign/node_modules/bun-types/overrides.d.ts +0 -376
  473. package/connectors/connect-yousign/node_modules/bun-types/package.json +0 -37
  474. package/connectors/connect-yousign/node_modules/bun-types/redis.d.ts +0 -3352
  475. package/connectors/connect-yousign/node_modules/bun-types/s3.d.ts +0 -1335
  476. package/connectors/connect-yousign/node_modules/bun-types/security.d.ts +0 -101
  477. package/connectors/connect-yousign/node_modules/bun-types/serve.d.ts +0 -1296
  478. package/connectors/connect-yousign/node_modules/bun-types/shell.d.ts +0 -380
  479. package/connectors/connect-yousign/node_modules/bun-types/sql.d.ts +0 -887
  480. package/connectors/connect-yousign/node_modules/bun-types/sqlite.d.ts +0 -1322
  481. package/connectors/connect-yousign/node_modules/bun-types/test-globals.d.ts +0 -22
  482. package/connectors/connect-yousign/node_modules/bun-types/test.d.ts +0 -2392
  483. package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/branding.d.ts +0 -283
  484. package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/index.d.ts +0 -1207
  485. package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/messages.d.ts +0 -395
  486. package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/overloads.d.ts +0 -669
  487. package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/utils.d.ts +0 -431
  488. package/connectors/connect-yousign/node_modules/bun-types/wasm.d.ts +0 -193
  489. package/connectors/connect-yousign/node_modules/chalk/license +0 -9
  490. package/connectors/connect-yousign/node_modules/chalk/package.json +0 -83
  491. package/connectors/connect-yousign/node_modules/chalk/readme.md +0 -297
  492. package/connectors/connect-yousign/node_modules/chalk/source/index.d.ts +0 -325
  493. package/connectors/connect-yousign/node_modules/chalk/source/index.js +0 -225
  494. package/connectors/connect-yousign/node_modules/chalk/source/utilities.js +0 -33
  495. package/connectors/connect-yousign/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +0 -236
  496. package/connectors/connect-yousign/node_modules/chalk/source/vendor/ansi-styles/index.js +0 -223
  497. package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/browser.d.ts +0 -1
  498. package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/browser.js +0 -34
  499. package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/index.d.ts +0 -55
  500. package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/index.js +0 -190
  501. package/connectors/connect-yousign/node_modules/commander/LICENSE +0 -22
  502. package/connectors/connect-yousign/node_modules/commander/Readme.md +0 -1157
  503. package/connectors/connect-yousign/node_modules/commander/esm.mjs +0 -16
  504. package/connectors/connect-yousign/node_modules/commander/index.js +0 -24
  505. package/connectors/connect-yousign/node_modules/commander/lib/argument.js +0 -149
  506. package/connectors/connect-yousign/node_modules/commander/lib/command.js +0 -2509
  507. package/connectors/connect-yousign/node_modules/commander/lib/error.js +0 -39
  508. package/connectors/connect-yousign/node_modules/commander/lib/help.js +0 -520
  509. package/connectors/connect-yousign/node_modules/commander/lib/option.js +0 -330
  510. package/connectors/connect-yousign/node_modules/commander/lib/suggestSimilar.js +0 -101
  511. package/connectors/connect-yousign/node_modules/commander/package-support.json +0 -16
  512. package/connectors/connect-yousign/node_modules/commander/package.json +0 -84
  513. package/connectors/connect-yousign/node_modules/commander/typings/esm.d.mts +0 -3
  514. package/connectors/connect-yousign/node_modules/commander/typings/index.d.ts +0 -969
  515. package/connectors/connect-yousign/node_modules/typescript/LICENSE.txt +0 -55
  516. package/connectors/connect-yousign/node_modules/typescript/README.md +0 -50
  517. package/connectors/connect-yousign/node_modules/typescript/SECURITY.md +0 -41
  518. package/connectors/connect-yousign/node_modules/typescript/ThirdPartyNoticeText.txt +0 -193
  519. package/connectors/connect-yousign/node_modules/typescript/bin/tsc +0 -2
  520. package/connectors/connect-yousign/node_modules/typescript/bin/tsserver +0 -2
  521. package/connectors/connect-yousign/node_modules/typescript/lib/_tsc.js +0 -133818
  522. package/connectors/connect-yousign/node_modules/typescript/lib/_tsserver.js +0 -659
  523. package/connectors/connect-yousign/node_modules/typescript/lib/_typingsInstaller.js +0 -222
  524. package/connectors/connect-yousign/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  525. package/connectors/connect-yousign/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  526. package/connectors/connect-yousign/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  527. package/connectors/connect-yousign/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  528. package/connectors/connect-yousign/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  529. package/connectors/connect-yousign/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  530. package/connectors/connect-yousign/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  531. package/connectors/connect-yousign/node_modules/typescript/lib/lib.d.ts +0 -22
  532. package/connectors/connect-yousign/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
  533. package/connectors/connect-yousign/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
  534. package/connectors/connect-yousign/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
  535. package/connectors/connect-yousign/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
  536. package/connectors/connect-yousign/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
  537. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
  538. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
  539. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
  540. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
  541. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
  542. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
  543. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
  544. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
  545. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
  546. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
  547. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
  548. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
  549. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
  550. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
  551. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
  552. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
  553. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
  554. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
  555. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
  556. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
  557. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
  558. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
  559. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
  560. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
  561. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
  562. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
  563. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
  564. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
  565. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
  566. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
  567. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
  568. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
  569. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
  570. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
  571. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
  572. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
  573. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
  574. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
  575. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
  576. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
  577. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
  578. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
  579. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
  580. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
  581. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
  582. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
  583. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
  584. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
  585. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
  586. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
  587. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
  588. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
  589. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
  590. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
  591. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
  592. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
  593. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
  594. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
  595. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
  596. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
  597. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
  598. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
  599. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
  600. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
  601. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
  602. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
  603. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
  604. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
  605. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
  606. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
  607. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
  608. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
  609. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
  610. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
  611. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
  612. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
  613. package/connectors/connect-yousign/node_modules/typescript/lib/lib.es6.d.ts +0 -23
  614. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
  615. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
  616. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
  617. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
  618. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
  619. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
  620. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
  621. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
  622. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
  623. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
  624. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
  625. package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
  626. package/connectors/connect-yousign/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
  627. package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
  628. package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
  629. package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
  630. package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
  631. package/connectors/connect-yousign/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  632. package/connectors/connect-yousign/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  633. package/connectors/connect-yousign/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  634. package/connectors/connect-yousign/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  635. package/connectors/connect-yousign/node_modules/typescript/lib/tsc.js +0 -8
  636. package/connectors/connect-yousign/node_modules/typescript/lib/tsserver.js +0 -8
  637. package/connectors/connect-yousign/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
  638. package/connectors/connect-yousign/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  639. package/connectors/connect-yousign/node_modules/typescript/lib/typesMap.json +0 -497
  640. package/connectors/connect-yousign/node_modules/typescript/lib/typescript.d.ts +0 -11437
  641. package/connectors/connect-yousign/node_modules/typescript/lib/typescript.js +0 -200276
  642. package/connectors/connect-yousign/node_modules/typescript/lib/typingsInstaller.js +0 -8
  643. package/connectors/connect-yousign/node_modules/typescript/lib/watchGuard.js +0 -53
  644. package/connectors/connect-yousign/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -2122
  645. package/connectors/connect-yousign/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -2122
  646. package/connectors/connect-yousign/node_modules/typescript/package.json +0 -120
  647. package/connectors/connect-yousign/node_modules/undici-types/LICENSE +0 -21
  648. package/connectors/connect-yousign/node_modules/undici-types/README.md +0 -6
  649. package/connectors/connect-yousign/node_modules/undici-types/agent.d.ts +0 -32
  650. package/connectors/connect-yousign/node_modules/undici-types/api.d.ts +0 -43
  651. package/connectors/connect-yousign/node_modules/undici-types/balanced-pool.d.ts +0 -30
  652. package/connectors/connect-yousign/node_modules/undici-types/cache-interceptor.d.ts +0 -173
  653. package/connectors/connect-yousign/node_modules/undici-types/cache.d.ts +0 -36
  654. package/connectors/connect-yousign/node_modules/undici-types/client-stats.d.ts +0 -15
  655. package/connectors/connect-yousign/node_modules/undici-types/client.d.ts +0 -108
  656. package/connectors/connect-yousign/node_modules/undici-types/connector.d.ts +0 -34
  657. package/connectors/connect-yousign/node_modules/undici-types/content-type.d.ts +0 -21
  658. package/connectors/connect-yousign/node_modules/undici-types/cookies.d.ts +0 -30
  659. package/connectors/connect-yousign/node_modules/undici-types/diagnostics-channel.d.ts +0 -74
  660. package/connectors/connect-yousign/node_modules/undici-types/dispatcher.d.ts +0 -276
  661. package/connectors/connect-yousign/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -22
  662. package/connectors/connect-yousign/node_modules/undici-types/errors.d.ts +0 -161
  663. package/connectors/connect-yousign/node_modules/undici-types/eventsource.d.ts +0 -66
  664. package/connectors/connect-yousign/node_modules/undici-types/fetch.d.ts +0 -211
  665. package/connectors/connect-yousign/node_modules/undici-types/formdata.d.ts +0 -108
  666. package/connectors/connect-yousign/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  667. package/connectors/connect-yousign/node_modules/undici-types/global-origin.d.ts +0 -7
  668. package/connectors/connect-yousign/node_modules/undici-types/h2c-client.d.ts +0 -73
  669. package/connectors/connect-yousign/node_modules/undici-types/handlers.d.ts +0 -15
  670. package/connectors/connect-yousign/node_modules/undici-types/header.d.ts +0 -160
  671. package/connectors/connect-yousign/node_modules/undici-types/index.d.ts +0 -88
  672. package/connectors/connect-yousign/node_modules/undici-types/interceptors.d.ts +0 -73
  673. package/connectors/connect-yousign/node_modules/undici-types/mock-agent.d.ts +0 -68
  674. package/connectors/connect-yousign/node_modules/undici-types/mock-call-history.d.ts +0 -111
  675. package/connectors/connect-yousign/node_modules/undici-types/mock-client.d.ts +0 -27
  676. package/connectors/connect-yousign/node_modules/undici-types/mock-errors.d.ts +0 -12
  677. package/connectors/connect-yousign/node_modules/undici-types/mock-interceptor.d.ts +0 -94
  678. package/connectors/connect-yousign/node_modules/undici-types/mock-pool.d.ts +0 -27
  679. package/connectors/connect-yousign/node_modules/undici-types/package.json +0 -55
  680. package/connectors/connect-yousign/node_modules/undici-types/patch.d.ts +0 -29
  681. package/connectors/connect-yousign/node_modules/undici-types/pool-stats.d.ts +0 -19
  682. package/connectors/connect-yousign/node_modules/undici-types/pool.d.ts +0 -41
  683. package/connectors/connect-yousign/node_modules/undici-types/proxy-agent.d.ts +0 -29
  684. package/connectors/connect-yousign/node_modules/undici-types/readable.d.ts +0 -68
  685. package/connectors/connect-yousign/node_modules/undici-types/retry-agent.d.ts +0 -8
  686. package/connectors/connect-yousign/node_modules/undici-types/retry-handler.d.ts +0 -125
  687. package/connectors/connect-yousign/node_modules/undici-types/round-robin-pool.d.ts +0 -41
  688. package/connectors/connect-yousign/node_modules/undici-types/snapshot-agent.d.ts +0 -109
  689. package/connectors/connect-yousign/node_modules/undici-types/util.d.ts +0 -18
  690. package/connectors/connect-yousign/node_modules/undici-types/utility.d.ts +0 -7
  691. package/connectors/connect-yousign/node_modules/undici-types/webidl.d.ts +0 -341
  692. package/connectors/connect-yousign/node_modules/undici-types/websocket.d.ts +0 -186
  693. package/dashboard/dist/assets/index-CSlS3oNV.css +0 -1
  694. package/dashboard/dist/assets/index-NCasN7x4.js +0 -284
  695. /package/dist/{server/server.test.d.ts → core/builtins.test.d.ts} +0 -0
package/dist/index.js CHANGED
@@ -15,8 +15,8 @@ var __export = (target, all) => {
15
15
  };
16
16
 
17
17
  // src/lib/registry.ts
18
- import { existsSync as existsSync8, readFileSync as readFileSync3 } from "fs";
19
- import { join as join9, dirname as dirname5 } from "path";
18
+ import { existsSync as existsSync8, readFileSync as readFileSync5 } from "fs";
19
+ import { join as join10, dirname as dirname5 } from "path";
20
20
  import { fileURLToPath as fileURLToPath3 } from "url";
21
21
 
22
22
  // src/core/errors.ts
@@ -42,7 +42,7 @@ class ConnectorOperationNotFoundError extends Error {
42
42
 
43
43
  // src/core/connector.ts
44
44
  var CONNECTOR_NAME_RE = /^[a-z0-9-]+$/;
45
- var OPERATION_NAME_RE = /^[a-z0-9:_-]+$/;
45
+ var OPERATION_NAME_RE = /^[A-Za-z0-9:._-]+$/;
46
46
  function defineConnector(definition) {
47
47
  const { meta, auth, operations } = definition;
48
48
  if (!CONNECTOR_NAME_RE.test(meta.name)) {
@@ -4966,10 +4966,731 @@ var githubConnector = defineConnector({
4966
4966
  }
4967
4967
  }
4968
4968
  });
4969
+
4970
+ // src/core/connectors/gmail.ts
4971
+ import { existsSync as existsSync2, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
4972
+ import { homedir } from "os";
4973
+ import { basename, join as join2 } from "path";
4974
+ var GMAIL_API_BASE = "https://gmail.googleapis.com/gmail/v1";
4975
+ var TOKEN_URL = "https://oauth2.googleapis.com/token";
4976
+ var REFRESH_BUFFER_MS = 5 * 60 * 1000;
4977
+ var listMessagesSchema = exports_external.object({
4978
+ max: exports_external.coerce.number().int().positive().max(500).optional(),
4979
+ maxResults: exports_external.coerce.number().int().positive().max(500).optional(),
4980
+ pageToken: exports_external.string().optional(),
4981
+ query: exports_external.string().optional(),
4982
+ q: exports_external.string().optional(),
4983
+ label: exports_external.string().optional(),
4984
+ labelIds: exports_external.union([exports_external.string(), exports_external.array(exports_external.string())]).optional(),
4985
+ includeSpamTrash: exports_external.boolean().optional()
4986
+ });
4987
+ var messageIdSchema = exports_external.object({
4988
+ args: exports_external.array(exports_external.union([exports_external.string(), exports_external.number(), exports_external.boolean()])).optional(),
4989
+ messageId: exports_external.string().optional()
4990
+ });
4991
+ var readMessageSchema = messageIdSchema.extend({
4992
+ body: exports_external.boolean().optional(),
4993
+ html: exports_external.boolean().optional(),
4994
+ format: exports_external.enum(["full", "metadata", "minimal", "raw"]).optional()
4995
+ });
4996
+ var attachmentListSchema = messageIdSchema;
4997
+ var attachmentDownloadSchema = messageIdSchema.extend({
4998
+ attachmentId: exports_external.string().optional(),
4999
+ filename: exports_external.string().optional(),
5000
+ mimeType: exports_external.string().optional(),
5001
+ dir: exports_external.string().optional(),
5002
+ outputDir: exports_external.string().optional()
5003
+ });
5004
+ var historyListSchema = exports_external.object({
5005
+ startHistoryId: exports_external.string(),
5006
+ historyTypes: exports_external.union([exports_external.string(), exports_external.array(exports_external.string())]).optional(),
5007
+ labelId: exports_external.string().optional(),
5008
+ maxResults: exports_external.coerce.number().int().positive().max(500).optional(),
5009
+ pageToken: exports_external.string().optional()
5010
+ });
5011
+ var replySchema = messageIdSchema.extend({
5012
+ body: exports_external.string(),
5013
+ html: exports_external.boolean().optional(),
5014
+ isHtml: exports_external.boolean().optional(),
5015
+ cc: exports_external.union([exports_external.string(), exports_external.array(exports_external.string())]).optional(),
5016
+ bcc: exports_external.union([exports_external.string(), exports_external.array(exports_external.string())]).optional()
5017
+ });
5018
+ var gmailConnector = defineConnector({
5019
+ meta: {
5020
+ name: "gmail",
5021
+ displayName: "Gmail",
5022
+ description: "Profile-aware Gmail mailbox operations for sync, labels, attachments, history, and replies.",
5023
+ category: "communication",
5024
+ tags: ["google", "gmail", "email", "mailbox"]
5025
+ },
5026
+ auth: {
5027
+ type: "oauth2",
5028
+ supportsProfiles: true,
5029
+ fields: [
5030
+ { key: "clientId", env: "GMAIL_CLIENT_ID", label: "OAuth client ID" },
5031
+ { key: "clientSecret", env: "GMAIL_CLIENT_SECRET", label: "OAuth client secret", secret: true }
5032
+ ]
5033
+ },
5034
+ createContext: ({ profile }) => ({ profile: profile || "default" }),
5035
+ operations: {
5036
+ "profiles.list": {
5037
+ summary: "List configured Gmail profiles.",
5038
+ execute: () => ({ profiles: listProfiles() })
5039
+ },
5040
+ "profile.get": {
5041
+ summary: "Get the authenticated Gmail profile.",
5042
+ execute: async ({ context }) => requestJson(context.profile, "/users/me/profile", {})
5043
+ },
5044
+ "messages.list": {
5045
+ summary: "List Gmail messages.",
5046
+ inputSchema: listMessagesSchema,
5047
+ execute: async ({ context }, input) => {
5048
+ const labelIds = normalizeStringArray(input.labelIds ?? input.label);
5049
+ return requestJson(context.profile, "/users/me/messages", {
5050
+ maxResults: input.maxResults ?? input.max ?? 50,
5051
+ pageToken: input.pageToken,
5052
+ q: input.q ?? input.query,
5053
+ labelIds: labelIds.length > 0 ? labelIds.join(",") : undefined,
5054
+ includeSpamTrash: input.includeSpamTrash
5055
+ });
5056
+ }
5057
+ },
5058
+ "messages.read": {
5059
+ summary: "Read a Gmail message with optional extracted body.",
5060
+ inputSchema: readMessageSchema,
5061
+ execute: async ({ context }, input) => {
5062
+ const messageId = getMessageId(input);
5063
+ const message = await requestJson(context.profile, `/users/me/messages/${encodeURIComponent(messageId)}`, { format: input.format ?? "full" });
5064
+ const headers = headersToObject(message.payload?.headers ?? []);
5065
+ return {
5066
+ ...message,
5067
+ from: headers.From ?? headers.from ?? "",
5068
+ to: headers.To ?? headers.to ?? "",
5069
+ cc: headers.Cc ?? headers.cc ?? "",
5070
+ subject: headers.Subject ?? headers.subject ?? "",
5071
+ date: headers.Date ?? headers.date ?? "",
5072
+ body: input.body ? extractBody(message, Boolean(input.html)) : undefined,
5073
+ size: message.sizeEstimate
5074
+ };
5075
+ }
5076
+ },
5077
+ "messages.getRaw": {
5078
+ summary: "Read raw base64url Gmail message content.",
5079
+ inputSchema: messageIdSchema,
5080
+ execute: async ({ context }, input) => {
5081
+ const messageId = getMessageId(input);
5082
+ return requestJson(context.profile, `/users/me/messages/${encodeURIComponent(messageId)}`, { format: "raw" });
5083
+ }
5084
+ },
5085
+ "messages.mark-read": {
5086
+ summary: "Mark a message as read.",
5087
+ inputSchema: messageIdSchema,
5088
+ execute: async ({ context }, input) => modifyMessage(context.profile, getMessageId(input), undefined, ["UNREAD"])
5089
+ },
5090
+ "messages.mark-unread": {
5091
+ summary: "Mark a message as unread.",
5092
+ inputSchema: messageIdSchema,
5093
+ execute: async ({ context }, input) => modifyMessage(context.profile, getMessageId(input), ["UNREAD"], undefined)
5094
+ },
5095
+ "messages.archive": {
5096
+ summary: "Archive a message by removing the INBOX label.",
5097
+ inputSchema: messageIdSchema,
5098
+ execute: async ({ context }, input) => modifyMessage(context.profile, getMessageId(input), undefined, ["INBOX"])
5099
+ },
5100
+ "messages.star": {
5101
+ summary: "Star a message.",
5102
+ inputSchema: messageIdSchema,
5103
+ execute: async ({ context }, input) => modifyMessage(context.profile, getMessageId(input), ["STARRED"], undefined)
5104
+ },
5105
+ "messages.reply": {
5106
+ summary: "Reply to a Gmail message in the same thread.",
5107
+ inputSchema: replySchema,
5108
+ execute: async ({ context }, input) => replyToMessage(context.profile, getMessageId(input), input)
5109
+ },
5110
+ "attachments.list": {
5111
+ summary: "List Gmail message attachments.",
5112
+ inputSchema: attachmentListSchema,
5113
+ execute: async ({ context }, input) => {
5114
+ const message = await requestJson(context.profile, `/users/me/messages/${encodeURIComponent(getMessageId(input))}`, { format: "full" });
5115
+ return collectAttachments(message.payload);
5116
+ }
5117
+ },
5118
+ "attachments.download": {
5119
+ summary: "Download one or all Gmail message attachments to disk.",
5120
+ inputSchema: attachmentDownloadSchema,
5121
+ execute: async ({ context }, input) => downloadAttachments(context.profile, input)
5122
+ },
5123
+ "labels.list": {
5124
+ summary: "List Gmail labels.",
5125
+ execute: async ({ context }) => requestJson(context.profile, "/users/me/labels", {})
5126
+ },
5127
+ "history.list": {
5128
+ summary: "List Gmail mailbox history from a history id.",
5129
+ inputSchema: historyListSchema,
5130
+ execute: async ({ context }, input) => requestJson(context.profile, "/users/me/history", {
5131
+ startHistoryId: input.startHistoryId,
5132
+ historyTypes: normalizeStringArray(input.historyTypes).join(",") || undefined,
5133
+ labelId: input.labelId,
5134
+ maxResults: input.maxResults,
5135
+ pageToken: input.pageToken
5136
+ })
5137
+ }
5138
+ }
5139
+ });
5140
+ async function modifyMessage(profile, messageId, addLabelIds, removeLabelIds) {
5141
+ return requestJson(profile, `/users/me/messages/${encodeURIComponent(messageId)}/modify`, {}, {
5142
+ method: "POST",
5143
+ body: {
5144
+ addLabelIds: addLabelIds ?? [],
5145
+ removeLabelIds: removeLabelIds ?? []
5146
+ }
5147
+ });
5148
+ }
5149
+ async function replyToMessage(profile, messageId, input) {
5150
+ const original = await requestJson(profile, `/users/me/messages/${encodeURIComponent(messageId)}`, { format: "full" });
5151
+ const headers = headersToObject(original.payload?.headers ?? []);
5152
+ const subject = normalizeReplySubject(headers.Subject ?? headers.subject ?? "");
5153
+ const to = headers.From ?? headers.from ?? "";
5154
+ const messageIdHeader = headers["Message-ID"] ?? headers["Message-Id"] ?? headers["message-id"] ?? "";
5155
+ const references = [headers.References ?? headers.references, messageIdHeader].filter(Boolean).join(" ");
5156
+ const raw = buildRawEmail({
5157
+ to,
5158
+ cc: normalizeStringArray(input.cc),
5159
+ bcc: normalizeStringArray(input.bcc),
5160
+ subject,
5161
+ body: input.body,
5162
+ isHtml: Boolean(input.html ?? input.isHtml),
5163
+ inReplyTo: messageIdHeader,
5164
+ references
5165
+ });
5166
+ return requestJson(profile, "/users/me/messages/send", {}, {
5167
+ method: "POST",
5168
+ body: {
5169
+ raw: Buffer.from(raw).toString("base64url"),
5170
+ threadId: original.threadId
5171
+ }
5172
+ });
5173
+ }
5174
+ async function downloadAttachments(profile, input) {
5175
+ const messageId = getMessageId(input);
5176
+ const outputDir = input.dir ?? input.outputDir ?? join2(configDirs()[0], "attachments", messageId);
5177
+ mkdirSync(outputDir, { recursive: true });
5178
+ const attachments = input.attachmentId && input.filename ? [{
5179
+ attachmentId: input.attachmentId,
5180
+ filename: input.filename,
5181
+ mimeType: input.mimeType ?? "application/octet-stream",
5182
+ size: 0
5183
+ }] : collectAttachments((await requestJson(profile, `/users/me/messages/${encodeURIComponent(messageId)}`, { format: "full" })).payload);
5184
+ const downloaded = [];
5185
+ for (const attachment of attachments) {
5186
+ const data = await requestJson(profile, `/users/me/messages/${encodeURIComponent(messageId)}/attachments/${encodeURIComponent(attachment.attachmentId)}`, {});
5187
+ const filename = safeFilename(attachment.filename);
5188
+ const path = join2(outputDir, filename);
5189
+ const buffer = Buffer.from(data.data, "base64url");
5190
+ writeFileSync(path, buffer);
5191
+ downloaded.push({
5192
+ filename,
5193
+ path,
5194
+ size: buffer.length,
5195
+ mimeType: attachment.mimeType
5196
+ });
5197
+ }
5198
+ return downloaded;
5199
+ }
5200
+ async function requestJson(profile, path, params, options = {}) {
5201
+ const token = await getValidAccessToken(profile);
5202
+ const url = new URL(`${GMAIL_API_BASE}${path}`);
5203
+ for (const [key, value] of Object.entries(params)) {
5204
+ if (value !== undefined && value !== null && value !== "")
5205
+ url.searchParams.append(key, String(value));
5206
+ }
5207
+ const response = await fetch(url, {
5208
+ method: options.method ?? "GET",
5209
+ headers: {
5210
+ Authorization: `Bearer ${token}`,
5211
+ Accept: "application/json",
5212
+ ...options.body ? { "Content-Type": "application/json" } : {}
5213
+ },
5214
+ body: options.body ? JSON.stringify(options.body) : undefined
5215
+ });
5216
+ const text = await response.text();
5217
+ const data = text ? JSON.parse(text) : {};
5218
+ if (!response.ok) {
5219
+ const error = data;
5220
+ throw new Error(`Gmail request failed (${response.status}): ${error.error?.message ?? response.statusText}`);
5221
+ }
5222
+ return data;
5223
+ }
5224
+ async function getValidAccessToken(profile) {
5225
+ if (process.env.GMAIL_ACCESS_TOKEN)
5226
+ return process.env.GMAIL_ACCESS_TOKEN;
5227
+ const tokens = loadTokens(profile);
5228
+ if (!tokens?.accessToken && !tokens?.refreshToken) {
5229
+ throw new Error(`Gmail profile "${profile}" is not authenticated. Run: connectors auth gmail`);
5230
+ }
5231
+ if (tokens.accessToken && (!tokens.expiresAt || Date.now() < tokens.expiresAt - REFRESH_BUFFER_MS))
5232
+ return tokens.accessToken;
5233
+ if (!tokens.refreshToken)
5234
+ return tokens.accessToken ?? "";
5235
+ return (await refreshAccessToken(profile, tokens)).accessToken ?? "";
5236
+ }
5237
+ async function refreshAccessToken(profile, currentTokens) {
5238
+ const credentials = loadCredentials(profile);
5239
+ if (!credentials.clientId || !credentials.clientSecret)
5240
+ throw new Error("Gmail OAuth credentials are not configured. Run: connectors auth gmail");
5241
+ if (!currentTokens.refreshToken)
5242
+ throw new Error(`Gmail profile "${profile}" has no refresh token. Run: connectors auth gmail`);
5243
+ const response = await fetch(TOKEN_URL, {
5244
+ method: "POST",
5245
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
5246
+ body: new URLSearchParams({
5247
+ client_id: credentials.clientId,
5248
+ client_secret: credentials.clientSecret,
5249
+ refresh_token: currentTokens.refreshToken,
5250
+ grant_type: "refresh_token"
5251
+ })
5252
+ });
5253
+ const data = await response.json().catch(() => ({}));
5254
+ if (!response.ok || !data.access_token)
5255
+ throw new Error(`Gmail token refresh failed: ${data.error_description || data.error || response.statusText}`);
5256
+ const tokens = {
5257
+ accessToken: data.access_token,
5258
+ refreshToken: currentTokens.refreshToken,
5259
+ expiresAt: Date.now() + (data.expires_in ?? 3600) * 1000,
5260
+ tokenType: data.token_type ?? currentTokens.tokenType,
5261
+ scope: data.scope ?? currentTokens.scope
5262
+ };
5263
+ saveTokens(profile, tokens);
5264
+ return tokens;
5265
+ }
5266
+ function listProfiles() {
5267
+ const profiles = new Set;
5268
+ for (const baseDir of configDirs()) {
5269
+ const profilesDir = join2(baseDir, "profiles");
5270
+ if (!existsSync2(profilesDir))
5271
+ continue;
5272
+ for (const entry of readdirSync(profilesDir, { withFileTypes: true })) {
5273
+ if (entry.isDirectory())
5274
+ profiles.add(entry.name);
5275
+ if (entry.isFile() && entry.name.endsWith(".json"))
5276
+ profiles.add(basename(entry.name, ".json"));
5277
+ }
5278
+ }
5279
+ return Array.from(profiles).sort((a, b) => a.localeCompare(b));
5280
+ }
5281
+ function loadCredentials(profile) {
5282
+ const envClientId = process.env.GMAIL_CLIENT_ID ?? process.env.GOOGLE_CLIENT_ID;
5283
+ const envClientSecret = process.env.GMAIL_CLIENT_SECRET ?? process.env.GOOGLE_CLIENT_SECRET;
5284
+ if (envClientId && envClientSecret)
5285
+ return { clientId: envClientId, clientSecret: envClientSecret };
5286
+ for (const baseDir of configDirs()) {
5287
+ const credentials = {
5288
+ ...readJson(join2(baseDir, "credentials.json")),
5289
+ ...readJson(join2(baseDir, "profiles", profile, "config.json"))
5290
+ };
5291
+ if (credentials.clientId || credentials.clientSecret)
5292
+ return credentials;
5293
+ }
5294
+ return {};
5295
+ }
5296
+ function loadTokens(profile) {
5297
+ for (const baseDir of configDirs()) {
5298
+ const fromProfile = readJson(join2(baseDir, "profiles", profile, "tokens.json"));
5299
+ if (fromProfile)
5300
+ return fromProfile;
5301
+ const flat = readJson(join2(baseDir, "profiles", `${profile}.json`));
5302
+ if (flat)
5303
+ return flat.tokens ?? (flat.accessToken || flat.refreshToken ? flat : null);
5304
+ }
5305
+ return null;
5306
+ }
5307
+ function saveTokens(profile, tokens) {
5308
+ const baseDir = configDirs().find((dir) => existsSync2(dir)) ?? configDirs()[0];
5309
+ const profileDir = join2(baseDir, "profiles", profile);
5310
+ mkdirSync(profileDir, { recursive: true });
5311
+ writeFileSync(join2(profileDir, "tokens.json"), JSON.stringify(tokens, null, 2), { mode: 384 });
5312
+ }
5313
+ function configDirs() {
5314
+ const explicit = process.env.HASNA_GMAIL_CONNECTOR_DIR ?? process.env.GMAIL_CONNECTOR_DIR;
5315
+ if (explicit)
5316
+ return [explicit];
5317
+ const baseDir = process.env.HASNA_CONNECTORS_DIR ?? join2(homedir(), ".hasna", "connectors");
5318
+ return [join2(baseDir, "connect-gmail"), join2(baseDir, "gmail")];
5319
+ }
5320
+ function readJson(path) {
5321
+ if (!existsSync2(path))
5322
+ return null;
5323
+ try {
5324
+ return JSON.parse(readFileSync(path, "utf8"));
5325
+ } catch {
5326
+ return null;
5327
+ }
5328
+ }
5329
+ function getMessageId(input) {
5330
+ const id = input.messageId ?? (input.args?.[0] != null ? String(input.args[0]) : undefined);
5331
+ if (!id)
5332
+ throw new Error("Gmail messageId is required");
5333
+ return id;
5334
+ }
5335
+ function headersToObject(headers) {
5336
+ const out = {};
5337
+ for (const header of headers)
5338
+ out[header.name] = header.value;
5339
+ return out;
5340
+ }
5341
+ function extractBody(message, preferHtml = false) {
5342
+ if (!message.payload)
5343
+ return "";
5344
+ const targetType = preferHtml ? "text/html" : "text/plain";
5345
+ const parts = [];
5346
+ collectTextParts(message.payload, parts);
5347
+ return parts.find((part) => part.mimeType === targetType)?.data ?? parts.find((part) => part.mimeType.startsWith("text/"))?.data ?? "";
5348
+ }
5349
+ function collectTextParts(part, results) {
5350
+ const mimeType = (part.mimeType ?? "").split(";")[0].trim().toLowerCase();
5351
+ if (part.body?.data && mimeType.startsWith("text/")) {
5352
+ results.push({ mimeType, data: Buffer.from(part.body.data, "base64url").toString("utf8") });
5353
+ }
5354
+ for (const child of part.parts ?? [])
5355
+ collectTextParts(child, results);
5356
+ }
5357
+ function collectAttachments(part, attachments = []) {
5358
+ if (!part)
5359
+ return attachments;
5360
+ if (part.body?.attachmentId && part.filename) {
5361
+ attachments.push({
5362
+ attachmentId: part.body.attachmentId,
5363
+ filename: part.filename,
5364
+ mimeType: part.mimeType ?? "application/octet-stream",
5365
+ size: part.body.size ?? 0,
5366
+ partId: part.partId
5367
+ });
5368
+ }
5369
+ for (const child of part.parts ?? [])
5370
+ collectAttachments(child, attachments);
5371
+ return attachments;
5372
+ }
5373
+ function normalizeStringArray(value) {
5374
+ if (!value)
5375
+ return [];
5376
+ return Array.isArray(value) ? value : value.split(",").map((item) => item.trim()).filter(Boolean);
5377
+ }
5378
+ function normalizeReplySubject(subject) {
5379
+ return subject.toLowerCase().startsWith("re:") ? subject : `Re: ${subject}`;
5380
+ }
5381
+ function buildRawEmail(input) {
5382
+ const headers = [
5383
+ `To: ${input.to}`,
5384
+ input.cc.length ? `Cc: ${input.cc.join(", ")}` : "",
5385
+ input.bcc.length ? `Bcc: ${input.bcc.join(", ")}` : "",
5386
+ `Subject: ${input.subject}`,
5387
+ input.inReplyTo ? `In-Reply-To: ${input.inReplyTo}` : "",
5388
+ input.references ? `References: ${input.references}` : "",
5389
+ "MIME-Version: 1.0",
5390
+ `Content-Type: ${input.isHtml ? "text/html" : "text/plain"}; charset=UTF-8`
5391
+ ].filter(Boolean);
5392
+ return `${headers.join(`\r
5393
+ `)}\r
5394
+ \r
5395
+ ${input.body}`;
5396
+ }
5397
+ function safeFilename(filename) {
5398
+ return basename(filename.replace(/[\u00A0\u2000-\u200B\u202F\u205F\u3000]/g, " ")).replace(/[\/\\]/g, "_");
5399
+ }
5400
+
5401
+ // src/core/connectors/googledrive.ts
5402
+ import { existsSync as existsSync3, mkdirSync as mkdirSync2, readFileSync as readFileSync2, readdirSync as readdirSync2, writeFileSync as writeFileSync2 } from "fs";
5403
+ import { homedir as homedir2 } from "os";
5404
+ import { basename as basename2, join as join3 } from "path";
5405
+ var DRIVE_API_BASE = "https://www.googleapis.com/drive/v3";
5406
+ var TOKEN_URL2 = "https://oauth2.googleapis.com/token";
5407
+ var REFRESH_BUFFER_MS2 = 5 * 60 * 1000;
5408
+ var DEFAULT_FILE_FIELDS = [
5409
+ "id",
5410
+ "name",
5411
+ "mimeType",
5412
+ "parents",
5413
+ "version",
5414
+ "md5Checksum",
5415
+ "size",
5416
+ "modifiedTime",
5417
+ "createdTime",
5418
+ "trashed",
5419
+ "webViewLink",
5420
+ "webContentLink"
5421
+ ].join(",");
5422
+ var DEFAULT_EXPORT_FORMATS = {
5423
+ document: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
5424
+ spreadsheet: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
5425
+ presentation: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
5426
+ drawing: "image/png"
5427
+ };
5428
+ var EXPORT_EXTENSIONS = {
5429
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document": ".docx",
5430
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ".xlsx",
5431
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation": ".pptx",
5432
+ "application/pdf": ".pdf",
5433
+ "text/plain": ".txt",
5434
+ "text/csv": ".csv",
5435
+ "image/png": ".png",
5436
+ "image/jpeg": ".jpg",
5437
+ "image/svg+xml": ".svg"
5438
+ };
5439
+ var listFilesSchema = exports_external.object({
5440
+ pageSize: exports_external.coerce.number().int().positive().max(1000).optional(),
5441
+ pageToken: exports_external.string().optional(),
5442
+ q: exports_external.string().optional(),
5443
+ fields: exports_external.string().optional(),
5444
+ orderBy: exports_external.string().optional(),
5445
+ corpora: exports_external.enum(["user", "drive", "allDrives"]).optional(),
5446
+ driveId: exports_external.string().optional(),
5447
+ supportsAllDrives: exports_external.boolean().optional(),
5448
+ includeItemsFromAllDrives: exports_external.boolean().optional()
5449
+ });
5450
+ var listDrivesSchema = exports_external.object({
5451
+ pageSize: exports_external.coerce.number().int().positive().max(100).optional(),
5452
+ pageToken: exports_external.string().optional(),
5453
+ q: exports_external.string().optional()
5454
+ });
5455
+ var fileIdSchema = exports_external.object({
5456
+ fileId: exports_external.string(),
5457
+ fields: exports_external.string().optional()
5458
+ });
5459
+ var downloadSchema = exports_external.object({
5460
+ fileId: exports_external.string(),
5461
+ file: exports_external.object({
5462
+ id: exports_external.string(),
5463
+ name: exports_external.string(),
5464
+ mimeType: exports_external.string()
5465
+ }).optional(),
5466
+ exportMimeType: exports_external.string().optional()
5467
+ });
5468
+ var googleDriveConnector = defineConnector({
5469
+ meta: {
5470
+ name: "googledrive",
5471
+ displayName: "Google Drive",
5472
+ description: "Profile-aware Google Drive discovery and file download operations.",
5473
+ category: "storage",
5474
+ tags: ["google", "drive", "files", "storage"]
5475
+ },
5476
+ auth: {
5477
+ type: "oauth2",
5478
+ supportsProfiles: true,
5479
+ fields: [
5480
+ { key: "clientId", env: "GOOGLE_CLIENT_ID", label: "OAuth client ID" },
5481
+ { key: "clientSecret", env: "GOOGLE_CLIENT_SECRET", label: "OAuth client secret", secret: true }
5482
+ ]
5483
+ },
5484
+ createContext: ({ profile }) => ({ profile: profile || "default" }),
5485
+ operations: {
5486
+ "profiles.list": {
5487
+ summary: "List configured Google Drive profiles.",
5488
+ execute: () => ({ profiles: listProfiles2() })
5489
+ },
5490
+ "files.list": {
5491
+ summary: "List Google Drive files.",
5492
+ inputSchema: listFilesSchema,
5493
+ execute: async ({ context }, input) => requestJson2(context.profile, "/files", {
5494
+ pageSize: input.pageSize ?? 1000,
5495
+ pageToken: input.pageToken,
5496
+ q: input.q,
5497
+ fields: input.fields ?? `nextPageToken,files(${DEFAULT_FILE_FIELDS})`,
5498
+ orderBy: input.orderBy ?? "modifiedTime desc",
5499
+ corpora: input.corpora,
5500
+ driveId: input.driveId,
5501
+ supportsAllDrives: input.supportsAllDrives ?? true,
5502
+ includeItemsFromAllDrives: input.includeItemsFromAllDrives ?? false
5503
+ })
5504
+ },
5505
+ "files.get": {
5506
+ summary: "Get Google Drive file metadata.",
5507
+ inputSchema: fileIdSchema,
5508
+ execute: async ({ context }, input) => requestJson2(context.profile, `/files/${encodeURIComponent(input.fileId)}`, {
5509
+ fields: input.fields ?? DEFAULT_FILE_FIELDS,
5510
+ supportsAllDrives: true
5511
+ })
5512
+ },
5513
+ "files.download": {
5514
+ summary: "Download or export a Google Drive file as base64 content.",
5515
+ inputSchema: downloadSchema,
5516
+ execute: async ({ context }, input) => {
5517
+ const file = input.file ?? await requestJson2(context.profile, `/files/${encodeURIComponent(input.fileId)}`, { fields: DEFAULT_FILE_FIELDS, supportsAllDrives: true });
5518
+ const exportMimeType = file.mimeType.startsWith("application/vnd.google-apps.") ? input.exportMimeType ?? defaultExportMimeType(file.mimeType) : undefined;
5519
+ const data = await requestBinary(context.profile, exportMimeType ? `/files/${encodeURIComponent(file.id)}/export` : `/files/${encodeURIComponent(file.id)}`, exportMimeType ? { mimeType: exportMimeType, supportsAllDrives: true } : { alt: "media", supportsAllDrives: true });
5520
+ const mimeType = exportMimeType ?? file.mimeType ?? "application/octet-stream";
5521
+ return {
5522
+ dataBase64: Buffer.from(data).toString("base64"),
5523
+ filename: exportMimeType ? `${file.name}${extensionForMimeType(exportMimeType)}` : file.name,
5524
+ mimeType
5525
+ };
5526
+ }
5527
+ },
5528
+ "drives.list": {
5529
+ summary: "List Google shared drives.",
5530
+ inputSchema: listDrivesSchema,
5531
+ execute: async ({ context }, input) => requestJson2(context.profile, "/drives", {
5532
+ pageSize: input.pageSize ?? 100,
5533
+ pageToken: input.pageToken,
5534
+ q: input.q
5535
+ })
5536
+ }
5537
+ }
5538
+ });
5539
+ async function requestJson2(profile, path, params) {
5540
+ const response = await request(profile, path, params);
5541
+ const text = await response.text();
5542
+ return text ? JSON.parse(text) : {};
5543
+ }
5544
+ async function requestBinary(profile, path, params) {
5545
+ return (await request(profile, path, params)).arrayBuffer();
5546
+ }
5547
+ async function request(profile, path, params) {
5548
+ const token = await getValidAccessToken2(profile);
5549
+ const url = new URL(`${DRIVE_API_BASE}${path}`);
5550
+ for (const [key, value] of Object.entries(params)) {
5551
+ if (value !== undefined && value !== null && value !== "")
5552
+ url.searchParams.set(key, String(value));
5553
+ }
5554
+ const response = await fetch(url, { headers: { Authorization: `Bearer ${token}`, Accept: "application/json" } });
5555
+ if (!response.ok) {
5556
+ const body = await response.text().catch(() => "");
5557
+ throw new Error(`Google Drive request failed (${response.status}): ${extractGoogleError(body) || response.statusText}`);
5558
+ }
5559
+ return response;
5560
+ }
5561
+ async function getValidAccessToken2(profile) {
5562
+ if (process.env.GOOGLE_ACCESS_TOKEN)
5563
+ return process.env.GOOGLE_ACCESS_TOKEN;
5564
+ const tokens = loadTokens2(profile);
5565
+ if (!tokens?.accessToken && !tokens?.refreshToken) {
5566
+ throw new Error(`Google Drive profile "${profile}" is not authenticated. Run: connectors auth googledrive`);
5567
+ }
5568
+ if (tokens.accessToken && (!tokens.expiresAt || Date.now() < tokens.expiresAt - REFRESH_BUFFER_MS2))
5569
+ return tokens.accessToken;
5570
+ if (!tokens.refreshToken)
5571
+ return tokens.accessToken ?? "";
5572
+ return (await refreshAccessToken2(profile, tokens)).accessToken ?? "";
5573
+ }
5574
+ async function refreshAccessToken2(profile, currentTokens) {
5575
+ const credentials = loadCredentials2(profile);
5576
+ if (!credentials.clientId || !credentials.clientSecret)
5577
+ throw new Error("Google Drive OAuth credentials are not configured. Run: connectors auth googledrive");
5578
+ if (!currentTokens.refreshToken)
5579
+ throw new Error(`Google Drive profile "${profile}" has no refresh token. Run: connectors auth googledrive`);
5580
+ const response = await fetch(TOKEN_URL2, {
5581
+ method: "POST",
5582
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
5583
+ body: new URLSearchParams({
5584
+ client_id: credentials.clientId,
5585
+ client_secret: credentials.clientSecret,
5586
+ refresh_token: currentTokens.refreshToken,
5587
+ grant_type: "refresh_token"
5588
+ })
5589
+ });
5590
+ const data = await response.json().catch(() => ({}));
5591
+ if (!response.ok || !data.access_token)
5592
+ throw new Error(`Google Drive token refresh failed: ${data.error_description || data.error || response.statusText}`);
5593
+ const tokens = {
5594
+ accessToken: data.access_token,
5595
+ refreshToken: currentTokens.refreshToken,
5596
+ expiresAt: Date.now() + (data.expires_in ?? 3600) * 1000,
5597
+ tokenType: data.token_type ?? currentTokens.tokenType,
5598
+ scope: data.scope ?? currentTokens.scope
5599
+ };
5600
+ saveTokens2(profile, tokens);
5601
+ return tokens;
5602
+ }
5603
+ function listProfiles2() {
5604
+ const profiles = new Set;
5605
+ for (const baseDir of configDirs2()) {
5606
+ const profilesDir = join3(baseDir, "profiles");
5607
+ if (!existsSync3(profilesDir))
5608
+ continue;
5609
+ for (const entry of readdirSync2(profilesDir, { withFileTypes: true })) {
5610
+ if (entry.isDirectory())
5611
+ profiles.add(entry.name);
5612
+ if (entry.isFile() && entry.name.endsWith(".json"))
5613
+ profiles.add(basename2(entry.name, ".json"));
5614
+ }
5615
+ }
5616
+ return Array.from(profiles).sort((a, b) => a.localeCompare(b));
5617
+ }
5618
+ function loadCredentials2(profile) {
5619
+ const envClientId = process.env.GOOGLE_CLIENT_ID;
5620
+ const envClientSecret = process.env.GOOGLE_CLIENT_SECRET;
5621
+ if (envClientId && envClientSecret)
5622
+ return { clientId: envClientId, clientSecret: envClientSecret };
5623
+ for (const baseDir of configDirs2()) {
5624
+ const credentials = {
5625
+ ...readJson2(join3(baseDir, "credentials.json")),
5626
+ ...readJson2(join3(baseDir, "profiles", profile, "config.json"))
5627
+ };
5628
+ if (credentials.clientId || credentials.clientSecret)
5629
+ return credentials;
5630
+ }
5631
+ return {};
5632
+ }
5633
+ function loadTokens2(profile) {
5634
+ for (const baseDir of configDirs2()) {
5635
+ const fromProfile = readJson2(join3(baseDir, "profiles", profile, "tokens.json"));
5636
+ if (fromProfile)
5637
+ return fromProfile;
5638
+ const flat = readJson2(join3(baseDir, "profiles", `${profile}.json`));
5639
+ if (flat)
5640
+ return flat.tokens ?? (flat.accessToken || flat.refreshToken ? flat : null);
5641
+ }
5642
+ return null;
5643
+ }
5644
+ function saveTokens2(profile, tokens) {
5645
+ const baseDir = configDirs2().find((dir) => existsSync3(dir)) ?? configDirs2()[0];
5646
+ const profileDir = join3(baseDir, "profiles", profile);
5647
+ mkdirSync2(profileDir, { recursive: true });
5648
+ writeFileSync2(join3(profileDir, "tokens.json"), JSON.stringify(tokens, null, 2), { mode: 384 });
5649
+ }
5650
+ function configDirs2() {
5651
+ const explicit = process.env.HASNA_GOOGLE_DRIVE_CONNECTOR_DIR ?? process.env.GOOGLE_DRIVE_CONNECTOR_DIR;
5652
+ if (explicit)
5653
+ return [explicit];
5654
+ const baseDir = process.env.HASNA_CONNECTORS_DIR ?? join3(homedir2(), ".hasna", "connectors");
5655
+ return [join3(baseDir, "connect-googledrive"), join3(baseDir, "googledrive")];
5656
+ }
5657
+ function readJson2(path) {
5658
+ if (!existsSync3(path))
5659
+ return null;
5660
+ try {
5661
+ return JSON.parse(readFileSync2(path, "utf8"));
5662
+ } catch {
5663
+ return null;
5664
+ }
5665
+ }
5666
+ function defaultExportMimeType(googleMimeType) {
5667
+ if (googleMimeType.endsWith(".document"))
5668
+ return DEFAULT_EXPORT_FORMATS.document;
5669
+ if (googleMimeType.endsWith(".spreadsheet"))
5670
+ return DEFAULT_EXPORT_FORMATS.spreadsheet;
5671
+ if (googleMimeType.endsWith(".presentation"))
5672
+ return DEFAULT_EXPORT_FORMATS.presentation;
5673
+ if (googleMimeType.endsWith(".drawing"))
5674
+ return DEFAULT_EXPORT_FORMATS.drawing;
5675
+ throw new Error(`Cannot export Google Workspace file type: ${googleMimeType}`);
5676
+ }
5677
+ function extensionForMimeType(mimeType) {
5678
+ return EXPORT_EXTENSIONS[mimeType] ?? "";
5679
+ }
5680
+ function extractGoogleError(body) {
5681
+ if (!body)
5682
+ return "";
5683
+ try {
5684
+ const parsed = JSON.parse(body);
5685
+ return parsed.error?.message ?? body;
5686
+ } catch {
5687
+ return body;
5688
+ }
5689
+ }
4969
5690
  // package.json
4970
5691
  var package_default = {
4971
5692
  name: "@hasna/connectors",
4972
- version: "1.3.24",
5693
+ version: "1.3.26",
4973
5694
  description: "Open source connector library - Install API connectors with a single command",
4974
5695
  type: "module",
4975
5696
  bin: {
@@ -5059,11 +5780,11 @@ var package_default = {
5059
5780
  import {
5060
5781
  existsSync as existsSync6,
5061
5782
  mkdirSync as mkdirSync5,
5062
- readFileSync as readFileSync2,
5783
+ readFileSync as readFileSync4,
5063
5784
  readdirSync as readdirSync5,
5064
5785
  rmSync,
5065
5786
  statSync as statSync2,
5066
- writeFileSync as writeFileSync2
5787
+ writeFileSync as writeFileSync4
5067
5788
  } from "fs";
5068
5789
  import { join as join7 } from "path";
5069
5790
 
@@ -5071,21 +5792,21 @@ import { join as join7 } from "path";
5071
5792
  import { createRequire } from "module";
5072
5793
  import { Database } from "bun:sqlite";
5073
5794
  import {
5074
- existsSync as existsSync2,
5075
- mkdirSync,
5076
- readdirSync,
5795
+ existsSync as existsSync4,
5796
+ mkdirSync as mkdirSync3,
5797
+ readdirSync as readdirSync3,
5077
5798
  copyFileSync
5078
5799
  } from "fs";
5079
- import { homedir } from "os";
5080
- import { join as join2, relative } from "path";
5081
- import { existsSync as existsSync22, mkdirSync as mkdirSync2, readFileSync, writeFileSync } from "fs";
5082
- import { homedir as homedir2 } from "os";
5083
- import { join as join22 } from "path";
5084
- import { readdirSync as readdirSync2, existsSync as existsSync3 } from "fs";
5085
- import { join as join3 } from "path";
5086
5800
  import { homedir as homedir3 } from "os";
5801
+ import { join as join4, relative } from "path";
5802
+ import { existsSync as existsSync22, mkdirSync as mkdirSync22, readFileSync as readFileSync3, writeFileSync as writeFileSync3 } from "fs";
5803
+ import { homedir as homedir22 } from "os";
5804
+ import { join as join22 } from "path";
5805
+ import { readdirSync as readdirSync22, existsSync as existsSync32 } from "fs";
5806
+ import { join as join32 } from "path";
5807
+ import { homedir as homedir32 } from "os";
5087
5808
  import { homedir as homedir4 } from "os";
5088
- import { join as join4 } from "path";
5809
+ import { join as join42 } from "path";
5089
5810
  import { join as join6, dirname as dirname2 } from "path";
5090
5811
  import { homedir as homedir5, platform } from "os";
5091
5812
  var __create = Object.create;
@@ -14251,17 +14972,17 @@ var init_zod = __esm(() => {
14251
14972
  init_external();
14252
14973
  });
14253
14974
  function getDataDir(serviceName) {
14254
- const dir = join2(HASNA_DIR, serviceName);
14255
- mkdirSync(dir, { recursive: true });
14975
+ const dir = join4(HASNA_DIR, serviceName);
14976
+ mkdirSync3(dir, { recursive: true });
14256
14977
  return dir;
14257
14978
  }
14258
14979
  function getDbPath(serviceName) {
14259
14980
  const dir = getDataDir(serviceName);
14260
- return join2(dir, `${serviceName}.db`);
14981
+ return join4(dir, `${serviceName}.db`);
14261
14982
  }
14262
14983
  var HASNA_DIR;
14263
14984
  var init_dotfile = __esm(() => {
14264
- HASNA_DIR = join2(homedir(), ".hasna");
14985
+ HASNA_DIR = join4(homedir3(), ".hasna");
14265
14986
  });
14266
14987
  var exports_config = {};
14267
14988
  __export2(exports_config, {
@@ -14284,15 +15005,15 @@ function getCloudConfig() {
14284
15005
  return CloudConfigSchema.parse({});
14285
15006
  }
14286
15007
  try {
14287
- const raw = readFileSync(CONFIG_PATH, "utf-8");
15008
+ const raw = readFileSync3(CONFIG_PATH, "utf-8");
14288
15009
  return CloudConfigSchema.parse(JSON.parse(raw));
14289
15010
  } catch {
14290
15011
  return CloudConfigSchema.parse({});
14291
15012
  }
14292
15013
  }
14293
15014
  function saveCloudConfig(config) {
14294
- mkdirSync2(CONFIG_DIR, { recursive: true });
14295
- writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2) + `
15015
+ mkdirSync22(CONFIG_DIR, { recursive: true });
15016
+ writeFileSync3(CONFIG_PATH, JSON.stringify(config, null, 2) + `
14296
15017
  `, "utf-8");
14297
15018
  }
14298
15019
  function getConnectionString(dbName) {
@@ -14340,7 +15061,7 @@ var init_config = __esm(() => {
14340
15061
  schedule_minutes: exports_external2.number().default(0)
14341
15062
  }).default({})
14342
15063
  });
14343
- CONFIG_DIR = join22(homedir2(), ".hasna", "cloud");
15064
+ CONFIG_DIR = join22(homedir22(), ".hasna", "cloud");
14344
15065
  CONFIG_PATH = join22(CONFIG_DIR, "config.json");
14345
15066
  });
14346
15067
  var exports_discover = {};
@@ -14356,11 +15077,11 @@ function isSyncExcludedTable(table) {
14356
15077
  return SYNC_EXCLUDED_TABLE_PATTERNS.some((p) => p.test(table));
14357
15078
  }
14358
15079
  function discoverServices() {
14359
- const dataDir = join3(homedir3(), ".hasna");
14360
- if (!existsSync3(dataDir))
15080
+ const dataDir = join32(homedir32(), ".hasna");
15081
+ if (!existsSync32(dataDir))
14361
15082
  return [];
14362
15083
  try {
14363
- const entries = readdirSync2(dataDir, { withFileTypes: true });
15084
+ const entries = readdirSync22(dataDir, { withFileTypes: true });
14364
15085
  return entries.filter((e) => {
14365
15086
  if (!e.isDirectory())
14366
15087
  return false;
@@ -14378,24 +15099,24 @@ function discoverSyncableServices() {
14378
15099
  return local.filter((s) => pgSet.has(s));
14379
15100
  }
14380
15101
  function getServiceDbPath(service) {
14381
- const dataDir = join3(homedir3(), ".hasna", service);
14382
- if (!existsSync3(dataDir))
15102
+ const dataDir = join32(homedir32(), ".hasna", service);
15103
+ if (!existsSync32(dataDir))
14383
15104
  return null;
14384
15105
  const candidates = [
14385
- join3(dataDir, `${service}.db`),
14386
- join3(dataDir, "data.db"),
14387
- join3(dataDir, "database.db")
15106
+ join32(dataDir, `${service}.db`),
15107
+ join32(dataDir, "data.db"),
15108
+ join32(dataDir, "database.db")
14388
15109
  ];
14389
15110
  try {
14390
- const files = readdirSync2(dataDir);
15111
+ const files = readdirSync22(dataDir);
14391
15112
  for (const f of files) {
14392
15113
  if (f.endsWith(".db") && !f.endsWith("-wal") && !f.endsWith("-shm")) {
14393
- candidates.push(join3(dataDir, f));
15114
+ candidates.push(join32(dataDir, f));
14394
15115
  }
14395
15116
  }
14396
15117
  } catch {}
14397
15118
  for (const p of candidates) {
14398
- if (existsSync3(p))
15119
+ if (existsSync32(p))
14399
15120
  return p;
14400
15121
  }
14401
15122
  return null;
@@ -14575,7 +15296,7 @@ class SyncProgressTracker {
14575
15296
  init_adapter();
14576
15297
  init_config();
14577
15298
  init_discover();
14578
- var AUTO_SYNC_CONFIG_PATH = join4(homedir4(), ".hasna", "cloud", "config.json");
15299
+ var AUTO_SYNC_CONFIG_PATH = join42(homedir4(), ".hasna", "cloud", "config.json");
14579
15300
  init_config();
14580
15301
  init_adapter();
14581
15302
  init_dotfile();
@@ -14595,13 +15316,13 @@ init_adapter();
14595
15316
  // src/db/database.ts
14596
15317
  import { dirname as dirname3, join as join5 } from "path";
14597
15318
  import { homedir as homedir6 } from "os";
14598
- import { mkdirSync as mkdirSync3, existsSync as existsSync4, readdirSync as readdirSync3, copyFileSync as copyFileSync2, statSync } from "fs";
15319
+ import { mkdirSync as mkdirSync4, existsSync as existsSync5, readdirSync as readdirSync4, copyFileSync as copyFileSync2, statSync } from "fs";
14599
15320
  function mergeDirectoryContents(sourceDir, targetDir) {
14600
- if (!existsSync4(sourceDir)) {
15321
+ if (!existsSync5(sourceDir)) {
14601
15322
  return;
14602
15323
  }
14603
- mkdirSync3(targetDir, { recursive: true });
14604
- for (const entry of readdirSync3(sourceDir)) {
15324
+ mkdirSync4(targetDir, { recursive: true });
15325
+ for (const entry of readdirSync4(sourceDir)) {
14605
15326
  const sourcePath = join5(sourceDir, entry);
14606
15327
  const targetPath = join5(targetDir, entry);
14607
15328
  try {
@@ -14610,7 +15331,7 @@ function mergeDirectoryContents(sourceDir, targetDir) {
14610
15331
  mergeDirectoryContents(sourcePath, targetPath);
14611
15332
  continue;
14612
15333
  }
14613
- if (!existsSync4(targetPath)) {
15334
+ if (!existsSync5(targetPath)) {
14614
15335
  copyFileSync2(sourcePath, targetPath);
14615
15336
  }
14616
15337
  } catch {}
@@ -14620,7 +15341,7 @@ function getConnectorsHome() {
14620
15341
  const home = process.env["HOME"] || process.env["USERPROFILE"] || homedir6();
14621
15342
  const newDir = join5(home, ".hasna", "connectors");
14622
15343
  const legacyDirs = [join5(home, ".connectors"), join5(home, ".connect")];
14623
- mkdirSync3(newDir, { recursive: true });
15344
+ mkdirSync4(newDir, { recursive: true });
14624
15345
  for (const legacyDir of legacyDirs) {
14625
15346
  try {
14626
15347
  mergeDirectoryContents(legacyDir, newDir);
@@ -14803,7 +15524,7 @@ function getCurrentProfile() {
14803
15524
  return "default";
14804
15525
  }
14805
15526
  try {
14806
- return readFileSync2(currentProfileFile, "utf-8").trim() || "default";
15527
+ return readFileSync4(currentProfileFile, "utf-8").trim() || "default";
14807
15528
  } catch {
14808
15529
  return "default";
14809
15530
  }
@@ -14811,7 +15532,7 @@ function getCurrentProfile() {
14811
15532
  function setCurrentProfile(profile) {
14812
15533
  const configDir = getConfigDir2();
14813
15534
  mkdirSync5(configDir, { recursive: true });
14814
- writeFileSync2(join7(configDir, "current_profile"), profile);
15535
+ writeFileSync4(join7(configDir, "current_profile"), profile);
14815
15536
  }
14816
15537
  function getFlatProfilePath(profile) {
14817
15538
  return join7(getProfilesDir(), `${profile}.json`);
@@ -14821,7 +15542,7 @@ function getDirectoryProfilePath(profile) {
14821
15542
  }
14822
15543
  function loadJsonFile(path) {
14823
15544
  try {
14824
- return JSON.parse(readFileSync2(path, "utf-8"));
15545
+ return JSON.parse(readFileSync4(path, "utf-8"));
14825
15546
  } catch {
14826
15547
  return {};
14827
15548
  }
@@ -14847,7 +15568,7 @@ function loadProfile(profile = getCurrentProfile()) {
14847
15568
  function writeProfile(profile, config) {
14848
15569
  const profilesDir = getProfilesDir();
14849
15570
  mkdirSync5(profilesDir, { recursive: true });
14850
- writeFileSync2(getFlatProfilePath(profile), JSON.stringify(config, null, 2) + `
15571
+ writeFileSync4(getFlatProfilePath(profile), JSON.stringify(config, null, 2) + `
14851
15572
  `);
14852
15573
  }
14853
15574
  function profileExists(profile) {
@@ -14856,7 +15577,7 @@ function profileExists(profile) {
14856
15577
  }
14857
15578
  return existsSync6(getFlatProfilePath(profile)) || existsSync6(join7(getProfilesDir(), profile));
14858
15579
  }
14859
- function listProfiles() {
15580
+ function listProfiles3() {
14860
15581
  const profilesDir = getProfilesDir();
14861
15582
  const seen = new Set(["default"]);
14862
15583
  if (!existsSync6(profilesDir)) {
@@ -15185,7 +15906,7 @@ async function sendMessage(context, input) {
15185
15906
  direction: "outbound"
15186
15907
  });
15187
15908
  }
15188
- async function replyToMessage(context, input) {
15909
+ async function replyToMessage2(context, input) {
15189
15910
  const payload = await bridgeRequest(context, "/messages/reply", {
15190
15911
  method: "POST",
15191
15912
  body: {
@@ -15299,7 +16020,7 @@ async function runProfileCommand2(args, context) {
15299
16020
  switch (subcommand) {
15300
16021
  case "list": {
15301
16022
  const current = getCurrentProfile();
15302
- const profiles = listProfiles();
16023
+ const profiles = listProfiles3();
15303
16024
  return successOutput({ current, profiles }, context.format, () => profiles.map((profile) => `${profile}${profile === current ? " (active)" : ""}`).join(`
15304
16025
  `));
15305
16026
  }
@@ -15473,7 +16194,7 @@ async function runMessageCommand(args, context) {
15473
16194
  if (!conversationId || !text) {
15474
16195
  return failure2("Usage: connect-imessage message reply --conversation <id> --text <text>");
15475
16196
  }
15476
- return successOutput(await replyToMessage(resolved, {
16197
+ return successOutput(await replyToMessage2(resolved, {
15477
16198
  conversationId,
15478
16199
  text,
15479
16200
  replyToMessageId: asString2(options.replyTo),
@@ -15631,7 +16352,7 @@ var imessageConnector = defineConnector({
15631
16352
  summary: "Reply to an existing conversation through the bridge",
15632
16353
  inputSchema: messageReplyInputSchema,
15633
16354
  async execute({ context }, input) {
15634
- return replyToMessage(context, input);
16355
+ return replyToMessage2(context, input);
15635
16356
  }
15636
16357
  }
15637
16358
  },
@@ -15695,15 +16416,15 @@ var imessageConnector = defineConnector({
15695
16416
 
15696
16417
  // src/core/connectors/stripe.ts
15697
16418
  import { existsSync as existsSync7 } from "fs";
15698
- import { dirname as dirname4, join as join8 } from "path";
16419
+ import { dirname as dirname4, join as join9 } from "path";
15699
16420
  import { fileURLToPath as fileURLToPath2, pathToFileURL as pathToFileURL2 } from "url";
15700
16421
  var __dirname3 = dirname4(fileURLToPath2(import.meta.url));
15701
16422
  function resolveStripeConnectorDir() {
15702
16423
  const candidates = [
15703
- join8(__dirname3, "..", "..", "..", "connectors", "connect-stripe"),
15704
- join8(__dirname3, "..", "..", "connectors", "connect-stripe"),
15705
- join8(__dirname3, "..", "connectors", "connect-stripe"),
15706
- join8(process.cwd(), "connectors", "connect-stripe")
16424
+ join9(__dirname3, "..", "..", "..", "connectors", "connect-stripe"),
16425
+ join9(__dirname3, "..", "..", "connectors", "connect-stripe"),
16426
+ join9(__dirname3, "..", "connectors", "connect-stripe"),
16427
+ join9(process.cwd(), "connectors", "connect-stripe")
15707
16428
  ];
15708
16429
  for (const candidate of candidates) {
15709
16430
  if (existsSync7(candidate)) {
@@ -15945,10 +16666,10 @@ function buildCommandHelp2(spec) {
15945
16666
  var ROOT_HELP3 = buildRootHelp2(COMMAND_SPECS2);
15946
16667
  var COMMAND_HELP3 = Object.fromEntries(COMMAND_SPECS2.map((spec) => [spec.name, buildCommandHelp2(spec)]));
15947
16668
  async function loadStripeApiModule() {
15948
- return await import(pathToFileURL2(join8(CONNECTOR_DIR2, "src", "api", "index.ts")).href);
16669
+ return await import(pathToFileURL2(join9(CONNECTOR_DIR2, "src", "api", "index.ts")).href);
15949
16670
  }
15950
16671
  async function loadStripeConfigModule() {
15951
- return await import(pathToFileURL2(join8(CONNECTOR_DIR2, "src", "utils", "config.ts")).href);
16672
+ return await import(pathToFileURL2(join9(CONNECTOR_DIR2, "src", "utils", "config.ts")).href);
15952
16673
  }
15953
16674
  function extractGlobalArgs3(args) {
15954
16675
  const remaining = [];
@@ -16560,7 +17281,9 @@ var stripeConnector = defineConnector({
16560
17281
 
16561
17282
  // src/core/builtins.ts
16562
17283
  var INTERNAL_CONNECTOR_DEFINITIONS = [
17284
+ gmailConnector,
16563
17285
  githubConnector,
17286
+ googleDriveConnector,
16564
17287
  imessageConnector,
16565
17288
  stripeConnector
16566
17289
  ];
@@ -22843,17 +23566,17 @@ function loadConnectorVersions() {
22843
23566
  versionsLoaded = true;
22844
23567
  const thisDir = dirname5(fileURLToPath3(import.meta.url));
22845
23568
  const candidates = [
22846
- join9(thisDir, "..", "connectors"),
22847
- join9(thisDir, "..", "..", "connectors")
23569
+ join10(thisDir, "..", "connectors"),
23570
+ join10(thisDir, "..", "..", "connectors")
22848
23571
  ];
22849
23572
  const connectorsDir = candidates.find((d) => existsSync8(d));
22850
23573
  if (!connectorsDir)
22851
23574
  return;
22852
23575
  for (const connector of CONNECTORS) {
22853
23576
  try {
22854
- const pkgPath = join9(connectorsDir, `connect-${connector.name}`, "package.json");
23577
+ const pkgPath = join10(connectorsDir, `connect-${connector.name}`, "package.json");
22855
23578
  if (existsSync8(pkgPath)) {
22856
- const pkg = JSON.parse(readFileSync3(pkgPath, "utf-8"));
23579
+ const pkg = JSON.parse(readFileSync5(pkgPath, "utf-8"));
22857
23580
  connector.version = pkg.version || "0.0.0";
22858
23581
  continue;
22859
23582
  }
@@ -22865,15 +23588,15 @@ function loadConnectorVersions() {
22865
23588
  }
22866
23589
  }
22867
23590
  // src/lib/installer.ts
22868
- import { existsSync as existsSync9, mkdirSync as mkdirSync6, readFileSync as readFileSync4, writeFileSync as writeFileSync3, readdirSync as readdirSync6, statSync as statSync3, rmSync as rmSync2 } from "fs";
22869
- import { join as join10, dirname as dirname6 } from "path";
23591
+ import { existsSync as existsSync9, mkdirSync as mkdirSync6, readFileSync as readFileSync6, writeFileSync as writeFileSync5, readdirSync as readdirSync6, statSync as statSync3, rmSync as rmSync2 } from "fs";
23592
+ import { join as join11, dirname as dirname6 } from "path";
22870
23593
  import { fileURLToPath as fileURLToPath4 } from "url";
22871
23594
  var __dirname4 = dirname6(fileURLToPath4(import.meta.url));
22872
23595
  function resolveConnectorsDir() {
22873
- const fromBin = join10(__dirname4, "..", "connectors");
23596
+ const fromBin = join11(__dirname4, "..", "connectors");
22874
23597
  if (existsSync9(fromBin))
22875
23598
  return fromBin;
22876
- const fromSrc = join10(__dirname4, "..", "..", "connectors");
23599
+ const fromSrc = join11(__dirname4, "..", "..", "connectors");
22877
23600
  if (existsSync9(fromSrc))
22878
23601
  return fromSrc;
22879
23602
  return fromBin;
@@ -22886,13 +23609,13 @@ function normalizeConnectorName(name) {
22886
23609
  return name.startsWith("connect-") ? name.slice("connect-".length) : name;
22887
23610
  }
22888
23611
  function getProjectConnectorsDir(targetDir) {
22889
- return join10(targetDir, PROJECT_CONNECTORS_DIRNAME);
23612
+ return join11(targetDir, PROJECT_CONNECTORS_DIRNAME);
22890
23613
  }
22891
23614
  function getEnablementManifestPath(targetDir) {
22892
- return join10(getProjectConnectorsDir(targetDir), ENABLEMENT_MANIFEST_FILENAME);
23615
+ return join11(getProjectConnectorsDir(targetDir), ENABLEMENT_MANIFEST_FILENAME);
22893
23616
  }
22894
23617
  function getLegacyInstallPath(targetDir, name) {
22895
- return join10(getProjectConnectorsDir(targetDir), `connect-${normalizeConnectorName(name)}`);
23618
+ return join11(getProjectConnectorsDir(targetDir), `connect-${normalizeConnectorName(name)}`);
22896
23619
  }
22897
23620
  function loadEnablementManifest(targetDir) {
22898
23621
  const manifestPath = getEnablementManifestPath(targetDir);
@@ -22900,7 +23623,7 @@ function loadEnablementManifest(targetDir) {
22900
23623
  return null;
22901
23624
  }
22902
23625
  try {
22903
- const raw = JSON.parse(readFileSync4(manifestPath, "utf-8"));
23626
+ const raw = JSON.parse(readFileSync6(manifestPath, "utf-8"));
22904
23627
  if (!Array.isArray(raw.connectors)) {
22905
23628
  return null;
22906
23629
  }
@@ -22920,7 +23643,7 @@ function getLegacyInstalledConnectors(targetDir) {
22920
23643
  return [];
22921
23644
  }
22922
23645
  return readdirSync6(connectorsDir).filter((entry) => {
22923
- const fullPath = join10(connectorsDir, entry);
23646
+ const fullPath = join11(connectorsDir, entry);
22924
23647
  return entry.startsWith("connect-") && statSync3(fullPath).isDirectory();
22925
23648
  }).map((entry) => entry.replace("connect-", "")).sort();
22926
23649
  }
@@ -22929,7 +23652,7 @@ function getEnabledConnectors(targetDir) {
22929
23652
  return [...new Set([...manifestConnectors, ...getLegacyInstalledConnectors(targetDir)])].sort();
22930
23653
  }
22931
23654
  function updateConnectorsIndex(connectorsDir, connectors18) {
22932
- const indexPath = join10(connectorsDir, ENABLEMENT_INDEX_FILENAME);
23655
+ const indexPath = join11(connectorsDir, ENABLEMENT_INDEX_FILENAME);
22933
23656
  const connectorList = connectors18.map((connector) => ` "${connector}",`).join(`
22934
23657
  `);
22935
23658
  const content = `/**
@@ -22945,7 +23668,7 @@ ${connectorList}
22945
23668
 
22946
23669
  export type EnabledConnectorName = typeof enabledConnectors[number];
22947
23670
  `;
22948
- writeFileSync3(indexPath, content);
23671
+ writeFileSync5(indexPath, content);
22949
23672
  }
22950
23673
  function writeEnablementManifest(targetDir, connectors18) {
22951
23674
  const connectorsDir = getProjectConnectorsDir(targetDir);
@@ -22956,13 +23679,13 @@ function writeEnablementManifest(targetDir, connectors18) {
22956
23679
  updatedAt: new Date().toISOString(),
22957
23680
  connectors: [...new Set(connectors18.map((value) => normalizeConnectorName(value)))].sort()
22958
23681
  };
22959
- writeFileSync3(getEnablementManifestPath(targetDir), JSON.stringify(manifest, null, 2) + `
23682
+ writeFileSync5(getEnablementManifestPath(targetDir), JSON.stringify(manifest, null, 2) + `
22960
23683
  `);
22961
23684
  updateConnectorsIndex(connectorsDir, manifest.connectors);
22962
23685
  }
22963
23686
  function getConnectorPath(name) {
22964
23687
  const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
22965
- return join10(CONNECTORS_DIR, connectorName);
23688
+ return join11(CONNECTORS_DIR, connectorName);
22966
23689
  }
22967
23690
  function connectorExists(name) {
22968
23691
  const normalizedName = normalizeConnectorName(name);
@@ -23034,9 +23757,9 @@ function parseConnectorDocs(raw) {
23034
23757
  function getConnectorDocs(name) {
23035
23758
  const normalizedName = normalizeConnectorName(name);
23036
23759
  const connectorPath = getConnectorPath(normalizedName);
23037
- const claudeMdPath = join10(connectorPath, "CLAUDE.md");
23760
+ const claudeMdPath = join11(connectorPath, "CLAUDE.md");
23038
23761
  if (existsSync9(claudeMdPath)) {
23039
- return parseConnectorDocs(readFileSync4(claudeMdPath, "utf-8"));
23762
+ return parseConnectorDocs(readFileSync6(claudeMdPath, "utf-8"));
23040
23763
  }
23041
23764
  const internalDocs = getInternalConnectorDefinition(normalizedName)?.docsMarkdown;
23042
23765
  if (internalDocs) {
@@ -23086,17 +23809,153 @@ function removeConnector(name, targetDir = process.cwd()) {
23086
23809
  return true;
23087
23810
  }
23088
23811
  // src/lib/runner.ts
23089
- import { existsSync as existsSync10, readdirSync as readdirSync7 } from "fs";
23090
- import { join as join11, dirname as dirname7 } from "path";
23812
+ import { existsSync as existsSync11, readdirSync as readdirSync8 } from "fs";
23813
+ import { join as join13, dirname as dirname7 } from "path";
23091
23814
  import { fileURLToPath as fileURLToPath5 } from "url";
23092
23815
  import { spawn } from "child_process";
23816
+
23817
+ // src/server/auth.ts
23818
+ import { existsSync as existsSync10, readFileSync as readFileSync7, writeFileSync as writeFileSync6, mkdirSync as mkdirSync7, readdirSync as readdirSync7, rmSync as rmSync3, statSync as statSync4 } from "fs";
23819
+ import { join as join12 } from "path";
23820
+ var oauthStateStore = new Map;
23821
+ var GOOGLE_SCOPES = {
23822
+ gmail: [
23823
+ "https://www.googleapis.com/auth/gmail.readonly",
23824
+ "https://www.googleapis.com/auth/gmail.send",
23825
+ "https://www.googleapis.com/auth/gmail.compose",
23826
+ "https://www.googleapis.com/auth/gmail.modify",
23827
+ "https://www.googleapis.com/auth/gmail.labels",
23828
+ "https://mail.google.com/"
23829
+ ].join(" "),
23830
+ googlecalendar: [
23831
+ "https://www.googleapis.com/auth/calendar",
23832
+ "https://www.googleapis.com/auth/calendar.events"
23833
+ ].join(" "),
23834
+ googledrive: [
23835
+ "https://www.googleapis.com/auth/drive",
23836
+ "https://www.googleapis.com/auth/drive.file"
23837
+ ].join(" "),
23838
+ googledocs: [
23839
+ "https://www.googleapis.com/auth/documents",
23840
+ "https://www.googleapis.com/auth/drive.file"
23841
+ ].join(" "),
23842
+ googlesheets: [
23843
+ "https://www.googleapis.com/auth/spreadsheets",
23844
+ "https://www.googleapis.com/auth/drive.file"
23845
+ ].join(" "),
23846
+ googletasks: [
23847
+ "https://www.googleapis.com/auth/tasks"
23848
+ ].join(" "),
23849
+ googlecontacts: [
23850
+ "https://www.googleapis.com/auth/contacts",
23851
+ "https://www.googleapis.com/auth/contacts.readonly"
23852
+ ].join(" "),
23853
+ google: [
23854
+ "openid",
23855
+ "https://www.googleapis.com/auth/userinfo.email",
23856
+ "https://www.googleapis.com/auth/userinfo.profile"
23857
+ ].join(" ")
23858
+ };
23859
+ function getAuthType(name) {
23860
+ const docs = getConnectorDocs(name);
23861
+ if (!docs?.auth)
23862
+ return "apikey";
23863
+ const authLower = docs.auth.toLowerCase();
23864
+ if (authLower.includes("oauth"))
23865
+ return "oauth";
23866
+ if (authLower.includes("bearer token"))
23867
+ return "bearer";
23868
+ return "apikey";
23869
+ }
23870
+ function getConnectorConfigDir(name) {
23871
+ const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
23872
+ return join12(getConnectorsHome(), connectorName);
23873
+ }
23874
+ function getCurrentProfile2(name) {
23875
+ const configDir = getConnectorConfigDir(name);
23876
+ const currentProfileFile = join12(configDir, "current_profile");
23877
+ if (existsSync10(currentProfileFile)) {
23878
+ try {
23879
+ return readFileSync7(currentProfileFile, "utf-8").trim() || "default";
23880
+ } catch {
23881
+ return "default";
23882
+ }
23883
+ }
23884
+ return "default";
23885
+ }
23886
+ function loadProfileConfig(name) {
23887
+ const configDir = getConnectorConfigDir(name);
23888
+ const profile = getCurrentProfile2(name);
23889
+ let flatConfig = {};
23890
+ let dirConfig = {};
23891
+ const profileFile = join12(configDir, "profiles", `${profile}.json`);
23892
+ if (existsSync10(profileFile)) {
23893
+ try {
23894
+ flatConfig = JSON.parse(readFileSync7(profileFile, "utf-8"));
23895
+ } catch {}
23896
+ }
23897
+ const profileDirConfig = join12(configDir, "profiles", profile, "config.json");
23898
+ if (existsSync10(profileDirConfig)) {
23899
+ try {
23900
+ dirConfig = JSON.parse(readFileSync7(profileDirConfig, "utf-8"));
23901
+ } catch {}
23902
+ }
23903
+ if (Object.keys(flatConfig).length === 0 && Object.keys(dirConfig).length === 0) {
23904
+ return {};
23905
+ }
23906
+ return { ...flatConfig, ...dirConfig };
23907
+ }
23908
+ function loadTokens3(name) {
23909
+ const configDir = getConnectorConfigDir(name);
23910
+ const profile = getCurrentProfile2(name);
23911
+ const tokensFile = join12(configDir, "profiles", profile, "tokens.json");
23912
+ if (existsSync10(tokensFile)) {
23913
+ try {
23914
+ return JSON.parse(readFileSync7(tokensFile, "utf-8"));
23915
+ } catch {
23916
+ return null;
23917
+ }
23918
+ }
23919
+ const profileConfig = loadProfileConfig(name);
23920
+ if (profileConfig.refreshToken || profileConfig.accessToken) {
23921
+ return {
23922
+ accessToken: profileConfig.accessToken ?? "",
23923
+ refreshToken: profileConfig.refreshToken,
23924
+ expiresAt: profileConfig.expiresAt ?? 0,
23925
+ tokenType: profileConfig.tokenType,
23926
+ scope: profileConfig.scope
23927
+ };
23928
+ }
23929
+ return null;
23930
+ }
23931
+ function getEnvVars(name) {
23932
+ const docs = getConnectorDocs(name);
23933
+ return docs?.envVars || [];
23934
+ }
23935
+ function getOAuthConfig(name) {
23936
+ const configDir = getConnectorConfigDir(name);
23937
+ const credentialsFile = join12(configDir, "credentials.json");
23938
+ if (existsSync10(credentialsFile)) {
23939
+ try {
23940
+ const creds = JSON.parse(readFileSync7(credentialsFile, "utf-8"));
23941
+ return { clientId: creds.clientId, clientSecret: creds.clientSecret };
23942
+ } catch {}
23943
+ }
23944
+ const config = loadProfileConfig(name);
23945
+ return {
23946
+ clientId: config.clientId,
23947
+ clientSecret: config.clientSecret
23948
+ };
23949
+ }
23950
+
23951
+ // src/lib/runner.ts
23093
23952
  var __dirname5 = dirname7(fileURLToPath5(import.meta.url));
23094
23953
  function resolveConnectorsDir2() {
23095
- const fromBin = join11(__dirname5, "..", "connectors");
23096
- if (existsSync10(fromBin))
23954
+ const fromBin = join13(__dirname5, "..", "connectors");
23955
+ if (existsSync11(fromBin))
23097
23956
  return fromBin;
23098
- const fromSrc = join11(__dirname5, "..", "..", "connectors");
23099
- if (existsSync10(fromSrc))
23957
+ const fromSrc = join13(__dirname5, "..", "..", "connectors");
23958
+ if (existsSync11(fromSrc))
23100
23959
  return fromSrc;
23101
23960
  return fromBin;
23102
23961
  }
@@ -23147,13 +24006,32 @@ function buildEnvWithCredentials(connectorName, baseEnv) {
23147
24006
  }
23148
24007
  }
23149
24008
  }
24009
+ if (getAuthType(connectorName) === "oauth") {
24010
+ const oauthConfig = getOAuthConfig(connectorName);
24011
+ const tokens = loadTokens3(connectorName);
24012
+ for (const { variable } of getEnvVars(connectorName)) {
24013
+ if (env[variable])
24014
+ continue;
24015
+ if (variable.endsWith("_CLIENT_ID") && oauthConfig.clientId) {
24016
+ env[variable] = oauthConfig.clientId;
24017
+ } else if (variable.endsWith("_CLIENT_SECRET") && oauthConfig.clientSecret) {
24018
+ env[variable] = oauthConfig.clientSecret;
24019
+ } else if (variable.endsWith("_ACCESS_TOKEN") && tokens?.accessToken) {
24020
+ env[variable] = tokens.accessToken;
24021
+ } else if (variable.endsWith("_REFRESH_TOKEN") && tokens?.refreshToken) {
24022
+ env[variable] = tokens.refreshToken;
24023
+ } else if (variable.endsWith("_TOKEN_EXPIRES_AT") && tokens?.expiresAt) {
24024
+ env[variable] = String(tokens.expiresAt);
24025
+ }
24026
+ }
24027
+ }
23150
24028
  return env;
23151
24029
  }
23152
24030
  function getConnectorCliPath(name) {
23153
24031
  const safeName = name.replace(/[^a-z0-9-]/g, "");
23154
- const connectorDir = join11(CONNECTORS_DIR2, `connect-${safeName}`);
23155
- const cliPath = join11(connectorDir, "src", "cli", "index.ts");
23156
- if (existsSync10(cliPath))
24032
+ const connectorDir = join13(CONNECTORS_DIR2, `connect-${safeName}`);
24033
+ const cliPath = join13(connectorDir, "src", "cli", "index.ts");
24034
+ if (existsSync11(cliPath))
23157
24035
  return cliPath;
23158
24036
  return null;
23159
24037
  }
@@ -23191,7 +24069,7 @@ function parseCommanderHelpOperations(helpText) {
23191
24069
  inCommands = false;
23192
24070
  continue;
23193
24071
  }
23194
- const row = line.match(/^ {2}(\S.*?)(?: {2,}(.+))?$/);
24072
+ const row = line.match(/^ {2}(?! )(\S.*?)(?: {2,}(.+))?$/);
23195
24073
  if (!row)
23196
24074
  continue;
23197
24075
  const usage = row[1].trim();
@@ -23228,6 +24106,112 @@ function runConnectorCommand(name, args, timeoutMs = 30000) {
23228
24106
  }
23229
24107
  return runLegacyConnectorCommand(name, args, timeoutMs);
23230
24108
  }
24109
+ async function runConnectorOperation(args) {
24110
+ const internal = getInternalConnectorDefinition(args.connector);
24111
+ if (internal?.operations[args.operation]) {
24112
+ try {
24113
+ const operationData = await executeConnectorOperation(internal, {
24114
+ operation: args.operation,
24115
+ input: args.input,
24116
+ profile: args.profile
24117
+ });
24118
+ const commandResult = normalizeOperationReturn(operationData);
24119
+ return {
24120
+ connector: args.connector,
24121
+ operation: args.operation,
24122
+ profile: args.profile,
24123
+ ...commandResult
24124
+ };
24125
+ } catch (error) {
24126
+ return {
24127
+ connector: args.connector,
24128
+ operation: args.operation,
24129
+ profile: args.profile,
24130
+ stdout: "",
24131
+ stderr: error.message,
24132
+ exitCode: 1,
24133
+ success: false
24134
+ };
24135
+ }
24136
+ }
24137
+ const commandArgs = buildConnectorOperationArgs(args);
24138
+ const result = await runConnectorCommand(args.connector, commandArgs, args.timeoutMs ?? 30000);
24139
+ const response = {
24140
+ ...result,
24141
+ connector: args.connector,
24142
+ operation: args.operation,
24143
+ profile: args.profile
24144
+ };
24145
+ if (args.parseJson !== false && result.stdout) {
24146
+ try {
24147
+ response.data = JSON.parse(result.stdout);
24148
+ } catch {}
24149
+ }
24150
+ return response;
24151
+ }
24152
+ function normalizeOperationReturn(value) {
24153
+ if (isRunResult(value)) {
24154
+ const result = value;
24155
+ const response = {
24156
+ ...result
24157
+ };
24158
+ if (result.stdout) {
24159
+ try {
24160
+ response.data = JSON.parse(result.stdout);
24161
+ } catch {}
24162
+ }
24163
+ return response;
24164
+ }
24165
+ return {
24166
+ data: value,
24167
+ stdout: JSON.stringify(value),
24168
+ stderr: "",
24169
+ exitCode: 0,
24170
+ success: true
24171
+ };
24172
+ }
24173
+ function isRunResult(value) {
24174
+ if (!value || typeof value !== "object")
24175
+ return false;
24176
+ const candidate = value;
24177
+ return typeof candidate.stdout === "string" && typeof candidate.stderr === "string" && typeof candidate.exitCode === "number" && typeof candidate.success === "boolean";
24178
+ }
24179
+ function buildConnectorOperationArgs(args) {
24180
+ const commandArgs = [];
24181
+ if (args.profile) {
24182
+ commandArgs.push("--profile", args.profile);
24183
+ }
24184
+ commandArgs.push(...args.operation.split(".").filter(Boolean));
24185
+ for (const positional of args.input?.args ?? []) {
24186
+ commandArgs.push(String(positional));
24187
+ }
24188
+ let hasFormat = false;
24189
+ for (const [key, value] of Object.entries(args.input ?? {})) {
24190
+ if (key === "args")
24191
+ continue;
24192
+ if (value === undefined || value === null)
24193
+ continue;
24194
+ const flag = `--${key.replace(/_/g, "-").replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`)}`;
24195
+ if (flag === "--format" || flag === "--json")
24196
+ hasFormat = true;
24197
+ if (typeof value === "boolean") {
24198
+ if (value)
24199
+ commandArgs.push(flag);
24200
+ continue;
24201
+ }
24202
+ if (Array.isArray(value)) {
24203
+ for (const item of value) {
24204
+ commandArgs.push(flag, String(item));
24205
+ }
24206
+ continue;
24207
+ }
24208
+ commandArgs.push(flag, String(value));
24209
+ }
24210
+ if (args.parseJson !== false && !hasFormat) {
24211
+ commandArgs.push("--format", "json");
24212
+ }
24213
+ return commandArgs;
24214
+ }
23231
24215
  function runLegacyConnectorCommand(name, args, timeoutMs = 30000) {
23232
24216
  const cliPath = getConnectorCliPath(name);
23233
24217
  if (!cliPath) {
@@ -23319,7 +24303,7 @@ async function getConnectorCommandHelp(name, command) {
23319
24303
  function getConnectorsWithCli() {
23320
24304
  const connectors18 = new Set;
23321
24305
  try {
23322
- const dirs = readdirSync7(CONNECTORS_DIR2);
24306
+ const dirs = readdirSync8(CONNECTORS_DIR2);
23323
24307
  for (const dir of dirs) {
23324
24308
  if (!dir.startsWith("connect-"))
23325
24309
  continue;
@@ -23338,6 +24322,7 @@ function getConnectorsWithCli() {
23338
24322
  }
23339
24323
  export {
23340
24324
  searchConnectors,
24325
+ runConnectorOperation,
23341
24326
  runConnectorCommand,
23342
24327
  removeConnector,
23343
24328
  loadConnectorVersions,
@@ -23358,6 +24343,7 @@ export {
23358
24343
  executeConnectorOperation,
23359
24344
  defineConnector,
23360
24345
  connectorExists,
24346
+ buildConnectorOperationArgs,
23361
24347
  ConnectorOperationNotFoundError,
23362
24348
  ConnectorDefinitionError,
23363
24349
  CONNECTORS,