@hasna/connectors 1.3.24 → 1.3.25
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.
- package/bin/index.js +470 -138
- package/bin/mcp.js +2568 -2015
- package/bin/serve.js +765 -427
- package/connectors/{connect-yousign → connect-cloudflare}/bun.lock +3 -3
- package/connectors/connect-gmail/bin/index.js +7027 -0
- package/connectors/connect-googledrive/bin/index.js +5958 -0
- package/connectors/connect-imessage/bin/.gitkeep +2 -0
- package/connectors/connect-imessage/bin/index.js +3016 -0
- package/connectors/connect-imessage/bun.lock +32 -0
- package/connectors/connect-imessage/package.json +46 -0
- package/connectors/connect-imessage/src/api/client.ts +139 -0
- package/connectors/connect-imessage/src/api/conversations.ts +49 -0
- package/connectors/connect-imessage/src/api/health.ts +16 -0
- package/connectors/connect-imessage/src/api/index.ts +62 -0
- package/connectors/connect-imessage/src/api/messages.ts +119 -0
- package/connectors/connect-imessage/src/cli/index.ts +258 -0
- package/connectors/connect-imessage/src/index.ts +26 -0
- package/connectors/connect-imessage/src/types/index.ts +134 -0
- package/connectors/connect-imessage/src/utils/config.ts +219 -0
- package/connectors/connect-imessage/src/utils/output.ts +121 -0
- package/connectors/connect-imessage/tsconfig.json +16 -0
- package/dashboard/dist/assets/index-ClBXkNbL.css +1 -0
- package/dashboard/dist/assets/index-DvfmyAO4.js +284 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/core/connectors/googledrive.d.ts +6 -0
- package/dist/core/connectors/internal-operations.test.d.ts +1 -0
- package/dist/core/connectors/internal-runtime.test.d.ts +1 -0
- package/dist/core/errors.test.d.ts +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +631 -77
- package/dist/lib/runner-auth.test.d.ts +1 -0
- package/dist/lib/runner.d.ts +31 -0
- package/dist/lib/test-endpoints.test.d.ts +1 -0
- package/dist/lib/workflow-runner.d.ts +7 -0
- package/dist/server/auth-exchange.test.d.ts +1 -0
- package/dist/server/auth-refresh.test.d.ts +1 -0
- package/dist/server/auth.d.ts +1 -0
- package/package.json +1 -1
- package/connectors/connect-yousign/node_modules/@types/bun/LICENSE +0 -21
- package/connectors/connect-yousign/node_modules/@types/bun/README.md +0 -20
- package/connectors/connect-yousign/node_modules/@types/bun/index.d.ts +0 -1
- package/connectors/connect-yousign/node_modules/@types/bun/package.json +0 -53
- package/connectors/connect-yousign/node_modules/@types/node/LICENSE +0 -21
- package/connectors/connect-yousign/node_modules/@types/node/README.md +0 -15
- package/connectors/connect-yousign/node_modules/@types/node/assert/strict.d.ts +0 -105
- package/connectors/connect-yousign/node_modules/@types/node/assert.d.ts +0 -955
- package/connectors/connect-yousign/node_modules/@types/node/async_hooks.d.ts +0 -623
- package/connectors/connect-yousign/node_modules/@types/node/buffer.buffer.d.ts +0 -466
- package/connectors/connect-yousign/node_modules/@types/node/buffer.d.ts +0 -1810
- package/connectors/connect-yousign/node_modules/@types/node/child_process.d.ts +0 -1433
- package/connectors/connect-yousign/node_modules/@types/node/cluster.d.ts +0 -486
- package/connectors/connect-yousign/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
- package/connectors/connect-yousign/node_modules/@types/node/console.d.ts +0 -151
- package/connectors/connect-yousign/node_modules/@types/node/constants.d.ts +0 -20
- package/connectors/connect-yousign/node_modules/@types/node/crypto.d.ts +0 -4065
- package/connectors/connect-yousign/node_modules/@types/node/dgram.d.ts +0 -564
- package/connectors/connect-yousign/node_modules/@types/node/diagnostics_channel.d.ts +0 -576
- package/connectors/connect-yousign/node_modules/@types/node/dns/promises.d.ts +0 -503
- package/connectors/connect-yousign/node_modules/@types/node/dns.d.ts +0 -922
- package/connectors/connect-yousign/node_modules/@types/node/domain.d.ts +0 -166
- package/connectors/connect-yousign/node_modules/@types/node/events.d.ts +0 -1047
- package/connectors/connect-yousign/node_modules/@types/node/fs/promises.d.ts +0 -1329
- package/connectors/connect-yousign/node_modules/@types/node/fs.d.ts +0 -4678
- package/connectors/connect-yousign/node_modules/@types/node/globals.d.ts +0 -150
- package/connectors/connect-yousign/node_modules/@types/node/globals.typedarray.d.ts +0 -101
- package/connectors/connect-yousign/node_modules/@types/node/http.d.ts +0 -2188
- package/connectors/connect-yousign/node_modules/@types/node/http2.d.ts +0 -2480
- package/connectors/connect-yousign/node_modules/@types/node/https.d.ts +0 -405
- package/connectors/connect-yousign/node_modules/@types/node/index.d.ts +0 -115
- package/connectors/connect-yousign/node_modules/@types/node/inspector/promises.d.ts +0 -41
- package/connectors/connect-yousign/node_modules/@types/node/inspector.d.ts +0 -269
- package/connectors/connect-yousign/node_modules/@types/node/inspector.generated.d.ts +0 -4401
- package/connectors/connect-yousign/node_modules/@types/node/module.d.ts +0 -757
- package/connectors/connect-yousign/node_modules/@types/node/net.d.ts +0 -933
- package/connectors/connect-yousign/node_modules/@types/node/os.d.ts +0 -507
- package/connectors/connect-yousign/node_modules/@types/node/package.json +0 -155
- package/connectors/connect-yousign/node_modules/@types/node/path/posix.d.ts +0 -8
- package/connectors/connect-yousign/node_modules/@types/node/path/win32.d.ts +0 -8
- package/connectors/connect-yousign/node_modules/@types/node/path.d.ts +0 -187
- package/connectors/connect-yousign/node_modules/@types/node/perf_hooks.d.ts +0 -643
- package/connectors/connect-yousign/node_modules/@types/node/process.d.ts +0 -2175
- package/connectors/connect-yousign/node_modules/@types/node/punycode.d.ts +0 -117
- package/connectors/connect-yousign/node_modules/@types/node/querystring.d.ts +0 -152
- package/connectors/connect-yousign/node_modules/@types/node/quic.d.ts +0 -910
- package/connectors/connect-yousign/node_modules/@types/node/readline/promises.d.ts +0 -161
- package/connectors/connect-yousign/node_modules/@types/node/readline.d.ts +0 -542
- package/connectors/connect-yousign/node_modules/@types/node/repl.d.ts +0 -415
- package/connectors/connect-yousign/node_modules/@types/node/sea.d.ts +0 -162
- package/connectors/connect-yousign/node_modules/@types/node/sqlite.d.ts +0 -1065
- package/connectors/connect-yousign/node_modules/@types/node/stream/consumers.d.ts +0 -38
- package/connectors/connect-yousign/node_modules/@types/node/stream/promises.d.ts +0 -211
- package/connectors/connect-yousign/node_modules/@types/node/stream/web.d.ts +0 -296
- package/connectors/connect-yousign/node_modules/@types/node/stream.d.ts +0 -1770
- package/connectors/connect-yousign/node_modules/@types/node/string_decoder.d.ts +0 -67
- package/connectors/connect-yousign/node_modules/@types/node/test/reporters.d.ts +0 -96
- package/connectors/connect-yousign/node_modules/@types/node/test.d.ts +0 -2275
- package/connectors/connect-yousign/node_modules/@types/node/timers/promises.d.ts +0 -108
- package/connectors/connect-yousign/node_modules/@types/node/timers.d.ts +0 -159
- package/connectors/connect-yousign/node_modules/@types/node/tls.d.ts +0 -1203
- package/connectors/connect-yousign/node_modules/@types/node/trace_events.d.ts +0 -197
- package/connectors/connect-yousign/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -462
- package/connectors/connect-yousign/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
- package/connectors/connect-yousign/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -36
- package/connectors/connect-yousign/node_modules/@types/node/ts5.6/index.d.ts +0 -117
- package/connectors/connect-yousign/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
- package/connectors/connect-yousign/node_modules/@types/node/ts5.7/index.d.ts +0 -117
- package/connectors/connect-yousign/node_modules/@types/node/tty.d.ts +0 -250
- package/connectors/connect-yousign/node_modules/@types/node/url.d.ts +0 -541
- package/connectors/connect-yousign/node_modules/@types/node/util/types.d.ts +0 -558
- package/connectors/connect-yousign/node_modules/@types/node/util.d.ts +0 -1687
- package/connectors/connect-yousign/node_modules/@types/node/v8.d.ts +0 -988
- package/connectors/connect-yousign/node_modules/@types/node/vm.d.ts +0 -1208
- package/connectors/connect-yousign/node_modules/@types/node/wasi.d.ts +0 -202
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -59
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/blob.d.ts +0 -23
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/console.d.ts +0 -9
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/events.d.ts +0 -106
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/fetch.d.ts +0 -69
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/navigator.d.ts +0 -25
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/performance.d.ts +0 -45
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/storage.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/streams.d.ts +0 -115
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/timers.d.ts +0 -44
- package/connectors/connect-yousign/node_modules/@types/node/web-globals/url.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/@types/node/worker_threads.d.ts +0 -717
- package/connectors/connect-yousign/node_modules/@types/node/zlib.d.ts +0 -682
- package/connectors/connect-yousign/node_modules/bun-types/CLAUDE.md +0 -105
- package/connectors/connect-yousign/node_modules/bun-types/README.md +0 -33
- package/connectors/connect-yousign/node_modules/bun-types/bun.d.ts +0 -8481
- package/connectors/connect-yousign/node_modules/bun-types/bun.ns.d.ts +0 -5
- package/connectors/connect-yousign/node_modules/bun-types/bundle.d.ts +0 -74
- package/connectors/connect-yousign/node_modules/bun-types/deprecated.d.ts +0 -184
- package/connectors/connect-yousign/node_modules/bun-types/devserver.d.ts +0 -187
- package/connectors/connect-yousign/node_modules/bun-types/docs/README.md +0 -28
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/bytecode.mdx +0 -447
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/css.mdx +0 -1024
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/esbuild.mdx +0 -304
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/executables.mdx +0 -1318
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/fullstack.mdx +0 -1086
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/hot-reloading.mdx +0 -229
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/html-static.mdx +0 -498
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/index.mdx +0 -1840
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/loaders.mdx +0 -451
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/macros.mdx +0 -328
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/minifier.mdx +0 -1286
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/plugins.mdx +0 -477
- package/connectors/connect-yousign/node_modules/bun-types/docs/bundler/standalone-html.mdx +0 -314
- package/connectors/connect-yousign/node_modules/bun-types/docs/feedback.mdx +0 -75
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-array.mdx +0 -29
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-blob.mdx +0 -26
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-buffer.mdx +0 -27
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-string.mdx +0 -17
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/arraybuffer-to-typedarray.mdx +0 -41
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-arraybuffer.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-dataview.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-stream.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-string.mdx +0 -17
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/blob-to-typedarray.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-arraybuffer.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-blob.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-readablestream.mdx +0 -43
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-string.mdx +0 -27
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/buffer-to-typedarray.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/dataview-to-string.mdx +0 -17
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-arraybuffer.mdx +0 -27
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-blob.mdx +0 -18
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-buffer.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-dataview.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-readablestream.mdx +0 -43
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/binary/typedarray-to-string.mdx +0 -18
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/aws-lambda.mdx +0 -204
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/digital-ocean.mdx +0 -161
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/google-cloud-run.mdx +0 -194
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/railway.mdx +0 -145
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/render.mdx +0 -82
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/deployment/vercel.mdx +0 -97
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/astro.mdx +0 -82
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/discordjs.mdx +0 -80
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/docker.mdx +0 -151
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/drizzle.mdx +0 -195
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/elysia.mdx +0 -31
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/express.mdx +0 -43
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/gel.mdx +0 -261
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/hono.mdx +0 -47
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/mongoose.mdx +0 -92
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/neon-drizzle.mdx +0 -234
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/neon-serverless-postgres.mdx +0 -60
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/nextjs.mdx +0 -103
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/nuxt.mdx +0 -96
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/pm2.mdx +0 -55
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/prisma-postgres.mdx +0 -169
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/prisma.mdx +0 -164
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/qwik.mdx +0 -114
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/react.mdx +0 -52
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/remix.mdx +0 -97
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/sentry.mdx +0 -54
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/solidstart.mdx +0 -62
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/ssr-react.mdx +0 -49
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/stric.mdx +0 -54
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/sveltekit.mdx +0 -138
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/systemd.mdx +0 -114
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/tanstack-start.mdx +0 -791
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/upstash.mdx +0 -87
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/ecosystem/vite.mdx +0 -77
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/html-rewriter/extract-links.mdx +0 -71
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/html-rewriter/extract-social-meta.mdx +0 -97
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/cluster.mdx +0 -69
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/fetch-unix.mdx +0 -35
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/fetch.mdx +0 -26
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/file-uploads.mdx +0 -97
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/hot.mdx +0 -28
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/proxy.mdx +0 -50
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/server.mdx +0 -48
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/simple.mdx +0 -20
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/stream-file.mdx +0 -50
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/stream-iterator.mdx +0 -49
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/stream-node-streams-in-bun.mdx +0 -22
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/http/tls.mdx +0 -32
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/index.mdx +0 -10
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-dev.mdx +0 -28
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-git.mdx +0 -40
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-optional.mdx +0 -27
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-peer.mdx +0 -45
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add-tarball.mdx +0 -35
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/add.mdx +0 -44
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/azure-artifacts.mdx +0 -76
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/cicd.mdx +0 -43
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/custom-registry.mdx +0 -32
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/from-npm-install-to-bun-install.mdx +0 -230
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/git-diff-bun-lockfile.mdx +0 -48
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/jfrog-artifactory.mdx +0 -28
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/npm-alias.mdx +0 -25
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/registry-scope.mdx +0 -40
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/trusted.mdx +0 -52
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/workspaces.mdx +0 -70
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/install/yarnlock.mdx +0 -51
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/argv.mdx +0 -66
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/ctrl-c.mdx +0 -18
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/ipc.mdx +0 -69
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/nanoseconds.mdx +0 -15
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/os-signals.mdx +0 -31
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/spawn-stderr.mdx +0 -34
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/spawn-stdout.mdx +0 -28
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/spawn.mdx +0 -43
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/process/stdin.mdx +0 -62
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/arraybuffer.mdx +0 -30
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/buffer.mdx +0 -21
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/exists.mdx +0 -18
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/json.mdx +0 -19
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/mime.mdx +0 -22
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/stream.mdx +0 -28
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/string.mdx +0 -24
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/uint8array.mdx +0 -23
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/read-file/watch.mdx +0 -66
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/build-time-constants.mdx +0 -295
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/cicd.mdx +0 -45
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/codesign-macos-executable.mdx +0 -61
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/define-constant.mdx +0 -149
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/delete-directory.mdx +0 -39
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/delete-file.mdx +0 -21
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/heap-snapshot.mdx +0 -28
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-html.mdx +0 -15
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-json.mdx +0 -46
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-json5.mdx +0 -74
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-toml.mdx +0 -32
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/import-yaml.mdx +0 -104
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/read-env.mdx +0 -37
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/set-env.mdx +0 -51
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/shell.mdx +0 -42
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/timezone.mdx +0 -38
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/tsconfig-paths.mdx +0 -31
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/typescript.mdx +0 -51
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/vscode-debugger.mdx +0 -47
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/runtime/web-debugger.mdx +0 -103
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-arraybuffer.mdx +0 -13
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-blob.mdx +0 -13
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-json.mdx +0 -14
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-string.mdx +0 -14
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/node-readable-to-uint8array.mdx +0 -13
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-array.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-arraybuffer.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-blob.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-buffer.mdx +0 -17
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-json.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-string.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/streams/to-typedarray.mdx +0 -24
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/bail.mdx +0 -24
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/concurrent-test-glob.mdx +0 -146
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/coverage-threshold.mdx +0 -67
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/coverage.mdx +0 -49
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/happy-dom.mdx +0 -73
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/migrate-from-jest.mdx +0 -125
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/mock-clock.mdx +0 -50
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/mock-functions.mdx +0 -70
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/rerun-each.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/run-tests.mdx +0 -116
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/skip-tests.mdx +0 -43
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/snapshot.mdx +0 -102
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/spy-on.mdx +0 -49
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/svelte-test.mdx +0 -113
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/testing-library.mdx +0 -93
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/timeout.mdx +0 -17
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/todo-tests.mdx +0 -74
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/update-snapshots.mdx +0 -49
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/test/watch-mode.mdx +0 -24
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/base64.mdx +0 -17
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/deep-equals.mdx +0 -41
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/deflate.mdx +0 -20
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/detect-bun.mdx +0 -28
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/entrypoint.mdx +0 -19
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/escape-html.mdx +0 -24
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/file-url-to-path.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/gzip.mdx +0 -20
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/hash-a-password.mdx +0 -56
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/import-meta-dir.mdx +0 -15
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/import-meta-file.mdx +0 -15
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/import-meta-path.mdx +0 -15
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/javascript-uuid.mdx +0 -25
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/main.mdx +0 -43
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/path-to-file-url.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/sleep.mdx +0 -24
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/upgrade.mdx +0 -93
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/version.mdx +0 -23
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/util/which-path-to-executable-bin.mdx +0 -17
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/compression.mdx +0 -33
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/context.mdx +0 -79
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/pubsub.mdx +0 -43
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/websocket/simple.mdx +0 -38
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/append.mdx +0 -54
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/basic.mdx +0 -46
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/blob.mdx +0 -30
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/cat.mdx +0 -19
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/file-cp.mdx +0 -18
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/filesink.mdx +0 -54
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/response.mdx +0 -19
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/stdout.mdx +0 -23
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/stream.mdx +0 -19
- package/connectors/connect-yousign/node_modules/bun-types/docs/guides/write-file/unlink.mdx +0 -18
- package/connectors/connect-yousign/node_modules/bun-types/docs/index.mdx +0 -133
- package/connectors/connect-yousign/node_modules/bun-types/docs/installation.mdx +0 -372
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/bunx.mdx +0 -91
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/catalogs.mdx +0 -292
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/add.mdx +0 -179
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/audit.mdx +0 -60
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/info.mdx +0 -70
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/install.mdx +0 -591
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/link.mdx +0 -61
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/outdated.mdx +0 -197
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/patch.mdx +0 -69
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/pm.mdx +0 -323
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/publish.mdx +0 -131
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/remove.mdx +0 -16
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/update.mdx +0 -140
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/cli/why.mdx +0 -84
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/filter.mdx +0 -127
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/global-cache.mdx +0 -72
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/isolated-installs.mdx +0 -220
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/lifecycle.mdx +0 -64
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/lockfile.mdx +0 -64
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/npmrc.mdx +0 -245
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/overrides.mdx +0 -83
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/scopes-registries.mdx +0 -35
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/security-scanner-api.mdx +0 -95
- package/connectors/connect-yousign/node_modules/bun-types/docs/pm/workspaces.mdx +0 -115
- package/connectors/connect-yousign/node_modules/bun-types/docs/project/benchmarking.mdx +0 -296
- package/connectors/connect-yousign/node_modules/bun-types/docs/project/bindgen.mdx +0 -223
- package/connectors/connect-yousign/node_modules/bun-types/docs/project/building-windows.mdx +0 -143
- package/connectors/connect-yousign/node_modules/bun-types/docs/project/contributing.mdx +0 -366
- package/connectors/connect-yousign/node_modules/bun-types/docs/project/feedback.mdx +0 -20
- package/connectors/connect-yousign/node_modules/bun-types/docs/project/license.mdx +0 -78
- package/connectors/connect-yousign/node_modules/bun-types/docs/project/roadmap.mdx +0 -8
- package/connectors/connect-yousign/node_modules/bun-types/docs/quickstart.mdx +0 -251
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/archive.mdx +0 -452
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/auto-install.mdx +0 -97
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/binary-data.mdx +0 -846
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/bun-apis.mdx +0 -59
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/bunfig.mdx +0 -754
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/c-compiler.mdx +0 -204
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/child-process.mdx +0 -659
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/color.mdx +0 -267
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/console.mdx +0 -67
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/cookies.mdx +0 -454
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/debugger.mdx +0 -335
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/environment-variables.mdx +0 -231
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/ffi.mdx +0 -567
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/file-io.mdx +0 -306
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/file-system-router.mdx +0 -118
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/file-types.mdx +0 -482
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/glob.mdx +0 -181
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/globals.mdx +0 -72
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/hashing.mdx +0 -315
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/html-rewriter.mdx +0 -333
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/cookies.mdx +0 -79
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/error-handling.mdx +0 -40
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/metrics.mdx +0 -36
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/routing.mdx +0 -289
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/server.mdx +0 -645
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/tls.mdx +0 -101
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/http/websockets.mdx +0 -414
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/index.mdx +0 -223
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/json5.mdx +0 -271
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/jsonl.mdx +0 -188
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/jsx.mdx +0 -115
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/markdown.mdx +0 -344
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/module-resolution.mdx +0 -374
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/dns.mdx +0 -111
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/fetch.mdx +0 -484
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/tcp.mdx +0 -239
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/networking/udp.mdx +0 -180
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/node-api.mdx +0 -19
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/nodejs-compat.mdx +0 -468
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/plugins.mdx +0 -419
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/redis.mdx +0 -583
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/repl.mdx +0 -176
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/s3.mdx +0 -881
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/secrets.mdx +0 -340
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/semver.mdx +0 -57
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/shell.mdx +0 -637
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/sql.mdx +0 -1404
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/sqlite.mdx +0 -721
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/streams.mdx +0 -232
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/templating/create.mdx +0 -269
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/templating/init.mdx +0 -58
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/transpiler.mdx +0 -288
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/typescript.mdx +0 -58
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/utils.mdx +0 -1010
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/watch-mode.mdx +0 -161
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/web-apis.mdx +0 -29
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/workers.mdx +0 -314
- package/connectors/connect-yousign/node_modules/bun-types/docs/runtime/yaml.mdx +0 -469
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/add.mdx +0 -166
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/build.mdx +0 -197
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/bunx.mdx +0 -49
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/feedback.mdx +0 -17
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/init.mdx +0 -84
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/install.mdx +0 -173
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/link.mdx +0 -163
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/outdated.mdx +0 -140
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/patch.mdx +0 -171
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/publish.mdx +0 -198
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/remove.mdx +0 -146
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/run.mdx +0 -305
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/test.mdx +0 -105
- package/connectors/connect-yousign/node_modules/bun-types/docs/snippets/cli/update.mdx +0 -144
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/code-coverage.mdx +0 -409
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/configuration.mdx +0 -520
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/dates-times.mdx +0 -129
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/discovery.mdx +0 -90
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/dom.mdx +0 -226
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/index.mdx +0 -409
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/lifecycle.mdx +0 -366
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/mocks.mdx +0 -637
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/reporters.mdx +0 -126
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/runtime-behavior.mdx +0 -342
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/snapshots.mdx +0 -434
- package/connectors/connect-yousign/node_modules/bun-types/docs/test/writing-tests.mdx +0 -672
- package/connectors/connect-yousign/node_modules/bun-types/docs/typescript.mdx +0 -54
- package/connectors/connect-yousign/node_modules/bun-types/extensions.d.ts +0 -40
- package/connectors/connect-yousign/node_modules/bun-types/fetch.d.ts +0 -79
- package/connectors/connect-yousign/node_modules/bun-types/ffi.d.ts +0 -1154
- package/connectors/connect-yousign/node_modules/bun-types/globals.d.ts +0 -2067
- package/connectors/connect-yousign/node_modules/bun-types/html-rewriter.d.ts +0 -186
- package/connectors/connect-yousign/node_modules/bun-types/index.d.ts +0 -32
- package/connectors/connect-yousign/node_modules/bun-types/jsc.d.ts +0 -233
- package/connectors/connect-yousign/node_modules/bun-types/jsx.d.ts +0 -11
- package/connectors/connect-yousign/node_modules/bun-types/overrides.d.ts +0 -376
- package/connectors/connect-yousign/node_modules/bun-types/package.json +0 -37
- package/connectors/connect-yousign/node_modules/bun-types/redis.d.ts +0 -3352
- package/connectors/connect-yousign/node_modules/bun-types/s3.d.ts +0 -1335
- package/connectors/connect-yousign/node_modules/bun-types/security.d.ts +0 -101
- package/connectors/connect-yousign/node_modules/bun-types/serve.d.ts +0 -1296
- package/connectors/connect-yousign/node_modules/bun-types/shell.d.ts +0 -380
- package/connectors/connect-yousign/node_modules/bun-types/sql.d.ts +0 -887
- package/connectors/connect-yousign/node_modules/bun-types/sqlite.d.ts +0 -1322
- package/connectors/connect-yousign/node_modules/bun-types/test-globals.d.ts +0 -22
- package/connectors/connect-yousign/node_modules/bun-types/test.d.ts +0 -2392
- package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/branding.d.ts +0 -283
- package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/index.d.ts +0 -1207
- package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/messages.d.ts +0 -395
- package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/overloads.d.ts +0 -669
- package/connectors/connect-yousign/node_modules/bun-types/vendor/expect-type/utils.d.ts +0 -431
- package/connectors/connect-yousign/node_modules/bun-types/wasm.d.ts +0 -193
- package/connectors/connect-yousign/node_modules/chalk/license +0 -9
- package/connectors/connect-yousign/node_modules/chalk/package.json +0 -83
- package/connectors/connect-yousign/node_modules/chalk/readme.md +0 -297
- package/connectors/connect-yousign/node_modules/chalk/source/index.d.ts +0 -325
- package/connectors/connect-yousign/node_modules/chalk/source/index.js +0 -225
- package/connectors/connect-yousign/node_modules/chalk/source/utilities.js +0 -33
- package/connectors/connect-yousign/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +0 -236
- package/connectors/connect-yousign/node_modules/chalk/source/vendor/ansi-styles/index.js +0 -223
- package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/browser.d.ts +0 -1
- package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/browser.js +0 -34
- package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/index.d.ts +0 -55
- package/connectors/connect-yousign/node_modules/chalk/source/vendor/supports-color/index.js +0 -190
- package/connectors/connect-yousign/node_modules/commander/LICENSE +0 -22
- package/connectors/connect-yousign/node_modules/commander/Readme.md +0 -1157
- package/connectors/connect-yousign/node_modules/commander/esm.mjs +0 -16
- package/connectors/connect-yousign/node_modules/commander/index.js +0 -24
- package/connectors/connect-yousign/node_modules/commander/lib/argument.js +0 -149
- package/connectors/connect-yousign/node_modules/commander/lib/command.js +0 -2509
- package/connectors/connect-yousign/node_modules/commander/lib/error.js +0 -39
- package/connectors/connect-yousign/node_modules/commander/lib/help.js +0 -520
- package/connectors/connect-yousign/node_modules/commander/lib/option.js +0 -330
- package/connectors/connect-yousign/node_modules/commander/lib/suggestSimilar.js +0 -101
- package/connectors/connect-yousign/node_modules/commander/package-support.json +0 -16
- package/connectors/connect-yousign/node_modules/commander/package.json +0 -84
- package/connectors/connect-yousign/node_modules/commander/typings/esm.d.mts +0 -3
- package/connectors/connect-yousign/node_modules/commander/typings/index.d.ts +0 -969
- package/connectors/connect-yousign/node_modules/typescript/LICENSE.txt +0 -55
- package/connectors/connect-yousign/node_modules/typescript/README.md +0 -50
- package/connectors/connect-yousign/node_modules/typescript/SECURITY.md +0 -41
- package/connectors/connect-yousign/node_modules/typescript/ThirdPartyNoticeText.txt +0 -193
- package/connectors/connect-yousign/node_modules/typescript/bin/tsc +0 -2
- package/connectors/connect-yousign/node_modules/typescript/bin/tsserver +0 -2
- package/connectors/connect-yousign/node_modules/typescript/lib/_tsc.js +0 -133818
- package/connectors/connect-yousign/node_modules/typescript/lib/_tsserver.js +0 -659
- package/connectors/connect-yousign/node_modules/typescript/lib/_typingsInstaller.js +0 -222
- package/connectors/connect-yousign/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.d.ts +0 -22
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.es6.d.ts +0 -23
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
- package/connectors/connect-yousign/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
- package/connectors/connect-yousign/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/tsc.js +0 -8
- package/connectors/connect-yousign/node_modules/typescript/lib/tsserver.js +0 -8
- package/connectors/connect-yousign/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
- package/connectors/connect-yousign/node_modules/typescript/lib/tsserverlibrary.js +0 -21
- package/connectors/connect-yousign/node_modules/typescript/lib/typesMap.json +0 -497
- package/connectors/connect-yousign/node_modules/typescript/lib/typescript.d.ts +0 -11437
- package/connectors/connect-yousign/node_modules/typescript/lib/typescript.js +0 -200276
- package/connectors/connect-yousign/node_modules/typescript/lib/typingsInstaller.js +0 -8
- package/connectors/connect-yousign/node_modules/typescript/lib/watchGuard.js +0 -53
- package/connectors/connect-yousign/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -2122
- package/connectors/connect-yousign/node_modules/typescript/package.json +0 -120
- package/connectors/connect-yousign/node_modules/undici-types/LICENSE +0 -21
- package/connectors/connect-yousign/node_modules/undici-types/README.md +0 -6
- package/connectors/connect-yousign/node_modules/undici-types/agent.d.ts +0 -32
- package/connectors/connect-yousign/node_modules/undici-types/api.d.ts +0 -43
- package/connectors/connect-yousign/node_modules/undici-types/balanced-pool.d.ts +0 -30
- package/connectors/connect-yousign/node_modules/undici-types/cache-interceptor.d.ts +0 -173
- package/connectors/connect-yousign/node_modules/undici-types/cache.d.ts +0 -36
- package/connectors/connect-yousign/node_modules/undici-types/client-stats.d.ts +0 -15
- package/connectors/connect-yousign/node_modules/undici-types/client.d.ts +0 -108
- package/connectors/connect-yousign/node_modules/undici-types/connector.d.ts +0 -34
- package/connectors/connect-yousign/node_modules/undici-types/content-type.d.ts +0 -21
- package/connectors/connect-yousign/node_modules/undici-types/cookies.d.ts +0 -30
- package/connectors/connect-yousign/node_modules/undici-types/diagnostics-channel.d.ts +0 -74
- package/connectors/connect-yousign/node_modules/undici-types/dispatcher.d.ts +0 -276
- package/connectors/connect-yousign/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -22
- package/connectors/connect-yousign/node_modules/undici-types/errors.d.ts +0 -161
- package/connectors/connect-yousign/node_modules/undici-types/eventsource.d.ts +0 -66
- package/connectors/connect-yousign/node_modules/undici-types/fetch.d.ts +0 -211
- package/connectors/connect-yousign/node_modules/undici-types/formdata.d.ts +0 -108
- package/connectors/connect-yousign/node_modules/undici-types/global-dispatcher.d.ts +0 -9
- package/connectors/connect-yousign/node_modules/undici-types/global-origin.d.ts +0 -7
- package/connectors/connect-yousign/node_modules/undici-types/h2c-client.d.ts +0 -73
- package/connectors/connect-yousign/node_modules/undici-types/handlers.d.ts +0 -15
- package/connectors/connect-yousign/node_modules/undici-types/header.d.ts +0 -160
- package/connectors/connect-yousign/node_modules/undici-types/index.d.ts +0 -88
- package/connectors/connect-yousign/node_modules/undici-types/interceptors.d.ts +0 -73
- package/connectors/connect-yousign/node_modules/undici-types/mock-agent.d.ts +0 -68
- package/connectors/connect-yousign/node_modules/undici-types/mock-call-history.d.ts +0 -111
- package/connectors/connect-yousign/node_modules/undici-types/mock-client.d.ts +0 -27
- package/connectors/connect-yousign/node_modules/undici-types/mock-errors.d.ts +0 -12
- package/connectors/connect-yousign/node_modules/undici-types/mock-interceptor.d.ts +0 -94
- package/connectors/connect-yousign/node_modules/undici-types/mock-pool.d.ts +0 -27
- package/connectors/connect-yousign/node_modules/undici-types/package.json +0 -55
- package/connectors/connect-yousign/node_modules/undici-types/patch.d.ts +0 -29
- package/connectors/connect-yousign/node_modules/undici-types/pool-stats.d.ts +0 -19
- package/connectors/connect-yousign/node_modules/undici-types/pool.d.ts +0 -41
- package/connectors/connect-yousign/node_modules/undici-types/proxy-agent.d.ts +0 -29
- package/connectors/connect-yousign/node_modules/undici-types/readable.d.ts +0 -68
- package/connectors/connect-yousign/node_modules/undici-types/retry-agent.d.ts +0 -8
- package/connectors/connect-yousign/node_modules/undici-types/retry-handler.d.ts +0 -125
- package/connectors/connect-yousign/node_modules/undici-types/round-robin-pool.d.ts +0 -41
- package/connectors/connect-yousign/node_modules/undici-types/snapshot-agent.d.ts +0 -109
- package/connectors/connect-yousign/node_modules/undici-types/util.d.ts +0 -18
- package/connectors/connect-yousign/node_modules/undici-types/utility.d.ts +0 -7
- package/connectors/connect-yousign/node_modules/undici-types/webidl.d.ts +0 -341
- package/connectors/connect-yousign/node_modules/undici-types/websocket.d.ts +0 -186
- package/dashboard/dist/assets/index-CSlS3oNV.css +0 -1
- package/dashboard/dist/assets/index-NCasN7x4.js +0 -284
- /package/dist/{server/server.test.d.ts → core/builtins.test.d.ts} +0 -0
package/bin/serve.js
CHANGED
|
@@ -10009,7 +10009,7 @@ var init_promotions = __esm(() => {
|
|
|
10009
10009
|
});
|
|
10010
10010
|
|
|
10011
10011
|
// src/server/serve.ts
|
|
10012
|
-
import { existsSync as
|
|
10012
|
+
import { existsSync as existsSync16, readdirSync as readdirSync10, readFileSync as readFileSync8, writeFileSync as writeFileSync7, mkdirSync as mkdirSync11 } from "fs";
|
|
10013
10013
|
|
|
10014
10014
|
// src/db/agents.ts
|
|
10015
10015
|
init_database();
|
|
@@ -10188,7 +10188,8 @@ init_scheduler();
|
|
|
10188
10188
|
|
|
10189
10189
|
// src/lib/workflow-runner.ts
|
|
10190
10190
|
init_strip();
|
|
10191
|
-
import { spawn as
|
|
10191
|
+
import { spawn as nodeSpawn } from "child_process";
|
|
10192
|
+
var spawnImpl = nodeSpawn;
|
|
10192
10193
|
async function runStep(step, previousOutput) {
|
|
10193
10194
|
return new Promise((resolve) => {
|
|
10194
10195
|
const args = [...step.args ?? []];
|
|
@@ -10196,7 +10197,7 @@ async function runStep(step, previousOutput) {
|
|
|
10196
10197
|
args.push("--input", previousOutput.trim().slice(0, 4096));
|
|
10197
10198
|
}
|
|
10198
10199
|
const cmdArgs = ["run", step.connector, step.command, ...args, "--format", "json"];
|
|
10199
|
-
const proc =
|
|
10200
|
+
const proc = spawnImpl("connectors", cmdArgs, { shell: false });
|
|
10200
10201
|
let output = "";
|
|
10201
10202
|
proc.stdout.on("data", (d) => {
|
|
10202
10203
|
output += d.toString();
|
|
@@ -10239,12 +10240,12 @@ async function runWorkflow(workflow) {
|
|
|
10239
10240
|
|
|
10240
10241
|
// src/server/serve.ts
|
|
10241
10242
|
init_database();
|
|
10242
|
-
import { join as
|
|
10243
|
+
import { join as join17, dirname as dirname8, extname, basename as basename2 } from "path";
|
|
10243
10244
|
import { fileURLToPath as fileURLToPath6 } from "url";
|
|
10244
10245
|
|
|
10245
10246
|
// src/lib/registry.ts
|
|
10246
|
-
import { existsSync as
|
|
10247
|
-
import { join as
|
|
10247
|
+
import { existsSync as existsSync11, readFileSync as readFileSync5 } from "fs";
|
|
10248
|
+
import { join as join12, dirname as dirname5 } from "path";
|
|
10248
10249
|
import { fileURLToPath as fileURLToPath3 } from "url";
|
|
10249
10250
|
|
|
10250
10251
|
// src/core/errors.ts
|
|
@@ -10259,7 +10260,7 @@ class ConnectorDefinitionError extends Error {
|
|
|
10259
10260
|
|
|
10260
10261
|
// src/core/connector.ts
|
|
10261
10262
|
var CONNECTOR_NAME_RE = /^[a-z0-9-]+$/;
|
|
10262
|
-
var OPERATION_NAME_RE = /^[a-z0-9
|
|
10263
|
+
var OPERATION_NAME_RE = /^[a-z0-9:._-]+$/;
|
|
10263
10264
|
function defineConnector(definition) {
|
|
10264
10265
|
const { meta, auth, operations } = definition;
|
|
10265
10266
|
if (!CONNECTOR_NAME_RE.test(meta.name)) {
|
|
@@ -15157,10 +15158,300 @@ var githubConnector = defineConnector({
|
|
|
15157
15158
|
}
|
|
15158
15159
|
}
|
|
15159
15160
|
});
|
|
15161
|
+
|
|
15162
|
+
// src/core/connectors/googledrive.ts
|
|
15163
|
+
import { existsSync as existsSync8, mkdirSync as mkdirSync6, readFileSync as readFileSync3, readdirSync as readdirSync5, writeFileSync as writeFileSync3 } from "fs";
|
|
15164
|
+
import { homedir as homedir8 } from "os";
|
|
15165
|
+
import { basename, join as join9 } from "path";
|
|
15166
|
+
var DRIVE_API_BASE = "https://www.googleapis.com/drive/v3";
|
|
15167
|
+
var TOKEN_URL = "https://oauth2.googleapis.com/token";
|
|
15168
|
+
var REFRESH_BUFFER_MS = 5 * 60 * 1000;
|
|
15169
|
+
var DEFAULT_FILE_FIELDS = [
|
|
15170
|
+
"id",
|
|
15171
|
+
"name",
|
|
15172
|
+
"mimeType",
|
|
15173
|
+
"parents",
|
|
15174
|
+
"version",
|
|
15175
|
+
"md5Checksum",
|
|
15176
|
+
"size",
|
|
15177
|
+
"modifiedTime",
|
|
15178
|
+
"createdTime",
|
|
15179
|
+
"trashed",
|
|
15180
|
+
"webViewLink",
|
|
15181
|
+
"webContentLink"
|
|
15182
|
+
].join(",");
|
|
15183
|
+
var DEFAULT_EXPORT_FORMATS = {
|
|
15184
|
+
document: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
15185
|
+
spreadsheet: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
15186
|
+
presentation: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
15187
|
+
drawing: "image/png"
|
|
15188
|
+
};
|
|
15189
|
+
var EXPORT_EXTENSIONS = {
|
|
15190
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": ".docx",
|
|
15191
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ".xlsx",
|
|
15192
|
+
"application/vnd.openxmlformats-officedocument.presentationml.presentation": ".pptx",
|
|
15193
|
+
"application/pdf": ".pdf",
|
|
15194
|
+
"text/plain": ".txt",
|
|
15195
|
+
"text/csv": ".csv",
|
|
15196
|
+
"image/png": ".png",
|
|
15197
|
+
"image/jpeg": ".jpg",
|
|
15198
|
+
"image/svg+xml": ".svg"
|
|
15199
|
+
};
|
|
15200
|
+
var listFilesSchema = exports_external2.object({
|
|
15201
|
+
pageSize: exports_external2.coerce.number().int().positive().max(1000).optional(),
|
|
15202
|
+
pageToken: exports_external2.string().optional(),
|
|
15203
|
+
q: exports_external2.string().optional(),
|
|
15204
|
+
fields: exports_external2.string().optional(),
|
|
15205
|
+
orderBy: exports_external2.string().optional(),
|
|
15206
|
+
corpora: exports_external2.enum(["user", "drive", "allDrives"]).optional(),
|
|
15207
|
+
driveId: exports_external2.string().optional(),
|
|
15208
|
+
supportsAllDrives: exports_external2.boolean().optional(),
|
|
15209
|
+
includeItemsFromAllDrives: exports_external2.boolean().optional()
|
|
15210
|
+
});
|
|
15211
|
+
var listDrivesSchema = exports_external2.object({
|
|
15212
|
+
pageSize: exports_external2.coerce.number().int().positive().max(100).optional(),
|
|
15213
|
+
pageToken: exports_external2.string().optional(),
|
|
15214
|
+
q: exports_external2.string().optional()
|
|
15215
|
+
});
|
|
15216
|
+
var fileIdSchema = exports_external2.object({
|
|
15217
|
+
fileId: exports_external2.string(),
|
|
15218
|
+
fields: exports_external2.string().optional()
|
|
15219
|
+
});
|
|
15220
|
+
var downloadSchema = exports_external2.object({
|
|
15221
|
+
fileId: exports_external2.string(),
|
|
15222
|
+
file: exports_external2.object({
|
|
15223
|
+
id: exports_external2.string(),
|
|
15224
|
+
name: exports_external2.string(),
|
|
15225
|
+
mimeType: exports_external2.string()
|
|
15226
|
+
}).optional(),
|
|
15227
|
+
exportMimeType: exports_external2.string().optional()
|
|
15228
|
+
});
|
|
15229
|
+
var googleDriveConnector = defineConnector({
|
|
15230
|
+
meta: {
|
|
15231
|
+
name: "googledrive",
|
|
15232
|
+
displayName: "Google Drive",
|
|
15233
|
+
description: "Profile-aware Google Drive discovery and file download operations.",
|
|
15234
|
+
category: "storage",
|
|
15235
|
+
tags: ["google", "drive", "files", "storage"]
|
|
15236
|
+
},
|
|
15237
|
+
auth: {
|
|
15238
|
+
type: "oauth2",
|
|
15239
|
+
supportsProfiles: true,
|
|
15240
|
+
fields: [
|
|
15241
|
+
{ key: "clientId", env: "GOOGLE_CLIENT_ID", label: "OAuth client ID" },
|
|
15242
|
+
{ key: "clientSecret", env: "GOOGLE_CLIENT_SECRET", label: "OAuth client secret", secret: true }
|
|
15243
|
+
]
|
|
15244
|
+
},
|
|
15245
|
+
createContext: ({ profile }) => ({ profile: profile || "default" }),
|
|
15246
|
+
operations: {
|
|
15247
|
+
"profiles.list": {
|
|
15248
|
+
summary: "List configured Google Drive profiles.",
|
|
15249
|
+
execute: () => ({ profiles: listProfiles() })
|
|
15250
|
+
},
|
|
15251
|
+
"files.list": {
|
|
15252
|
+
summary: "List Google Drive files.",
|
|
15253
|
+
inputSchema: listFilesSchema,
|
|
15254
|
+
execute: async ({ context }, input) => requestJson(context.profile, "/files", {
|
|
15255
|
+
pageSize: input.pageSize ?? 1000,
|
|
15256
|
+
pageToken: input.pageToken,
|
|
15257
|
+
q: input.q,
|
|
15258
|
+
fields: input.fields ?? `nextPageToken,files(${DEFAULT_FILE_FIELDS})`,
|
|
15259
|
+
orderBy: input.orderBy ?? "modifiedTime desc",
|
|
15260
|
+
corpora: input.corpora,
|
|
15261
|
+
driveId: input.driveId,
|
|
15262
|
+
supportsAllDrives: input.supportsAllDrives ?? true,
|
|
15263
|
+
includeItemsFromAllDrives: input.includeItemsFromAllDrives ?? false
|
|
15264
|
+
})
|
|
15265
|
+
},
|
|
15266
|
+
"files.get": {
|
|
15267
|
+
summary: "Get Google Drive file metadata.",
|
|
15268
|
+
inputSchema: fileIdSchema,
|
|
15269
|
+
execute: async ({ context }, input) => requestJson(context.profile, `/files/${encodeURIComponent(input.fileId)}`, {
|
|
15270
|
+
fields: input.fields ?? DEFAULT_FILE_FIELDS,
|
|
15271
|
+
supportsAllDrives: true
|
|
15272
|
+
})
|
|
15273
|
+
},
|
|
15274
|
+
"files.download": {
|
|
15275
|
+
summary: "Download or export a Google Drive file as base64 content.",
|
|
15276
|
+
inputSchema: downloadSchema,
|
|
15277
|
+
execute: async ({ context }, input) => {
|
|
15278
|
+
const file = input.file ?? await requestJson(context.profile, `/files/${encodeURIComponent(input.fileId)}`, { fields: DEFAULT_FILE_FIELDS, supportsAllDrives: true });
|
|
15279
|
+
const exportMimeType = file.mimeType.startsWith("application/vnd.google-apps.") ? input.exportMimeType ?? defaultExportMimeType(file.mimeType) : undefined;
|
|
15280
|
+
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 });
|
|
15281
|
+
const mimeType = exportMimeType ?? file.mimeType ?? "application/octet-stream";
|
|
15282
|
+
return {
|
|
15283
|
+
dataBase64: Buffer.from(data).toString("base64"),
|
|
15284
|
+
filename: exportMimeType ? `${file.name}${extensionForMimeType(exportMimeType)}` : file.name,
|
|
15285
|
+
mimeType
|
|
15286
|
+
};
|
|
15287
|
+
}
|
|
15288
|
+
},
|
|
15289
|
+
"drives.list": {
|
|
15290
|
+
summary: "List Google shared drives.",
|
|
15291
|
+
inputSchema: listDrivesSchema,
|
|
15292
|
+
execute: async ({ context }, input) => requestJson(context.profile, "/drives", {
|
|
15293
|
+
pageSize: input.pageSize ?? 100,
|
|
15294
|
+
pageToken: input.pageToken,
|
|
15295
|
+
q: input.q
|
|
15296
|
+
})
|
|
15297
|
+
}
|
|
15298
|
+
}
|
|
15299
|
+
});
|
|
15300
|
+
async function requestJson(profile, path, params) {
|
|
15301
|
+
const response = await request(profile, path, params);
|
|
15302
|
+
const text = await response.text();
|
|
15303
|
+
return text ? JSON.parse(text) : {};
|
|
15304
|
+
}
|
|
15305
|
+
async function requestBinary(profile, path, params) {
|
|
15306
|
+
return (await request(profile, path, params)).arrayBuffer();
|
|
15307
|
+
}
|
|
15308
|
+
async function request(profile, path, params) {
|
|
15309
|
+
const token = await getValidAccessToken(profile);
|
|
15310
|
+
const url = new URL(`${DRIVE_API_BASE}${path}`);
|
|
15311
|
+
for (const [key, value] of Object.entries(params)) {
|
|
15312
|
+
if (value !== undefined && value !== null && value !== "")
|
|
15313
|
+
url.searchParams.set(key, String(value));
|
|
15314
|
+
}
|
|
15315
|
+
const response = await fetch(url, { headers: { Authorization: `Bearer ${token}`, Accept: "application/json" } });
|
|
15316
|
+
if (!response.ok) {
|
|
15317
|
+
const body = await response.text().catch(() => "");
|
|
15318
|
+
throw new Error(`Google Drive request failed (${response.status}): ${extractGoogleError(body) || response.statusText}`);
|
|
15319
|
+
}
|
|
15320
|
+
return response;
|
|
15321
|
+
}
|
|
15322
|
+
async function getValidAccessToken(profile) {
|
|
15323
|
+
if (process.env.GOOGLE_ACCESS_TOKEN)
|
|
15324
|
+
return process.env.GOOGLE_ACCESS_TOKEN;
|
|
15325
|
+
const tokens = loadTokens(profile);
|
|
15326
|
+
if (!tokens?.accessToken && !tokens?.refreshToken) {
|
|
15327
|
+
throw new Error(`Google Drive profile "${profile}" is not authenticated. Run: connectors auth googledrive`);
|
|
15328
|
+
}
|
|
15329
|
+
if (tokens.accessToken && (!tokens.expiresAt || Date.now() < tokens.expiresAt - REFRESH_BUFFER_MS))
|
|
15330
|
+
return tokens.accessToken;
|
|
15331
|
+
if (!tokens.refreshToken)
|
|
15332
|
+
return tokens.accessToken ?? "";
|
|
15333
|
+
return (await refreshAccessToken(profile, tokens)).accessToken ?? "";
|
|
15334
|
+
}
|
|
15335
|
+
async function refreshAccessToken(profile, currentTokens) {
|
|
15336
|
+
const credentials = loadCredentials(profile);
|
|
15337
|
+
if (!credentials.clientId || !credentials.clientSecret)
|
|
15338
|
+
throw new Error("Google Drive OAuth credentials are not configured. Run: connectors auth googledrive");
|
|
15339
|
+
if (!currentTokens.refreshToken)
|
|
15340
|
+
throw new Error(`Google Drive profile "${profile}" has no refresh token. Run: connectors auth googledrive`);
|
|
15341
|
+
const response = await fetch(TOKEN_URL, {
|
|
15342
|
+
method: "POST",
|
|
15343
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
15344
|
+
body: new URLSearchParams({
|
|
15345
|
+
client_id: credentials.clientId,
|
|
15346
|
+
client_secret: credentials.clientSecret,
|
|
15347
|
+
refresh_token: currentTokens.refreshToken,
|
|
15348
|
+
grant_type: "refresh_token"
|
|
15349
|
+
})
|
|
15350
|
+
});
|
|
15351
|
+
const data = await response.json().catch(() => ({}));
|
|
15352
|
+
if (!response.ok || !data.access_token)
|
|
15353
|
+
throw new Error(`Google Drive token refresh failed: ${data.error_description || data.error || response.statusText}`);
|
|
15354
|
+
const tokens = {
|
|
15355
|
+
accessToken: data.access_token,
|
|
15356
|
+
refreshToken: currentTokens.refreshToken,
|
|
15357
|
+
expiresAt: Date.now() + (data.expires_in ?? 3600) * 1000,
|
|
15358
|
+
tokenType: data.token_type ?? currentTokens.tokenType,
|
|
15359
|
+
scope: data.scope ?? currentTokens.scope
|
|
15360
|
+
};
|
|
15361
|
+
saveTokens(profile, tokens);
|
|
15362
|
+
return tokens;
|
|
15363
|
+
}
|
|
15364
|
+
function listProfiles() {
|
|
15365
|
+
const profiles = new Set;
|
|
15366
|
+
for (const baseDir of configDirs()) {
|
|
15367
|
+
const profilesDir = join9(baseDir, "profiles");
|
|
15368
|
+
if (!existsSync8(profilesDir))
|
|
15369
|
+
continue;
|
|
15370
|
+
for (const entry of readdirSync5(profilesDir, { withFileTypes: true })) {
|
|
15371
|
+
if (entry.isDirectory())
|
|
15372
|
+
profiles.add(entry.name);
|
|
15373
|
+
if (entry.isFile() && entry.name.endsWith(".json"))
|
|
15374
|
+
profiles.add(basename(entry.name, ".json"));
|
|
15375
|
+
}
|
|
15376
|
+
}
|
|
15377
|
+
return Array.from(profiles).sort((a, b) => a.localeCompare(b));
|
|
15378
|
+
}
|
|
15379
|
+
function loadCredentials(profile) {
|
|
15380
|
+
const envClientId = process.env.GOOGLE_CLIENT_ID;
|
|
15381
|
+
const envClientSecret = process.env.GOOGLE_CLIENT_SECRET;
|
|
15382
|
+
if (envClientId && envClientSecret)
|
|
15383
|
+
return { clientId: envClientId, clientSecret: envClientSecret };
|
|
15384
|
+
for (const baseDir of configDirs()) {
|
|
15385
|
+
const credentials = {
|
|
15386
|
+
...readJson(join9(baseDir, "credentials.json")),
|
|
15387
|
+
...readJson(join9(baseDir, "profiles", profile, "config.json"))
|
|
15388
|
+
};
|
|
15389
|
+
if (credentials.clientId || credentials.clientSecret)
|
|
15390
|
+
return credentials;
|
|
15391
|
+
}
|
|
15392
|
+
return {};
|
|
15393
|
+
}
|
|
15394
|
+
function loadTokens(profile) {
|
|
15395
|
+
for (const baseDir of configDirs()) {
|
|
15396
|
+
const fromProfile = readJson(join9(baseDir, "profiles", profile, "tokens.json"));
|
|
15397
|
+
if (fromProfile)
|
|
15398
|
+
return fromProfile;
|
|
15399
|
+
const flat = readJson(join9(baseDir, "profiles", `${profile}.json`));
|
|
15400
|
+
if (flat)
|
|
15401
|
+
return flat.tokens ?? (flat.accessToken || flat.refreshToken ? flat : null);
|
|
15402
|
+
}
|
|
15403
|
+
return null;
|
|
15404
|
+
}
|
|
15405
|
+
function saveTokens(profile, tokens) {
|
|
15406
|
+
const baseDir = configDirs().find((dir) => existsSync8(dir)) ?? configDirs()[0];
|
|
15407
|
+
const profileDir = join9(baseDir, "profiles", profile);
|
|
15408
|
+
mkdirSync6(profileDir, { recursive: true });
|
|
15409
|
+
writeFileSync3(join9(profileDir, "tokens.json"), JSON.stringify(tokens, null, 2), { mode: 384 });
|
|
15410
|
+
}
|
|
15411
|
+
function configDirs() {
|
|
15412
|
+
const explicit = process.env.HASNA_GOOGLE_DRIVE_CONNECTOR_DIR ?? process.env.GOOGLE_DRIVE_CONNECTOR_DIR;
|
|
15413
|
+
if (explicit)
|
|
15414
|
+
return [explicit];
|
|
15415
|
+
const baseDir = process.env.HASNA_CONNECTORS_DIR ?? join9(homedir8(), ".hasna", "connectors");
|
|
15416
|
+
return [join9(baseDir, "connect-googledrive"), join9(baseDir, "googledrive")];
|
|
15417
|
+
}
|
|
15418
|
+
function readJson(path) {
|
|
15419
|
+
if (!existsSync8(path))
|
|
15420
|
+
return null;
|
|
15421
|
+
try {
|
|
15422
|
+
return JSON.parse(readFileSync3(path, "utf8"));
|
|
15423
|
+
} catch {
|
|
15424
|
+
return null;
|
|
15425
|
+
}
|
|
15426
|
+
}
|
|
15427
|
+
function defaultExportMimeType(googleMimeType) {
|
|
15428
|
+
if (googleMimeType.endsWith(".document"))
|
|
15429
|
+
return DEFAULT_EXPORT_FORMATS.document;
|
|
15430
|
+
if (googleMimeType.endsWith(".spreadsheet"))
|
|
15431
|
+
return DEFAULT_EXPORT_FORMATS.spreadsheet;
|
|
15432
|
+
if (googleMimeType.endsWith(".presentation"))
|
|
15433
|
+
return DEFAULT_EXPORT_FORMATS.presentation;
|
|
15434
|
+
if (googleMimeType.endsWith(".drawing"))
|
|
15435
|
+
return DEFAULT_EXPORT_FORMATS.drawing;
|
|
15436
|
+
throw new Error(`Cannot export Google Workspace file type: ${googleMimeType}`);
|
|
15437
|
+
}
|
|
15438
|
+
function extensionForMimeType(mimeType) {
|
|
15439
|
+
return EXPORT_EXTENSIONS[mimeType] ?? "";
|
|
15440
|
+
}
|
|
15441
|
+
function extractGoogleError(body) {
|
|
15442
|
+
if (!body)
|
|
15443
|
+
return "";
|
|
15444
|
+
try {
|
|
15445
|
+
const parsed = JSON.parse(body);
|
|
15446
|
+
return parsed.error?.message ?? body;
|
|
15447
|
+
} catch {
|
|
15448
|
+
return body;
|
|
15449
|
+
}
|
|
15450
|
+
}
|
|
15160
15451
|
// package.json
|
|
15161
15452
|
var package_default = {
|
|
15162
15453
|
name: "@hasna/connectors",
|
|
15163
|
-
version: "1.3.
|
|
15454
|
+
version: "1.3.25",
|
|
15164
15455
|
description: "Open source connector library - Install API connectors with a single command",
|
|
15165
15456
|
type: "module",
|
|
15166
15457
|
bin: {
|
|
@@ -15248,15 +15539,15 @@ var package_default = {
|
|
|
15248
15539
|
|
|
15249
15540
|
// src/core/connectors/imessage.ts
|
|
15250
15541
|
import {
|
|
15251
|
-
existsSync as
|
|
15252
|
-
mkdirSync as
|
|
15253
|
-
readFileSync as
|
|
15254
|
-
readdirSync as
|
|
15542
|
+
existsSync as existsSync9,
|
|
15543
|
+
mkdirSync as mkdirSync7,
|
|
15544
|
+
readFileSync as readFileSync4,
|
|
15545
|
+
readdirSync as readdirSync6,
|
|
15255
15546
|
rmSync,
|
|
15256
15547
|
statSync as statSync2,
|
|
15257
|
-
writeFileSync as
|
|
15548
|
+
writeFileSync as writeFileSync4
|
|
15258
15549
|
} from "fs";
|
|
15259
|
-
import { join as
|
|
15550
|
+
import { join as join10 } from "path";
|
|
15260
15551
|
init_database();
|
|
15261
15552
|
var CONNECTOR_DIRNAME = "connect-imessage";
|
|
15262
15553
|
var COMMAND_SPECS = [
|
|
@@ -15418,36 +15709,36 @@ var messageReplyInputSchema = exports_external2.object({
|
|
|
15418
15709
|
deviceId: exports_external2.string().optional()
|
|
15419
15710
|
});
|
|
15420
15711
|
function getConfigDir2() {
|
|
15421
|
-
return
|
|
15712
|
+
return join10(getConnectorsHome(), CONNECTOR_DIRNAME);
|
|
15422
15713
|
}
|
|
15423
15714
|
function getProfilesDir() {
|
|
15424
|
-
return
|
|
15715
|
+
return join10(getConfigDir2(), "profiles");
|
|
15425
15716
|
}
|
|
15426
15717
|
function getCurrentProfile() {
|
|
15427
|
-
const currentProfileFile =
|
|
15428
|
-
if (!
|
|
15718
|
+
const currentProfileFile = join10(getConfigDir2(), "current_profile");
|
|
15719
|
+
if (!existsSync9(currentProfileFile)) {
|
|
15429
15720
|
return "default";
|
|
15430
15721
|
}
|
|
15431
15722
|
try {
|
|
15432
|
-
return
|
|
15723
|
+
return readFileSync4(currentProfileFile, "utf-8").trim() || "default";
|
|
15433
15724
|
} catch {
|
|
15434
15725
|
return "default";
|
|
15435
15726
|
}
|
|
15436
15727
|
}
|
|
15437
15728
|
function setCurrentProfile(profile) {
|
|
15438
15729
|
const configDir = getConfigDir2();
|
|
15439
|
-
|
|
15440
|
-
|
|
15730
|
+
mkdirSync7(configDir, { recursive: true });
|
|
15731
|
+
writeFileSync4(join10(configDir, "current_profile"), profile);
|
|
15441
15732
|
}
|
|
15442
15733
|
function getFlatProfilePath(profile) {
|
|
15443
|
-
return
|
|
15734
|
+
return join10(getProfilesDir(), `${profile}.json`);
|
|
15444
15735
|
}
|
|
15445
15736
|
function getDirectoryProfilePath(profile) {
|
|
15446
|
-
return
|
|
15737
|
+
return join10(getProfilesDir(), profile, "config.json");
|
|
15447
15738
|
}
|
|
15448
15739
|
function loadJsonFile(path) {
|
|
15449
15740
|
try {
|
|
15450
|
-
return JSON.parse(
|
|
15741
|
+
return JSON.parse(readFileSync4(path, "utf-8"));
|
|
15451
15742
|
} catch {
|
|
15452
15743
|
return {};
|
|
15453
15744
|
}
|
|
@@ -15463,8 +15754,8 @@ function sanitizeProfileConfig(config) {
|
|
|
15463
15754
|
};
|
|
15464
15755
|
}
|
|
15465
15756
|
function loadProfile(profile = getCurrentProfile()) {
|
|
15466
|
-
const flatConfig =
|
|
15467
|
-
const directoryConfig =
|
|
15757
|
+
const flatConfig = existsSync9(getFlatProfilePath(profile)) ? loadJsonFile(getFlatProfilePath(profile)) : {};
|
|
15758
|
+
const directoryConfig = existsSync9(getDirectoryProfilePath(profile)) ? loadJsonFile(getDirectoryProfilePath(profile)) : {};
|
|
15468
15759
|
return sanitizeProfileConfig({
|
|
15469
15760
|
...flatConfig,
|
|
15470
15761
|
...directoryConfig
|
|
@@ -15472,25 +15763,25 @@ function loadProfile(profile = getCurrentProfile()) {
|
|
|
15472
15763
|
}
|
|
15473
15764
|
function writeProfile(profile, config) {
|
|
15474
15765
|
const profilesDir = getProfilesDir();
|
|
15475
|
-
|
|
15476
|
-
|
|
15766
|
+
mkdirSync7(profilesDir, { recursive: true });
|
|
15767
|
+
writeFileSync4(getFlatProfilePath(profile), JSON.stringify(config, null, 2) + `
|
|
15477
15768
|
`);
|
|
15478
15769
|
}
|
|
15479
15770
|
function profileExists(profile) {
|
|
15480
15771
|
if (profile === "default") {
|
|
15481
15772
|
return true;
|
|
15482
15773
|
}
|
|
15483
|
-
return
|
|
15774
|
+
return existsSync9(getFlatProfilePath(profile)) || existsSync9(join10(getProfilesDir(), profile));
|
|
15484
15775
|
}
|
|
15485
|
-
function
|
|
15776
|
+
function listProfiles2() {
|
|
15486
15777
|
const profilesDir = getProfilesDir();
|
|
15487
15778
|
const seen = new Set(["default"]);
|
|
15488
|
-
if (!
|
|
15779
|
+
if (!existsSync9(profilesDir)) {
|
|
15489
15780
|
return [...seen];
|
|
15490
15781
|
}
|
|
15491
15782
|
try {
|
|
15492
|
-
for (const entry of
|
|
15493
|
-
const fullPath =
|
|
15783
|
+
for (const entry of readdirSync6(profilesDir)) {
|
|
15784
|
+
const fullPath = join10(profilesDir, entry);
|
|
15494
15785
|
const stat = statSync2(fullPath);
|
|
15495
15786
|
if (stat.isDirectory()) {
|
|
15496
15787
|
seen.add(entry);
|
|
@@ -15511,11 +15802,11 @@ function createProfile(profile, config = {}) {
|
|
|
15511
15802
|
}
|
|
15512
15803
|
function clearProfile(profile = getCurrentProfile()) {
|
|
15513
15804
|
const flatPath = getFlatProfilePath(profile);
|
|
15514
|
-
const directoryPath =
|
|
15515
|
-
if (
|
|
15805
|
+
const directoryPath = join10(getProfilesDir(), profile);
|
|
15806
|
+
if (existsSync9(flatPath)) {
|
|
15516
15807
|
rmSync(flatPath);
|
|
15517
15808
|
}
|
|
15518
|
-
if (
|
|
15809
|
+
if (existsSync9(directoryPath)) {
|
|
15519
15810
|
rmSync(directoryPath, { recursive: true, force: true });
|
|
15520
15811
|
}
|
|
15521
15812
|
}
|
|
@@ -15925,7 +16216,7 @@ async function runProfileCommand2(args, context) {
|
|
|
15925
16216
|
switch (subcommand) {
|
|
15926
16217
|
case "list": {
|
|
15927
16218
|
const current = getCurrentProfile();
|
|
15928
|
-
const profiles =
|
|
16219
|
+
const profiles = listProfiles2();
|
|
15929
16220
|
return successOutput({ current, profiles }, context.format, () => profiles.map((profile) => `${profile}${profile === current ? " (active)" : ""}`).join(`
|
|
15930
16221
|
`));
|
|
15931
16222
|
}
|
|
@@ -16320,19 +16611,19 @@ var imessageConnector = defineConnector({
|
|
|
16320
16611
|
});
|
|
16321
16612
|
|
|
16322
16613
|
// src/core/connectors/stripe.ts
|
|
16323
|
-
import { existsSync as
|
|
16324
|
-
import { dirname as dirname4, join as
|
|
16614
|
+
import { existsSync as existsSync10 } from "fs";
|
|
16615
|
+
import { dirname as dirname4, join as join11 } from "path";
|
|
16325
16616
|
import { fileURLToPath as fileURLToPath2, pathToFileURL as pathToFileURL2 } from "url";
|
|
16326
16617
|
var __dirname3 = dirname4(fileURLToPath2(import.meta.url));
|
|
16327
16618
|
function resolveStripeConnectorDir() {
|
|
16328
16619
|
const candidates = [
|
|
16329
|
-
|
|
16330
|
-
|
|
16331
|
-
|
|
16332
|
-
|
|
16620
|
+
join11(__dirname3, "..", "..", "..", "connectors", "connect-stripe"),
|
|
16621
|
+
join11(__dirname3, "..", "..", "connectors", "connect-stripe"),
|
|
16622
|
+
join11(__dirname3, "..", "connectors", "connect-stripe"),
|
|
16623
|
+
join11(process.cwd(), "connectors", "connect-stripe")
|
|
16333
16624
|
];
|
|
16334
16625
|
for (const candidate of candidates) {
|
|
16335
|
-
if (
|
|
16626
|
+
if (existsSync10(candidate)) {
|
|
16336
16627
|
return candidate;
|
|
16337
16628
|
}
|
|
16338
16629
|
}
|
|
@@ -16571,10 +16862,10 @@ function buildCommandHelp2(spec) {
|
|
|
16571
16862
|
var ROOT_HELP3 = buildRootHelp2(COMMAND_SPECS2);
|
|
16572
16863
|
var COMMAND_HELP3 = Object.fromEntries(COMMAND_SPECS2.map((spec) => [spec.name, buildCommandHelp2(spec)]));
|
|
16573
16864
|
async function loadStripeApiModule() {
|
|
16574
|
-
return await import(pathToFileURL2(
|
|
16865
|
+
return await import(pathToFileURL2(join11(CONNECTOR_DIR2, "src", "api", "index.ts")).href);
|
|
16575
16866
|
}
|
|
16576
16867
|
async function loadStripeConfigModule() {
|
|
16577
|
-
return await import(pathToFileURL2(
|
|
16868
|
+
return await import(pathToFileURL2(join11(CONNECTOR_DIR2, "src", "utils", "config.ts")).href);
|
|
16578
16869
|
}
|
|
16579
16870
|
function extractGlobalArgs3(args) {
|
|
16580
16871
|
const remaining = [];
|
|
@@ -17187,6 +17478,7 @@ var stripeConnector = defineConnector({
|
|
|
17187
17478
|
// src/core/builtins.ts
|
|
17188
17479
|
var INTERNAL_CONNECTOR_DEFINITIONS = [
|
|
17189
17480
|
githubConnector,
|
|
17481
|
+
googleDriveConnector,
|
|
17190
17482
|
imessageConnector,
|
|
17191
17483
|
stripeConnector
|
|
17192
17484
|
];
|
|
@@ -23211,17 +23503,17 @@ function loadConnectorVersions() {
|
|
|
23211
23503
|
versionsLoaded = true;
|
|
23212
23504
|
const thisDir = dirname5(fileURLToPath3(import.meta.url));
|
|
23213
23505
|
const candidates = [
|
|
23214
|
-
|
|
23215
|
-
|
|
23506
|
+
join12(thisDir, "..", "connectors"),
|
|
23507
|
+
join12(thisDir, "..", "..", "connectors")
|
|
23216
23508
|
];
|
|
23217
|
-
const connectorsDir = candidates.find((d) =>
|
|
23509
|
+
const connectorsDir = candidates.find((d) => existsSync11(d));
|
|
23218
23510
|
if (!connectorsDir)
|
|
23219
23511
|
return;
|
|
23220
23512
|
for (const connector of CONNECTORS) {
|
|
23221
23513
|
try {
|
|
23222
|
-
const pkgPath =
|
|
23223
|
-
if (
|
|
23224
|
-
const pkg = JSON.parse(
|
|
23514
|
+
const pkgPath = join12(connectorsDir, `connect-${connector.name}`, "package.json");
|
|
23515
|
+
if (existsSync11(pkgPath)) {
|
|
23516
|
+
const pkg = JSON.parse(readFileSync5(pkgPath, "utf-8"));
|
|
23225
23517
|
connector.version = pkg.version || "0.0.0";
|
|
23226
23518
|
continue;
|
|
23227
23519
|
}
|
|
@@ -23234,16 +23526,16 @@ function loadConnectorVersions() {
|
|
|
23234
23526
|
}
|
|
23235
23527
|
|
|
23236
23528
|
// src/lib/installer.ts
|
|
23237
|
-
import { existsSync as
|
|
23238
|
-
import { join as
|
|
23529
|
+
import { existsSync as existsSync12, mkdirSync as mkdirSync8, readFileSync as readFileSync6, writeFileSync as writeFileSync5, readdirSync as readdirSync7, statSync as statSync3, rmSync as rmSync2 } from "fs";
|
|
23530
|
+
import { join as join13, dirname as dirname6 } from "path";
|
|
23239
23531
|
import { fileURLToPath as fileURLToPath4 } from "url";
|
|
23240
23532
|
var __dirname4 = dirname6(fileURLToPath4(import.meta.url));
|
|
23241
23533
|
function resolveConnectorsDir() {
|
|
23242
|
-
const fromBin =
|
|
23243
|
-
if (
|
|
23534
|
+
const fromBin = join13(__dirname4, "..", "connectors");
|
|
23535
|
+
if (existsSync12(fromBin))
|
|
23244
23536
|
return fromBin;
|
|
23245
|
-
const fromSrc =
|
|
23246
|
-
if (
|
|
23537
|
+
const fromSrc = join13(__dirname4, "..", "..", "connectors");
|
|
23538
|
+
if (existsSync12(fromSrc))
|
|
23247
23539
|
return fromSrc;
|
|
23248
23540
|
return fromBin;
|
|
23249
23541
|
}
|
|
@@ -23255,21 +23547,21 @@ function normalizeConnectorName(name) {
|
|
|
23255
23547
|
return name.startsWith("connect-") ? name.slice("connect-".length) : name;
|
|
23256
23548
|
}
|
|
23257
23549
|
function getProjectConnectorsDir(targetDir) {
|
|
23258
|
-
return
|
|
23550
|
+
return join13(targetDir, PROJECT_CONNECTORS_DIRNAME);
|
|
23259
23551
|
}
|
|
23260
23552
|
function getEnablementManifestPath(targetDir) {
|
|
23261
|
-
return
|
|
23553
|
+
return join13(getProjectConnectorsDir(targetDir), ENABLEMENT_MANIFEST_FILENAME);
|
|
23262
23554
|
}
|
|
23263
23555
|
function getLegacyInstallPath(targetDir, name) {
|
|
23264
|
-
return
|
|
23556
|
+
return join13(getProjectConnectorsDir(targetDir), `connect-${normalizeConnectorName(name)}`);
|
|
23265
23557
|
}
|
|
23266
23558
|
function loadEnablementManifest(targetDir) {
|
|
23267
23559
|
const manifestPath = getEnablementManifestPath(targetDir);
|
|
23268
|
-
if (!
|
|
23560
|
+
if (!existsSync12(manifestPath)) {
|
|
23269
23561
|
return null;
|
|
23270
23562
|
}
|
|
23271
23563
|
try {
|
|
23272
|
-
const raw = JSON.parse(
|
|
23564
|
+
const raw = JSON.parse(readFileSync6(manifestPath, "utf-8"));
|
|
23273
23565
|
if (!Array.isArray(raw.connectors)) {
|
|
23274
23566
|
return null;
|
|
23275
23567
|
}
|
|
@@ -23285,11 +23577,11 @@ function loadEnablementManifest(targetDir) {
|
|
|
23285
23577
|
}
|
|
23286
23578
|
function getLegacyInstalledConnectors(targetDir) {
|
|
23287
23579
|
const connectorsDir = getProjectConnectorsDir(targetDir);
|
|
23288
|
-
if (!
|
|
23580
|
+
if (!existsSync12(connectorsDir)) {
|
|
23289
23581
|
return [];
|
|
23290
23582
|
}
|
|
23291
|
-
return
|
|
23292
|
-
const fullPath =
|
|
23583
|
+
return readdirSync7(connectorsDir).filter((entry) => {
|
|
23584
|
+
const fullPath = join13(connectorsDir, entry);
|
|
23293
23585
|
return entry.startsWith("connect-") && statSync3(fullPath).isDirectory();
|
|
23294
23586
|
}).map((entry) => entry.replace("connect-", "")).sort();
|
|
23295
23587
|
}
|
|
@@ -23298,7 +23590,7 @@ function getEnabledConnectors(targetDir) {
|
|
|
23298
23590
|
return [...new Set([...manifestConnectors, ...getLegacyInstalledConnectors(targetDir)])].sort();
|
|
23299
23591
|
}
|
|
23300
23592
|
function updateConnectorsIndex(connectorsDir, connectors18) {
|
|
23301
|
-
const indexPath =
|
|
23593
|
+
const indexPath = join13(connectorsDir, ENABLEMENT_INDEX_FILENAME);
|
|
23302
23594
|
const connectorList = connectors18.map((connector) => ` "${connector}",`).join(`
|
|
23303
23595
|
`);
|
|
23304
23596
|
const content = `/**
|
|
@@ -23314,28 +23606,28 @@ ${connectorList}
|
|
|
23314
23606
|
|
|
23315
23607
|
export type EnabledConnectorName = typeof enabledConnectors[number];
|
|
23316
23608
|
`;
|
|
23317
|
-
|
|
23609
|
+
writeFileSync5(indexPath, content);
|
|
23318
23610
|
}
|
|
23319
23611
|
function writeEnablementManifest(targetDir, connectors18) {
|
|
23320
23612
|
const connectorsDir = getProjectConnectorsDir(targetDir);
|
|
23321
|
-
|
|
23613
|
+
mkdirSync8(connectorsDir, { recursive: true });
|
|
23322
23614
|
const manifest = {
|
|
23323
23615
|
version: 1,
|
|
23324
23616
|
mode: "internal",
|
|
23325
23617
|
updatedAt: new Date().toISOString(),
|
|
23326
23618
|
connectors: [...new Set(connectors18.map((value) => normalizeConnectorName(value)))].sort()
|
|
23327
23619
|
};
|
|
23328
|
-
|
|
23620
|
+
writeFileSync5(getEnablementManifestPath(targetDir), JSON.stringify(manifest, null, 2) + `
|
|
23329
23621
|
`);
|
|
23330
23622
|
updateConnectorsIndex(connectorsDir, manifest.connectors);
|
|
23331
23623
|
}
|
|
23332
23624
|
function getConnectorPath(name) {
|
|
23333
23625
|
const connectorName = name.startsWith("connect-") ? name : `connect-${name}`;
|
|
23334
|
-
return
|
|
23626
|
+
return join13(CONNECTORS_DIR, connectorName);
|
|
23335
23627
|
}
|
|
23336
23628
|
function connectorExists(name) {
|
|
23337
23629
|
const normalizedName = normalizeConnectorName(name);
|
|
23338
|
-
return hasInternalConnectorDefinition(normalizedName) ||
|
|
23630
|
+
return hasInternalConnectorDefinition(normalizedName) || existsSync12(getConnectorPath(normalizedName));
|
|
23339
23631
|
}
|
|
23340
23632
|
function installConnector(name, options = {}) {
|
|
23341
23633
|
const { targetDir = process.cwd(), overwrite = false } = options;
|
|
@@ -23368,7 +23660,7 @@ function installConnector(name, options = {}) {
|
|
|
23368
23660
|
try {
|
|
23369
23661
|
const nextEnabled = [...new Set([...installed, normalizedName])].sort();
|
|
23370
23662
|
writeEnablementManifest(targetDir, nextEnabled);
|
|
23371
|
-
if (overwrite &&
|
|
23663
|
+
if (overwrite && existsSync12(legacyInstallPath)) {
|
|
23372
23664
|
rmSync2(legacyInstallPath, { recursive: true });
|
|
23373
23665
|
}
|
|
23374
23666
|
return {
|
|
@@ -23400,9 +23692,9 @@ function parseConnectorDocs(raw) {
|
|
|
23400
23692
|
function getConnectorDocs(name) {
|
|
23401
23693
|
const normalizedName = normalizeConnectorName(name);
|
|
23402
23694
|
const connectorPath = getConnectorPath(normalizedName);
|
|
23403
|
-
const claudeMdPath =
|
|
23404
|
-
if (
|
|
23405
|
-
return parseConnectorDocs(
|
|
23695
|
+
const claudeMdPath = join13(connectorPath, "CLAUDE.md");
|
|
23696
|
+
if (existsSync12(claudeMdPath)) {
|
|
23697
|
+
return parseConnectorDocs(readFileSync6(claudeMdPath, "utf-8"));
|
|
23406
23698
|
}
|
|
23407
23699
|
const internalDocs = getInternalConnectorDefinition(normalizedName)?.docsMarkdown;
|
|
23408
23700
|
if (internalDocs) {
|
|
@@ -23446,315 +23738,89 @@ function removeConnector(name, targetDir = process.cwd()) {
|
|
|
23446
23738
|
const nextEnabled = installed.filter((connector) => connector !== normalizedName);
|
|
23447
23739
|
writeEnablementManifest(targetDir, nextEnabled);
|
|
23448
23740
|
const legacyInstallPath = getLegacyInstallPath(targetDir, normalizedName);
|
|
23449
|
-
if (
|
|
23741
|
+
if (existsSync12(legacyInstallPath)) {
|
|
23450
23742
|
rmSync2(legacyInstallPath, { recursive: true });
|
|
23451
23743
|
}
|
|
23452
23744
|
return true;
|
|
23453
23745
|
}
|
|
23454
23746
|
|
|
23455
23747
|
// src/lib/runner.ts
|
|
23456
|
-
import { existsSync as
|
|
23457
|
-
import { join as
|
|
23748
|
+
import { existsSync as existsSync15, readdirSync as readdirSync9 } from "fs";
|
|
23749
|
+
import { join as join16, dirname as dirname7 } from "path";
|
|
23458
23750
|
import { fileURLToPath as fileURLToPath5 } from "url";
|
|
23459
|
-
import { spawn as
|
|
23751
|
+
import { spawn as spawn2 } from "child_process";
|
|
23460
23752
|
init_database();
|
|
23461
|
-
|
|
23462
|
-
|
|
23463
|
-
|
|
23464
|
-
|
|
23465
|
-
|
|
23466
|
-
|
|
23467
|
-
|
|
23468
|
-
|
|
23469
|
-
|
|
23470
|
-
}
|
|
23471
|
-
|
|
23472
|
-
|
|
23473
|
-
|
|
23474
|
-
|
|
23475
|
-
|
|
23476
|
-
|
|
23477
|
-
|
|
23478
|
-
|
|
23479
|
-
|
|
23753
|
+
|
|
23754
|
+
// src/server/auth.ts
|
|
23755
|
+
import { existsSync as existsSync14, readFileSync as readFileSync7, writeFileSync as writeFileSync6, mkdirSync as mkdirSync10, readdirSync as readdirSync8, rmSync as rmSync3, statSync as statSync5 } from "fs";
|
|
23756
|
+
import { randomBytes } from "crypto";
|
|
23757
|
+
import { join as join15 } from "path";
|
|
23758
|
+
|
|
23759
|
+
// src/lib/lock.ts
|
|
23760
|
+
init_database();
|
|
23761
|
+
import { openSync, closeSync, unlinkSync, existsSync as existsSync13, statSync as statSync4 } from "fs";
|
|
23762
|
+
import { join as join14 } from "path";
|
|
23763
|
+
import { mkdirSync as mkdirSync9 } from "fs";
|
|
23764
|
+
var LOCK_TIMEOUT_MS = 5000;
|
|
23765
|
+
var LOCK_RETRY_MS = 100;
|
|
23766
|
+
var STALE_LOCK_MS = 30000;
|
|
23767
|
+
|
|
23768
|
+
class LockTimeoutError extends Error {
|
|
23769
|
+
connector;
|
|
23770
|
+
constructor(connector) {
|
|
23771
|
+
super(`Could not acquire write lock for connector "${connector}" within ${LOCK_TIMEOUT_MS}ms. Another agent may be writing. Try again shortly.`);
|
|
23772
|
+
this.connector = connector;
|
|
23773
|
+
this.name = "LockTimeoutError";
|
|
23480
23774
|
}
|
|
23481
|
-
return lines.join(`
|
|
23482
|
-
`);
|
|
23483
23775
|
}
|
|
23484
|
-
function
|
|
23485
|
-
|
|
23776
|
+
function lockPath(connector) {
|
|
23777
|
+
const dir = join14(getConnectorsHome(), `connect-${connector}`);
|
|
23778
|
+
mkdirSync9(dir, { recursive: true });
|
|
23779
|
+
return join14(dir, ".write.lock");
|
|
23486
23780
|
}
|
|
23487
|
-
|
|
23488
|
-
|
|
23489
|
-
|
|
23490
|
-
|
|
23491
|
-
|
|
23492
|
-
|
|
23493
|
-
};
|
|
23494
|
-
function buildEnvWithCredentials(connectorName, baseEnv) {
|
|
23495
|
-
const env = { ...baseEnv };
|
|
23496
|
-
const prefixes = ENV_VAR_NAME_OVERRIDES[connectorName] || [
|
|
23497
|
-
connectorName.toUpperCase().replace(/-/g, "_")
|
|
23498
|
-
];
|
|
23499
|
-
for (const prefix of prefixes) {
|
|
23500
|
-
const canonicalKey = `${prefix}_API_KEY`;
|
|
23501
|
-
if (env[canonicalKey])
|
|
23502
|
-
continue;
|
|
23503
|
-
const alternatives = [
|
|
23504
|
-
`HASNAXYZ_${prefix}_LIVE_API_KEY`,
|
|
23505
|
-
`HASNA_${prefix}_LIVE_API_KEY`,
|
|
23506
|
-
`${prefix}_LIVE_API_KEY`,
|
|
23507
|
-
`${prefix}_KEY`,
|
|
23508
|
-
`${prefix}_TOKEN`
|
|
23509
|
-
];
|
|
23510
|
-
for (const alt of alternatives) {
|
|
23511
|
-
const value = env[alt];
|
|
23512
|
-
if (value) {
|
|
23513
|
-
env[canonicalKey] = value;
|
|
23514
|
-
break;
|
|
23515
|
-
}
|
|
23516
|
-
}
|
|
23781
|
+
function isStale(path) {
|
|
23782
|
+
try {
|
|
23783
|
+
const stat = statSync4(path);
|
|
23784
|
+
return Date.now() - stat.mtimeMs > STALE_LOCK_MS;
|
|
23785
|
+
} catch {
|
|
23786
|
+
return false;
|
|
23517
23787
|
}
|
|
23518
|
-
return env;
|
|
23519
|
-
}
|
|
23520
|
-
function getConnectorCliPath(name) {
|
|
23521
|
-
const safeName = name.replace(/[^a-z0-9-]/g, "");
|
|
23522
|
-
const connectorDir = join13(CONNECTORS_DIR2, `connect-${safeName}`);
|
|
23523
|
-
const cliPath = join13(connectorDir, "src", "cli", "index.ts");
|
|
23524
|
-
if (existsSync12(cliPath))
|
|
23525
|
-
return cliPath;
|
|
23526
|
-
return null;
|
|
23527
|
-
}
|
|
23528
|
-
function hasConnectorCommandSurface(name) {
|
|
23529
|
-
return Boolean(getInternalCommandRuntime(name)?.commands.length || getConnectorCliPath(name));
|
|
23530
|
-
}
|
|
23531
|
-
function normalizeCommanderUsage(usage) {
|
|
23532
|
-
const commandToken = usage.trim().split(/\s+/)[0];
|
|
23533
|
-
if (!commandToken || commandToken === "help")
|
|
23534
|
-
return null;
|
|
23535
|
-
const aliases = commandToken.split("|").filter(Boolean);
|
|
23536
|
-
const [name, ...rest] = aliases;
|
|
23537
|
-
if (!name)
|
|
23538
|
-
return null;
|
|
23539
|
-
return {
|
|
23540
|
-
name,
|
|
23541
|
-
aliases: rest,
|
|
23542
|
-
usage: usage.trim()
|
|
23543
|
-
};
|
|
23544
23788
|
}
|
|
23545
|
-
function
|
|
23546
|
-
|
|
23547
|
-
|
|
23548
|
-
|
|
23549
|
-
|
|
23550
|
-
|
|
23551
|
-
|
|
23552
|
-
|
|
23553
|
-
|
|
23554
|
-
|
|
23555
|
-
|
|
23556
|
-
|
|
23557
|
-
|
|
23558
|
-
|
|
23559
|
-
inCommands = false;
|
|
23560
|
-
continue;
|
|
23561
|
-
}
|
|
23562
|
-
const row = line.match(/^ {2}(\S.*?)(?: {2,}(.+))?$/);
|
|
23563
|
-
if (!row)
|
|
23564
|
-
continue;
|
|
23565
|
-
const usage = row[1].trim();
|
|
23566
|
-
const summary = (row[2] ?? "").trim();
|
|
23567
|
-
const normalized = normalizeCommanderUsage(usage);
|
|
23568
|
-
if (!normalized)
|
|
23569
|
-
continue;
|
|
23570
|
-
operations.push({
|
|
23571
|
-
...normalized,
|
|
23572
|
-
summary,
|
|
23573
|
-
source: "cli"
|
|
23574
|
-
});
|
|
23789
|
+
function tryAcquire(path) {
|
|
23790
|
+
if (existsSync13(path) && isStale(path)) {
|
|
23791
|
+
try {
|
|
23792
|
+
unlinkSync(path);
|
|
23793
|
+
} catch {}
|
|
23794
|
+
}
|
|
23795
|
+
try {
|
|
23796
|
+
const fd = openSync(path, "wx");
|
|
23797
|
+
closeSync(fd);
|
|
23798
|
+
return true;
|
|
23799
|
+
} catch (e) {
|
|
23800
|
+
if (e.code === "EEXIST")
|
|
23801
|
+
return false;
|
|
23802
|
+
throw e;
|
|
23575
23803
|
}
|
|
23576
|
-
return operations;
|
|
23577
23804
|
}
|
|
23578
|
-
function
|
|
23579
|
-
|
|
23580
|
-
|
|
23581
|
-
|
|
23582
|
-
|
|
23583
|
-
|
|
23584
|
-
|
|
23585
|
-
|
|
23586
|
-
|
|
23587
|
-
|
|
23588
|
-
|
|
23589
|
-
|
|
23590
|
-
|
|
23591
|
-
|
|
23592
|
-
};
|
|
23805
|
+
function release(path) {
|
|
23806
|
+
try {
|
|
23807
|
+
unlinkSync(path);
|
|
23808
|
+
} catch {}
|
|
23809
|
+
}
|
|
23810
|
+
async function withWriteLock(connector, fn) {
|
|
23811
|
+
const path = lockPath(connector);
|
|
23812
|
+
const deadline = Date.now() + LOCK_TIMEOUT_MS;
|
|
23813
|
+
while (Date.now() < deadline) {
|
|
23814
|
+
if (tryAcquire(path)) {
|
|
23815
|
+
try {
|
|
23816
|
+
return await fn();
|
|
23817
|
+
} finally {
|
|
23818
|
+
release(path);
|
|
23593
23819
|
}
|
|
23594
|
-
|
|
23595
|
-
|
|
23820
|
+
}
|
|
23821
|
+
await new Promise((resolve) => setTimeout(resolve, LOCK_RETRY_MS));
|
|
23596
23822
|
}
|
|
23597
|
-
|
|
23598
|
-
}
|
|
23599
|
-
function runLegacyConnectorCommand(name, args, timeoutMs = 30000) {
|
|
23600
|
-
const cliPath = getConnectorCliPath(name);
|
|
23601
|
-
if (!cliPath) {
|
|
23602
|
-
return Promise.resolve({
|
|
23603
|
-
stdout: "",
|
|
23604
|
-
stderr: `Connector '${name}' not found or has no CLI.`,
|
|
23605
|
-
exitCode: 1,
|
|
23606
|
-
success: false
|
|
23607
|
-
});
|
|
23608
|
-
}
|
|
23609
|
-
return new Promise((resolve) => {
|
|
23610
|
-
const proc = spawn3("bun", ["run", cliPath, ...args], {
|
|
23611
|
-
timeout: timeoutMs,
|
|
23612
|
-
env: buildEnvWithCredentials(name, process.env),
|
|
23613
|
-
stdio: ["pipe", "pipe", "pipe"]
|
|
23614
|
-
});
|
|
23615
|
-
let stdout = "";
|
|
23616
|
-
let stderr = "";
|
|
23617
|
-
proc.stdout.on("data", (data) => {
|
|
23618
|
-
stdout += data.toString();
|
|
23619
|
-
});
|
|
23620
|
-
proc.stderr.on("data", (data) => {
|
|
23621
|
-
stderr += data.toString();
|
|
23622
|
-
});
|
|
23623
|
-
proc.on("close", (code) => {
|
|
23624
|
-
resolve({
|
|
23625
|
-
stdout: stdout.trim(),
|
|
23626
|
-
stderr: stderr.trim(),
|
|
23627
|
-
exitCode: code ?? 1,
|
|
23628
|
-
success: code === 0
|
|
23629
|
-
});
|
|
23630
|
-
});
|
|
23631
|
-
proc.on("error", (err) => {
|
|
23632
|
-
resolve({
|
|
23633
|
-
stdout: "",
|
|
23634
|
-
stderr: err.message,
|
|
23635
|
-
exitCode: 1,
|
|
23636
|
-
success: false
|
|
23637
|
-
});
|
|
23638
|
-
});
|
|
23639
|
-
});
|
|
23640
|
-
}
|
|
23641
|
-
async function getConnectorOperations(name) {
|
|
23642
|
-
const internalRuntime = getInternalCommandRuntime(name);
|
|
23643
|
-
if (internalRuntime?.commands.length) {
|
|
23644
|
-
const operations2 = internalRuntime.commands.map((command) => ({
|
|
23645
|
-
name: command.name,
|
|
23646
|
-
aliases: [],
|
|
23647
|
-
usage: command.name,
|
|
23648
|
-
summary: command.summary,
|
|
23649
|
-
source: "internal"
|
|
23650
|
-
}));
|
|
23651
|
-
return {
|
|
23652
|
-
commands: operations2.map((operation) => operation.name),
|
|
23653
|
-
operations: operations2,
|
|
23654
|
-
helpText: internalRuntime.helpText ?? buildInternalHelpText(name, internalRuntime.commands),
|
|
23655
|
-
hasCli: true
|
|
23656
|
-
};
|
|
23657
|
-
}
|
|
23658
|
-
const cliPath = getConnectorCliPath(name);
|
|
23659
|
-
if (!cliPath) {
|
|
23660
|
-
return { commands: [], operations: [], helpText: "", hasCli: false };
|
|
23661
|
-
}
|
|
23662
|
-
const result = await runConnectorCommand2(name, ["--help"]);
|
|
23663
|
-
const helpText = result.stdout || result.stderr;
|
|
23664
|
-
const operations = parseCommanderHelpOperations(helpText);
|
|
23665
|
-
return {
|
|
23666
|
-
commands: operations.map((operation) => operation.name),
|
|
23667
|
-
operations,
|
|
23668
|
-
helpText,
|
|
23669
|
-
hasCli: true
|
|
23670
|
-
};
|
|
23671
|
-
}
|
|
23672
|
-
async function getConnectorCommandHelp(name, command) {
|
|
23673
|
-
const internalRuntime = getInternalCommandRuntime(name);
|
|
23674
|
-
if (internalRuntime?.getHelp) {
|
|
23675
|
-
const help = await internalRuntime.getHelp(command);
|
|
23676
|
-
if (help) {
|
|
23677
|
-
return help;
|
|
23678
|
-
}
|
|
23679
|
-
}
|
|
23680
|
-
const runtimeCommand = internalRuntime?.commands.find((runtimeEntry) => runtimeEntry.name === command);
|
|
23681
|
-
if (runtimeCommand?.helpText) {
|
|
23682
|
-
return runtimeCommand.helpText;
|
|
23683
|
-
}
|
|
23684
|
-
const result = await runConnectorCommand2(name, [command, "--help"]);
|
|
23685
|
-
return result.stdout || result.stderr;
|
|
23686
|
-
}
|
|
23687
|
-
|
|
23688
|
-
// src/server/auth.ts
|
|
23689
|
-
import { existsSync as existsSync14, readFileSync as readFileSync6, writeFileSync as writeFileSync5, mkdirSync as mkdirSync9, readdirSync as readdirSync8, rmSync as rmSync3, statSync as statSync5 } from "fs";
|
|
23690
|
-
import { randomBytes } from "crypto";
|
|
23691
|
-
import { join as join15 } from "path";
|
|
23692
|
-
|
|
23693
|
-
// src/lib/lock.ts
|
|
23694
|
-
init_database();
|
|
23695
|
-
import { openSync, closeSync, unlinkSync, existsSync as existsSync13, statSync as statSync4 } from "fs";
|
|
23696
|
-
import { join as join14 } from "path";
|
|
23697
|
-
import { mkdirSync as mkdirSync8 } from "fs";
|
|
23698
|
-
var LOCK_TIMEOUT_MS = 5000;
|
|
23699
|
-
var LOCK_RETRY_MS = 100;
|
|
23700
|
-
var STALE_LOCK_MS = 30000;
|
|
23701
|
-
|
|
23702
|
-
class LockTimeoutError extends Error {
|
|
23703
|
-
connector;
|
|
23704
|
-
constructor(connector) {
|
|
23705
|
-
super(`Could not acquire write lock for connector "${connector}" within ${LOCK_TIMEOUT_MS}ms. Another agent may be writing. Try again shortly.`);
|
|
23706
|
-
this.connector = connector;
|
|
23707
|
-
this.name = "LockTimeoutError";
|
|
23708
|
-
}
|
|
23709
|
-
}
|
|
23710
|
-
function lockPath(connector) {
|
|
23711
|
-
const dir = join14(getConnectorsHome(), `connect-${connector}`);
|
|
23712
|
-
mkdirSync8(dir, { recursive: true });
|
|
23713
|
-
return join14(dir, ".write.lock");
|
|
23714
|
-
}
|
|
23715
|
-
function isStale(path) {
|
|
23716
|
-
try {
|
|
23717
|
-
const stat = statSync4(path);
|
|
23718
|
-
return Date.now() - stat.mtimeMs > STALE_LOCK_MS;
|
|
23719
|
-
} catch {
|
|
23720
|
-
return false;
|
|
23721
|
-
}
|
|
23722
|
-
}
|
|
23723
|
-
function tryAcquire(path) {
|
|
23724
|
-
if (existsSync13(path) && isStale(path)) {
|
|
23725
|
-
try {
|
|
23726
|
-
unlinkSync(path);
|
|
23727
|
-
} catch {}
|
|
23728
|
-
}
|
|
23729
|
-
try {
|
|
23730
|
-
const fd = openSync(path, "wx");
|
|
23731
|
-
closeSync(fd);
|
|
23732
|
-
return true;
|
|
23733
|
-
} catch (e) {
|
|
23734
|
-
if (e.code === "EEXIST")
|
|
23735
|
-
return false;
|
|
23736
|
-
throw e;
|
|
23737
|
-
}
|
|
23738
|
-
}
|
|
23739
|
-
function release(path) {
|
|
23740
|
-
try {
|
|
23741
|
-
unlinkSync(path);
|
|
23742
|
-
} catch {}
|
|
23743
|
-
}
|
|
23744
|
-
async function withWriteLock(connector, fn) {
|
|
23745
|
-
const path = lockPath(connector);
|
|
23746
|
-
const deadline = Date.now() + LOCK_TIMEOUT_MS;
|
|
23747
|
-
while (Date.now() < deadline) {
|
|
23748
|
-
if (tryAcquire(path)) {
|
|
23749
|
-
try {
|
|
23750
|
-
return await fn();
|
|
23751
|
-
} finally {
|
|
23752
|
-
release(path);
|
|
23753
|
-
}
|
|
23754
|
-
}
|
|
23755
|
-
await new Promise((resolve) => setTimeout(resolve, LOCK_RETRY_MS));
|
|
23756
|
-
}
|
|
23757
|
-
throw new LockTimeoutError(connector);
|
|
23823
|
+
throw new LockTimeoutError(connector);
|
|
23758
23824
|
}
|
|
23759
23825
|
|
|
23760
23826
|
// src/server/auth.ts
|
|
@@ -23821,7 +23887,7 @@ function getCurrentProfile2(name) {
|
|
|
23821
23887
|
const currentProfileFile = join15(configDir, "current_profile");
|
|
23822
23888
|
if (existsSync14(currentProfileFile)) {
|
|
23823
23889
|
try {
|
|
23824
|
-
return
|
|
23890
|
+
return readFileSync7(currentProfileFile, "utf-8").trim() || "default";
|
|
23825
23891
|
} catch {
|
|
23826
23892
|
return "default";
|
|
23827
23893
|
}
|
|
@@ -23836,13 +23902,13 @@ function loadProfileConfig(name) {
|
|
|
23836
23902
|
const profileFile = join15(configDir, "profiles", `${profile}.json`);
|
|
23837
23903
|
if (existsSync14(profileFile)) {
|
|
23838
23904
|
try {
|
|
23839
|
-
flatConfig = JSON.parse(
|
|
23905
|
+
flatConfig = JSON.parse(readFileSync7(profileFile, "utf-8"));
|
|
23840
23906
|
} catch {}
|
|
23841
23907
|
}
|
|
23842
23908
|
const profileDirConfig = join15(configDir, "profiles", profile, "config.json");
|
|
23843
23909
|
if (existsSync14(profileDirConfig)) {
|
|
23844
23910
|
try {
|
|
23845
|
-
dirConfig = JSON.parse(
|
|
23911
|
+
dirConfig = JSON.parse(readFileSync7(profileDirConfig, "utf-8"));
|
|
23846
23912
|
} catch {}
|
|
23847
23913
|
}
|
|
23848
23914
|
if (Object.keys(flatConfig).length === 0 && Object.keys(dirConfig).length === 0) {
|
|
@@ -23850,13 +23916,13 @@ function loadProfileConfig(name) {
|
|
|
23850
23916
|
}
|
|
23851
23917
|
return { ...flatConfig, ...dirConfig };
|
|
23852
23918
|
}
|
|
23853
|
-
function
|
|
23919
|
+
function loadTokens2(name) {
|
|
23854
23920
|
const configDir = getConnectorConfigDir(name);
|
|
23855
23921
|
const profile = getCurrentProfile2(name);
|
|
23856
23922
|
const tokensFile = join15(configDir, "profiles", profile, "tokens.json");
|
|
23857
23923
|
if (existsSync14(tokensFile)) {
|
|
23858
23924
|
try {
|
|
23859
|
-
return JSON.parse(
|
|
23925
|
+
return JSON.parse(readFileSync7(tokensFile, "utf-8"));
|
|
23860
23926
|
} catch {
|
|
23861
23927
|
return null;
|
|
23862
23928
|
}
|
|
@@ -23873,28 +23939,49 @@ function loadTokens(name) {
|
|
|
23873
23939
|
}
|
|
23874
23940
|
return null;
|
|
23875
23941
|
}
|
|
23942
|
+
function isStoredOAuthEnvVarSet(variable, oauthConfig, tokens, profileConfig) {
|
|
23943
|
+
if (variable.endsWith("_CLIENT_ID")) {
|
|
23944
|
+
return Boolean(oauthConfig.clientId || profileConfig.clientId);
|
|
23945
|
+
}
|
|
23946
|
+
if (variable.endsWith("_CLIENT_SECRET")) {
|
|
23947
|
+
return Boolean(oauthConfig.clientSecret || profileConfig.clientSecret);
|
|
23948
|
+
}
|
|
23949
|
+
if (variable.endsWith("_ACCESS_TOKEN")) {
|
|
23950
|
+
return Boolean(tokens?.accessToken || profileConfig.accessToken);
|
|
23951
|
+
}
|
|
23952
|
+
if (variable.endsWith("_REFRESH_TOKEN")) {
|
|
23953
|
+
return Boolean(tokens?.refreshToken || profileConfig.refreshToken);
|
|
23954
|
+
}
|
|
23955
|
+
if (variable.endsWith("_TOKEN_EXPIRES_AT")) {
|
|
23956
|
+
return Boolean(tokens?.expiresAt || profileConfig.expiresAt);
|
|
23957
|
+
}
|
|
23958
|
+
return false;
|
|
23959
|
+
}
|
|
23876
23960
|
function getAuthStatus(name) {
|
|
23877
23961
|
const authType = getAuthType(name);
|
|
23878
23962
|
const docs = getConnectorDocs(name);
|
|
23963
|
+
const oauthConfig = authType === "oauth" ? getOAuthConfig(name) : {};
|
|
23964
|
+
const tokens = authType === "oauth" ? loadTokens2(name) : null;
|
|
23965
|
+
const profileConfig = authType === "oauth" ? loadProfileConfig(name) : {};
|
|
23879
23966
|
const envVars = (docs?.envVars || []).map((v) => ({
|
|
23880
23967
|
variable: v.variable,
|
|
23881
23968
|
description: v.description,
|
|
23882
|
-
set: !!process.env[v.variable]
|
|
23969
|
+
set: !!process.env[v.variable] || authType === "oauth" && isStoredOAuthEnvVarSet(v.variable, oauthConfig, tokens, profileConfig)
|
|
23883
23970
|
}));
|
|
23884
23971
|
const envVarTotalCount = envVars.length;
|
|
23885
23972
|
const envVarSetCount = envVars.filter((v) => v.set).length;
|
|
23886
23973
|
if (authType === "oauth") {
|
|
23887
|
-
const
|
|
23888
|
-
const
|
|
23889
|
-
const
|
|
23890
|
-
const
|
|
23891
|
-
const tokenExpiry = tokens?.expiresAt || config2.expiresAt;
|
|
23974
|
+
const hasTokens = !!tokens?.accessToken || !!profileConfig.accessToken;
|
|
23975
|
+
const hasRefreshToken = !!tokens?.refreshToken || !!profileConfig.refreshToken;
|
|
23976
|
+
const tokenExpiry = tokens?.expiresAt || profileConfig.expiresAt;
|
|
23977
|
+
const hasOAuthCredentials = Boolean(oauthConfig.clientId && oauthConfig.clientSecret);
|
|
23892
23978
|
const hasEnvVar2 = envVars.some((v) => v.set);
|
|
23893
23979
|
return {
|
|
23894
23980
|
type: "oauth",
|
|
23895
|
-
configured: hasTokens || hasRefreshToken || hasEnvVar2,
|
|
23981
|
+
configured: hasTokens || hasRefreshToken || hasOAuthCredentials || hasEnvVar2,
|
|
23896
23982
|
tokenExpiry,
|
|
23897
23983
|
hasRefreshToken,
|
|
23984
|
+
hasOAuthCredentials,
|
|
23898
23985
|
envVars,
|
|
23899
23986
|
envVarSetCount,
|
|
23900
23987
|
envVarTotalCount
|
|
@@ -23911,6 +23998,10 @@ function getAuthStatus(name) {
|
|
|
23911
23998
|
envVarTotalCount
|
|
23912
23999
|
};
|
|
23913
24000
|
}
|
|
24001
|
+
function getEnvVars(name) {
|
|
24002
|
+
const docs = getConnectorDocs(name);
|
|
24003
|
+
return docs?.envVars || [];
|
|
24004
|
+
}
|
|
23914
24005
|
async function saveApiKey(name, key, field) {
|
|
23915
24006
|
return withWriteLock(name, () => _saveApiKey(name, key, field));
|
|
23916
24007
|
}
|
|
@@ -23920,15 +24011,15 @@ function _saveApiKey(name, key, field) {
|
|
|
23920
24011
|
const keyField = field || guessKeyField(name);
|
|
23921
24012
|
if (keyField === "clientId" || keyField === "clientSecret") {
|
|
23922
24013
|
const credentialsFile = join15(configDir, "credentials.json");
|
|
23923
|
-
|
|
24014
|
+
mkdirSync10(configDir, { recursive: true });
|
|
23924
24015
|
let creds = {};
|
|
23925
24016
|
if (existsSync14(credentialsFile)) {
|
|
23926
24017
|
try {
|
|
23927
|
-
creds = JSON.parse(
|
|
24018
|
+
creds = JSON.parse(readFileSync7(credentialsFile, "utf-8"));
|
|
23928
24019
|
} catch {}
|
|
23929
24020
|
}
|
|
23930
24021
|
creds[keyField] = key;
|
|
23931
|
-
|
|
24022
|
+
writeFileSync6(credentialsFile, JSON.stringify(creds, null, 2));
|
|
23932
24023
|
return;
|
|
23933
24024
|
}
|
|
23934
24025
|
const profileFile = join15(configDir, "profiles", `${profile}.json`);
|
|
@@ -23936,10 +24027,10 @@ function _saveApiKey(name, key, field) {
|
|
|
23936
24027
|
if (existsSync14(profileFile)) {
|
|
23937
24028
|
let config = {};
|
|
23938
24029
|
try {
|
|
23939
|
-
config = JSON.parse(
|
|
24030
|
+
config = JSON.parse(readFileSync7(profileFile, "utf-8"));
|
|
23940
24031
|
} catch {}
|
|
23941
24032
|
config[keyField] = key;
|
|
23942
|
-
|
|
24033
|
+
writeFileSync6(profileFile, JSON.stringify(config, null, 2));
|
|
23943
24034
|
return;
|
|
23944
24035
|
}
|
|
23945
24036
|
if (existsSync14(profileDir)) {
|
|
@@ -23947,15 +24038,15 @@ function _saveApiKey(name, key, field) {
|
|
|
23947
24038
|
let config = {};
|
|
23948
24039
|
if (existsSync14(configFile)) {
|
|
23949
24040
|
try {
|
|
23950
|
-
config = JSON.parse(
|
|
24041
|
+
config = JSON.parse(readFileSync7(configFile, "utf-8"));
|
|
23951
24042
|
} catch {}
|
|
23952
24043
|
}
|
|
23953
24044
|
config[keyField] = key;
|
|
23954
|
-
|
|
24045
|
+
writeFileSync6(configFile, JSON.stringify(config, null, 2));
|
|
23955
24046
|
return;
|
|
23956
24047
|
}
|
|
23957
|
-
|
|
23958
|
-
|
|
24048
|
+
mkdirSync10(profileDir, { recursive: true });
|
|
24049
|
+
writeFileSync6(join15(profileDir, "config.json"), JSON.stringify({ [keyField]: key }, null, 2));
|
|
23959
24050
|
}
|
|
23960
24051
|
function guessKeyField(name) {
|
|
23961
24052
|
const docs = getConnectorDocs(name);
|
|
@@ -23976,7 +24067,7 @@ function getOAuthConfig(name) {
|
|
|
23976
24067
|
const credentialsFile = join15(configDir, "credentials.json");
|
|
23977
24068
|
if (existsSync14(credentialsFile)) {
|
|
23978
24069
|
try {
|
|
23979
|
-
const creds = JSON.parse(
|
|
24070
|
+
const creds = JSON.parse(readFileSync7(credentialsFile, "utf-8"));
|
|
23980
24071
|
return { clientId: creds.clientId, clientSecret: creds.clientSecret };
|
|
23981
24072
|
} catch {}
|
|
23982
24073
|
}
|
|
@@ -24056,16 +24147,16 @@ function saveOAuthTokens(name, tokens) {
|
|
|
24056
24147
|
const configDir = getConnectorConfigDir(name);
|
|
24057
24148
|
const profile = getCurrentProfile2(name);
|
|
24058
24149
|
const profileDir = join15(configDir, "profiles", profile);
|
|
24059
|
-
|
|
24150
|
+
mkdirSync10(profileDir, { recursive: true });
|
|
24060
24151
|
const tokensFile = join15(profileDir, "tokens.json");
|
|
24061
|
-
|
|
24152
|
+
writeFileSync6(tokensFile, JSON.stringify(tokens, null, 2), { mode: 384 });
|
|
24062
24153
|
}
|
|
24063
24154
|
async function refreshOAuthToken(name) {
|
|
24064
24155
|
return withWriteLock(name, () => _refreshOAuthToken(name));
|
|
24065
24156
|
}
|
|
24066
24157
|
async function _refreshOAuthToken(name) {
|
|
24067
24158
|
const oauthConfig = getOAuthConfig(name);
|
|
24068
|
-
const currentTokens =
|
|
24159
|
+
const currentTokens = loadTokens2(name);
|
|
24069
24160
|
if (!oauthConfig.clientId || !oauthConfig.clientSecret) {
|
|
24070
24161
|
throw new Error("OAuth credentials not configured for " + name);
|
|
24071
24162
|
}
|
|
@@ -24098,7 +24189,7 @@ async function _refreshOAuthToken(name) {
|
|
|
24098
24189
|
saveOAuthTokens(name, tokens);
|
|
24099
24190
|
return tokens;
|
|
24100
24191
|
}
|
|
24101
|
-
function
|
|
24192
|
+
function listProfiles3(name) {
|
|
24102
24193
|
const configDir = getConnectorConfigDir(name);
|
|
24103
24194
|
const profilesDir = join15(configDir, "profiles");
|
|
24104
24195
|
if (!existsSync14(profilesDir))
|
|
@@ -24121,8 +24212,8 @@ function listProfiles2(name) {
|
|
|
24121
24212
|
}
|
|
24122
24213
|
function switchProfile(name, profile) {
|
|
24123
24214
|
const configDir = getConnectorConfigDir(name);
|
|
24124
|
-
|
|
24125
|
-
|
|
24215
|
+
mkdirSync10(configDir, { recursive: true });
|
|
24216
|
+
writeFileSync6(join15(configDir, "current_profile"), profile);
|
|
24126
24217
|
}
|
|
24127
24218
|
function deleteProfile2(name, profile) {
|
|
24128
24219
|
if (profile === "default")
|
|
@@ -24148,6 +24239,253 @@ function deleteProfile2(name, profile) {
|
|
|
24148
24239
|
return false;
|
|
24149
24240
|
}
|
|
24150
24241
|
|
|
24242
|
+
// src/lib/runner.ts
|
|
24243
|
+
var __dirname5 = dirname7(fileURLToPath5(import.meta.url));
|
|
24244
|
+
function resolveConnectorsDir2() {
|
|
24245
|
+
const fromBin = join16(__dirname5, "..", "connectors");
|
|
24246
|
+
if (existsSync15(fromBin))
|
|
24247
|
+
return fromBin;
|
|
24248
|
+
const fromSrc = join16(__dirname5, "..", "..", "connectors");
|
|
24249
|
+
if (existsSync15(fromSrc))
|
|
24250
|
+
return fromSrc;
|
|
24251
|
+
return fromBin;
|
|
24252
|
+
}
|
|
24253
|
+
var CONNECTORS_DIR2 = resolveConnectorsDir2();
|
|
24254
|
+
function buildInternalHelpText(name, commands) {
|
|
24255
|
+
const lines = [
|
|
24256
|
+
`Usage: connect-${name} [options] [command]`,
|
|
24257
|
+
"",
|
|
24258
|
+
"Commands:"
|
|
24259
|
+
];
|
|
24260
|
+
for (const command of commands) {
|
|
24261
|
+
lines.push(` ${command.name.padEnd(24)} ${command.summary}`);
|
|
24262
|
+
}
|
|
24263
|
+
return lines.join(`
|
|
24264
|
+
`);
|
|
24265
|
+
}
|
|
24266
|
+
function getInternalCommandRuntime(name) {
|
|
24267
|
+
return getInternalConnectorDefinition(name)?.commandRuntime;
|
|
24268
|
+
}
|
|
24269
|
+
var ENV_VAR_NAME_OVERRIDES = {
|
|
24270
|
+
googlemaps: ["GOOGLE_MAPS"],
|
|
24271
|
+
googletasks: ["GOOGLE_TASKS", "GOOGLE"],
|
|
24272
|
+
google: ["GOOGLE"],
|
|
24273
|
+
stabilityai: ["STABILITY"],
|
|
24274
|
+
openweathermap: ["OPENWEATHERMAP", "OPENWEATHER"]
|
|
24275
|
+
};
|
|
24276
|
+
function buildEnvWithCredentials(connectorName, baseEnv) {
|
|
24277
|
+
const env = { ...baseEnv };
|
|
24278
|
+
const prefixes = ENV_VAR_NAME_OVERRIDES[connectorName] || [
|
|
24279
|
+
connectorName.toUpperCase().replace(/-/g, "_")
|
|
24280
|
+
];
|
|
24281
|
+
for (const prefix of prefixes) {
|
|
24282
|
+
const canonicalKey = `${prefix}_API_KEY`;
|
|
24283
|
+
if (env[canonicalKey])
|
|
24284
|
+
continue;
|
|
24285
|
+
const alternatives = [
|
|
24286
|
+
`HASNAXYZ_${prefix}_LIVE_API_KEY`,
|
|
24287
|
+
`HASNA_${prefix}_LIVE_API_KEY`,
|
|
24288
|
+
`${prefix}_LIVE_API_KEY`,
|
|
24289
|
+
`${prefix}_KEY`,
|
|
24290
|
+
`${prefix}_TOKEN`
|
|
24291
|
+
];
|
|
24292
|
+
for (const alt of alternatives) {
|
|
24293
|
+
const value = env[alt];
|
|
24294
|
+
if (value) {
|
|
24295
|
+
env[canonicalKey] = value;
|
|
24296
|
+
break;
|
|
24297
|
+
}
|
|
24298
|
+
}
|
|
24299
|
+
}
|
|
24300
|
+
if (getAuthType(connectorName) === "oauth") {
|
|
24301
|
+
const oauthConfig = getOAuthConfig(connectorName);
|
|
24302
|
+
const tokens = loadTokens2(connectorName);
|
|
24303
|
+
for (const { variable } of getEnvVars(connectorName)) {
|
|
24304
|
+
if (env[variable])
|
|
24305
|
+
continue;
|
|
24306
|
+
if (variable.endsWith("_CLIENT_ID") && oauthConfig.clientId) {
|
|
24307
|
+
env[variable] = oauthConfig.clientId;
|
|
24308
|
+
} else if (variable.endsWith("_CLIENT_SECRET") && oauthConfig.clientSecret) {
|
|
24309
|
+
env[variable] = oauthConfig.clientSecret;
|
|
24310
|
+
} else if (variable.endsWith("_ACCESS_TOKEN") && tokens?.accessToken) {
|
|
24311
|
+
env[variable] = tokens.accessToken;
|
|
24312
|
+
} else if (variable.endsWith("_REFRESH_TOKEN") && tokens?.refreshToken) {
|
|
24313
|
+
env[variable] = tokens.refreshToken;
|
|
24314
|
+
} else if (variable.endsWith("_TOKEN_EXPIRES_AT") && tokens?.expiresAt) {
|
|
24315
|
+
env[variable] = String(tokens.expiresAt);
|
|
24316
|
+
}
|
|
24317
|
+
}
|
|
24318
|
+
}
|
|
24319
|
+
return env;
|
|
24320
|
+
}
|
|
24321
|
+
function getConnectorCliPath(name) {
|
|
24322
|
+
const safeName = name.replace(/[^a-z0-9-]/g, "");
|
|
24323
|
+
const connectorDir = join16(CONNECTORS_DIR2, `connect-${safeName}`);
|
|
24324
|
+
const cliPath = join16(connectorDir, "src", "cli", "index.ts");
|
|
24325
|
+
if (existsSync15(cliPath))
|
|
24326
|
+
return cliPath;
|
|
24327
|
+
return null;
|
|
24328
|
+
}
|
|
24329
|
+
function hasConnectorCommandSurface(name) {
|
|
24330
|
+
return Boolean(getInternalCommandRuntime(name)?.commands.length || getConnectorCliPath(name));
|
|
24331
|
+
}
|
|
24332
|
+
function normalizeCommanderUsage(usage) {
|
|
24333
|
+
const commandToken = usage.trim().split(/\s+/)[0];
|
|
24334
|
+
if (!commandToken || commandToken === "help")
|
|
24335
|
+
return null;
|
|
24336
|
+
const aliases = commandToken.split("|").filter(Boolean);
|
|
24337
|
+
const [name, ...rest] = aliases;
|
|
24338
|
+
if (!name)
|
|
24339
|
+
return null;
|
|
24340
|
+
return {
|
|
24341
|
+
name,
|
|
24342
|
+
aliases: rest,
|
|
24343
|
+
usage: usage.trim()
|
|
24344
|
+
};
|
|
24345
|
+
}
|
|
24346
|
+
function parseCommanderHelpOperations(helpText) {
|
|
24347
|
+
const operations = [];
|
|
24348
|
+
const lines = helpText.split(`
|
|
24349
|
+
`);
|
|
24350
|
+
let inCommands = false;
|
|
24351
|
+
for (const line of lines) {
|
|
24352
|
+
if (line.trim().startsWith("Commands:")) {
|
|
24353
|
+
inCommands = true;
|
|
24354
|
+
continue;
|
|
24355
|
+
}
|
|
24356
|
+
if (!inCommands)
|
|
24357
|
+
continue;
|
|
24358
|
+
if (line.trim() === "") {
|
|
24359
|
+
if (operations.length > 0)
|
|
24360
|
+
inCommands = false;
|
|
24361
|
+
continue;
|
|
24362
|
+
}
|
|
24363
|
+
const row = line.match(/^ {2}(?! )(\S.*?)(?: {2,}(.+))?$/);
|
|
24364
|
+
if (!row)
|
|
24365
|
+
continue;
|
|
24366
|
+
const usage = row[1].trim();
|
|
24367
|
+
const summary = (row[2] ?? "").trim();
|
|
24368
|
+
const normalized = normalizeCommanderUsage(usage);
|
|
24369
|
+
if (!normalized)
|
|
24370
|
+
continue;
|
|
24371
|
+
operations.push({
|
|
24372
|
+
...normalized,
|
|
24373
|
+
summary,
|
|
24374
|
+
source: "cli"
|
|
24375
|
+
});
|
|
24376
|
+
}
|
|
24377
|
+
return operations;
|
|
24378
|
+
}
|
|
24379
|
+
function runConnectorCommand2(name, args, timeoutMs = 30000) {
|
|
24380
|
+
getConnectorsHome();
|
|
24381
|
+
const internalRuntime = getInternalCommandRuntime(name);
|
|
24382
|
+
if (internalRuntime?.run) {
|
|
24383
|
+
return Promise.resolve(internalRuntime.run(args)).then((result) => {
|
|
24384
|
+
if (result) {
|
|
24385
|
+
const stdout = result.stdout.trim();
|
|
24386
|
+
const stderr = (result.stderr ?? "").trim();
|
|
24387
|
+
const exitCode = result.exitCode ?? (result.success === false ? 1 : 0);
|
|
24388
|
+
return {
|
|
24389
|
+
stdout,
|
|
24390
|
+
stderr,
|
|
24391
|
+
exitCode,
|
|
24392
|
+
success: result.success ?? exitCode === 0
|
|
24393
|
+
};
|
|
24394
|
+
}
|
|
24395
|
+
return runLegacyConnectorCommand(name, args, timeoutMs);
|
|
24396
|
+
});
|
|
24397
|
+
}
|
|
24398
|
+
return runLegacyConnectorCommand(name, args, timeoutMs);
|
|
24399
|
+
}
|
|
24400
|
+
function runLegacyConnectorCommand(name, args, timeoutMs = 30000) {
|
|
24401
|
+
const cliPath = getConnectorCliPath(name);
|
|
24402
|
+
if (!cliPath) {
|
|
24403
|
+
return Promise.resolve({
|
|
24404
|
+
stdout: "",
|
|
24405
|
+
stderr: `Connector '${name}' not found or has no CLI.`,
|
|
24406
|
+
exitCode: 1,
|
|
24407
|
+
success: false
|
|
24408
|
+
});
|
|
24409
|
+
}
|
|
24410
|
+
return new Promise((resolve) => {
|
|
24411
|
+
const proc = spawn2("bun", ["run", cliPath, ...args], {
|
|
24412
|
+
timeout: timeoutMs,
|
|
24413
|
+
env: buildEnvWithCredentials(name, process.env),
|
|
24414
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
24415
|
+
});
|
|
24416
|
+
let stdout = "";
|
|
24417
|
+
let stderr = "";
|
|
24418
|
+
proc.stdout.on("data", (data) => {
|
|
24419
|
+
stdout += data.toString();
|
|
24420
|
+
});
|
|
24421
|
+
proc.stderr.on("data", (data) => {
|
|
24422
|
+
stderr += data.toString();
|
|
24423
|
+
});
|
|
24424
|
+
proc.on("close", (code) => {
|
|
24425
|
+
resolve({
|
|
24426
|
+
stdout: stdout.trim(),
|
|
24427
|
+
stderr: stderr.trim(),
|
|
24428
|
+
exitCode: code ?? 1,
|
|
24429
|
+
success: code === 0
|
|
24430
|
+
});
|
|
24431
|
+
});
|
|
24432
|
+
proc.on("error", (err) => {
|
|
24433
|
+
resolve({
|
|
24434
|
+
stdout: "",
|
|
24435
|
+
stderr: err.message,
|
|
24436
|
+
exitCode: 1,
|
|
24437
|
+
success: false
|
|
24438
|
+
});
|
|
24439
|
+
});
|
|
24440
|
+
});
|
|
24441
|
+
}
|
|
24442
|
+
async function getConnectorOperations(name) {
|
|
24443
|
+
const internalRuntime = getInternalCommandRuntime(name);
|
|
24444
|
+
if (internalRuntime?.commands.length) {
|
|
24445
|
+
const operations2 = internalRuntime.commands.map((command) => ({
|
|
24446
|
+
name: command.name,
|
|
24447
|
+
aliases: [],
|
|
24448
|
+
usage: command.name,
|
|
24449
|
+
summary: command.summary,
|
|
24450
|
+
source: "internal"
|
|
24451
|
+
}));
|
|
24452
|
+
return {
|
|
24453
|
+
commands: operations2.map((operation) => operation.name),
|
|
24454
|
+
operations: operations2,
|
|
24455
|
+
helpText: internalRuntime.helpText ?? buildInternalHelpText(name, internalRuntime.commands),
|
|
24456
|
+
hasCli: true
|
|
24457
|
+
};
|
|
24458
|
+
}
|
|
24459
|
+
const cliPath = getConnectorCliPath(name);
|
|
24460
|
+
if (!cliPath) {
|
|
24461
|
+
return { commands: [], operations: [], helpText: "", hasCli: false };
|
|
24462
|
+
}
|
|
24463
|
+
const result = await runConnectorCommand2(name, ["--help"]);
|
|
24464
|
+
const helpText = result.stdout || result.stderr;
|
|
24465
|
+
const operations = parseCommanderHelpOperations(helpText);
|
|
24466
|
+
return {
|
|
24467
|
+
commands: operations.map((operation) => operation.name),
|
|
24468
|
+
operations,
|
|
24469
|
+
helpText,
|
|
24470
|
+
hasCli: true
|
|
24471
|
+
};
|
|
24472
|
+
}
|
|
24473
|
+
async function getConnectorCommandHelp(name, command) {
|
|
24474
|
+
const internalRuntime = getInternalCommandRuntime(name);
|
|
24475
|
+
if (internalRuntime?.getHelp) {
|
|
24476
|
+
const help = await internalRuntime.getHelp(command);
|
|
24477
|
+
if (help) {
|
|
24478
|
+
return help;
|
|
24479
|
+
}
|
|
24480
|
+
}
|
|
24481
|
+
const runtimeCommand = internalRuntime?.commands.find((runtimeEntry) => runtimeEntry.name === command);
|
|
24482
|
+
if (runtimeCommand?.helpText) {
|
|
24483
|
+
return runtimeCommand.helpText;
|
|
24484
|
+
}
|
|
24485
|
+
const result = await runConnectorCommand2(name, [command, "--help"]);
|
|
24486
|
+
return result.stdout || result.stderr;
|
|
24487
|
+
}
|
|
24488
|
+
|
|
24151
24489
|
// src/server/serve.ts
|
|
24152
24490
|
var activityLog = [];
|
|
24153
24491
|
var MAX_ACTIVITY_LOG = 100;
|
|
@@ -24161,20 +24499,20 @@ function resolveDashboardDir() {
|
|
|
24161
24499
|
const candidates = [];
|
|
24162
24500
|
try {
|
|
24163
24501
|
const scriptDir = dirname8(fileURLToPath6(import.meta.url));
|
|
24164
|
-
candidates.push(
|
|
24165
|
-
candidates.push(
|
|
24502
|
+
candidates.push(join17(scriptDir, "..", "dashboard", "dist"));
|
|
24503
|
+
candidates.push(join17(scriptDir, "..", "..", "dashboard", "dist"));
|
|
24166
24504
|
} catch {}
|
|
24167
24505
|
if (process.argv[1]) {
|
|
24168
24506
|
const mainDir = dirname8(process.argv[1]);
|
|
24169
|
-
candidates.push(
|
|
24170
|
-
candidates.push(
|
|
24507
|
+
candidates.push(join17(mainDir, "..", "dashboard", "dist"));
|
|
24508
|
+
candidates.push(join17(mainDir, "..", "..", "dashboard", "dist"));
|
|
24171
24509
|
}
|
|
24172
|
-
candidates.push(
|
|
24510
|
+
candidates.push(join17(process.cwd(), "dashboard", "dist"));
|
|
24173
24511
|
for (const candidate of candidates) {
|
|
24174
|
-
if (
|
|
24512
|
+
if (existsSync16(candidate))
|
|
24175
24513
|
return candidate;
|
|
24176
24514
|
}
|
|
24177
|
-
return
|
|
24515
|
+
return join17(process.cwd(), "dashboard", "dist");
|
|
24178
24516
|
}
|
|
24179
24517
|
var MIME_TYPES = {
|
|
24180
24518
|
".html": "text/html; charset=utf-8",
|
|
@@ -24276,7 +24614,7 @@ function oauthPage(type, title, message, hint, extra) {
|
|
|
24276
24614
|
</body></html>`;
|
|
24277
24615
|
}
|
|
24278
24616
|
function serveStaticFile(filePath) {
|
|
24279
|
-
if (!
|
|
24617
|
+
if (!existsSync16(filePath))
|
|
24280
24618
|
return null;
|
|
24281
24619
|
const ext = extname(filePath);
|
|
24282
24620
|
const contentType = MIME_TYPES[ext] || "application/octet-stream";
|
|
@@ -24313,7 +24651,7 @@ async function startServer(requestedPort, options) {
|
|
|
24313
24651
|
const strict = options?.strict ?? false;
|
|
24314
24652
|
loadConnectorVersions();
|
|
24315
24653
|
const dashboardDir = resolveDashboardDir();
|
|
24316
|
-
const dashboardExists =
|
|
24654
|
+
const dashboardExists = existsSync16(dashboardDir);
|
|
24317
24655
|
if (!dashboardExists) {
|
|
24318
24656
|
console.error(`
|
|
24319
24657
|
Dashboard not found at: ${dashboardDir}`);
|
|
@@ -24715,13 +25053,13 @@ ${result.stderr}`;
|
|
|
24715
25053
|
if (!isValidConnectorName(name))
|
|
24716
25054
|
return json({ error: "Invalid connector name" }, 400, port);
|
|
24717
25055
|
try {
|
|
24718
|
-
const profiles =
|
|
24719
|
-
const configDir =
|
|
24720
|
-
const currentProfileFile =
|
|
25056
|
+
const profiles = listProfiles3(name);
|
|
25057
|
+
const configDir = join17(getConnectorsHome(), name.startsWith("connect-") ? name : `connect-${name}`);
|
|
25058
|
+
const currentProfileFile = join17(configDir, "current_profile");
|
|
24721
25059
|
let current = "default";
|
|
24722
|
-
if (
|
|
25060
|
+
if (existsSync16(currentProfileFile)) {
|
|
24723
25061
|
try {
|
|
24724
|
-
current =
|
|
25062
|
+
current = readFileSync8(currentProfileFile, "utf-8").trim() || "default";
|
|
24725
25063
|
} catch {}
|
|
24726
25064
|
}
|
|
24727
25065
|
return json({ current, profiles }, 200, port);
|
|
@@ -24770,30 +25108,30 @@ ${result.stderr}`;
|
|
|
24770
25108
|
try {
|
|
24771
25109
|
const connectDir = getConnectorsHome();
|
|
24772
25110
|
const result = {};
|
|
24773
|
-
if (
|
|
24774
|
-
const entries =
|
|
25111
|
+
if (existsSync16(connectDir)) {
|
|
25112
|
+
const entries = readdirSync10(connectDir, { withFileTypes: true });
|
|
24775
25113
|
for (const entry of entries) {
|
|
24776
25114
|
if (!entry.isDirectory() || !entry.name.startsWith("connect-"))
|
|
24777
25115
|
continue;
|
|
24778
25116
|
const connectorName = entry.name.replace(/^connect-/, "");
|
|
24779
|
-
const profilesDir =
|
|
24780
|
-
if (!
|
|
25117
|
+
const profilesDir = join17(connectDir, entry.name, "profiles");
|
|
25118
|
+
if (!existsSync16(profilesDir))
|
|
24781
25119
|
continue;
|
|
24782
25120
|
const profiles = {};
|
|
24783
|
-
const profileEntries =
|
|
25121
|
+
const profileEntries = readdirSync10(profilesDir, { withFileTypes: true });
|
|
24784
25122
|
for (const pEntry of profileEntries) {
|
|
24785
25123
|
if (pEntry.isFile() && pEntry.name.endsWith(".json")) {
|
|
24786
|
-
const profileName =
|
|
25124
|
+
const profileName = basename2(pEntry.name, ".json");
|
|
24787
25125
|
try {
|
|
24788
|
-
const config = JSON.parse(
|
|
25126
|
+
const config = JSON.parse(readFileSync8(join17(profilesDir, pEntry.name), "utf-8"));
|
|
24789
25127
|
profiles[profileName] = config;
|
|
24790
25128
|
} catch {}
|
|
24791
25129
|
}
|
|
24792
25130
|
if (pEntry.isDirectory()) {
|
|
24793
|
-
const configPath =
|
|
24794
|
-
if (
|
|
25131
|
+
const configPath = join17(profilesDir, pEntry.name, "config.json");
|
|
25132
|
+
if (existsSync16(configPath)) {
|
|
24795
25133
|
try {
|
|
24796
|
-
const config = JSON.parse(
|
|
25134
|
+
const config = JSON.parse(readFileSync8(configPath, "utf-8"));
|
|
24797
25135
|
profiles[pEntry.name] = config;
|
|
24798
25136
|
} catch {}
|
|
24799
25137
|
}
|
|
@@ -24834,14 +25172,14 @@ ${result.stderr}`;
|
|
|
24834
25172
|
continue;
|
|
24835
25173
|
if (!data.profiles || typeof data.profiles !== "object")
|
|
24836
25174
|
continue;
|
|
24837
|
-
const connectorDir =
|
|
24838
|
-
const profilesDir =
|
|
25175
|
+
const connectorDir = join17(connectDir, `connect-${connectorName}`);
|
|
25176
|
+
const profilesDir = join17(connectorDir, "profiles");
|
|
24839
25177
|
for (const [profileName, config] of Object.entries(data.profiles)) {
|
|
24840
25178
|
if (!config || typeof config !== "object")
|
|
24841
25179
|
continue;
|
|
24842
|
-
|
|
24843
|
-
const profileFile =
|
|
24844
|
-
|
|
25180
|
+
mkdirSync11(profilesDir, { recursive: true });
|
|
25181
|
+
const profileFile = join17(profilesDir, `${profileName}.json`);
|
|
25182
|
+
writeFileSync7(profileFile, JSON.stringify(config, null, 2));
|
|
24845
25183
|
imported++;
|
|
24846
25184
|
}
|
|
24847
25185
|
}
|
|
@@ -24896,12 +25234,12 @@ ${result.stderr}`;
|
|
|
24896
25234
|
}
|
|
24897
25235
|
if (dashboardExists && (method === "GET" || method === "HEAD")) {
|
|
24898
25236
|
if (path !== "/") {
|
|
24899
|
-
const filePath =
|
|
25237
|
+
const filePath = join17(dashboardDir, path);
|
|
24900
25238
|
const res2 = serveStaticFile(filePath);
|
|
24901
25239
|
if (res2)
|
|
24902
25240
|
return res2;
|
|
24903
25241
|
}
|
|
24904
|
-
const indexPath =
|
|
25242
|
+
const indexPath = join17(dashboardDir, "index.html");
|
|
24905
25243
|
const res = serveStaticFile(indexPath);
|
|
24906
25244
|
if (res)
|
|
24907
25245
|
return res;
|