@commandable/mcp 0.0.7 → 0.1.0
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/README.md +28 -31
- package/dist/app/nitro.json +15 -0
- package/dist/app/public/_fonts/57NSSoFy1VLVs2gqly8Ls9awBnZMFyXGrefpmqvdqmc-zJfbBtpgM4cDmcXBsqZNW79_kFnlpPd62b48glgdydA.woff2 +0 -0
- package/dist/app/public/_fonts/8VR2wSMN-3U4NbWAVYXlkRV6hA0jFBXP-0RtL3X7fko-x2gYI4qfmkRdxyQQUPaBZdZdgl1TeVrquF_TxHeM4lM.woff2 +0 -0
- package/dist/app/public/_fonts/GsKUclqeNLJ96g5AU593ug6yanivOiwjW_7zESNPChw-jHA4tBeM1bjF7LATGUpfBuSTyomIFrWBTzjF7txVYfg.woff2 +0 -0
- package/dist/app/public/_fonts/Ld1FnTo3yTIwDyGfTQ5-Fws9AWsCbKfMvgxduXr7JcY-W25bL8NF1fjpLRSOgJb7RoZPHqGQNwMTM7S9tHVoxx8.woff2 +0 -0
- package/dist/app/public/_fonts/NdzqRASp2bovDUhQT1IRE_EMqKJ2KYQdTCfFcBvL8yw-KhwZiS86o3fErOe5GGMExHUemmI_dBfaEFxjISZrBd0.woff2 +0 -0
- package/dist/app/public/_fonts/iTkrULNFJJkTvihIg1Vqi5IODRH_9btXCioVF5l98I8-AndUyau2HR2felA_ra8V2mutQgschhasE5FD1dXGJX8.woff2 +0 -0
- package/dist/app/public/_nuxt/-tOYwuj2.js +30 -0
- package/dist/app/public/_nuxt/BdctKXor.js +1 -0
- package/dist/app/public/_nuxt/BlP7Uu-5.js +1 -0
- package/dist/app/public/_nuxt/CsbkV5Bd.js +1 -0
- package/dist/app/public/_nuxt/D-43HurL.js +59 -0
- package/dist/app/public/_nuxt/DU1mG77A.js +1 -0
- package/dist/app/public/_nuxt/_id_.BKAjWkoP.css +1 -0
- package/dist/app/public/_nuxt/builds/latest.json +1 -0
- package/dist/app/public/_nuxt/builds/meta/ceae497c-21d6-4278-8cc9-3c2c80f03dca.json +1 -0
- package/dist/app/public/_nuxt/entry.Y3mA4bzA.css +1 -0
- package/dist/app/public/_nuxt/error-404.C7fg894-.css +1 -0
- package/dist/app/public/_nuxt/error-500.DjUK_N2Y.css +1 -0
- package/dist/app/public/_nuxt/uS7FY2am.js +1 -0
- package/dist/app/public/favicon.ico +0 -0
- package/dist/app/server/chunks/_/error-500.mjs +19 -0
- package/dist/app/server/chunks/_/error-500.mjs.map +1 -0
- package/dist/app/server/chunks/_/icons.mjs +5933 -0
- package/dist/app/server/chunks/_/icons.mjs.map +1 -0
- package/dist/app/server/chunks/_/icons2.mjs +11338 -0
- package/dist/app/server/chunks/_/icons2.mjs.map +1 -0
- package/dist/app/server/chunks/build/IntegrationCredentials-styles.CULcCK6_.mjs +8 -0
- package/dist/app/server/chunks/build/IntegrationCredentials-styles.CULcCK6_.mjs.map +1 -0
- package/dist/app/server/chunks/build/_id_-DBwSV4AY.mjs +1354 -0
- package/dist/app/server/chunks/build/_id_-DBwSV4AY.mjs.map +1 -0
- package/dist/app/server/chunks/build/client.precomputed.mjs +4 -0
- package/dist/app/server/chunks/build/client.precomputed.mjs.map +1 -0
- package/dist/app/server/chunks/build/error-404-D2QibUBT.mjs +121 -0
- package/dist/app/server/chunks/build/error-404-D2QibUBT.mjs.map +1 -0
- package/dist/app/server/chunks/build/error-404-styles.Bvxdxqjk.mjs +8 -0
- package/dist/app/server/chunks/build/error-404-styles.Bvxdxqjk.mjs.map +1 -0
- package/dist/app/server/chunks/build/error-500-DYvawybF.mjs +104 -0
- package/dist/app/server/chunks/build/error-500-DYvawybF.mjs.map +1 -0
- package/dist/app/server/chunks/build/error-500-styles.BnYAAXSg.mjs +8 -0
- package/dist/app/server/chunks/build/error-500-styles.BnYAAXSg.mjs.map +1 -0
- package/dist/app/server/chunks/build/fetch-ZbqIFhDG.mjs +2851 -0
- package/dist/app/server/chunks/build/fetch-ZbqIFhDG.mjs.map +1 -0
- package/dist/app/server/chunks/build/index-5H-nmhph.mjs +68 -0
- package/dist/app/server/chunks/build/index-5H-nmhph.mjs.map +1 -0
- package/dist/app/server/chunks/build/index-C8flTcKI.mjs +720 -0
- package/dist/app/server/chunks/build/index-C8flTcKI.mjs.map +1 -0
- package/dist/app/server/chunks/build/server.mjs +8736 -0
- package/dist/app/server/chunks/build/server.mjs.map +1 -0
- package/dist/app/server/chunks/build/styles.mjs +12 -0
- package/dist/app/server/chunks/build/styles.mjs.map +1 -0
- package/dist/app/server/chunks/nitro/nitro.mjs +9359 -0
- package/dist/app/server/chunks/nitro/nitro.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/_commandable/status.get.mjs +59 -0
- package/dist/app/server/chunks/routes/api/_commandable/status.get.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/catalog/_type/tools.get.mjs +40 -0
- package/dist/app/server/chunks/routes/api/catalog/_type/tools.get.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/catalog/_type/toolsets.get.mjs +41 -0
- package/dist/app/server/chunks/routes/api/catalog/_type/toolsets.get.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/catalog.get.mjs +46 -0
- package/dist/app/server/chunks/routes/api/catalog.get.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/index.get.mjs +39 -0
- package/dist/app/server/chunks/routes/api/index.get.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/index.post.mjs +60 -0
- package/dist/app/server/chunks/routes/api/index.post.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/credentials-config.get.mjs +63 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/credentials-config.get.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/credentials-status.get.mjs +70 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/credentials-status.get.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/credentials.delete.mjs +61 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/credentials.delete.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/credentials.post.mjs +94 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/credentials.post.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/permissions.post.mjs +54 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/permissions.post.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/toolsets.post.mjs +53 -0
- package/dist/app/server/chunks/routes/api/integrations/_id/toolsets.post.mjs.map +1 -0
- package/dist/app/server/chunks/routes/api/integrations/_id_.delete.mjs +44 -0
- package/dist/app/server/chunks/routes/api/integrations/_id_.delete.mjs.map +1 -0
- package/dist/app/server/chunks/routes/health.get.mjs +37 -0
- package/dist/app/server/chunks/routes/health.get.mjs.map +1 -0
- package/dist/app/server/chunks/routes/mcp/create.mjs +56 -0
- package/dist/app/server/chunks/routes/mcp/create.mjs.map +1 -0
- package/dist/app/server/chunks/routes/mcp.mjs +56 -0
- package/dist/app/server/chunks/routes/mcp.mjs.map +1 -0
- package/dist/app/server/chunks/routes/renderer.mjs +492 -0
- package/dist/app/server/chunks/routes/renderer.mjs.map +1 -0
- package/dist/app/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
- package/dist/app/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
- package/dist/app/server/index.mjs +31 -0
- package/dist/app/server/index.mjs.map +1 -0
- package/dist/app/server/migrations/pg/0000_initial.sql +74 -0
- package/dist/app/server/migrations/pg/meta/_journal.json +13 -0
- package/dist/app/server/migrations/sqlite/0000_initial.sql +74 -0
- package/dist/app/server/migrations/sqlite/meta/_journal.json +13 -0
- package/dist/app/server/package.json +108 -0
- package/dist/cli/credentialManager.d.ts.map +1 -1
- package/dist/cli/credentialManager.js +5 -4
- package/dist/cli/credentialManager.js.map +1 -1
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +656 -17
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +124 -33
- package/dist/cli/setup.js.map +1 -1
- package/dist/config/configApply.js +1 -1
- package/dist/config/configApply.js.map +1 -1
- package/dist/config/configSchema.d.ts +6 -2
- package/dist/config/configSchema.d.ts.map +1 -1
- package/dist/config/configSchema.js +2 -1
- package/dist/config/configSchema.js.map +1 -1
- package/dist/db/client.d.ts +3 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js.map +1 -1
- package/dist/db/credentialStore.d.ts +2 -0
- package/dist/db/credentialStore.d.ts.map +1 -1
- package/dist/db/credentialStore.js +15 -16
- package/dist/db/credentialStore.js.map +1 -1
- package/dist/db/integrationStore.d.ts +7 -0
- package/dist/db/integrationStore.d.ts.map +1 -1
- package/dist/db/integrationStore.js +61 -31
- package/dist/db/integrationStore.js.map +1 -1
- package/dist/db/integrationTypeConfigStore.d.ts +6 -0
- package/dist/db/integrationTypeConfigStore.d.ts.map +1 -0
- package/dist/db/integrationTypeConfigStore.js +94 -0
- package/dist/db/integrationTypeConfigStore.js.map +1 -0
- package/dist/db/migrate.d.ts.map +1 -1
- package/dist/db/migrate.js +8 -109
- package/dist/db/migrate.js.map +1 -1
- package/dist/db/migrations/pg/0000_initial.sql +74 -0
- package/dist/db/migrations/pg/meta/_journal.json +13 -0
- package/dist/db/migrations/sqlite/0000_initial.sql +74 -0
- package/dist/db/migrations/sqlite/meta/_journal.json +13 -0
- package/dist/db/schema.d.ts +961 -153
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +55 -3
- package/dist/db/schema.js.map +1 -1
- package/dist/db/toolDefinitionStore.d.ts +6 -0
- package/dist/db/toolDefinitionStore.d.ts.map +1 -0
- package/dist/db/toolDefinitionStore.js +95 -0
- package/dist/db/toolDefinitionStore.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/actionsFactory.d.ts +5 -1
- package/dist/integrations/actionsFactory.d.ts.map +1 -1
- package/dist/integrations/actionsFactory.js +37 -14
- package/dist/integrations/actionsFactory.js.map +1 -1
- package/dist/integrations/customToolFactory.d.ts +13 -0
- package/dist/integrations/customToolFactory.d.ts.map +1 -0
- package/dist/integrations/customToolFactory.js +31 -0
- package/dist/integrations/customToolFactory.js.map +1 -0
- package/dist/integrations/dataLoader.d.ts +2 -2
- package/dist/integrations/dataLoader.d.ts.map +1 -1
- package/dist/integrations/dataLoader.js +1 -1
- package/dist/integrations/dataLoader.js.map +1 -1
- package/dist/integrations/fileIntegrationTypeConfigStore.d.ts +7 -0
- package/dist/integrations/fileIntegrationTypeConfigStore.d.ts.map +1 -0
- package/dist/integrations/fileIntegrationTypeConfigStore.js +34 -0
- package/dist/integrations/fileIntegrationTypeConfigStore.js.map +1 -0
- package/dist/integrations/getIntegration.d.ts +4 -1
- package/dist/integrations/getIntegration.d.ts.map +1 -1
- package/dist/integrations/getIntegration.js +12 -4
- package/dist/integrations/getIntegration.js.map +1 -1
- package/dist/integrations/health.d.ts +20 -0
- package/dist/integrations/health.d.ts.map +1 -0
- package/dist/integrations/health.js +43 -0
- package/dist/integrations/health.js.map +1 -0
- package/dist/integrations/integrationTypeConfigLookup.d.ts +12 -0
- package/dist/integrations/integrationTypeConfigLookup.d.ts.map +1 -0
- package/dist/integrations/integrationTypeConfigLookup.js +11 -0
- package/dist/integrations/integrationTypeConfigLookup.js.map +1 -0
- package/dist/integrations/providerRegistry.d.ts.map +1 -1
- package/dist/integrations/providerRegistry.js +0 -4
- package/dist/integrations/providerRegistry.js.map +1 -1
- package/dist/integrations/proxy.d.ts +4 -1
- package/dist/integrations/proxy.d.ts.map +1 -1
- package/dist/integrations/proxy.js +94 -106
- package/dist/integrations/proxy.js.map +1 -1
- package/dist/integrations/sandbox.js +11 -1
- package/dist/integrations/sandbox.js.map +1 -1
- package/dist/mcp/abilityCatalog.d.ts +46 -0
- package/dist/mcp/abilityCatalog.d.ts.map +1 -0
- package/dist/mcp/abilityCatalog.js +275 -0
- package/dist/mcp/abilityCatalog.js.map +1 -0
- package/dist/mcp/builder_guide.md +441 -0
- package/dist/mcp/commandable_readme.md +29 -0
- package/dist/mcp/handlers.d.ts +10 -1
- package/dist/mcp/handlers.d.ts.map +1 -1
- package/dist/mcp/handlers.js +51 -4
- package/dist/mcp/handlers.js.map +1 -1
- package/dist/mcp/metaTools.d.ts +77 -0
- package/dist/mcp/metaTools.d.ts.map +1 -0
- package/dist/mcp/metaTools.js +753 -0
- package/dist/mcp/metaTools.js.map +1 -0
- package/dist/mcp/server.d.ts +10 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/sessionState.d.ts +18 -0
- package/dist/mcp/sessionState.d.ts.map +1 -0
- package/dist/mcp/sessionState.js +65 -0
- package/dist/mcp/sessionState.js.map +1 -0
- package/dist/mcp/toolAdapter.d.ts +17 -0
- package/dist/mcp/toolAdapter.d.ts.map +1 -1
- package/dist/mcp/toolAdapter.js +7 -1
- package/dist/mcp/toolAdapter.js.map +1 -1
- package/dist/types.d.ts +61 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +7 -0
- package/dist/version.js.map +1 -0
- package/package.json +7 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nitro.mjs","sources":["../../../../../node_modules/destr/dist/index.mjs","../../../../../node_modules/ufo/dist/index.mjs","../../../../../node_modules/radix3/dist/index.mjs","../../../../../node_modules/defu/dist/defu.mjs","../../../../../node_modules/node-mock-http/dist/index.mjs","../../../../../node_modules/h3/dist/index.mjs","../../../../../node_modules/hookable/dist/index.mjs","../../../../../node_modules/node-fetch-native/dist/native.mjs","../../../../../node_modules/ofetch/dist/shared/ofetch.CWycOUEr.mjs","../../../../../node_modules/ofetch/dist/node.mjs","../../../../../node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../../../../node_modules/unstorage/dist/index.mjs","../../../../../node_modules/unstorage/drivers/utils/index.mjs","../../../../../node_modules/unstorage/drivers/utils/node-fs.mjs","../../../../../node_modules/unstorage/drivers/fs-lite.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/storage.mjs","../../../../../node_modules/ohash/dist/shared/ohash.D__AXeF1.mjs","../../../../../node_modules/ohash/dist/crypto/node/index.mjs","../../../../../node_modules/ohash/dist/index.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/hash.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/cache.mjs","../../../../../node_modules/klona/dist/index.mjs","../../../../../node_modules/@nuxt/nitro-server/dist/runtime/utils/config.mjs","../../../../app/app.config.ts","../../../../../node_modules/scule/dist/index.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/utils.env.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/config.mjs","../../../../../node_modules/unctx/dist/index.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/context.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/route-rules.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/utils.mjs","../../../../../node_modules/@nuxt/nitro-server/dist/runtime/utils/error.mjs","../../../../../node_modules/@nuxt/nitro-server/dist/runtime/handlers/error.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/error/utils.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/error/prod.mjs","../../../../../node_modules/@nuxtjs/color-mode/dist/runtime/nitro-plugin.js","../../../../../packages/server/dist/errors/httpError.js","../../../../../packages/server/dist/crypto/encryption.js","../../../../../packages/integration-data/dist/loader.js","../../../../../packages/server/dist/integrations/tools.js","../../../../../packages/server/dist/integrations/providerRegistry.js","../../../../../packages/server/dist/integrations/sandbox.js","../../../../../packages/server/dist/integrations/getIntegration.js","../../../../../packages/server/dist/integrations/sandboxUtils.js","../../../../../packages/server/dist/integrations/actionsFactory.js","../../../../../packages/server/dist/integrations/fileIntegrationTypeConfigStore.js","../../../../../packages/server/dist/integrations/googleServiceAccount.js","../../../../../packages/server/dist/integrations/proxy.js","../../../../../packages/server/dist/db/schema.js","../../../../../packages/server/dist/db/integrationTypeConfigStore.js","../../../../../packages/server/dist/integrations/health.js","../../../../../packages/server/dist/integrations/integrationTypeConfigLookup.js","../../../../../packages/server/dist/db/client.js","../../../../../packages/server/dist/db/credentialStore.js","../../../../../packages/server/dist/db/integrationStore.js","../../../../../packages/server/dist/mcp/toolAdapter.js","../../../../../packages/server/dist/mcp/abilityCatalog.js","../../../../../packages/server/dist/db/toolDefinitionStore.js","../../../../../packages/server/dist/integrations/customToolFactory.js","../../../../../packages/server/dist/mcp/metaTools.js","../../../../../packages/server/dist/mcp/handlers.js","../../../../../packages/server/dist/mcp/sessionState.js","../../../../../packages/server/dist/mcp/auth.js","../../../../../packages/server/dist/config/configSchema.js","../../../../../packages/server/dist/config/configLoader.js","../../../../../packages/server/dist/config/configApply.js","../../../../../packages/server/dist/cli/credentialManager.js","../../../../server/utils/db.ts","../../../../server/plugins/configApply.ts","../../../../server/plugins/requireEncryptionSecret.ts","../../../../../node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/static.mjs","../../../../server/middleware/mcpAuth.ts","../../../../../node_modules/nitropack/dist/runtime/internal/plugin.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/renderer.mjs","../../../../../node_modules/@nuxt/nitro-server/dist/runtime/utils/paths.mjs","../../../../server/utils/mcp.ts","../../../../node_modules/.cache/nuxt/.nuxt/nuxt-icon-server-bundle.mjs","../../../../../node_modules/@nuxt/icon/dist/runtime/server/api.js","../../../../../node_modules/nitropack/dist/runtime/internal/app.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/lib/http-graceful-shutdown.mjs","../../../../../node_modules/nitropack/dist/runtime/internal/shutdown.mjs","../../../../../node_modules/nitropack/dist/presets/node/runtime/node-server.mjs"],"names":["getQuery","createRouter","f","h","c","i","l","createError","getHeader","mergeHeaders","s","nodeFetch","fetch","Headers","Headers$1","AbortController$1","$fetch","normalizeKey","defineDriver","DRIVER_NAME","dirname","fsPromises","resolve","fsp","serialize","hash","getKey","_inlineAppConfig","createRadixRouter","__publicField","SCOPE_RANK","URL","URLSearchParams","baseUrl","creds","v","Buffer","providerCfg","finalUrl","response","sqlitePrimaryKey","pgText","pgInteger","pgPrimaryKey","t","db","parseJson","normalizeHintMarkdown","drizzlePg","drizzleSqlite","humanize","levenshtein","_a","_b","_c","name","tool","res","cwd","sid","nitroApp","callNodeRequestHandler","fetchNodeRequestHandler","gracefulShutdown","HttpsServer","HttpServer"],"mappings":"","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28,29,30,31,32,33,34,35,70,71,73,74,75,77,78,79,80,81,82]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { d as defineEventHandler } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { resolve } from 'node:path';
|
|
4
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
5
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
6
|
+
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
7
|
+
import 'node:crypto';
|
|
8
|
+
import 'fastest-levenshtein';
|
|
9
|
+
import 'node:fs';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'node:vm';
|
|
12
|
+
import 'turndown';
|
|
13
|
+
import 'marked';
|
|
14
|
+
import 'drizzle-orm';
|
|
15
|
+
import 'node:buffer';
|
|
16
|
+
import 'google-auth-library';
|
|
17
|
+
import 'node:http';
|
|
18
|
+
import 'node:https';
|
|
19
|
+
import 'node:events';
|
|
20
|
+
import 'better-sqlite3';
|
|
21
|
+
import 'drizzle-orm/better-sqlite3';
|
|
22
|
+
import 'drizzle-orm/node-postgres';
|
|
23
|
+
import 'pg';
|
|
24
|
+
import 'node:process';
|
|
25
|
+
import 'js-yaml';
|
|
26
|
+
import 'zod';
|
|
27
|
+
import 'drizzle-orm/sqlite-core';
|
|
28
|
+
import 'drizzle-orm/pg-core';
|
|
29
|
+
import '@iconify/utils';
|
|
30
|
+
import 'consola';
|
|
31
|
+
|
|
32
|
+
function getSpaceId() {
|
|
33
|
+
const v = process.env.COMMANDABLE_SPACE_ID;
|
|
34
|
+
return v && v.trim().length ? v.trim() : "local";
|
|
35
|
+
}
|
|
36
|
+
function getDbIdentity() {
|
|
37
|
+
const databaseUrl = process.env.DATABASE_URL;
|
|
38
|
+
if (databaseUrl && databaseUrl.trim().length)
|
|
39
|
+
return { dialect: "postgres" };
|
|
40
|
+
const forced = process.env.COMMANDABLE_MCP_SQLITE_PATH;
|
|
41
|
+
if (forced && forced.trim().length)
|
|
42
|
+
return { dialect: "sqlite", sqlitePath: resolve(forced.trim()) };
|
|
43
|
+
const dataDir = process.env.COMMANDABLE_DATA_DIR;
|
|
44
|
+
if (dataDir && dataDir.trim().length)
|
|
45
|
+
return { dialect: "sqlite", sqlitePath: resolve(dataDir.trim(), "credentials.sqlite") };
|
|
46
|
+
return { dialect: "sqlite", sqlitePath: resolve(homedir(), ".commandable", "credentials.sqlite") };
|
|
47
|
+
}
|
|
48
|
+
const status_get = defineEventHandler(() => {
|
|
49
|
+
return {
|
|
50
|
+
ok: true,
|
|
51
|
+
service: "commandable-management-ui",
|
|
52
|
+
version: (process.env.COMMANDABLE_VERSION || "").trim() || null,
|
|
53
|
+
spaceId: getSpaceId(),
|
|
54
|
+
db: getDbIdentity()
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
export { status_get as default };
|
|
59
|
+
//# sourceMappingURL=status.get.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.get.mjs","sources":["../../../../../../server/api/_commandable/status.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAS,UAAA,GAAqB;AAC5B,EAAA,MAAM,CAAA,GAAI,QAAQ,GAAA,CAAI,oBAAA;AACtB,EAAA,OAAO,KAAK,CAAA,CAAE,IAAA,GAAO,MAAA,GAAS,CAAA,CAAE,MAAK,GAAI,OAAA;AAC3C;AAEA,SAAS,aAAA,GAAqF;AAC5F,EAAA,MAAM,WAAA,GAAc,QAAQ,GAAA,CAAI,YAAA;AAChC,EAAA,IAAI,WAAA,IAAe,WAAA,CAAY,IAAA,EAAK,CAAE,MAAA;AACpC,IAAA,OAAO,EAAE,SAAS,UAAA,EAAW;AAE/B,EAAA,MAAM,MAAA,GAAS,QAAQ,GAAA,CAAI,2BAAA;AAC3B,EAAA,IAAI,MAAA,IAAU,MAAA,CAAO,IAAA,EAAK,CAAE,MAAA;AAC1B,IAAA,OAAO,EAAE,SAAS,QAAA,EAAU,UAAA,EAAY,QAAQ,MAAA,CAAO,IAAA,EAAM,CAAA,EAAE;AAEjE,EAAA,MAAM,OAAA,GAAU,QAAQ,GAAA,CAAI,oBAAA;AAC5B,EAAA,IAAI,OAAA,IAAW,OAAA,CAAQ,IAAA,EAAK,CAAE,MAAA;AAC5B,IAAA,OAAO,EAAE,SAAS,QAAA,EAAU,UAAA,EAAY,QAAQ,OAAA,CAAQ,IAAA,EAAK,EAAG,oBAAoB,CAAA,EAAE;AAExF,EAAA,OAAO,EAAE,SAAS,QAAA,EAAU,UAAA,EAAY,QAAQ,OAAA,EAAQ,EAAG,cAAA,EAAgB,oBAAoB,CAAA,EAAE;AACnG;AAEA,mBAAe,mBAAmB,MAAM;AACtC,EAAA,OAAO;AAAA,IACL,EAAA,EAAI,IAAA;AAAA,IACJ,OAAA,EAAS,2BAAA;AAAA,IACT,UAAU,OAAA,CAAQ,GAAA,CAAI,mBAAA,IAAuB,EAAA,EAAI,MAAK,IAAK,IAAA;AAAA,IAC3D,SAAS,UAAA,EAAW;AAAA,IACpB,IAAI,aAAA;AAAc,GACpB;AACF,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { d as defineEventHandler, g as getRouterParam, c as createError, b as loadIntegrationToolList } from '../../../../nitro/nitro.mjs';
|
|
2
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
4
|
+
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'fastest-levenshtein';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'node:url';
|
|
10
|
+
import 'node:vm';
|
|
11
|
+
import 'turndown';
|
|
12
|
+
import 'marked';
|
|
13
|
+
import 'drizzle-orm';
|
|
14
|
+
import 'node:buffer';
|
|
15
|
+
import 'google-auth-library';
|
|
16
|
+
import 'node:http';
|
|
17
|
+
import 'node:https';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:os';
|
|
20
|
+
import 'better-sqlite3';
|
|
21
|
+
import 'drizzle-orm/better-sqlite3';
|
|
22
|
+
import 'drizzle-orm/node-postgres';
|
|
23
|
+
import 'pg';
|
|
24
|
+
import 'node:process';
|
|
25
|
+
import 'js-yaml';
|
|
26
|
+
import 'zod';
|
|
27
|
+
import 'drizzle-orm/sqlite-core';
|
|
28
|
+
import 'drizzle-orm/pg-core';
|
|
29
|
+
import '@iconify/utils';
|
|
30
|
+
import 'consola';
|
|
31
|
+
|
|
32
|
+
const tools_get = defineEventHandler((event) => {
|
|
33
|
+
const type = getRouterParam(event, "type");
|
|
34
|
+
if (!type)
|
|
35
|
+
throw createError({ statusCode: 400, statusMessage: "type is required" });
|
|
36
|
+
return loadIntegrationToolList(type);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
export { tools_get as default };
|
|
40
|
+
//# sourceMappingURL=tools.get.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.get.mjs","sources":["../../../../../../../server/api/catalog/[type]/tools.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,kBAAe,kBAAA,CAAmB,CAAC,KAAA,KAAU;AAC3C,EAAA,MAAM,IAAA,GAAO,cAAA,CAAe,KAAA,EAAO,MAAM,CAAA;AACzC,EAAA,IAAI,CAAC,IAAA;AACH,IAAA,MAAM,YAAY,EAAE,UAAA,EAAY,GAAA,EAAK,aAAA,EAAe,oBAAoB,CAAA;AAE1E,EAAA,OAAO,wBAAwB,IAAI,CAAA;AACrC,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { d as defineEventHandler, g as getRouterParam, c as createError, e as loadIntegrationToolsets } from '../../../../nitro/nitro.mjs';
|
|
2
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
4
|
+
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'fastest-levenshtein';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'node:url';
|
|
10
|
+
import 'node:vm';
|
|
11
|
+
import 'turndown';
|
|
12
|
+
import 'marked';
|
|
13
|
+
import 'drizzle-orm';
|
|
14
|
+
import 'node:buffer';
|
|
15
|
+
import 'google-auth-library';
|
|
16
|
+
import 'node:http';
|
|
17
|
+
import 'node:https';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:os';
|
|
20
|
+
import 'better-sqlite3';
|
|
21
|
+
import 'drizzle-orm/better-sqlite3';
|
|
22
|
+
import 'drizzle-orm/node-postgres';
|
|
23
|
+
import 'pg';
|
|
24
|
+
import 'node:process';
|
|
25
|
+
import 'js-yaml';
|
|
26
|
+
import 'zod';
|
|
27
|
+
import 'drizzle-orm/sqlite-core';
|
|
28
|
+
import 'drizzle-orm/pg-core';
|
|
29
|
+
import '@iconify/utils';
|
|
30
|
+
import 'consola';
|
|
31
|
+
|
|
32
|
+
const toolsets_get = defineEventHandler((event) => {
|
|
33
|
+
const type = getRouterParam(event, "type");
|
|
34
|
+
if (!type)
|
|
35
|
+
throw createError({ statusCode: 400, statusMessage: "type is required" });
|
|
36
|
+
const toolsets = loadIntegrationToolsets(type);
|
|
37
|
+
return toolsets != null ? toolsets : {};
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
export { toolsets_get as default };
|
|
41
|
+
//# sourceMappingURL=toolsets.get.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolsets.get.mjs","sources":["../../../../../../../server/api/catalog/[type]/toolsets.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,qBAAe,kBAAA,CAAmB,CAAC,KAAA,KAAU;AAC3C,EAAA,MAAM,IAAA,GAAO,cAAA,CAAe,KAAA,EAAO,MAAM,CAAA;AACzC,EAAA,IAAI,CAAC,IAAA;AACH,IAAA,MAAM,YAAY,EAAE,UAAA,EAAY,GAAA,EAAK,aAAA,EAAe,oBAAoB,CAAA;AAE1E,EAAA,MAAM,QAAA,GAAW,wBAAwB,IAAI,CAAA;AAC7C,EAAA,OAAO,8BAAY,EAAC;AACtB,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { d as defineEventHandler, l as listIntegrationCatalog, a as loadIntegrationCredentialConfig } from '../../nitro/nitro.mjs';
|
|
2
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
4
|
+
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'fastest-levenshtein';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'node:url';
|
|
10
|
+
import 'node:vm';
|
|
11
|
+
import 'turndown';
|
|
12
|
+
import 'marked';
|
|
13
|
+
import 'drizzle-orm';
|
|
14
|
+
import 'node:buffer';
|
|
15
|
+
import 'google-auth-library';
|
|
16
|
+
import 'node:http';
|
|
17
|
+
import 'node:https';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:os';
|
|
20
|
+
import 'better-sqlite3';
|
|
21
|
+
import 'drizzle-orm/better-sqlite3';
|
|
22
|
+
import 'drizzle-orm/node-postgres';
|
|
23
|
+
import 'pg';
|
|
24
|
+
import 'node:process';
|
|
25
|
+
import 'js-yaml';
|
|
26
|
+
import 'zod';
|
|
27
|
+
import 'drizzle-orm/sqlite-core';
|
|
28
|
+
import 'drizzle-orm/pg-core';
|
|
29
|
+
import '@iconify/utils';
|
|
30
|
+
import 'consola';
|
|
31
|
+
|
|
32
|
+
const catalog_get = defineEventHandler(() => {
|
|
33
|
+
const items = listIntegrationCatalog();
|
|
34
|
+
return items.map((it) => {
|
|
35
|
+
var _a;
|
|
36
|
+
const cred = loadIntegrationCredentialConfig(it.type);
|
|
37
|
+
return {
|
|
38
|
+
...it,
|
|
39
|
+
supportsCredentials: !!cred,
|
|
40
|
+
credentialSchema: (_a = cred == null ? void 0 : cred.schema) != null ? _a : null
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
export { catalog_get as default };
|
|
46
|
+
//# sourceMappingURL=catalog.get.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.get.mjs","sources":["../../../../../server/api/catalog.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oBAAe,mBAAmB,MAAM;AACtC,EAAA,MAAM,QAAQ,sBAAA,EAAuB;AACrC,EAAA,OAAO,KAAA,CAAM,GAAA,CAAI,CAAC,EAAA,KAAO;AAL3B,IAAA,IAAA,EAAA;AAMI,IAAA,MAAM,IAAA,GAAO,+BAAA,CAAgC,EAAA,CAAG,IAAI,CAAA;AACpD,IAAA,OAAO;AAAA,MACL,GAAG,EAAA;AAAA,MACH,mBAAA,EAAqB,CAAC,CAAC,IAAA;AAAA,MACvB,gBAAA,EAAA,CAAkB,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,MAAA,KAAN,IAAA,GAAA,EAAA,GAAgB;AAAA,KACpC;AAAA,EACF,CAAC,CAAA;AACH,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { d as defineEventHandler, f as getDb, n as listIntegrations } from '../../nitro/nitro.mjs';
|
|
2
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
4
|
+
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'fastest-levenshtein';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'node:url';
|
|
10
|
+
import 'node:vm';
|
|
11
|
+
import 'turndown';
|
|
12
|
+
import 'marked';
|
|
13
|
+
import 'drizzle-orm';
|
|
14
|
+
import 'node:buffer';
|
|
15
|
+
import 'google-auth-library';
|
|
16
|
+
import 'node:http';
|
|
17
|
+
import 'node:https';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:os';
|
|
20
|
+
import 'better-sqlite3';
|
|
21
|
+
import 'drizzle-orm/better-sqlite3';
|
|
22
|
+
import 'drizzle-orm/node-postgres';
|
|
23
|
+
import 'pg';
|
|
24
|
+
import 'node:process';
|
|
25
|
+
import 'js-yaml';
|
|
26
|
+
import 'zod';
|
|
27
|
+
import 'drizzle-orm/sqlite-core';
|
|
28
|
+
import 'drizzle-orm/pg-core';
|
|
29
|
+
import '@iconify/utils';
|
|
30
|
+
import 'consola';
|
|
31
|
+
|
|
32
|
+
const index_get = defineEventHandler(async () => {
|
|
33
|
+
const db = await getDb();
|
|
34
|
+
const spaceId = (process.env.COMMANDABLE_SPACE_ID || "local").trim() || "local";
|
|
35
|
+
return await listIntegrations(db, spaceId);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
export { index_get as default };
|
|
39
|
+
//# sourceMappingURL=index.get.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.get.mjs","sources":["../../../../../server/api/integrations/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kBAAe,mBAAmB,YAAY;AAC5C,EAAA,MAAM,EAAA,GAAK,MAAM,KAAA,EAAM;AACvB,EAAA,MAAM,WAAW,OAAA,CAAQ,GAAA,CAAI,oBAAA,IAAwB,OAAA,EAAS,MAAK,IAAK,OAAA;AACxE,EAAA,OAAO,MAAM,gBAAA,CAAiB,EAAA,EAAI,OAAO,CAAA;AAC3C,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { d as defineEventHandler, k as readBody, c as createError, f as getDb, o as upsertIntegration, r as refreshMcpState } from '../../nitro/nitro.mjs';
|
|
3
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
5
|
+
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
6
|
+
import 'fastest-levenshtein';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'node:url';
|
|
10
|
+
import 'node:vm';
|
|
11
|
+
import 'turndown';
|
|
12
|
+
import 'marked';
|
|
13
|
+
import 'drizzle-orm';
|
|
14
|
+
import 'node:buffer';
|
|
15
|
+
import 'google-auth-library';
|
|
16
|
+
import 'node:http';
|
|
17
|
+
import 'node:https';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:os';
|
|
20
|
+
import 'better-sqlite3';
|
|
21
|
+
import 'drizzle-orm/better-sqlite3';
|
|
22
|
+
import 'drizzle-orm/node-postgres';
|
|
23
|
+
import 'pg';
|
|
24
|
+
import 'node:process';
|
|
25
|
+
import 'js-yaml';
|
|
26
|
+
import 'zod';
|
|
27
|
+
import 'drizzle-orm/sqlite-core';
|
|
28
|
+
import 'drizzle-orm/pg-core';
|
|
29
|
+
import '@iconify/utils';
|
|
30
|
+
import 'consola';
|
|
31
|
+
|
|
32
|
+
const index_post = defineEventHandler(async (event) => {
|
|
33
|
+
const body = await readBody(event);
|
|
34
|
+
const id = (body == null ? void 0 : body.id) || randomUUID();
|
|
35
|
+
const spaceId = (process.env.COMMANDABLE_SPACE_ID || "local").trim() || "local";
|
|
36
|
+
const integration = {
|
|
37
|
+
spaceId,
|
|
38
|
+
id,
|
|
39
|
+
type: body == null ? void 0 : body.type,
|
|
40
|
+
referenceId: (body == null ? void 0 : body.referenceId) || (body == null ? void 0 : body.type),
|
|
41
|
+
label: (body == null ? void 0 : body.label) || (body == null ? void 0 : body.type),
|
|
42
|
+
enabled: typeof (body == null ? void 0 : body.enabled) === "boolean" ? body.enabled : true,
|
|
43
|
+
connectionMethod: (body == null ? void 0 : body.connectionMethod) || void 0,
|
|
44
|
+
connectionId: (body == null ? void 0 : body.connectionId) || void 0,
|
|
45
|
+
credentialId: (body == null ? void 0 : body.credentialId) || void 0,
|
|
46
|
+
// Empty array means "all toolsets enabled" -> store null/undefined (no filtering).
|
|
47
|
+
enabledToolsets: Array.isArray(body == null ? void 0 : body.enabledToolsets) && body.enabledToolsets.length ? body.enabledToolsets : void 0,
|
|
48
|
+
maxScope: (body == null ? void 0 : body.maxScope) === "read" || (body == null ? void 0 : body.maxScope) === "write" ? body.maxScope : void 0,
|
|
49
|
+
disabledTools: Array.isArray(body == null ? void 0 : body.disabledTools) && body.disabledTools.length ? body.disabledTools : void 0
|
|
50
|
+
};
|
|
51
|
+
if (!integration.type)
|
|
52
|
+
throw createError({ statusCode: 400, statusMessage: "type is required" });
|
|
53
|
+
const db = await getDb();
|
|
54
|
+
await upsertIntegration(db, integration);
|
|
55
|
+
await refreshMcpState();
|
|
56
|
+
return integration;
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
export { index_post as default };
|
|
60
|
+
//# sourceMappingURL=index.post.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.post.mjs","sources":["../../../../../server/api/integrations/index.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,mBAAe,kBAAA,CAAmB,OAAO,KAAA,KAAU;AACjD,EAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,KAAK,CAAA;AACjC,EAAA,MAAM,EAAA,GAAA,CAAK,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,EAAA,KAAM,UAAA,EAAW;AAClC,EAAA,MAAM,WAAW,OAAA,CAAQ,GAAA,CAAI,oBAAA,IAAwB,OAAA,EAAS,MAAK,IAAK,OAAA;AAExE,EAAA,MAAM,WAAA,GAA+B;AAAA,IACnC,OAAA;AAAA,IACA,EAAA;AAAA,IACA,MAAM,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAA;AAAA,IACZ,WAAA,EAAA,CAAa,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,WAAA,MAAe,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAA,CAAA;AAAA,IACxC,KAAA,EAAA,CAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,KAAA,MAAS,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,IAAA,CAAA;AAAA,IAC5B,SAAS,QAAO,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,OAAA,CAAA,KAAY,SAAA,GAAY,KAAK,OAAA,GAAU,IAAA;AAAA,IAC7D,gBAAA,EAAA,CAAkB,6BAAM,gBAAA,KAAoB,MAAA;AAAA,IAC5C,YAAA,EAAA,CAAc,6BAAM,YAAA,KAAgB,MAAA;AAAA,IACpC,YAAA,EAAA,CAAc,6BAAM,YAAA,KAAgB,MAAA;AAAA;AAAA,IAEpC,eAAA,EAAiB,KAAA,CAAM,OAAA,CAAQ,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAe,KAAK,IAAA,CAAK,eAAA,CAAgB,MAAA,GAAS,IAAA,CAAK,eAAA,GAAkB,MAAA;AAAA,IAC9G,QAAA,EAAA,CAAU,6BAAM,QAAA,MAAa,MAAA,IAAA,CAAU,6BAAM,QAAA,MAAa,OAAA,GAAU,KAAK,QAAA,GAAW,MAAA;AAAA,IACpF,aAAA,EAAe,KAAA,CAAM,OAAA,CAAQ,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,aAAa,KAAK,IAAA,CAAK,aAAA,CAAc,MAAA,GAAS,IAAA,CAAK,aAAA,GAAgB;AAAA,GACxG;AAEA,EAAA,IAAI,CAAC,WAAA,CAAY,IAAA;AACf,IAAA,MAAM,YAAY,EAAE,UAAA,EAAY,GAAA,EAAK,aAAA,EAAe,oBAAoB,CAAA;AAE1E,EAAA,MAAM,EAAA,GAAK,MAAM,KAAA,EAAM;AACvB,EAAA,MAAM,iBAAA,CAAkB,IAAI,WAAW,CAAA;AACvC,EAAA,MAAM,eAAA,EAAgB;AACtB,EAAA,OAAO,WAAA;AACT,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { d as defineEventHandler, g as getRouterParam, c as createError, f as getDb, s as sqliteIntegrations, p as pgIntegrations, h as findIntegrationTypeConfig } from '../../../../nitro/nitro.mjs';
|
|
2
|
+
import { eq } from 'drizzle-orm';
|
|
3
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
5
|
+
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
6
|
+
import 'node:crypto';
|
|
7
|
+
import 'fastest-levenshtein';
|
|
8
|
+
import 'node:fs';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'node:vm';
|
|
12
|
+
import 'turndown';
|
|
13
|
+
import 'marked';
|
|
14
|
+
import 'node:buffer';
|
|
15
|
+
import 'google-auth-library';
|
|
16
|
+
import 'node:http';
|
|
17
|
+
import 'node:https';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:os';
|
|
20
|
+
import 'better-sqlite3';
|
|
21
|
+
import 'drizzle-orm/better-sqlite3';
|
|
22
|
+
import 'drizzle-orm/node-postgres';
|
|
23
|
+
import 'pg';
|
|
24
|
+
import 'node:process';
|
|
25
|
+
import 'js-yaml';
|
|
26
|
+
import 'zod';
|
|
27
|
+
import 'drizzle-orm/sqlite-core';
|
|
28
|
+
import 'drizzle-orm/pg-core';
|
|
29
|
+
import '@iconify/utils';
|
|
30
|
+
import 'consola';
|
|
31
|
+
|
|
32
|
+
const credentialsConfig_get = defineEventHandler(async (event) => {
|
|
33
|
+
var _a;
|
|
34
|
+
const id = getRouterParam(event, "id");
|
|
35
|
+
if (!id)
|
|
36
|
+
throw createError({ statusCode: 400, statusMessage: "id is required" });
|
|
37
|
+
const db = await getDb();
|
|
38
|
+
const table = db.dialect === "sqlite" ? sqliteIntegrations : pgIntegrations;
|
|
39
|
+
const rows = await db.db.select().from(table).where(eq(table.id, id)).limit(1);
|
|
40
|
+
const integ = rows == null ? void 0 : rows[0];
|
|
41
|
+
if (!integ)
|
|
42
|
+
throw createError({ statusCode: 404, statusMessage: "integration not found" });
|
|
43
|
+
const spaceId = (_a = integ.spaceId) != null ? _a : "local";
|
|
44
|
+
const typeConfig = await findIntegrationTypeConfig({ db, spaceId, typeSlug: integ.type });
|
|
45
|
+
if (!typeConfig)
|
|
46
|
+
return { supportsCredentials: false, variants: [], defaultVariant: null };
|
|
47
|
+
return {
|
|
48
|
+
supportsCredentials: true,
|
|
49
|
+
variants: Object.entries(typeConfig.variants).map(([key, variant]) => {
|
|
50
|
+
var _a2;
|
|
51
|
+
return {
|
|
52
|
+
key,
|
|
53
|
+
label: variant.label,
|
|
54
|
+
schema: variant.credentialSchema,
|
|
55
|
+
hintMarkdown: (_a2 = variant.hintMarkdown) != null ? _a2 : null
|
|
56
|
+
};
|
|
57
|
+
}),
|
|
58
|
+
defaultVariant: typeConfig.defaultVariant
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
export { credentialsConfig_get as default };
|
|
63
|
+
//# sourceMappingURL=credentials-config.get.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials-config.get.mjs","sources":["../../../../../../../server/api/integrations/[id]/credentials-config.get.ts"],"names":["_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,8BAAe,kBAAA,CAAmB,OAAO,KAAA,KAAU;AALnD,EAAA,IAAA,EAAA;AAME,EAAA,MAAM,EAAA,GAAK,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AACrC,EAAA,IAAI,CAAC,EAAA;AACH,IAAA,MAAM,YAAY,EAAE,UAAA,EAAY,GAAA,EAAK,aAAA,EAAe,kBAAkB,CAAA;AAExE,EAAA,MAAM,EAAA,GAAK,MAAM,KAAA,EAAM;AACvB,EAAA,MAAM,KAAA,GAAa,EAAA,CAAG,OAAA,KAAY,QAAA,GAAW,kBAAA,GAAqB,cAAA;AAClE,EAAA,MAAM,OAAO,MAAO,EAAA,CAAG,EAAA,CAAW,MAAA,GAAS,IAAA,CAAK,KAAK,CAAA,CAAE,KAAA,CAAM,GAAG,KAAA,CAAM,EAAA,EAAI,EAAE,CAAC,CAAA,CAAE,MAAM,CAAC,CAAA;AACtF,EAAA,MAAM,QAAQ,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAO,CAAA,CAAA;AACrB,EAAA,IAAI,CAAC,KAAA;AACH,IAAA,MAAM,YAAY,EAAE,UAAA,EAAY,GAAA,EAAK,aAAA,EAAe,yBAAyB,CAAA;AAE/E,EAAA,MAAM,OAAA,GAAA,CAAW,EAAA,GAAA,KAAA,CAAM,OAAA,KAAN,IAAA,GAAA,EAAA,GAA+C,OAAA;AAChE,EAAA,MAAM,UAAA,GAAa,MAAM,yBAAA,CAA0B,EAAE,IAAI,OAAA,EAAS,QAAA,EAAU,KAAA,CAAM,IAAA,EAAgB,CAAA;AAClG,EAAA,IAAI,CAAC,UAAA;AACH,IAAA,OAAO,EAAE,mBAAA,EAAqB,KAAA,EAAO,UAAU,EAAC,EAAG,gBAAgB,IAAA,EAAK;AAE1E,EAAA,OAAO;AAAA,IACL,mBAAA,EAAqB,IAAA;AAAA,IACrB,QAAA,EAAU,MAAA,CAAO,OAAA,CAAQ,UAAA,CAAW,QAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAC,GAAA,EAAK,OAAO,CAAA,KAAkB;AAxBtF,MAAA,IAAAA,GAAAA;AAwB0F,MAAA,OAAA;AAAA,QACpF,GAAA;AAAA,QACA,OAAO,OAAA,CAAQ,KAAA;AAAA,QACf,QAAQ,OAAA,CAAQ,gBAAA;AAAA,QAChB,YAAA,EAAA,CAAcA,GAAAA,GAAA,OAAA,CAAQ,YAAA,KAAR,OAAAA,GAAAA,GAAwB;AAAA,OACxC;AAAA,IAAA,CAAE,CAAA;AAAA,IACF,gBAAgB,UAAA,CAAW;AAAA,GAC7B;AACF,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { d as defineEventHandler, g as getRouterParam, c as createError, i as getOrCreateEncryptionSecret, f as getDb, s as sqliteIntegrations, p as pgIntegrations, h as findIntegrationTypeConfig, S as SqlCredentialStore } from '../../../../nitro/nitro.mjs';
|
|
2
|
+
import { eq } from 'drizzle-orm';
|
|
3
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
5
|
+
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
6
|
+
import 'node:crypto';
|
|
7
|
+
import 'fastest-levenshtein';
|
|
8
|
+
import 'node:fs';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'node:vm';
|
|
12
|
+
import 'turndown';
|
|
13
|
+
import 'marked';
|
|
14
|
+
import 'node:buffer';
|
|
15
|
+
import 'google-auth-library';
|
|
16
|
+
import 'node:http';
|
|
17
|
+
import 'node:https';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:os';
|
|
20
|
+
import 'better-sqlite3';
|
|
21
|
+
import 'drizzle-orm/better-sqlite3';
|
|
22
|
+
import 'drizzle-orm/node-postgres';
|
|
23
|
+
import 'pg';
|
|
24
|
+
import 'node:process';
|
|
25
|
+
import 'js-yaml';
|
|
26
|
+
import 'zod';
|
|
27
|
+
import 'drizzle-orm/sqlite-core';
|
|
28
|
+
import 'drizzle-orm/pg-core';
|
|
29
|
+
import '@iconify/utils';
|
|
30
|
+
import 'consola';
|
|
31
|
+
|
|
32
|
+
const credentialsStatus_get = defineEventHandler(async (event) => {
|
|
33
|
+
var _a, _b, _c, _d, _e;
|
|
34
|
+
const id = getRouterParam(event, "id");
|
|
35
|
+
if (!id)
|
|
36
|
+
throw createError({ statusCode: 400, statusMessage: "id is required" });
|
|
37
|
+
const encryptionSecret = getOrCreateEncryptionSecret();
|
|
38
|
+
const db = await getDb();
|
|
39
|
+
const table = db.dialect === "sqlite" ? sqliteIntegrations : pgIntegrations;
|
|
40
|
+
const rows = await db.db.select().from(table).where(eq(table.id, id)).limit(1);
|
|
41
|
+
const integ = rows == null ? void 0 : rows[0];
|
|
42
|
+
if (!integ)
|
|
43
|
+
throw createError({ statusCode: 404, statusMessage: "integration not found" });
|
|
44
|
+
const spaceId = (_a = integ.spaceId) != null ? _a : "local";
|
|
45
|
+
const typeConfig = await findIntegrationTypeConfig({ db, spaceId, typeSlug: integ.type });
|
|
46
|
+
const credentialVariant = integ.credentialVariant;
|
|
47
|
+
const variantKey = credentialVariant && (typeConfig == null ? void 0 : typeConfig.variants[credentialVariant]) ? credentialVariant : (_b = typeConfig == null ? void 0 : typeConfig.defaultVariant) != null ? _b : null;
|
|
48
|
+
const variant = variantKey ? typeConfig == null ? void 0 : typeConfig.variants[variantKey] : null;
|
|
49
|
+
const fieldNames = Object.keys(((_c = variant == null ? void 0 : variant.credentialSchema) == null ? void 0 : _c.properties) || {});
|
|
50
|
+
const credentialId = integ.credentialId;
|
|
51
|
+
if (!credentialId) {
|
|
52
|
+
return {
|
|
53
|
+
hasCredentials: false,
|
|
54
|
+
fieldNames,
|
|
55
|
+
health_status: (_d = integ.healthStatus) != null ? _d : "disconnected",
|
|
56
|
+
health_checked_at: integ.healthCheckedAt ? new Date(integ.healthCheckedAt).toISOString() : null
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const store = new SqlCredentialStore(db, encryptionSecret);
|
|
60
|
+
const hasCredentials = await store.hasCredentials(spaceId, credentialId);
|
|
61
|
+
return {
|
|
62
|
+
hasCredentials,
|
|
63
|
+
fieldNames,
|
|
64
|
+
health_status: (_e = integ.healthStatus) != null ? _e : null,
|
|
65
|
+
health_checked_at: integ.healthCheckedAt ? new Date(integ.healthCheckedAt).toISOString() : null
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
export { credentialsStatus_get as default };
|
|
70
|
+
//# sourceMappingURL=credentials-status.get.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials-status.get.mjs","sources":["../../../../../../../server/api/integrations/[id]/credentials-status.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,8BAAe,kBAAA,CAAmB,OAAO,KAAA,KAAU;AAXnD,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAYE,EAAA,MAAM,EAAA,GAAK,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AACrC,EAAA,IAAI,CAAC,EAAA;AACH,IAAA,MAAM,YAAY,EAAE,UAAA,EAAY,GAAA,EAAK,aAAA,EAAe,kBAAkB,CAAA;AAExE,EAAA,MAAM,mBAAmB,2BAAA,EAA4B;AAErD,EAAA,MAAM,EAAA,GAAK,MAAM,KAAA,EAAM;AACvB,EAAA,MAAM,KAAA,GAAa,EAAA,CAAG,OAAA,KAAY,QAAA,GAAW,kBAAA,GAAqB,cAAA;AAClE,EAAA,MAAM,OAAO,MAAO,EAAA,CAAG,EAAA,CAAW,MAAA,GAAS,IAAA,CAAK,KAAK,CAAA,CAAE,KAAA,CAAM,GAAG,KAAA,CAAM,EAAA,EAAI,EAAE,CAAC,CAAA,CAAE,MAAM,CAAC,CAAA;AACtF,EAAA,MAAM,QAAQ,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAO,CAAA,CAAA;AACrB,EAAA,IAAI,CAAC,KAAA;AACH,IAAA,MAAM,YAAY,EAAE,UAAA,EAAY,GAAA,EAAK,aAAA,EAAe,yBAAyB,CAAA;AAE/E,EAAA,MAAM,OAAA,GAAA,CAAW,EAAA,GAAA,KAAA,CAAM,OAAA,KAAN,IAAA,GAAA,EAAA,GAA+C,OAAA;AAChE,EAAA,MAAM,UAAA,GAAa,MAAM,yBAAA,CAA0B,EAAE,IAAI,OAAA,EAAS,QAAA,EAAU,KAAA,CAAM,IAAA,EAAgB,CAAA;AAElG,EAAA,MAAM,oBAAoB,KAAA,CAAM,iBAAA;AAChC,EAAA,MAAM,UAAA,GAAc,sBAAqB,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,QAAA,CAAS,sBAC1D,iBAAA,GAAA,CACC,EAAA,GAAA,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,mBAAZ,IAAA,GAAA,EAAA,GAA8B,IAAA;AACnC,EAAA,MAAM,OAAA,GAAU,UAAA,GAAa,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,QAAA,CAAS,UAAA,CAAA,GAAc,IAAA;AAChE,EAAA,MAAM,UAAA,GAAa,OAAO,IAAA,CAAA,CAAA,CAAM,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,qBAAT,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmC,UAAA,KAAc,EAAE,CAAA;AAEnF,EAAA,MAAM,eAAe,KAAA,CAAM,YAAA;AAC3B,EAAA,IAAI,CAAC,YAAA,EAAc;AACjB,IAAA,OAAO;AAAA,MACL,cAAA,EAAgB,KAAA;AAAA,MAChB,UAAA;AAAA,MACA,aAAA,EAAA,CAAgB,EAAA,GAAA,KAAA,CAAM,YAAA,KAAN,IAAA,GAAA,EAAA,GAAwC,cAAA;AAAA,MACxD,iBAAA,EAAmB,MAAM,eAAA,GAAkB,IAAI,KAAK,KAAA,CAAM,eAAe,CAAA,CAAE,WAAA,EAAY,GAAI;AAAA,KAC7F;AAAA,EACF;AAEA,EAAA,MAAM,KAAA,GAAQ,IAAI,kBAAA,CAAmB,EAAA,EAAI,gBAAgB,CAAA;AACzD,EAAA,MAAM,cAAA,GAAiB,MAAM,KAAA,CAAM,cAAA,CAAe,SAAS,YAAY,CAAA;AAEvE,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA,EAAA,CAAgB,EAAA,GAAA,KAAA,CAAM,YAAA,KAAN,IAAA,GAAA,EAAA,GAAwC,IAAA;AAAA,IACxD,iBAAA,EAAmB,MAAM,eAAA,GAAkB,IAAI,KAAK,KAAA,CAAM,eAAe,CAAA,CAAE,WAAA,EAAY,GAAI;AAAA,GAC7F;AACF,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { d as defineEventHandler, g as getRouterParam, c as createError, f as getDb, s as sqliteIntegrations, p as pgIntegrations, i as getOrCreateEncryptionSecret, S as SqlCredentialStore, u as updateIntegrationCredentials, j as updateIntegrationHealth, r as refreshMcpState } from '../../../../nitro/nitro.mjs';
|
|
2
|
+
import { eq } from 'drizzle-orm';
|
|
3
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
5
|
+
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
6
|
+
import 'node:crypto';
|
|
7
|
+
import 'fastest-levenshtein';
|
|
8
|
+
import 'node:fs';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'node:vm';
|
|
12
|
+
import 'turndown';
|
|
13
|
+
import 'marked';
|
|
14
|
+
import 'node:buffer';
|
|
15
|
+
import 'google-auth-library';
|
|
16
|
+
import 'node:http';
|
|
17
|
+
import 'node:https';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:os';
|
|
20
|
+
import 'better-sqlite3';
|
|
21
|
+
import 'drizzle-orm/better-sqlite3';
|
|
22
|
+
import 'drizzle-orm/node-postgres';
|
|
23
|
+
import 'pg';
|
|
24
|
+
import 'node:process';
|
|
25
|
+
import 'js-yaml';
|
|
26
|
+
import 'zod';
|
|
27
|
+
import 'drizzle-orm/sqlite-core';
|
|
28
|
+
import 'drizzle-orm/pg-core';
|
|
29
|
+
import '@iconify/utils';
|
|
30
|
+
import 'consola';
|
|
31
|
+
|
|
32
|
+
const credentials_delete = defineEventHandler(async (event) => {
|
|
33
|
+
var _a;
|
|
34
|
+
const id = getRouterParam(event, "id");
|
|
35
|
+
if (!id)
|
|
36
|
+
throw createError({ statusCode: 400, statusMessage: "id is required" });
|
|
37
|
+
const db = await getDb();
|
|
38
|
+
const table = db.dialect === "sqlite" ? sqliteIntegrations : pgIntegrations;
|
|
39
|
+
const rows = await db.db.select().from(table).where(eq(table.id, id)).limit(1);
|
|
40
|
+
const row = rows == null ? void 0 : rows[0];
|
|
41
|
+
if (!row)
|
|
42
|
+
throw createError({ statusCode: 404, statusMessage: "integration not found" });
|
|
43
|
+
const credentialId = row.credentialId;
|
|
44
|
+
if (credentialId) {
|
|
45
|
+
const spaceId = (_a = row.spaceId) != null ? _a : "local";
|
|
46
|
+
const encryptionSecret = getOrCreateEncryptionSecret();
|
|
47
|
+
const store = new SqlCredentialStore(db, encryptionSecret);
|
|
48
|
+
await store.deleteCredentials(spaceId, credentialId);
|
|
49
|
+
}
|
|
50
|
+
await updateIntegrationCredentials(db, id, {
|
|
51
|
+
connectionMethod: null,
|
|
52
|
+
credentialId: null,
|
|
53
|
+
credentialVariant: null
|
|
54
|
+
});
|
|
55
|
+
await updateIntegrationHealth(db, id, "disconnected");
|
|
56
|
+
await refreshMcpState();
|
|
57
|
+
return { ok: true };
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
export { credentials_delete as default };
|
|
61
|
+
//# sourceMappingURL=credentials.delete.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.delete.mjs","sources":["../../../../../../../server/api/integrations/[id]/credentials.delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,2BAAe,kBAAA,CAAmB,OAAO,KAAA,KAAU;AAbnD,EAAA,IAAA,EAAA;AAcE,EAAA,MAAM,EAAA,GAAK,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AACrC,EAAA,IAAI,CAAC,EAAA;AACH,IAAA,MAAM,YAAY,EAAE,UAAA,EAAY,GAAA,EAAK,aAAA,EAAe,kBAAkB,CAAA;AAExE,EAAA,MAAM,EAAA,GAAK,MAAM,KAAA,EAAM;AACvB,EAAA,MAAM,KAAA,GAAa,EAAA,CAAG,OAAA,KAAY,QAAA,GAAW,kBAAA,GAAqB,cAAA;AAClE,EAAA,MAAM,OAAO,MAAO,EAAA,CAAG,EAAA,CAAW,MAAA,GAAS,IAAA,CAAK,KAAK,CAAA,CAAE,KAAA,CAAM,GAAG,KAAA,CAAM,EAAA,EAAI,EAAE,CAAC,CAAA,CAAE,MAAM,CAAC,CAAA;AACtF,EAAA,MAAM,MAAM,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAO,CAAA,CAAA;AACnB,EAAA,IAAI,CAAC,GAAA;AACH,IAAA,MAAM,YAAY,EAAE,UAAA,EAAY,GAAA,EAAK,aAAA,EAAe,yBAAyB,CAAA;AAE/E,EAAA,MAAM,eAAe,GAAA,CAAI,YAAA;AACzB,EAAA,IAAI,YAAA,EAAc;AAChB,IAAA,MAAM,OAAA,GAAA,CAAU,EAAA,GAAA,GAAA,CAAI,OAAA,KAAJ,IAAA,GAAA,EAAA,GAAe,OAAA;AAC/B,IAAA,MAAM,mBAAmB,2BAAA,EAA4B;AACrD,IAAA,MAAM,KAAA,GAAQ,IAAI,kBAAA,CAAmB,EAAA,EAAI,gBAAgB,CAAA;AACzD,IAAA,MAAM,KAAA,CAAM,iBAAA,CAAkB,OAAA,EAAS,YAAY,CAAA;AAAA,EACrD;AAGA,EAAA,MAAM,4BAAA,CAA6B,IAAI,EAAA,EAAI;AAAA,IACzC,gBAAA,EAAkB,IAAA;AAAA,IAClB,YAAA,EAAc,IAAA;AAAA,IACd,iBAAA,EAAmB;AAAA,GACpB,CAAA;AAGD,EAAA,MAAM,uBAAA,CAAwB,EAAA,EAAI,EAAA,EAAI,cAAc,CAAA;AACpD,EAAA,MAAM,eAAA,EAAgB;AAEtB,EAAA,OAAO,EAAE,IAAI,IAAA,EAAK;AACpB,CAAC,CAAA;;;;"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { d as defineEventHandler, g as getRouterParam, c as createError, i as getOrCreateEncryptionSecret, k as readBody, f as getDb, s as sqliteIntegrations, p as pgIntegrations, S as SqlCredentialStore, u as updateIntegrationCredentials, h as findIntegrationTypeConfig, I as IntegrationProxy, m as checkIntegrationHealth, j as updateIntegrationHealth, r as refreshMcpState } from '../../../../nitro/nitro.mjs';
|
|
2
|
+
import { eq } from 'drizzle-orm';
|
|
3
|
+
import '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
import '@modelcontextprotocol/sdk/server/index.js';
|
|
5
|
+
import '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
6
|
+
import 'node:crypto';
|
|
7
|
+
import 'fastest-levenshtein';
|
|
8
|
+
import 'node:fs';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'node:vm';
|
|
12
|
+
import 'turndown';
|
|
13
|
+
import 'marked';
|
|
14
|
+
import 'node:buffer';
|
|
15
|
+
import 'google-auth-library';
|
|
16
|
+
import 'node:http';
|
|
17
|
+
import 'node:https';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:os';
|
|
20
|
+
import 'better-sqlite3';
|
|
21
|
+
import 'drizzle-orm/better-sqlite3';
|
|
22
|
+
import 'drizzle-orm/node-postgres';
|
|
23
|
+
import 'pg';
|
|
24
|
+
import 'node:process';
|
|
25
|
+
import 'js-yaml';
|
|
26
|
+
import 'zod';
|
|
27
|
+
import 'drizzle-orm/sqlite-core';
|
|
28
|
+
import 'drizzle-orm/pg-core';
|
|
29
|
+
import '@iconify/utils';
|
|
30
|
+
import 'consola';
|
|
31
|
+
|
|
32
|
+
const credentials_post = defineEventHandler(async (event) => {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
const id = getRouterParam(event, "id");
|
|
35
|
+
if (!id)
|
|
36
|
+
throw createError({ statusCode: 400, statusMessage: "id is required" });
|
|
37
|
+
const encryptionSecret = getOrCreateEncryptionSecret();
|
|
38
|
+
const body = await readBody(event);
|
|
39
|
+
if (!body || typeof body !== "object")
|
|
40
|
+
throw createError({ statusCode: 400, statusMessage: "credentials payload is required" });
|
|
41
|
+
const db = await getDb();
|
|
42
|
+
const table = db.dialect === "sqlite" ? sqliteIntegrations : pgIntegrations;
|
|
43
|
+
const rows = await db.db.select().from(table).where(eq(table.id, id)).limit(1);
|
|
44
|
+
const row = rows == null ? void 0 : rows[0];
|
|
45
|
+
if (!row)
|
|
46
|
+
throw createError({ statusCode: 404, statusMessage: "integration not found" });
|
|
47
|
+
const { credentialVariant, ...credentialValues } = body;
|
|
48
|
+
const spaceId = (_a = row.spaceId) != null ? _a : "local";
|
|
49
|
+
const credentialId = row.credentialId || `${row.referenceId}-creds`;
|
|
50
|
+
const resolvedVariant = credentialVariant || row.credentialVariant || null;
|
|
51
|
+
const store = new SqlCredentialStore(db, encryptionSecret);
|
|
52
|
+
await store.saveCredentials(spaceId, credentialId, credentialValues);
|
|
53
|
+
await updateIntegrationCredentials(db, id, {
|
|
54
|
+
connectionMethod: "credentials",
|
|
55
|
+
credentialId,
|
|
56
|
+
credentialVariant: resolvedVariant
|
|
57
|
+
});
|
|
58
|
+
const typeConfig = await findIntegrationTypeConfig({
|
|
59
|
+
db,
|
|
60
|
+
spaceId,
|
|
61
|
+
typeSlug: row.type
|
|
62
|
+
});
|
|
63
|
+
const integrationForCheck = {
|
|
64
|
+
spaceId,
|
|
65
|
+
id,
|
|
66
|
+
type: row.type,
|
|
67
|
+
referenceId: row.referenceId,
|
|
68
|
+
label: row.label,
|
|
69
|
+
connectionMethod: "credentials",
|
|
70
|
+
credentialId,
|
|
71
|
+
credentialVariant: resolvedVariant
|
|
72
|
+
};
|
|
73
|
+
const proxy = new IntegrationProxy({
|
|
74
|
+
credentialStore: store,
|
|
75
|
+
trelloApiKey: process.env.TRELLO_API_KEY,
|
|
76
|
+
integrationTypeConfigsRef: typeConfig ? { current: [typeConfig] } : void 0
|
|
77
|
+
});
|
|
78
|
+
const healthResult = await checkIntegrationHealth({
|
|
79
|
+
integration: integrationForCheck,
|
|
80
|
+
proxy,
|
|
81
|
+
db
|
|
82
|
+
});
|
|
83
|
+
await updateIntegrationHealth(db, id, healthResult.status, healthResult.checkedAt);
|
|
84
|
+
await refreshMcpState();
|
|
85
|
+
return {
|
|
86
|
+
ok: true,
|
|
87
|
+
credentialId,
|
|
88
|
+
health_status: healthResult.status,
|
|
89
|
+
health_checked_at: (_b = healthResult.checkedAt) == null ? void 0 : _b.toISOString()
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
export { credentials_post as default };
|
|
94
|
+
//# sourceMappingURL=credentials.post.mjs.map
|