@superblocksteam/cli 2.0.157-next.4 → 2.0.157-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +1 -1
  2. package/bin/dev.js +6 -0
  3. package/bin/run.js +6 -0
  4. package/dist/{acorn-WMA6L7P4.js → acorn-OZZ46WC6.js} +3 -3
  5. package/dist/{angular-4M32OMPP.js → angular-F3X4PU6H.js} +3 -3
  6. package/dist/{api-PWLWF2AO.js → api-LKM3KWDE.js} +4 -4
  7. package/dist/{babel-6NS2YDUA.js → babel-P2KZ44V4.js} +3 -3
  8. package/dist/{chunk-Z2X5CQMK.js → chunk-7FF5Q3TT.js} +3758 -157
  9. package/dist/chunk-7FF5Q3TT.js.map +1 -0
  10. package/dist/{chunk-BIOZGKJI.js → chunk-B7DU3NCK.js} +3 -3
  11. package/dist/{chunk-OK32IXZD.js → chunk-BOHZPNHE.js} +3 -3
  12. package/dist/{chunk-5FZQ7GKI.js → chunk-DXUQTJ2E.js} +3 -3
  13. package/dist/{chunk-HK6JH3R3.js → chunk-F5V42P6U.js} +3 -3
  14. package/dist/{chunk-MNVPTTZN.js → chunk-FIYNW3SU.js} +4 -4
  15. package/dist/{chunk-QMC3HPGT.js → chunk-FJXQDKZ2.js} +4 -4
  16. package/dist/{chunk-72HOGMVP.js → chunk-I4TBU2RS.js} +3 -3
  17. package/dist/{chunk-7G3SJRTY.js → chunk-IYSPUQ7M.js} +3 -3
  18. package/dist/{chunk-FLZB4YF5.js → chunk-LEBMSKJP.js} +8 -8
  19. package/dist/{chunk-Q6H6AYB3.js → chunk-LTWZXD76.js} +2 -2
  20. package/dist/{chunk-AMN5CPNU.js → chunk-NHR7FAPE.js} +3 -3
  21. package/dist/{chunk-3CHQLJTS.js → chunk-O4SXABRB.js} +3 -3
  22. package/dist/{chunk-2M6BYRVF.js → chunk-PAGW2Y3I.js} +4 -4
  23. package/dist/{chunk-IUATCEZY.js → chunk-Q2BWW5QV.js} +3 -3
  24. package/dist/{chunk-U4R6POH4.js → chunk-QVKSQHMA.js} +3 -3
  25. package/dist/{chunk-PSOBYRL5.js → chunk-RH52ZSDO.js} +5 -5
  26. package/dist/{chunk-LQB4PWSW.js → chunk-VPLRE4U5.js} +3 -3
  27. package/dist/{chunk-STWY7L44.js → chunk-YBAGYCX4.js} +4875 -2872
  28. package/dist/{chunk-STWY7L44.js.map → chunk-YBAGYCX4.js.map} +1 -1
  29. package/dist/{chunk-Y3RLIV4P.js → chunk-ZOQPSDKJ.js} +4 -4
  30. package/dist/{cli-truncate-OWUAGIPO.js → cli-truncate-JE6KXDNY.js} +5 -5
  31. package/dist/commands/dev-parent.js +3 -3
  32. package/dist/{dd-trace-EUCR6QVT.js → dd-trace-AQZGAF2E.js} +6 -6
  33. package/dist/{dist-2M5L5FNH.js → dist-NJHWXUHQ.js} +839 -200
  34. package/dist/dist-NJHWXUHQ.js.map +1 -0
  35. package/dist/{dist-QHYW4U6O.js → dist-ONFSHJBQ.js} +15 -15
  36. package/dist/{embedded-playwright-mcp-server-D4TETPXE.js → embedded-playwright-mcp-server-65RUBGLR.js} +3 -3
  37. package/dist/{enquirer-UD7IHY44.js → enquirer-6C55IUPI.js} +4 -4
  38. package/dist/{estree-JZ3UIJHT.js → estree-OUX276MJ.js} +3 -3
  39. package/dist/{flow-GSPIY4XU.js → flow-RNZL6EOQ.js} +3 -3
  40. package/dist/{getMachineId-bsd-36VZS47Z.js → getMachineId-bsd-SAYCT6BA.js} +5 -5
  41. package/dist/{getMachineId-darwin-7LZY45ZM.js → getMachineId-darwin-2BIZIQZ6.js} +5 -5
  42. package/dist/{getMachineId-linux-LX4NM644.js → getMachineId-linux-RTE4SKPS.js} +4 -4
  43. package/dist/{getMachineId-unsupported-7TJOPLYI.js → getMachineId-unsupported-4AJE3HZA.js} +4 -4
  44. package/dist/{getMachineId-win-M22WJ3MM.js → getMachineId-win-WCR2ELI3.js} +5 -5
  45. package/dist/{glimmer-UVO3BIBM.js → glimmer-ZSFJLGZS.js} +3 -3
  46. package/dist/{graphql-XLZ6JI47.js → graphql-6XBYVCIJ.js} +3 -3
  47. package/dist/{html-B4A6WYXT.js → html-VEAJ3MIN.js} +3 -3
  48. package/dist/{http-K3OYGWVL.js → http-VGB6FR7N.js} +14 -14
  49. package/dist/index.js +23 -23
  50. package/dist/{jiti-266YLMVX.js → jiti-NN2RRFEA.js} +3 -3
  51. package/dist/{log-update-YQK5AUYG.js → log-update-G37STD43.js} +6 -6
  52. package/dist/{markdown-JEOFIXUQ.js → markdown-Y4YLMHL3.js} +3 -3
  53. package/dist/{meriyah-QGCQSGGS.js → meriyah-4GQGGWUO.js} +3 -3
  54. package/dist/{postcss-KSFJ6EQS.js → postcss-ZFUKCQTL.js} +3 -3
  55. package/dist/{read-pkg-CZ4YTNKI.js → read-pkg-Q3NL2F2P.js} +4 -4
  56. package/dist/{spans-3C4P2IQ3.js → spans-XZD4N5LG.js} +4 -4
  57. package/dist/{src-XPHA3RUC.js → src-E7PNU35M.js} +3 -3
  58. package/dist/{token-BDGVUJER.js → token-MQA7XSGS.js} +5 -5
  59. package/dist/{token-util-5FML3764.js → token-util-VDHZFUFG.js} +5 -5
  60. package/dist/{typescript-22T2V3TY.js → typescript-LKK6LNWR.js} +3 -3
  61. package/dist/{v4-IHD3EOAU.js → v4-SQGBAYYV.js} +4 -4
  62. package/dist/{wrap-ansi-46TLWEUF.js → wrap-ansi-XEURB6IQ.js} +5 -5
  63. package/dist/{yaml-TG67GZWZ.js → yaml-GAKRLORX.js} +3 -3
  64. package/oclif.manifest.json +1 -1
  65. package/package.json +7 -7
  66. package/dist/chunk-Z2X5CQMK.js.map +0 -1
  67. package/dist/dist-2M5L5FNH.js.map +0 -1
  68. /package/dist/{acorn-WMA6L7P4.js.map → acorn-OZZ46WC6.js.map} +0 -0
  69. /package/dist/{angular-4M32OMPP.js.map → angular-F3X4PU6H.js.map} +0 -0
  70. /package/dist/{api-PWLWF2AO.js.map → api-LKM3KWDE.js.map} +0 -0
  71. /package/dist/{babel-6NS2YDUA.js.map → babel-P2KZ44V4.js.map} +0 -0
  72. /package/dist/{chunk-BIOZGKJI.js.map → chunk-B7DU3NCK.js.map} +0 -0
  73. /package/dist/{chunk-OK32IXZD.js.map → chunk-BOHZPNHE.js.map} +0 -0
  74. /package/dist/{chunk-5FZQ7GKI.js.map → chunk-DXUQTJ2E.js.map} +0 -0
  75. /package/dist/{chunk-HK6JH3R3.js.map → chunk-F5V42P6U.js.map} +0 -0
  76. /package/dist/{chunk-MNVPTTZN.js.map → chunk-FIYNW3SU.js.map} +0 -0
  77. /package/dist/{chunk-QMC3HPGT.js.map → chunk-FJXQDKZ2.js.map} +0 -0
  78. /package/dist/{chunk-72HOGMVP.js.map → chunk-I4TBU2RS.js.map} +0 -0
  79. /package/dist/{chunk-7G3SJRTY.js.map → chunk-IYSPUQ7M.js.map} +0 -0
  80. /package/dist/{chunk-FLZB4YF5.js.map → chunk-LEBMSKJP.js.map} +0 -0
  81. /package/dist/{chunk-Q6H6AYB3.js.map → chunk-LTWZXD76.js.map} +0 -0
  82. /package/dist/{chunk-AMN5CPNU.js.map → chunk-NHR7FAPE.js.map} +0 -0
  83. /package/dist/{chunk-3CHQLJTS.js.map → chunk-O4SXABRB.js.map} +0 -0
  84. /package/dist/{chunk-2M6BYRVF.js.map → chunk-PAGW2Y3I.js.map} +0 -0
  85. /package/dist/{chunk-IUATCEZY.js.map → chunk-Q2BWW5QV.js.map} +0 -0
  86. /package/dist/{chunk-U4R6POH4.js.map → chunk-QVKSQHMA.js.map} +0 -0
  87. /package/dist/{chunk-PSOBYRL5.js.map → chunk-RH52ZSDO.js.map} +0 -0
  88. /package/dist/{chunk-LQB4PWSW.js.map → chunk-VPLRE4U5.js.map} +0 -0
  89. /package/dist/{chunk-Y3RLIV4P.js.map → chunk-ZOQPSDKJ.js.map} +0 -0
  90. /package/dist/{cli-truncate-OWUAGIPO.js.map → cli-truncate-JE6KXDNY.js.map} +0 -0
  91. /package/dist/{dd-trace-EUCR6QVT.js.map → dd-trace-AQZGAF2E.js.map} +0 -0
  92. /package/dist/{dist-QHYW4U6O.js.map → dist-ONFSHJBQ.js.map} +0 -0
  93. /package/dist/{embedded-playwright-mcp-server-D4TETPXE.js.map → embedded-playwright-mcp-server-65RUBGLR.js.map} +0 -0
  94. /package/dist/{enquirer-UD7IHY44.js.map → enquirer-6C55IUPI.js.map} +0 -0
  95. /package/dist/{estree-JZ3UIJHT.js.map → estree-OUX276MJ.js.map} +0 -0
  96. /package/dist/{flow-GSPIY4XU.js.map → flow-RNZL6EOQ.js.map} +0 -0
  97. /package/dist/{getMachineId-bsd-36VZS47Z.js.map → getMachineId-bsd-SAYCT6BA.js.map} +0 -0
  98. /package/dist/{getMachineId-darwin-7LZY45ZM.js.map → getMachineId-darwin-2BIZIQZ6.js.map} +0 -0
  99. /package/dist/{getMachineId-linux-LX4NM644.js.map → getMachineId-linux-RTE4SKPS.js.map} +0 -0
  100. /package/dist/{getMachineId-unsupported-7TJOPLYI.js.map → getMachineId-unsupported-4AJE3HZA.js.map} +0 -0
  101. /package/dist/{getMachineId-win-M22WJ3MM.js.map → getMachineId-win-WCR2ELI3.js.map} +0 -0
  102. /package/dist/{glimmer-UVO3BIBM.js.map → glimmer-ZSFJLGZS.js.map} +0 -0
  103. /package/dist/{graphql-XLZ6JI47.js.map → graphql-6XBYVCIJ.js.map} +0 -0
  104. /package/dist/{html-B4A6WYXT.js.map → html-VEAJ3MIN.js.map} +0 -0
  105. /package/dist/{http-K3OYGWVL.js.map → http-VGB6FR7N.js.map} +0 -0
  106. /package/dist/{jiti-266YLMVX.js.map → jiti-NN2RRFEA.js.map} +0 -0
  107. /package/dist/{log-update-YQK5AUYG.js.map → log-update-G37STD43.js.map} +0 -0
  108. /package/dist/{markdown-JEOFIXUQ.js.map → markdown-Y4YLMHL3.js.map} +0 -0
  109. /package/dist/{meriyah-QGCQSGGS.js.map → meriyah-4GQGGWUO.js.map} +0 -0
  110. /package/dist/{postcss-KSFJ6EQS.js.map → postcss-ZFUKCQTL.js.map} +0 -0
  111. /package/dist/{read-pkg-CZ4YTNKI.js.map → read-pkg-Q3NL2F2P.js.map} +0 -0
  112. /package/dist/{spans-3C4P2IQ3.js.map → spans-XZD4N5LG.js.map} +0 -0
  113. /package/dist/{src-XPHA3RUC.js.map → src-E7PNU35M.js.map} +0 -0
  114. /package/dist/{token-BDGVUJER.js.map → token-MQA7XSGS.js.map} +0 -0
  115. /package/dist/{token-util-5FML3764.js.map → token-util-VDHZFUFG.js.map} +0 -0
  116. /package/dist/{typescript-22T2V3TY.js.map → typescript-LKK6LNWR.js.map} +0 -0
  117. /package/dist/{v4-IHD3EOAU.js.map → v4-SQGBAYYV.js.map} +0 -0
  118. /package/dist/{wrap-ansi-46TLWEUF.js.map → wrap-ansi-XEURB6IQ.js.map} +0 -0
  119. /package/dist/{yaml-TG67GZWZ.js.map → yaml-GAKRLORX.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  if (typeof process === 'object' && process !== null &&
2
2
  process.env !== null && typeof process.env === 'object') {
3
3
  process.env.DD_GIT_REPOSITORY_URL = 'https://token@github.com/superblocksteam/superblocks.git';
4
- process.env.DD_GIT_COMMIT_SHA = 'b4017d1f7aca518ff00f7059ba25e73fc7ea4cb9';
4
+ process.env.DD_GIT_COMMIT_SHA = '35eb352f57c1fbed7b4c3e71ec22cd31d0c49921';
5
5
  }
6
6
  import { createRequire as $dd_createRequire } from 'module';
7
7
  import { fileURLToPath as $dd_fileURLToPath } from 'url';
@@ -30,21 +30,21 @@ import {
30
30
  string,
31
31
  union,
32
32
  unknown
33
- } from "./chunk-HK6JH3R3.js";
33
+ } from "./chunk-F5V42P6U.js";
34
34
  import {
35
35
  SuperblocksSdk,
36
- import_shared,
36
+ import_shared2 as import_shared,
37
37
  require_dist,
38
38
  require_dist2,
39
39
  writeApplicationToDisk
40
- } from "./chunk-STWY7L44.js";
40
+ } from "./chunk-YBAGYCX4.js";
41
41
  import {
42
42
  require_lib
43
- } from "./chunk-72HOGMVP.js";
43
+ } from "./chunk-I4TBU2RS.js";
44
44
  import {
45
45
  __toESM,
46
46
  init_cjs_shims
47
- } from "./chunk-Q6H6AYB3.js";
47
+ } from "./chunk-LTWZXD76.js";
48
48
 
49
49
  // ../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
50
50
  init_cjs_shims();
@@ -1581,7 +1581,7 @@ var UrlElicitationRequiredError = class extends McpError {
1581
1581
  // ../mcp-server/package.json
1582
1582
  var package_default = {
1583
1583
  name: "@superblocksteam/mcp-server",
1584
- version: "2.0.157-next.4",
1584
+ version: "2.0.157-next.5",
1585
1585
  description: "Superblocks MCP server",
1586
1586
  license: "Superblocks Community Software License",
1587
1587
  bin: {
@@ -1638,6 +1638,7 @@ var package_default = {
1638
1638
  zod: "^4.3.6"
1639
1639
  },
1640
1640
  devDependencies: {
1641
+ "@superblocksteam/schemas": "workspace:*",
1641
1642
  "@types/fs-extra": "^11.0.4",
1642
1643
  "@types/node": "catalog:",
1643
1644
  eslint: "catalog:",
@@ -1881,7 +1882,13 @@ function extractMessage(payload) {
1881
1882
  async function callServerApi(options) {
1882
1883
  const url = new URL(options.path, options.baseUrl);
1883
1884
  for (const [key, value] of Object.entries(options.query ?? {})) {
1884
- if (value !== void 0) {
1885
+ if (value === void 0)
1886
+ continue;
1887
+ if (Array.isArray(value)) {
1888
+ for (const entry of value) {
1889
+ url.searchParams.append(key, entry);
1890
+ }
1891
+ } else {
1885
1892
  url.searchParams.set(key, String(value));
1886
1893
  }
1887
1894
  }
@@ -2240,6 +2247,2713 @@ function resolveBaseUrlTarget(input) {
2240
2247
 
2241
2248
  // ../mcp-server/dist/tools/schemas.js
2242
2249
  init_cjs_shims();
2250
+ var import_shared2 = __toESM(require_dist());
2251
+
2252
+ // ../mcp-server/dist/tools/plugin-configuration-schema.js
2253
+ init_cjs_shims();
2254
+
2255
+ // ../mcp-server/dist/tools/datasource-configuration-by-type.schema.json
2256
+ var datasource_configuration_by_type_schema_default = {
2257
+ $schema: "http://json-schema.org/draft-07/schema#",
2258
+ $ref: "#/definitions/DatasourceConfigurationByTypeSchema",
2259
+ definitions: {
2260
+ DatasourceConfigurationByTypeSchema: {
2261
+ $ref: "#/definitions/DatasourceConfigurationByType"
2262
+ },
2263
+ DatasourceConfigurationByType: {
2264
+ type: "object",
2265
+ properties: {
2266
+ adls: {
2267
+ type: "object",
2268
+ additionalProperties: {
2269
+ not: true,
2270
+ errorMessage: "extra property is ${0#}"
2271
+ },
2272
+ properties: {
2273
+ bindingFields: { type: "array", items: { type: "string" } },
2274
+ name: { type: "string" },
2275
+ connection: { $ref: "#/definitions/Plugin_AdlsConnection" },
2276
+ dynamicWorkflowConfiguration: {
2277
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
2278
+ }
2279
+ }
2280
+ },
2281
+ aivenkafka: {
2282
+ type: "object",
2283
+ additionalProperties: {
2284
+ not: true,
2285
+ errorMessage: "extra property is ${0#}"
2286
+ },
2287
+ properties: {
2288
+ bindingFields: { type: "array", items: { type: "string" } },
2289
+ name: { type: "string" },
2290
+ cluster: { $ref: "#/definitions/Cluster" },
2291
+ dynamicWorkflowConfiguration: {
2292
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
2293
+ },
2294
+ superblocksMetadata: {
2295
+ type: "object",
2296
+ properties: {
2297
+ pluginVersion: { type: "string" },
2298
+ syncedFromProfileId: { type: "string" }
2299
+ },
2300
+ additionalProperties: {
2301
+ not: true,
2302
+ errorMessage: "extra property is ${0#}"
2303
+ }
2304
+ }
2305
+ }
2306
+ },
2307
+ athena: {
2308
+ type: "object",
2309
+ additionalProperties: {
2310
+ not: true,
2311
+ errorMessage: "extra property is ${0#}"
2312
+ },
2313
+ properties: {
2314
+ bindingFields: { type: "array", items: { type: "string" } },
2315
+ name: { type: "string" },
2316
+ connection: { $ref: "#/definitions/Connection" },
2317
+ dynamicWorkflowConfiguration: {
2318
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
2319
+ }
2320
+ }
2321
+ },
2322
+ bigquery: {
2323
+ type: "object",
2324
+ additionalProperties: {
2325
+ not: true,
2326
+ errorMessage: "extra property is ${0#}"
2327
+ },
2328
+ properties: {
2329
+ bindingFields: { type: "array", items: { type: "string" } },
2330
+ connectionType: {
2331
+ type: "string",
2332
+ enum: ["fields", "service-account-key", "oauth-token-exchange"]
2333
+ },
2334
+ authTypeField: { type: "string" },
2335
+ authConfig: {
2336
+ type: "object",
2337
+ properties: {
2338
+ tokenUrl: { type: "string" },
2339
+ audience: { type: "string" },
2340
+ scope: { type: "string" },
2341
+ subjectTokenType: { type: "string" },
2342
+ subjectTokenSource: { type: "string" },
2343
+ subjectTokenSourceStaticToken: { type: "string" },
2344
+ workforcePoolId: { type: "string" },
2345
+ workforceProviderId: { type: "string" },
2346
+ projectId: { type: "string" },
2347
+ billingProjectNumber: { type: "string" }
2348
+ },
2349
+ additionalProperties: {
2350
+ not: true,
2351
+ errorMessage: "extra property is ${0#}"
2352
+ }
2353
+ },
2354
+ authentication: {
2355
+ type: "object",
2356
+ properties: {
2357
+ custom: {
2358
+ type: "object",
2359
+ properties: {
2360
+ googleServiceAccount: { $ref: "#/definitions/Property" }
2361
+ },
2362
+ additionalProperties: {
2363
+ not: true,
2364
+ errorMessage: "extra property is ${0#}"
2365
+ }
2366
+ }
2367
+ },
2368
+ additionalProperties: {
2369
+ not: true,
2370
+ errorMessage: "extra property is ${0#}"
2371
+ }
2372
+ },
2373
+ name: { type: "string" },
2374
+ dynamicWorkflowConfiguration: {
2375
+ $ref: "#/definitions/DynamicWorkflowConfig"
2376
+ },
2377
+ id: { type: "string" },
2378
+ superblocksMetadata: {
2379
+ type: "object",
2380
+ properties: {
2381
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2382
+ syncedFromProfileId: { type: "string" }
2383
+ },
2384
+ additionalProperties: {
2385
+ not: true,
2386
+ errorMessage: "extra property is ${0#}"
2387
+ }
2388
+ }
2389
+ }
2390
+ },
2391
+ cockroachdb: {
2392
+ type: "object",
2393
+ additionalProperties: {
2394
+ not: true,
2395
+ errorMessage: "extra property is ${0#}"
2396
+ },
2397
+ properties: {
2398
+ bindingFields: { type: "array", items: { type: "string" } },
2399
+ connectionType: { type: "string", enum: ["fields", "url"] },
2400
+ connectionUrl: { type: "string" },
2401
+ tunnel: {
2402
+ type: "object",
2403
+ additionalProperties: {
2404
+ not: true,
2405
+ errorMessage: "extra property is ${0#}"
2406
+ },
2407
+ properties: {
2408
+ authMethod: { $ref: "#/definitions/SharedSSHAuthMethod" },
2409
+ authenticationMethod: {
2410
+ $ref: "#/definitions/SSHAuthMethod"
2411
+ },
2412
+ enabled: { type: "boolean" },
2413
+ host: { type: "string" },
2414
+ passphrase: { type: "string" },
2415
+ password: { type: "string" },
2416
+ port: { type: "number" },
2417
+ privateKey: { type: "string" },
2418
+ publicKey: { type: "string" },
2419
+ username: { type: "string" }
2420
+ }
2421
+ },
2422
+ authentication: {
2423
+ type: "object",
2424
+ properties: {
2425
+ custom: {
2426
+ type: "object",
2427
+ properties: {
2428
+ databaseName: { $ref: "#/definitions/Property" }
2429
+ },
2430
+ additionalProperties: {
2431
+ not: true,
2432
+ errorMessage: "extra property is ${0#}"
2433
+ }
2434
+ },
2435
+ username: { type: "string" },
2436
+ password: { type: "string" }
2437
+ },
2438
+ additionalProperties: {
2439
+ not: true,
2440
+ errorMessage: "extra property is ${0#}"
2441
+ }
2442
+ },
2443
+ connection: {
2444
+ type: "object",
2445
+ properties: {
2446
+ useSsl: { type: ["boolean", "string"] },
2447
+ useSelfSignedSsl: { type: ["boolean", "string"] },
2448
+ ca: { type: "string" },
2449
+ key: { type: "string" },
2450
+ cert: { type: "string" },
2451
+ mode: { type: "number", const: 0 }
2452
+ },
2453
+ additionalProperties: {
2454
+ not: true,
2455
+ errorMessage: "extra property is ${0#}"
2456
+ }
2457
+ },
2458
+ endpoint: {
2459
+ type: "object",
2460
+ properties: {
2461
+ host: { type: "string" },
2462
+ port: { type: "number", minimum: 0, maximum: 65536 }
2463
+ },
2464
+ additionalProperties: {
2465
+ not: true,
2466
+ errorMessage: "extra property is ${0#}"
2467
+ }
2468
+ },
2469
+ name: { type: "string" },
2470
+ dynamicWorkflowConfiguration: {
2471
+ $ref: "#/definitions/DynamicWorkflowConfig"
2472
+ },
2473
+ id: { type: "string" },
2474
+ superblocksMetadata: {
2475
+ type: "object",
2476
+ properties: {
2477
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2478
+ syncedFromProfileId: { type: "string" }
2479
+ },
2480
+ additionalProperties: {
2481
+ not: true,
2482
+ errorMessage: "extra property is ${0#}"
2483
+ }
2484
+ }
2485
+ }
2486
+ },
2487
+ confluent: {
2488
+ type: "object",
2489
+ additionalProperties: {
2490
+ not: true,
2491
+ errorMessage: "extra property is ${0#}"
2492
+ },
2493
+ properties: {
2494
+ bindingFields: { type: "array", items: { type: "string" } },
2495
+ name: { type: "string" },
2496
+ cluster: { $ref: "#/definitions/Cluster" },
2497
+ dynamicWorkflowConfiguration: {
2498
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
2499
+ },
2500
+ superblocksMetadata: {
2501
+ type: "object",
2502
+ properties: {
2503
+ pluginVersion: { type: "string" },
2504
+ syncedFromProfileId: { type: "string" }
2505
+ },
2506
+ additionalProperties: {
2507
+ not: true,
2508
+ errorMessage: "extra property is ${0#}"
2509
+ }
2510
+ }
2511
+ }
2512
+ },
2513
+ couchbase: {
2514
+ type: "object",
2515
+ additionalProperties: {
2516
+ not: true,
2517
+ errorMessage: "extra property is ${0#}"
2518
+ },
2519
+ properties: {
2520
+ bindingFields: { type: "array", items: { type: "string" } },
2521
+ name: { type: "string" },
2522
+ connection: {
2523
+ $ref: "#/definitions/Plugin_CouchbaseConnection"
2524
+ },
2525
+ tunnel: { $ref: "#/definitions/SSHConfiguration" },
2526
+ dynamicWorkflowConfiguration: {
2527
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
2528
+ }
2529
+ },
2530
+ required: ["name"]
2531
+ },
2532
+ databricks: {
2533
+ type: "object",
2534
+ additionalProperties: {
2535
+ not: true,
2536
+ errorMessage: "extra property is ${0#}"
2537
+ },
2538
+ properties: {
2539
+ bindingFields: { type: "array", items: { type: "string" } },
2540
+ authTypeField: { type: "string" },
2541
+ oauthType: { type: "string", const: "oauth-token-exchange" },
2542
+ authConfig: { $ref: "#/definitions/AuthConfig" },
2543
+ authType: { $ref: "#/definitions/AuthType" },
2544
+ name: { type: "string" },
2545
+ dynamicWorkflowConfiguration: {
2546
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
2547
+ },
2548
+ id: { type: "string" },
2549
+ superblocksMetadata: {
2550
+ type: "object",
2551
+ properties: {
2552
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2553
+ syncedFromProfileId: { type: "string" }
2554
+ },
2555
+ additionalProperties: {
2556
+ not: true,
2557
+ errorMessage: "extra property is ${0#}"
2558
+ }
2559
+ },
2560
+ connection: {
2561
+ $ref: "#/definitions/Plugin_DatabricksConnection"
2562
+ }
2563
+ },
2564
+ required: ["name"]
2565
+ },
2566
+ dynamodb: {
2567
+ type: "object",
2568
+ additionalProperties: {
2569
+ not: true,
2570
+ errorMessage: "extra property is ${0#}"
2571
+ },
2572
+ properties: {
2573
+ bindingFields: { type: "array", items: { type: "string" } },
2574
+ awsAuthType: { $ref: "#/definitions/AWSAuthType" },
2575
+ authentication: {
2576
+ type: "object",
2577
+ properties: {
2578
+ custom: {
2579
+ type: "object",
2580
+ properties: {
2581
+ region: { $ref: "#/definitions/Property" },
2582
+ accessKeyID: { $ref: "#/definitions/Property" },
2583
+ secretKey: { $ref: "#/definitions/Property" },
2584
+ iamRoleArn: { $ref: "#/definitions/Property" }
2585
+ },
2586
+ additionalProperties: {
2587
+ not: true,
2588
+ errorMessage: "extra property is ${0#}"
2589
+ }
2590
+ }
2591
+ },
2592
+ additionalProperties: {}
2593
+ },
2594
+ name: { type: "string" },
2595
+ dynamicWorkflowConfiguration: {
2596
+ $ref: "#/definitions/DynamicWorkflowConfig"
2597
+ },
2598
+ id: { type: "string" },
2599
+ superblocksMetadata: {
2600
+ type: "object",
2601
+ properties: {
2602
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2603
+ syncedFromProfileId: { type: "string" }
2604
+ },
2605
+ additionalProperties: {
2606
+ not: true,
2607
+ errorMessage: "extra property is ${0#}"
2608
+ }
2609
+ }
2610
+ }
2611
+ },
2612
+ email: {
2613
+ type: "object",
2614
+ additionalProperties: {
2615
+ not: true,
2616
+ errorMessage: "extra property is ${0#}"
2617
+ },
2618
+ properties: {
2619
+ bindingFields: { type: "array", items: { type: "string" } },
2620
+ authentication: {
2621
+ type: "object",
2622
+ properties: {
2623
+ custom: {
2624
+ type: "object",
2625
+ properties: {
2626
+ apiKey: { $ref: "#/definitions/Property" },
2627
+ senderEmail: { $ref: "#/definitions/Property" },
2628
+ senderName: { $ref: "#/definitions/Property" }
2629
+ },
2630
+ additionalProperties: {
2631
+ not: true,
2632
+ errorMessage: "extra property is ${0#}"
2633
+ }
2634
+ }
2635
+ },
2636
+ additionalProperties: {
2637
+ not: true,
2638
+ errorMessage: "extra property is ${0#}"
2639
+ }
2640
+ },
2641
+ sendgridTemplateId: { type: "string" },
2642
+ name: { type: "string" },
2643
+ dynamicWorkflowConfiguration: {
2644
+ $ref: "#/definitions/DynamicWorkflowConfig"
2645
+ },
2646
+ id: { type: "string" },
2647
+ superblocksMetadata: {
2648
+ type: "object",
2649
+ properties: {
2650
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2651
+ syncedFromProfileId: { type: "string" }
2652
+ },
2653
+ additionalProperties: {
2654
+ not: true,
2655
+ errorMessage: "extra property is ${0#}"
2656
+ }
2657
+ }
2658
+ }
2659
+ },
2660
+ gcs: {
2661
+ type: "object",
2662
+ additionalProperties: {
2663
+ not: true,
2664
+ errorMessage: "extra property is ${0#}"
2665
+ },
2666
+ properties: {
2667
+ bindingFields: { type: "array", items: { type: "string" } },
2668
+ authentication: {
2669
+ type: "object",
2670
+ properties: {
2671
+ custom: {
2672
+ type: "object",
2673
+ properties: {
2674
+ googleServiceAccount: { $ref: "#/definitions/Property" }
2675
+ },
2676
+ additionalProperties: {
2677
+ not: true,
2678
+ errorMessage: "extra property is ${0#}"
2679
+ }
2680
+ }
2681
+ },
2682
+ additionalProperties: {
2683
+ not: true,
2684
+ errorMessage: "extra property is ${0#}"
2685
+ }
2686
+ },
2687
+ name: { type: "string" },
2688
+ dynamicWorkflowConfiguration: {
2689
+ $ref: "#/definitions/DynamicWorkflowConfig"
2690
+ },
2691
+ id: { type: "string" },
2692
+ superblocksMetadata: {
2693
+ type: "object",
2694
+ properties: {
2695
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2696
+ syncedFromProfileId: { type: "string" }
2697
+ },
2698
+ additionalProperties: {
2699
+ not: true,
2700
+ errorMessage: "extra property is ${0#}"
2701
+ }
2702
+ }
2703
+ }
2704
+ },
2705
+ graphqlintegration: {
2706
+ type: "object",
2707
+ additionalProperties: {
2708
+ not: true,
2709
+ errorMessage: "extra property is ${0#}"
2710
+ },
2711
+ properties: {
2712
+ bindingFields: { type: "array", items: { type: "string" } },
2713
+ path: { type: "string" },
2714
+ headers: {
2715
+ type: "array",
2716
+ items: { $ref: "#/definitions/Property" }
2717
+ },
2718
+ params: {
2719
+ type: "array",
2720
+ items: { $ref: "#/definitions/Property" }
2721
+ },
2722
+ authConfig: { $ref: "#/definitions/AuthConfig" },
2723
+ authType: { $ref: "#/definitions/AuthType" },
2724
+ name: { type: "string" },
2725
+ dynamicWorkflowConfiguration: {
2726
+ $ref: "#/definitions/DynamicWorkflowConfig"
2727
+ },
2728
+ id: { type: "string" },
2729
+ superblocksMetadata: {
2730
+ type: "object",
2731
+ properties: {
2732
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2733
+ syncedFromProfileId: { type: "string" }
2734
+ },
2735
+ additionalProperties: {
2736
+ not: true,
2737
+ errorMessage: "extra property is ${0#}"
2738
+ }
2739
+ }
2740
+ }
2741
+ },
2742
+ graphql: {
2743
+ type: "object",
2744
+ additionalProperties: {
2745
+ not: true,
2746
+ errorMessage: "extra property is ${0#}"
2747
+ },
2748
+ properties: {
2749
+ bindingFields: { type: "array", items: { type: "string" } },
2750
+ path: { type: "string" },
2751
+ headers: {
2752
+ type: "array",
2753
+ items: { $ref: "#/definitions/Property" }
2754
+ },
2755
+ params: {
2756
+ type: "array",
2757
+ items: { $ref: "#/definitions/Property" }
2758
+ },
2759
+ authConfig: { $ref: "#/definitions/AuthConfig" },
2760
+ authType: { $ref: "#/definitions/AuthType" },
2761
+ name: { type: "string" },
2762
+ dynamicWorkflowConfiguration: {
2763
+ $ref: "#/definitions/DynamicWorkflowConfig"
2764
+ },
2765
+ id: { type: "string" },
2766
+ superblocksMetadata: {
2767
+ type: "object",
2768
+ properties: {
2769
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2770
+ syncedFromProfileId: { type: "string" }
2771
+ },
2772
+ additionalProperties: {
2773
+ not: true,
2774
+ errorMessage: "extra property is ${0#}"
2775
+ }
2776
+ }
2777
+ }
2778
+ },
2779
+ javascript: {
2780
+ type: "object",
2781
+ additionalProperties: {
2782
+ not: true,
2783
+ errorMessage: "extra property is ${0#}"
2784
+ },
2785
+ properties: {
2786
+ bindingFields: { type: "array", items: { type: "string" } },
2787
+ name: { type: "string" },
2788
+ dynamicWorkflowConfiguration: {
2789
+ $ref: "#/definitions/DynamicWorkflowConfig"
2790
+ },
2791
+ id: { type: "string" },
2792
+ superblocksMetadata: {
2793
+ type: "object",
2794
+ properties: {
2795
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2796
+ syncedFromProfileId: { type: "string" }
2797
+ },
2798
+ additionalProperties: {
2799
+ not: true,
2800
+ errorMessage: "extra property is ${0#}"
2801
+ }
2802
+ }
2803
+ }
2804
+ },
2805
+ lakebase: {
2806
+ type: "object",
2807
+ additionalProperties: {
2808
+ not: true,
2809
+ errorMessage: "extra property is ${0#}"
2810
+ },
2811
+ properties: {
2812
+ bindingFields: { type: "array", items: { type: "string" } },
2813
+ authTypeField: { type: "string" },
2814
+ oauthType: { type: "string", const: "oauth-token-exchange" },
2815
+ authConfig: { $ref: "#/definitions/AuthConfig" },
2816
+ authType: { $ref: "#/definitions/AuthType" },
2817
+ name: { type: "string" },
2818
+ dynamicWorkflowConfiguration: {
2819
+ $ref: "#/definitions/DynamicWorkflowConfig"
2820
+ },
2821
+ id: { type: "string" },
2822
+ superblocksMetadata: {
2823
+ type: "object",
2824
+ properties: {
2825
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2826
+ syncedFromProfileId: { type: "string" }
2827
+ },
2828
+ additionalProperties: {
2829
+ not: true,
2830
+ errorMessage: "extra property is ${0#}"
2831
+ }
2832
+ },
2833
+ connection: {
2834
+ type: "object",
2835
+ properties: {
2836
+ host: { type: "string" },
2837
+ port: { type: "number" },
2838
+ databaseName: { type: "string" },
2839
+ connectionType: { type: "string" },
2840
+ username: { type: "string" },
2841
+ password: { type: "string" },
2842
+ oauthClientId: { type: "string" },
2843
+ oauthClientSecret: { type: "string" },
2844
+ oauthWorkspaceUrl: { type: "string" }
2845
+ },
2846
+ additionalProperties: {
2847
+ not: true,
2848
+ errorMessage: "extra property is ${0#}"
2849
+ }
2850
+ }
2851
+ }
2852
+ },
2853
+ mariadb: {
2854
+ type: "object",
2855
+ additionalProperties: {
2856
+ not: true,
2857
+ errorMessage: "extra property is ${0#}"
2858
+ },
2859
+ properties: {
2860
+ bindingFields: { type: "array", items: { type: "string" } },
2861
+ connectionType: { type: "string", enum: ["fields", "url"] },
2862
+ connectionUrl: { type: "string" },
2863
+ authentication: {
2864
+ type: "object",
2865
+ properties: {
2866
+ custom: {
2867
+ type: "object",
2868
+ properties: {
2869
+ databaseName: { $ref: "#/definitions/Property" }
2870
+ },
2871
+ additionalProperties: {
2872
+ not: true,
2873
+ errorMessage: "extra property is ${0#}"
2874
+ }
2875
+ },
2876
+ username: { type: "string" },
2877
+ password: { type: "string" }
2878
+ },
2879
+ additionalProperties: {
2880
+ not: true,
2881
+ errorMessage: "extra property is ${0#}"
2882
+ }
2883
+ },
2884
+ connection: {
2885
+ type: "object",
2886
+ properties: {
2887
+ useSsl: { type: ["boolean", "string"] },
2888
+ useSelfSignedSsl: { type: ["boolean", "string"] },
2889
+ ca: { type: "string" },
2890
+ key: { type: "string" },
2891
+ cert: { type: "string" },
2892
+ mode: { type: "number", const: 0 }
2893
+ },
2894
+ additionalProperties: {
2895
+ not: true,
2896
+ errorMessage: "extra property is ${0#}"
2897
+ }
2898
+ },
2899
+ endpoint: {
2900
+ type: "object",
2901
+ properties: {
2902
+ host: { type: "string" },
2903
+ port: { type: "number", minimum: 0, maximum: 65536 }
2904
+ },
2905
+ additionalProperties: {
2906
+ not: true,
2907
+ errorMessage: "extra property is ${0#}"
2908
+ }
2909
+ },
2910
+ name: { type: "string" },
2911
+ dynamicWorkflowConfiguration: {
2912
+ $ref: "#/definitions/DynamicWorkflowConfig"
2913
+ },
2914
+ id: { type: "string" },
2915
+ superblocksMetadata: {
2916
+ type: "object",
2917
+ properties: {
2918
+ pluginVersion: { $ref: "#/definitions/SemVer" },
2919
+ syncedFromProfileId: { type: "string" }
2920
+ },
2921
+ additionalProperties: {
2922
+ not: true,
2923
+ errorMessage: "extra property is ${0#}"
2924
+ }
2925
+ }
2926
+ }
2927
+ },
2928
+ mongodb: {
2929
+ type: "object",
2930
+ additionalProperties: {
2931
+ not: true,
2932
+ errorMessage: "extra property is ${0#}"
2933
+ },
2934
+ properties: {
2935
+ bindingFields: { type: "array", items: { type: "string" } },
2936
+ tunnel: {
2937
+ type: "object",
2938
+ additionalProperties: {
2939
+ not: true,
2940
+ errorMessage: "extra property is ${0#}"
2941
+ },
2942
+ properties: {
2943
+ authMethod: { $ref: "#/definitions/SharedSSHAuthMethod" },
2944
+ authenticationMethod: {
2945
+ $ref: "#/definitions/SSHAuthMethod"
2946
+ },
2947
+ enabled: { type: "boolean" },
2948
+ host: { type: "string" },
2949
+ passphrase: { type: "string" },
2950
+ password: { type: "string" },
2951
+ port: { type: "number" },
2952
+ privateKey: { type: "string" },
2953
+ publicKey: { type: "string" },
2954
+ username: { type: "string" }
2955
+ }
2956
+ },
2957
+ authentication: {
2958
+ type: "object",
2959
+ properties: {
2960
+ custom: {
2961
+ type: "object",
2962
+ properties: {
2963
+ databaseName: { $ref: "#/definitions/Property" }
2964
+ },
2965
+ additionalProperties: {
2966
+ not: true,
2967
+ errorMessage: "extra property is ${0#}"
2968
+ }
2969
+ },
2970
+ username: { type: "string" },
2971
+ password: { type: "string" }
2972
+ },
2973
+ additionalProperties: {
2974
+ not: true,
2975
+ errorMessage: "extra property is ${0#}"
2976
+ }
2977
+ },
2978
+ connection: {
2979
+ type: "object",
2980
+ properties: {
2981
+ useSsl: { type: ["boolean", "string"] },
2982
+ useSelfSignedSsl: { type: ["boolean", "string"] },
2983
+ ca: { type: "string" },
2984
+ key: { type: "string" },
2985
+ cert: { type: "string" },
2986
+ mode: { type: "number", const: 0 }
2987
+ },
2988
+ additionalProperties: {
2989
+ not: true,
2990
+ errorMessage: "extra property is ${0#}"
2991
+ }
2992
+ },
2993
+ endpoint: {
2994
+ type: "object",
2995
+ properties: {
2996
+ host: { type: "string" },
2997
+ port: { type: "number", minimum: 0, maximum: 65536 }
2998
+ },
2999
+ additionalProperties: {
3000
+ not: true,
3001
+ errorMessage: "extra property is ${0#}"
3002
+ }
3003
+ },
3004
+ name: { type: "string" },
3005
+ dynamicWorkflowConfiguration: {
3006
+ $ref: "#/definitions/DynamicWorkflowConfig"
3007
+ },
3008
+ id: { type: "string" },
3009
+ superblocksMetadata: {
3010
+ type: "object",
3011
+ properties: {
3012
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3013
+ syncedFromProfileId: { type: "string" }
3014
+ },
3015
+ additionalProperties: {
3016
+ not: true,
3017
+ errorMessage: "extra property is ${0#}"
3018
+ }
3019
+ }
3020
+ }
3021
+ },
3022
+ msk: {
3023
+ type: "object",
3024
+ additionalProperties: {
3025
+ not: true,
3026
+ errorMessage: "extra property is ${0#}"
3027
+ },
3028
+ properties: {
3029
+ bindingFields: { type: "array", items: { type: "string" } },
3030
+ name: { type: "string" },
3031
+ cluster: { $ref: "#/definitions/Cluster" },
3032
+ dynamicWorkflowConfiguration: {
3033
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
3034
+ },
3035
+ superblocksMetadata: {
3036
+ type: "object",
3037
+ properties: {
3038
+ pluginVersion: { type: "string" },
3039
+ syncedFromProfileId: { type: "string" }
3040
+ },
3041
+ additionalProperties: {
3042
+ not: true,
3043
+ errorMessage: "extra property is ${0#}"
3044
+ }
3045
+ }
3046
+ }
3047
+ },
3048
+ mysql: {
3049
+ type: "object",
3050
+ additionalProperties: {
3051
+ not: true,
3052
+ errorMessage: "extra property is ${0#}"
3053
+ },
3054
+ properties: {
3055
+ bindingFields: { type: "array", items: { type: "string" } },
3056
+ connectionType: { type: "string", enum: ["fields", "url"] },
3057
+ connectionUrl: { type: "string" },
3058
+ tunnel: {
3059
+ type: "object",
3060
+ additionalProperties: {
3061
+ not: true,
3062
+ errorMessage: "extra property is ${0#}"
3063
+ },
3064
+ properties: {
3065
+ authMethod: { $ref: "#/definitions/SharedSSHAuthMethod" },
3066
+ authenticationMethod: {
3067
+ $ref: "#/definitions/SSHAuthMethod"
3068
+ },
3069
+ enabled: { type: "boolean" },
3070
+ host: { type: "string" },
3071
+ passphrase: { type: "string" },
3072
+ password: { type: "string" },
3073
+ port: { type: "number" },
3074
+ privateKey: { type: "string" },
3075
+ publicKey: { type: "string" },
3076
+ username: { type: "string" }
3077
+ }
3078
+ },
3079
+ authentication: {
3080
+ type: "object",
3081
+ properties: {
3082
+ custom: {
3083
+ type: "object",
3084
+ properties: {
3085
+ databaseName: { $ref: "#/definitions/Property" }
3086
+ },
3087
+ additionalProperties: {
3088
+ not: true,
3089
+ errorMessage: "extra property is ${0#}"
3090
+ }
3091
+ },
3092
+ username: { type: "string" },
3093
+ password: { type: "string" }
3094
+ },
3095
+ additionalProperties: {
3096
+ not: true,
3097
+ errorMessage: "extra property is ${0#}"
3098
+ }
3099
+ },
3100
+ connection: {
3101
+ type: "object",
3102
+ properties: {
3103
+ useSsl: { type: ["boolean", "string"] },
3104
+ useSelfSignedSsl: { type: ["boolean", "string"] },
3105
+ ca: { type: "string" },
3106
+ key: { type: "string" },
3107
+ cert: { type: "string" },
3108
+ mode: { type: "number", const: 0 }
3109
+ },
3110
+ additionalProperties: {
3111
+ not: true,
3112
+ errorMessage: "extra property is ${0#}"
3113
+ }
3114
+ },
3115
+ endpoint: {
3116
+ type: "object",
3117
+ properties: {
3118
+ host: { type: "string" },
3119
+ port: { type: "number", minimum: 0, maximum: 65536 }
3120
+ },
3121
+ additionalProperties: {
3122
+ not: true,
3123
+ errorMessage: "extra property is ${0#}"
3124
+ }
3125
+ },
3126
+ name: { type: "string" },
3127
+ dynamicWorkflowConfiguration: {
3128
+ $ref: "#/definitions/DynamicWorkflowConfig"
3129
+ },
3130
+ id: { type: "string" },
3131
+ superblocksMetadata: {
3132
+ type: "object",
3133
+ properties: {
3134
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3135
+ syncedFromProfileId: { type: "string" }
3136
+ },
3137
+ additionalProperties: {
3138
+ not: true,
3139
+ errorMessage: "extra property is ${0#}"
3140
+ }
3141
+ }
3142
+ }
3143
+ },
3144
+ openai: {
3145
+ type: "object",
3146
+ additionalProperties: {
3147
+ not: true,
3148
+ errorMessage: "extra property is ${0#}"
3149
+ },
3150
+ properties: {
3151
+ bindingFields: { type: "array", items: { type: "string" } },
3152
+ bearerToken: { type: "string" },
3153
+ organizationId: { type: "string" },
3154
+ name: { type: "string" },
3155
+ dynamicWorkflowConfiguration: {
3156
+ $ref: "#/definitions/DynamicWorkflowConfig"
3157
+ },
3158
+ id: { type: "string" },
3159
+ superblocksMetadata: {
3160
+ type: "object",
3161
+ properties: {
3162
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3163
+ syncedFromProfileId: { type: "string" }
3164
+ },
3165
+ additionalProperties: {
3166
+ not: true,
3167
+ errorMessage: "extra property is ${0#}"
3168
+ }
3169
+ }
3170
+ },
3171
+ required: ["bearerToken"]
3172
+ },
3173
+ oracledb: {
3174
+ type: "object",
3175
+ additionalProperties: {
3176
+ not: true,
3177
+ errorMessage: "extra property is ${0#}"
3178
+ },
3179
+ properties: {
3180
+ bindingFields: { type: "array", items: { type: "string" } },
3181
+ connectionType: { type: "string", enum: ["fields", "url"] },
3182
+ connectionUrl: { type: "string" },
3183
+ name: { type: "string" },
3184
+ connection: { $ref: "#/definitions/Plugin_OracleDbConnection" },
3185
+ dynamicWorkflowConfiguration: {
3186
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
3187
+ }
3188
+ },
3189
+ required: ["name"]
3190
+ },
3191
+ postgres: {
3192
+ anyOf: [
3193
+ {
3194
+ type: "object",
3195
+ additionalProperties: {
3196
+ not: true,
3197
+ errorMessage: "extra property is ${0#}"
3198
+ },
3199
+ properties: {
3200
+ bindingFields: {
3201
+ type: "array",
3202
+ items: { type: "string" }
3203
+ },
3204
+ authentication: {
3205
+ type: "object",
3206
+ properties: {
3207
+ authType: { type: "string", const: "password" },
3208
+ custom: {
3209
+ type: "object",
3210
+ properties: {
3211
+ databaseName: { $ref: "#/definitions/Property" }
3212
+ },
3213
+ additionalProperties: {
3214
+ not: true,
3215
+ errorMessage: "extra property is ${0#}"
3216
+ }
3217
+ },
3218
+ password: { type: "string" },
3219
+ username: { type: "string" }
3220
+ },
3221
+ additionalProperties: {
3222
+ not: true,
3223
+ errorMessage: "extra property is ${0#}"
3224
+ }
3225
+ },
3226
+ connectionType: {
3227
+ type: "string",
3228
+ enum: ["fields", "url"]
3229
+ },
3230
+ connectionUrl: { type: "string" },
3231
+ tunnel: {
3232
+ type: "object",
3233
+ additionalProperties: {
3234
+ not: true,
3235
+ errorMessage: "extra property is ${0#}"
3236
+ },
3237
+ properties: {
3238
+ authMethod: {
3239
+ $ref: "#/definitions/SharedSSHAuthMethod"
3240
+ },
3241
+ authenticationMethod: {
3242
+ $ref: "#/definitions/SSHAuthMethod"
3243
+ },
3244
+ enabled: { type: "boolean" },
3245
+ host: { type: "string" },
3246
+ passphrase: { type: "string" },
3247
+ password: { type: "string" },
3248
+ port: { type: "number" },
3249
+ privateKey: { type: "string" },
3250
+ publicKey: { type: "string" },
3251
+ username: { type: "string" }
3252
+ }
3253
+ },
3254
+ connection: {
3255
+ type: "object",
3256
+ properties: {
3257
+ useSsl: { type: ["boolean", "string"] },
3258
+ useSelfSignedSsl: { type: ["boolean", "string"] },
3259
+ ca: { type: "string" },
3260
+ key: { type: "string" },
3261
+ cert: { type: "string" },
3262
+ mode: { type: "number", const: 0 }
3263
+ },
3264
+ additionalProperties: {
3265
+ not: true,
3266
+ errorMessage: "extra property is ${0#}"
3267
+ }
3268
+ },
3269
+ endpoint: {
3270
+ type: "object",
3271
+ properties: {
3272
+ host: { type: "string" },
3273
+ port: { type: "number", minimum: 0, maximum: 65536 }
3274
+ },
3275
+ additionalProperties: {
3276
+ not: true,
3277
+ errorMessage: "extra property is ${0#}"
3278
+ }
3279
+ },
3280
+ name: { type: "string" },
3281
+ dynamicWorkflowConfiguration: {
3282
+ $ref: "#/definitions/DynamicWorkflowConfig"
3283
+ },
3284
+ id: { type: "string" },
3285
+ superblocksMetadata: {
3286
+ type: "object",
3287
+ properties: {
3288
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3289
+ syncedFromProfileId: { type: "string" }
3290
+ },
3291
+ additionalProperties: {
3292
+ not: true,
3293
+ errorMessage: "extra property is ${0#}"
3294
+ }
3295
+ }
3296
+ }
3297
+ },
3298
+ {
3299
+ type: "object",
3300
+ additionalProperties: {
3301
+ not: true,
3302
+ errorMessage: "extra property is ${0#}"
3303
+ },
3304
+ properties: {
3305
+ bindingFields: {
3306
+ type: "array",
3307
+ items: { type: "string" }
3308
+ },
3309
+ authentication: {
3310
+ type: "object",
3311
+ properties: {
3312
+ authType: { type: "string", const: "aws_iam_role" },
3313
+ custom: {
3314
+ type: "object",
3315
+ properties: {
3316
+ databaseName: {
3317
+ type: "object",
3318
+ properties: {
3319
+ key: { type: "string" },
3320
+ value: { type: "string", minLength: 1 },
3321
+ editable: { type: "boolean" },
3322
+ internal: { type: "boolean" },
3323
+ system: { type: "boolean" },
3324
+ description: { type: "string" },
3325
+ mandatory: { type: "boolean" },
3326
+ type: { type: "string" },
3327
+ defaultValue: { type: "string" },
3328
+ minRange: { type: "string" },
3329
+ maxRange: { type: "string" },
3330
+ valueOptions: {
3331
+ type: "array",
3332
+ items: { type: "string" }
3333
+ }
3334
+ },
3335
+ required: ["value"],
3336
+ additionalProperties: {
3337
+ not: true,
3338
+ errorMessage: "extra property is ${0#}"
3339
+ }
3340
+ },
3341
+ iamRoleArn: {
3342
+ type: "object",
3343
+ properties: {
3344
+ key: { type: "string" },
3345
+ value: {
3346
+ type: "string",
3347
+ description: "Validates stable IAM role ARN wire syntax. Role authorization and allowlist checks remain runtime concerns. The 510-character ARN interior accounts for the path's leading and trailing slashes within IAM's 512-character max.",
3348
+ minLength: 1,
3349
+ pattern: "^arn:[a-z0-9-]+:iam::[0-9]{12}:role/(?:[!-~]{1,510}/)?[A-Za-z0-9_+=,.@-]{1,64}$"
3350
+ },
3351
+ editable: { type: "boolean" },
3352
+ internal: { type: "boolean" },
3353
+ system: { type: "boolean" },
3354
+ description: { type: "string" },
3355
+ mandatory: { type: "boolean" },
3356
+ type: { type: "string" },
3357
+ defaultValue: { type: "string" },
3358
+ minRange: { type: "string" },
3359
+ maxRange: { type: "string" },
3360
+ valueOptions: {
3361
+ type: "array",
3362
+ items: { type: "string" }
3363
+ }
3364
+ },
3365
+ required: ["value"],
3366
+ additionalProperties: {
3367
+ not: true,
3368
+ errorMessage: "extra property is ${0#}"
3369
+ }
3370
+ },
3371
+ region: {
3372
+ type: "object",
3373
+ properties: {
3374
+ key: { type: "string" },
3375
+ value: {
3376
+ type: "string",
3377
+ description: "Validates region identifier syntax without freezing the set of AWS regions. Region existence and availability remain runtime concerns.",
3378
+ minLength: 1,
3379
+ pattern: "^[a-z]{2,}(?:-[a-z0-9]+)+-[0-9]+$"
3380
+ },
3381
+ editable: { type: "boolean" },
3382
+ internal: { type: "boolean" },
3383
+ system: { type: "boolean" },
3384
+ description: { type: "string" },
3385
+ mandatory: { type: "boolean" },
3386
+ type: { type: "string" },
3387
+ defaultValue: { type: "string" },
3388
+ minRange: { type: "string" },
3389
+ maxRange: { type: "string" },
3390
+ valueOptions: {
3391
+ type: "array",
3392
+ items: { type: "string" }
3393
+ }
3394
+ },
3395
+ required: ["value"],
3396
+ additionalProperties: {
3397
+ not: true,
3398
+ errorMessage: "extra property is ${0#}"
3399
+ }
3400
+ },
3401
+ sessionPolicy: { $ref: "#/definitions/Property" }
3402
+ },
3403
+ required: ["databaseName", "iamRoleArn", "region"],
3404
+ additionalProperties: {
3405
+ not: true,
3406
+ errorMessage: "extra property is ${0#}"
3407
+ }
3408
+ },
3409
+ username: { type: "string", minLength: 1 }
3410
+ },
3411
+ required: ["authType", "custom", "username"],
3412
+ additionalProperties: {
3413
+ not: true,
3414
+ errorMessage: "extra property is ${0#}"
3415
+ }
3416
+ },
3417
+ connection: {
3418
+ type: "object",
3419
+ properties: {
3420
+ useSsl: { type: "boolean", const: true },
3421
+ useSelfSignedSsl: { type: ["boolean", "string"] },
3422
+ ca: { type: "string" },
3423
+ key: { type: "string" },
3424
+ cert: { type: "string" },
3425
+ mode: { type: "number", const: 0 }
3426
+ },
3427
+ required: ["useSsl"],
3428
+ additionalProperties: {
3429
+ not: true,
3430
+ errorMessage: "extra property is ${0#}"
3431
+ }
3432
+ },
3433
+ connectionType: { type: "string", const: "fields" },
3434
+ endpoint: {
3435
+ type: "object",
3436
+ properties: {
3437
+ host: { type: "string", minLength: 1 },
3438
+ port: { type: "number", minimum: 1, maximum: 65535 }
3439
+ },
3440
+ required: ["host", "port"],
3441
+ additionalProperties: {
3442
+ not: true,
3443
+ errorMessage: "extra property is ${0#}"
3444
+ }
3445
+ },
3446
+ tunnel: {
3447
+ type: "object",
3448
+ additionalProperties: {
3449
+ not: true,
3450
+ errorMessage: "extra property is ${0#}"
3451
+ },
3452
+ properties: {
3453
+ authMethod: {
3454
+ $ref: "#/definitions/SharedSSHAuthMethod"
3455
+ },
3456
+ authenticationMethod: {
3457
+ $ref: "#/definitions/SSHAuthMethod"
3458
+ },
3459
+ enabled: { type: "boolean" },
3460
+ host: { type: "string" },
3461
+ passphrase: { type: "string" },
3462
+ password: { type: "string" },
3463
+ port: { type: "number" },
3464
+ privateKey: { type: "string" },
3465
+ publicKey: { type: "string" },
3466
+ username: { type: "string" }
3467
+ }
3468
+ },
3469
+ name: { type: "string" },
3470
+ dynamicWorkflowConfiguration: {
3471
+ $ref: "#/definitions/DynamicWorkflowConfig"
3472
+ },
3473
+ id: { type: "string" },
3474
+ superblocksMetadata: {
3475
+ type: "object",
3476
+ properties: {
3477
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3478
+ syncedFromProfileId: { type: "string" }
3479
+ },
3480
+ additionalProperties: {
3481
+ not: true,
3482
+ errorMessage: "extra property is ${0#}"
3483
+ }
3484
+ }
3485
+ },
3486
+ required: [
3487
+ "authentication",
3488
+ "connection",
3489
+ "connectionType",
3490
+ "endpoint"
3491
+ ]
3492
+ }
3493
+ ]
3494
+ },
3495
+ python: {
3496
+ type: "object",
3497
+ additionalProperties: {
3498
+ not: true,
3499
+ errorMessage: "extra property is ${0#}"
3500
+ },
3501
+ properties: {
3502
+ bindingFields: { type: "array", items: { type: "string" } },
3503
+ name: { type: "string" },
3504
+ dynamicWorkflowConfiguration: {
3505
+ $ref: "#/definitions/DynamicWorkflowConfig"
3506
+ },
3507
+ id: { type: "string" },
3508
+ superblocksMetadata: {
3509
+ type: "object",
3510
+ properties: {
3511
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3512
+ syncedFromProfileId: { type: "string" }
3513
+ },
3514
+ additionalProperties: {
3515
+ not: true,
3516
+ errorMessage: "extra property is ${0#}"
3517
+ }
3518
+ }
3519
+ }
3520
+ },
3521
+ redpanda: {
3522
+ type: "object",
3523
+ additionalProperties: {
3524
+ not: true,
3525
+ errorMessage: "extra property is ${0#}"
3526
+ },
3527
+ properties: {
3528
+ bindingFields: { type: "array", items: { type: "string" } },
3529
+ name: { type: "string" },
3530
+ cluster: { $ref: "#/definitions/Cluster" },
3531
+ dynamicWorkflowConfiguration: {
3532
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
3533
+ },
3534
+ superblocksMetadata: {
3535
+ type: "object",
3536
+ properties: {
3537
+ pluginVersion: { type: "string" },
3538
+ syncedFromProfileId: { type: "string" }
3539
+ },
3540
+ additionalProperties: {
3541
+ not: true,
3542
+ errorMessage: "extra property is ${0#}"
3543
+ }
3544
+ }
3545
+ }
3546
+ },
3547
+ redshift: {
3548
+ type: "object",
3549
+ additionalProperties: {
3550
+ not: true,
3551
+ errorMessage: "extra property is ${0#}"
3552
+ },
3553
+ properties: {
3554
+ bindingFields: { type: "array", items: { type: "string" } },
3555
+ connectionType: { type: "string", enum: ["fields", "url"] },
3556
+ connectionUrl: { type: "string" },
3557
+ authentication: {
3558
+ type: "object",
3559
+ properties: {
3560
+ custom: {
3561
+ type: "object",
3562
+ properties: {
3563
+ databaseName: { $ref: "#/definitions/Property" },
3564
+ databaseSchema: { $ref: "#/definitions/Property" }
3565
+ },
3566
+ additionalProperties: {
3567
+ not: true,
3568
+ errorMessage: "extra property is ${0#}"
3569
+ }
3570
+ },
3571
+ username: { type: "string" },
3572
+ password: { type: "string" }
3573
+ },
3574
+ additionalProperties: {
3575
+ not: true,
3576
+ errorMessage: "extra property is ${0#}"
3577
+ }
3578
+ },
3579
+ connection: {
3580
+ type: "object",
3581
+ properties: {
3582
+ useSsl: { type: ["boolean", "string"] },
3583
+ useSelfSignedSsl: { type: ["boolean", "string"] },
3584
+ ca: { type: "string" },
3585
+ key: { type: "string" },
3586
+ cert: { type: "string" },
3587
+ mode: { type: "number", const: 0 }
3588
+ },
3589
+ additionalProperties: {
3590
+ not: true,
3591
+ errorMessage: "extra property is ${0#}"
3592
+ }
3593
+ },
3594
+ endpoint: {
3595
+ type: "object",
3596
+ properties: {
3597
+ host: { type: "string" },
3598
+ port: { type: "number", minimum: 0, maximum: 65536 }
3599
+ },
3600
+ additionalProperties: {
3601
+ not: true,
3602
+ errorMessage: "extra property is ${0#}"
3603
+ }
3604
+ },
3605
+ name: { type: "string" },
3606
+ dynamicWorkflowConfiguration: {
3607
+ $ref: "#/definitions/DynamicWorkflowConfig"
3608
+ },
3609
+ id: { type: "string" },
3610
+ superblocksMetadata: {
3611
+ type: "object",
3612
+ properties: {
3613
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3614
+ syncedFromProfileId: { type: "string" }
3615
+ },
3616
+ additionalProperties: {
3617
+ not: true,
3618
+ errorMessage: "extra property is ${0#}"
3619
+ }
3620
+ }
3621
+ }
3622
+ },
3623
+ restapi: {
3624
+ type: "object",
3625
+ additionalProperties: {
3626
+ not: true,
3627
+ errorMessage: "extra property is ${0#}"
3628
+ },
3629
+ properties: {
3630
+ bindingFields: { type: "array", items: { type: "string" } },
3631
+ urlBase: { type: "string" },
3632
+ AuthCodeExplanation: { type: "string" },
3633
+ FirebaseAlert: { type: "string" },
3634
+ FirebaseAlertToken: { type: "string" },
3635
+ HTTPBasicAlert: { type: "string" },
3636
+ "oauth-callback-alert": { type: "string" },
3637
+ "oauth-connect-button": { type: "string" },
3638
+ "oauth-revoke-shared-tokens-button": { type: "string" },
3639
+ OAuth2PasswordAlert: { type: "string" },
3640
+ openApiSpecRef: { type: "string" },
3641
+ openApiTenantName: { type: "string" },
3642
+ headers: {
3643
+ type: "array",
3644
+ items: { $ref: "#/definitions/Property" }
3645
+ },
3646
+ params: {
3647
+ type: "array",
3648
+ items: { $ref: "#/definitions/Property" }
3649
+ },
3650
+ authConfig: { $ref: "#/definitions/AuthConfig" },
3651
+ authType: { $ref: "#/definitions/AuthType" },
3652
+ name: { type: "string" },
3653
+ dynamicWorkflowConfiguration: {
3654
+ $ref: "#/definitions/DynamicWorkflowConfig"
3655
+ },
3656
+ id: { type: "string" },
3657
+ superblocksMetadata: {
3658
+ type: "object",
3659
+ properties: {
3660
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3661
+ syncedFromProfileId: { type: "string" }
3662
+ },
3663
+ additionalProperties: {
3664
+ not: true,
3665
+ errorMessage: "extra property is ${0#}"
3666
+ }
3667
+ }
3668
+ }
3669
+ },
3670
+ restapiintegration: {
3671
+ type: "object",
3672
+ additionalProperties: {
3673
+ not: true,
3674
+ errorMessage: "extra property is ${0#}"
3675
+ },
3676
+ properties: {
3677
+ bindingFields: { type: "array", items: { type: "string" } },
3678
+ urlBase: { type: "string" },
3679
+ AuthCodeExplanation: { type: "string" },
3680
+ FirebaseAlert: { type: "string" },
3681
+ FirebaseAlertToken: { type: "string" },
3682
+ HTTPBasicAlert: { type: "string" },
3683
+ "oauth-callback-alert": { type: "string" },
3684
+ "oauth-connect-button": { type: "string" },
3685
+ "oauth-revoke-shared-tokens-button": { type: "string" },
3686
+ OAuth2PasswordAlert: { type: "string" },
3687
+ openApiSpecRef: { type: "string" },
3688
+ openApiTenantName: { type: "string" },
3689
+ headers: {
3690
+ type: "array",
3691
+ items: { $ref: "#/definitions/Property" }
3692
+ },
3693
+ params: {
3694
+ type: "array",
3695
+ items: { $ref: "#/definitions/Property" }
3696
+ },
3697
+ authConfig: { $ref: "#/definitions/AuthConfig" },
3698
+ authType: { $ref: "#/definitions/AuthType" },
3699
+ name: { type: "string" },
3700
+ dynamicWorkflowConfiguration: {
3701
+ $ref: "#/definitions/DynamicWorkflowConfig"
3702
+ },
3703
+ id: { type: "string" },
3704
+ superblocksMetadata: {
3705
+ type: "object",
3706
+ properties: {
3707
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3708
+ syncedFromProfileId: { type: "string" }
3709
+ },
3710
+ additionalProperties: {
3711
+ not: true,
3712
+ errorMessage: "extra property is ${0#}"
3713
+ }
3714
+ }
3715
+ }
3716
+ },
3717
+ s3: {
3718
+ type: "object",
3719
+ additionalProperties: {
3720
+ not: true,
3721
+ errorMessage: "extra property is ${0#}"
3722
+ },
3723
+ properties: {
3724
+ bindingFields: { type: "array", items: { type: "string" } },
3725
+ awsAuthType: { $ref: "#/definitions/AWSAuthType" },
3726
+ authentication: {
3727
+ type: "object",
3728
+ properties: {
3729
+ custom: {
3730
+ type: "object",
3731
+ properties: {
3732
+ region: { $ref: "#/definitions/Property" },
3733
+ accessKeyID: { $ref: "#/definitions/Property" },
3734
+ secretKey: { $ref: "#/definitions/Property" },
3735
+ iamRoleArn: { $ref: "#/definitions/Property" }
3736
+ },
3737
+ additionalProperties: {
3738
+ not: true,
3739
+ errorMessage: "extra property is ${0#}"
3740
+ }
3741
+ }
3742
+ },
3743
+ additionalProperties: {}
3744
+ },
3745
+ name: { type: "string" },
3746
+ dynamicWorkflowConfiguration: {
3747
+ $ref: "#/definitions/DynamicWorkflowConfig"
3748
+ },
3749
+ id: { type: "string" },
3750
+ superblocksMetadata: {
3751
+ type: "object",
3752
+ properties: {
3753
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3754
+ syncedFromProfileId: { type: "string" }
3755
+ },
3756
+ additionalProperties: {
3757
+ not: true,
3758
+ errorMessage: "extra property is ${0#}"
3759
+ }
3760
+ }
3761
+ }
3762
+ },
3763
+ smtp: {
3764
+ type: "object",
3765
+ additionalProperties: {
3766
+ not: true,
3767
+ errorMessage: "extra property is ${0#}"
3768
+ },
3769
+ properties: {
3770
+ bindingFields: { type: "array", items: { type: "string" } },
3771
+ name: { type: "string" },
3772
+ connection: { $ref: "#/definitions/Plugin_SmtpConnection" },
3773
+ dynamicWorkflowConfiguration: {
3774
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
3775
+ }
3776
+ }
3777
+ },
3778
+ snowflake: {
3779
+ type: "object",
3780
+ additionalProperties: {
3781
+ not: true,
3782
+ errorMessage: "extra property is ${0#}"
3783
+ },
3784
+ properties: {
3785
+ bindingFields: { type: "array", items: { type: "string" } },
3786
+ connectionType: {
3787
+ type: "string",
3788
+ enum: ["fields", "okta", "key-pair", "oauth-token-exchange"]
3789
+ },
3790
+ authTypeField: { type: "string" },
3791
+ okta: {
3792
+ type: "object",
3793
+ properties: { authenticatorUrl: { type: "string" } },
3794
+ additionalProperties: {
3795
+ not: true,
3796
+ errorMessage: "extra property is ${0#}"
3797
+ }
3798
+ },
3799
+ keyPair: {
3800
+ type: "object",
3801
+ properties: {
3802
+ privateKey: { type: "string" },
3803
+ password: { type: "string" }
3804
+ },
3805
+ required: ["privateKey"],
3806
+ additionalProperties: {
3807
+ not: true,
3808
+ errorMessage: "extra property is ${0#}"
3809
+ }
3810
+ },
3811
+ authentication: {
3812
+ type: "object",
3813
+ properties: {
3814
+ username: { type: "string" },
3815
+ password: { type: "string" },
3816
+ custom: {
3817
+ type: "object",
3818
+ properties: {
3819
+ databaseName: { $ref: "#/definitions/Property" },
3820
+ account: { $ref: "#/definitions/Property" },
3821
+ warehouse: { $ref: "#/definitions/Property" },
3822
+ schema: { $ref: "#/definitions/Property" },
3823
+ role: { $ref: "#/definitions/Property" }
3824
+ },
3825
+ additionalProperties: {
3826
+ not: true,
3827
+ errorMessage: "extra property is ${0#}"
3828
+ }
3829
+ }
3830
+ },
3831
+ additionalProperties: {
3832
+ not: true,
3833
+ errorMessage: "extra property is ${0#}"
3834
+ }
3835
+ },
3836
+ connection: {
3837
+ type: "object",
3838
+ properties: {
3839
+ useSsl: { type: ["boolean", "string"] },
3840
+ useSelfSignedSsl: { type: ["boolean", "string"] },
3841
+ ca: { type: "string" },
3842
+ key: { type: "string" },
3843
+ cert: { type: "string" },
3844
+ mode: { type: "number", const: 0 }
3845
+ },
3846
+ additionalProperties: {
3847
+ not: true,
3848
+ errorMessage: "extra property is ${0#}"
3849
+ }
3850
+ },
3851
+ endpoint: {
3852
+ type: "object",
3853
+ properties: {
3854
+ host: { type: "string" },
3855
+ port: { type: "number", minimum: 0, maximum: 65536 }
3856
+ },
3857
+ additionalProperties: {
3858
+ not: true,
3859
+ errorMessage: "extra property is ${0#}"
3860
+ }
3861
+ },
3862
+ name: { type: "string" },
3863
+ dynamicWorkflowConfiguration: {
3864
+ $ref: "#/definitions/DynamicWorkflowConfig"
3865
+ },
3866
+ id: { type: "string" },
3867
+ superblocksMetadata: {
3868
+ type: "object",
3869
+ properties: {
3870
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3871
+ syncedFromProfileId: { type: "string" }
3872
+ },
3873
+ additionalProperties: {
3874
+ not: true,
3875
+ errorMessage: "extra property is ${0#}"
3876
+ }
3877
+ },
3878
+ authConfig: { $ref: "#/definitions/AuthConfig" },
3879
+ authType: { $ref: "#/definitions/AuthType" }
3880
+ }
3881
+ },
3882
+ snowflakecortex: {
3883
+ type: "object",
3884
+ additionalProperties: {
3885
+ not: true,
3886
+ errorMessage: "extra property is ${0#}"
3887
+ },
3888
+ properties: {
3889
+ bindingFields: { type: "array", items: { type: "string" } },
3890
+ urlBase: { type: "string" },
3891
+ AuthCodeExplanation: { type: "string" },
3892
+ FirebaseAlert: { type: "string" },
3893
+ FirebaseAlertToken: { type: "string" },
3894
+ HTTPBasicAlert: { type: "string" },
3895
+ "oauth-callback-alert": { type: "string" },
3896
+ "oauth-connect-button": { type: "string" },
3897
+ "oauth-revoke-shared-tokens-button": { type: "string" },
3898
+ OAuth2PasswordAlert: { type: "string" },
3899
+ openApiSpecRef: { type: "string" },
3900
+ openApiTenantName: { type: "string" },
3901
+ headers: {
3902
+ type: "array",
3903
+ items: { $ref: "#/definitions/Property" }
3904
+ },
3905
+ params: {
3906
+ type: "array",
3907
+ items: { $ref: "#/definitions/Property" }
3908
+ },
3909
+ authConfig: { $ref: "#/definitions/AuthConfig" },
3910
+ authType: { $ref: "#/definitions/AuthType" },
3911
+ name: { type: "string" },
3912
+ dynamicWorkflowConfiguration: {
3913
+ $ref: "#/definitions/DynamicWorkflowConfig"
3914
+ },
3915
+ id: { type: "string" },
3916
+ superblocksMetadata: {
3917
+ type: "object",
3918
+ properties: {
3919
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3920
+ syncedFromProfileId: { type: "string" }
3921
+ },
3922
+ additionalProperties: {
3923
+ not: true,
3924
+ errorMessage: "extra property is ${0#}"
3925
+ }
3926
+ }
3927
+ }
3928
+ },
3929
+ snowflakepostgres: {
3930
+ type: "object",
3931
+ additionalProperties: {
3932
+ not: true,
3933
+ errorMessage: "extra property is ${0#}"
3934
+ },
3935
+ properties: {
3936
+ bindingFields: { type: "array", items: { type: "string" } },
3937
+ name: { type: "string" },
3938
+ connection: {
3939
+ type: "object",
3940
+ properties: {
3941
+ host: { type: "string" },
3942
+ port: { type: "number" },
3943
+ databaseName: { type: "string" },
3944
+ username: { type: "string" },
3945
+ password: { type: "string" },
3946
+ useSelfSignedSsl: { type: "boolean" },
3947
+ ca: { type: "string" },
3948
+ key: { type: "string" },
3949
+ cert: { type: "string" }
3950
+ },
3951
+ additionalProperties: {
3952
+ not: true,
3953
+ errorMessage: "extra property is ${0#}"
3954
+ }
3955
+ },
3956
+ connectionType: { type: "string", enum: ["fields", "url"] },
3957
+ connectionUrl: { type: "string" }
3958
+ }
3959
+ },
3960
+ salesforce: {
3961
+ type: "object",
3962
+ additionalProperties: {
3963
+ not: true,
3964
+ errorMessage: "extra property is ${0#}"
3965
+ },
3966
+ properties: {
3967
+ bindingFields: { type: "array", items: { type: "string" } },
3968
+ name: { type: "string" },
3969
+ connection: {
3970
+ $ref: "#/definitions/Plugin_SalesforceConnection"
3971
+ },
3972
+ authTypeField: { type: "string" },
3973
+ authTypeOnBehalfOfToken: { type: "string" },
3974
+ authConfig: { $ref: "#/definitions/AuthConfig" },
3975
+ authType: { $ref: "#/definitions/AuthType" },
3976
+ dynamicWorkflowConfiguration: {
3977
+ $ref: "#/definitions/DynamicWorkflowConfig"
3978
+ },
3979
+ id: { type: "string" },
3980
+ superblocksMetadata: {
3981
+ type: "object",
3982
+ properties: {
3983
+ pluginVersion: { $ref: "#/definitions/SemVer" },
3984
+ syncedFromProfileId: { type: "string" }
3985
+ },
3986
+ additionalProperties: {
3987
+ not: true,
3988
+ errorMessage: "extra property is ${0#}"
3989
+ }
3990
+ }
3991
+ }
3992
+ },
3993
+ "superblocks-ocr": {
3994
+ type: "object",
3995
+ additionalProperties: {
3996
+ not: true,
3997
+ errorMessage: "extra property is ${0#}"
3998
+ },
3999
+ properties: {
4000
+ bindingFields: { type: "array", items: { type: "string" } },
4001
+ microsoftComputerVisionApiKey: { type: "string" },
4002
+ microsoftComputerVisionResourceBaseUrl: { type: "string" },
4003
+ name: { type: "string" },
4004
+ dynamicWorkflowConfiguration: {
4005
+ $ref: "#/definitions/DynamicWorkflowConfig"
4006
+ },
4007
+ id: { type: "string" },
4008
+ superblocksMetadata: {
4009
+ type: "object",
4010
+ properties: {
4011
+ pluginVersion: { $ref: "#/definitions/SemVer" },
4012
+ syncedFromProfileId: { type: "string" }
4013
+ },
4014
+ additionalProperties: {
4015
+ not: true,
4016
+ errorMessage: "extra property is ${0#}"
4017
+ }
4018
+ }
4019
+ }
4020
+ },
4021
+ workflow: {
4022
+ type: "object",
4023
+ additionalProperties: {
4024
+ not: true,
4025
+ errorMessage: "extra property is ${0#}"
4026
+ },
4027
+ properties: {
4028
+ bindingFields: { type: "array", items: { type: "string" } },
4029
+ name: { type: "string" },
4030
+ dynamicWorkflowConfiguration: {
4031
+ $ref: "#/definitions/DynamicWorkflowConfig"
4032
+ },
4033
+ id: { type: "string" },
4034
+ superblocksMetadata: {
4035
+ type: "object",
4036
+ properties: {
4037
+ pluginVersion: { $ref: "#/definitions/SemVer" },
4038
+ syncedFromProfileId: { type: "string" }
4039
+ },
4040
+ additionalProperties: {
4041
+ not: true,
4042
+ errorMessage: "extra property is ${0#}"
4043
+ }
4044
+ }
4045
+ }
4046
+ },
4047
+ mssql: {
4048
+ type: "object",
4049
+ additionalProperties: {
4050
+ not: true,
4051
+ errorMessage: "extra property is ${0#}"
4052
+ },
4053
+ properties: {
4054
+ bindingFields: { type: "array", items: { type: "string" } },
4055
+ connectionType: { type: "string", enum: ["fields", "url"] },
4056
+ connectionUrl: { type: "string" },
4057
+ authentication: {
4058
+ type: "object",
4059
+ properties: {
4060
+ custom: {
4061
+ type: "object",
4062
+ properties: {
4063
+ databaseName: { $ref: "#/definitions/Property" }
4064
+ },
4065
+ additionalProperties: {
4066
+ not: true,
4067
+ errorMessage: "extra property is ${0#}"
4068
+ }
4069
+ },
4070
+ username: { type: "string" },
4071
+ password: { type: "string" }
4072
+ },
4073
+ additionalProperties: {
4074
+ not: true,
4075
+ errorMessage: "extra property is ${0#}"
4076
+ }
4077
+ },
4078
+ connection: {
4079
+ type: "object",
4080
+ properties: {
4081
+ useSsl: { type: ["boolean", "string"] },
4082
+ useSelfSignedSsl: { type: ["boolean", "string"] },
4083
+ ca: { type: "string" },
4084
+ key: { type: "string" },
4085
+ cert: { type: "string" },
4086
+ mode: { type: "number", const: 0 }
4087
+ },
4088
+ additionalProperties: {
4089
+ not: true,
4090
+ errorMessage: "extra property is ${0#}"
4091
+ }
4092
+ },
4093
+ endpoint: {
4094
+ type: "object",
4095
+ properties: {
4096
+ host: { type: "string" },
4097
+ port: { type: "number", minimum: 0, maximum: 65536 }
4098
+ },
4099
+ additionalProperties: {
4100
+ not: true,
4101
+ errorMessage: "extra property is ${0#}"
4102
+ }
4103
+ },
4104
+ name: { type: "string" },
4105
+ dynamicWorkflowConfiguration: {
4106
+ $ref: "#/definitions/DynamicWorkflowConfig"
4107
+ },
4108
+ id: { type: "string" },
4109
+ superblocksMetadata: {
4110
+ type: "object",
4111
+ properties: {
4112
+ pluginVersion: { $ref: "#/definitions/SemVer" },
4113
+ syncedFromProfileId: { type: "string" }
4114
+ },
4115
+ additionalProperties: {
4116
+ not: true,
4117
+ errorMessage: "extra property is ${0#}"
4118
+ }
4119
+ }
4120
+ }
4121
+ },
4122
+ gsheets: {
4123
+ type: "object",
4124
+ additionalProperties: {
4125
+ not: true,
4126
+ errorMessage: "extra property is ${0#}"
4127
+ },
4128
+ properties: {
4129
+ bindingFields: { type: "array", items: { type: "string" } },
4130
+ urlBase: { type: "string" },
4131
+ AuthCodeExplanation: { type: "string" },
4132
+ FirebaseAlert: { type: "string" },
4133
+ FirebaseAlertToken: { type: "string" },
4134
+ HTTPBasicAlert: { type: "string" },
4135
+ "oauth-callback-alert": { type: "string" },
4136
+ "oauth-connect-button": { type: "string" },
4137
+ "oauth-revoke-shared-tokens-button": { type: "string" },
4138
+ OAuth2PasswordAlert: { type: "string" },
4139
+ openApiSpecRef: { type: "string" },
4140
+ openApiTenantName: { type: "string" },
4141
+ headers: {
4142
+ type: "array",
4143
+ items: { $ref: "#/definitions/Property" }
4144
+ },
4145
+ params: {
4146
+ type: "array",
4147
+ items: { $ref: "#/definitions/Property" }
4148
+ },
4149
+ authConfig: { $ref: "#/definitions/AuthConfig" },
4150
+ authType: { $ref: "#/definitions/AuthType" },
4151
+ name: { type: "string" },
4152
+ dynamicWorkflowConfiguration: {
4153
+ $ref: "#/definitions/DynamicWorkflowConfig"
4154
+ },
4155
+ id: { type: "string" },
4156
+ superblocksMetadata: {
4157
+ type: "object",
4158
+ properties: {
4159
+ pluginVersion: { $ref: "#/definitions/SemVer" },
4160
+ syncedFromProfileId: { type: "string" }
4161
+ },
4162
+ additionalProperties: {
4163
+ not: true,
4164
+ errorMessage: "extra property is ${0#}"
4165
+ }
4166
+ }
4167
+ }
4168
+ },
4169
+ kafka: {
4170
+ type: "object",
4171
+ additionalProperties: {
4172
+ not: true,
4173
+ errorMessage: "extra property is ${0#}"
4174
+ },
4175
+ properties: {
4176
+ bindingFields: { type: "array", items: { type: "string" } },
4177
+ name: { type: "string" },
4178
+ cluster: { $ref: "#/definitions/Cluster" },
4179
+ dynamicWorkflowConfiguration: {
4180
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
4181
+ },
4182
+ superblocksMetadata: {
4183
+ type: "object",
4184
+ properties: {
4185
+ pluginVersion: { type: "string" },
4186
+ syncedFromProfileId: { type: "string" }
4187
+ },
4188
+ additionalProperties: {
4189
+ not: true,
4190
+ errorMessage: "extra property is ${0#}"
4191
+ }
4192
+ }
4193
+ }
4194
+ },
4195
+ kinesis: {
4196
+ type: "object",
4197
+ additionalProperties: {
4198
+ not: true,
4199
+ errorMessage: "extra property is ${0#}"
4200
+ },
4201
+ properties: {
4202
+ bindingFields: { type: "array", items: { type: "string" } },
4203
+ name: { type: "string" },
4204
+ connection: { $ref: "#/definitions/Plugin_KinesisConnection" },
4205
+ dynamicWorkflowConfiguration: {
4206
+ $ref: "#/definitions/DynamicWorkflowConfiguration"
4207
+ }
4208
+ }
4209
+ }
4210
+ },
4211
+ additionalProperties: {
4212
+ not: true,
4213
+ errorMessage: "extra property is ${0#}"
4214
+ }
4215
+ },
4216
+ Plugin_AdlsConnection: {
4217
+ type: "object",
4218
+ properties: {
4219
+ accountName: { type: "string" },
4220
+ tenant: { type: "string" },
4221
+ auth: { $ref: "#/definitions/Azure" }
4222
+ },
4223
+ required: ["accountName", "tenant"],
4224
+ additionalProperties: {
4225
+ not: true,
4226
+ errorMessage: "extra property is ${0#}"
4227
+ },
4228
+ description: "We need to repeat that it's Adls because of the schema checker that's built based off of these types. It errors out when there is a duplicate type name."
4229
+ },
4230
+ Azure: {
4231
+ type: "object",
4232
+ properties: {
4233
+ config: {
4234
+ anyOf: [
4235
+ {
4236
+ type: "object",
4237
+ properties: {
4238
+ value: { $ref: "#/definitions/Azure_Key" },
4239
+ case: { type: "string", const: "key" }
4240
+ },
4241
+ required: ["value", "case"],
4242
+ additionalProperties: {
4243
+ not: true,
4244
+ errorMessage: "extra property is ${0#}"
4245
+ }
4246
+ },
4247
+ {
4248
+ type: "object",
4249
+ properties: {
4250
+ value: { $ref: "#/definitions/Azure_ClientCredentials" },
4251
+ case: { type: "string", const: "clientCredentials" }
4252
+ },
4253
+ required: ["value", "case"],
4254
+ additionalProperties: {
4255
+ not: true,
4256
+ errorMessage: "extra property is ${0#}"
4257
+ }
4258
+ },
4259
+ {
4260
+ type: "object",
4261
+ properties: { case: { not: {} }, value: { not: {} } },
4262
+ additionalProperties: {
4263
+ not: true,
4264
+ errorMessage: "extra property is ${0#}"
4265
+ }
4266
+ }
4267
+ ]
4268
+ }
4269
+ },
4270
+ required: ["config"],
4271
+ additionalProperties: {
4272
+ not: true,
4273
+ errorMessage: "extra property is ${0#}"
4274
+ }
4275
+ },
4276
+ Azure_Key: {
4277
+ type: "object",
4278
+ properties: { masterKey: { type: "string" } },
4279
+ required: ["masterKey"],
4280
+ additionalProperties: {
4281
+ not: true,
4282
+ errorMessage: "extra property is ${0#}"
4283
+ }
4284
+ },
4285
+ Azure_ClientCredentials: {
4286
+ type: "object",
4287
+ properties: {
4288
+ clientId: { type: "string" },
4289
+ clientSecret: { type: "string" }
4290
+ },
4291
+ required: ["clientId", "clientSecret"],
4292
+ additionalProperties: {
4293
+ not: true,
4294
+ errorMessage: "extra property is ${0#}"
4295
+ }
4296
+ },
4297
+ DynamicWorkflowConfiguration: {
4298
+ type: "object",
4299
+ properties: {
4300
+ enabled: { type: "boolean" },
4301
+ workflowId: { type: "string" }
4302
+ },
4303
+ additionalProperties: {
4304
+ not: true,
4305
+ errorMessage: "extra property is ${0#}"
4306
+ }
4307
+ },
4308
+ Cluster: {
4309
+ type: "object",
4310
+ properties: {
4311
+ brokers: {
4312
+ type: "string",
4313
+ description: "NOTE(frank): Due to limitations in our plugin template system, we can't use an array....."
4314
+ },
4315
+ ssl: { type: "boolean" },
4316
+ sasl: { $ref: "#/definitions/SASL" }
4317
+ },
4318
+ required: ["brokers", "ssl"],
4319
+ additionalProperties: {
4320
+ not: true,
4321
+ errorMessage: "extra property is ${0#}"
4322
+ }
4323
+ },
4324
+ SASL: {
4325
+ type: "object",
4326
+ properties: {
4327
+ mechanism: { $ref: "#/definitions/SASL_Mechanism" },
4328
+ username: { type: "string", description: "non-aws fields" },
4329
+ password: { type: "string" },
4330
+ accessKeyId: { type: "string", description: "aws fields" },
4331
+ secretKey: { type: "string" },
4332
+ sessionToken: { type: "string" },
4333
+ authorizationIdentity: { type: "string" }
4334
+ },
4335
+ required: ["mechanism"],
4336
+ additionalProperties: {
4337
+ not: true,
4338
+ errorMessage: "extra property is ${0#}"
4339
+ }
4340
+ },
4341
+ SASL_Mechanism: { type: "number", enum: [0, 1, 2, 3, 4] },
4342
+ Connection: {
4343
+ type: "object",
4344
+ properties: {
4345
+ workgroupName: { type: "string" },
4346
+ overrideS3OutputLocation: { type: "boolean" },
4347
+ s3OutputLocation: { type: "string" },
4348
+ s3OutputLocationSuffix: {
4349
+ $ref: "#/definitions/Connection_DateFolderType"
4350
+ },
4351
+ databaseName: { type: "string" },
4352
+ awsConfig: { $ref: "#/definitions/AWSConfig" }
4353
+ },
4354
+ required: ["overrideS3OutputLocation", "databaseName"],
4355
+ additionalProperties: {
4356
+ not: true,
4357
+ errorMessage: "extra property is ${0#}"
4358
+ }
4359
+ },
4360
+ Connection_DateFolderType: { type: "number", enum: [0, 1, 2, 3] },
4361
+ AWSConfig: {
4362
+ type: "object",
4363
+ properties: {
4364
+ region: { type: "string" },
4365
+ auth: { $ref: "#/definitions/AWSConfig_Auth" },
4366
+ endpoint: { type: "string" }
4367
+ },
4368
+ additionalProperties: {
4369
+ not: true,
4370
+ errorMessage: "extra property is ${0#}"
4371
+ }
4372
+ },
4373
+ AWSConfig_Auth: {
4374
+ type: "object",
4375
+ properties: {
4376
+ accessKeyId: { type: "string" },
4377
+ secretKey: { type: "string" },
4378
+ iamRoleArn: { type: "string" }
4379
+ },
4380
+ additionalProperties: {
4381
+ not: true,
4382
+ errorMessage: "extra property is ${0#}"
4383
+ }
4384
+ },
4385
+ Property: {
4386
+ type: "object",
4387
+ properties: {
4388
+ key: { type: "string" },
4389
+ value: { type: "string" },
4390
+ editable: { type: "boolean" },
4391
+ internal: { type: "boolean" },
4392
+ system: { type: "boolean" },
4393
+ description: { type: "string" },
4394
+ mandatory: { type: "boolean" },
4395
+ type: { type: "string" },
4396
+ defaultValue: { type: "string" },
4397
+ minRange: { type: "string" },
4398
+ maxRange: { type: "string" },
4399
+ valueOptions: { type: "array", items: { type: "string" } }
4400
+ },
4401
+ additionalProperties: {
4402
+ not: true,
4403
+ errorMessage: "extra property is ${0#}"
4404
+ }
4405
+ },
4406
+ DynamicWorkflowConfig: {
4407
+ type: "object",
4408
+ properties: {
4409
+ enabled: { type: "boolean" },
4410
+ workflowId: { type: "string" }
4411
+ },
4412
+ additionalProperties: {
4413
+ not: true,
4414
+ errorMessage: "extra property is ${0#}"
4415
+ }
4416
+ },
4417
+ SemVer: { type: "string" },
4418
+ SharedSSHAuthMethod: { type: "number", enum: [0, 1, 2, 3] },
4419
+ SSHAuthMethod: { type: "number", enum: [0, 1, 2, 3, 4] },
4420
+ Plugin_CouchbaseConnection: {
4421
+ type: "object",
4422
+ properties: {
4423
+ user: { type: "string" },
4424
+ password: { type: "string" },
4425
+ url: { type: "string" }
4426
+ },
4427
+ required: ["user", "password", "url"],
4428
+ additionalProperties: {
4429
+ not: true,
4430
+ errorMessage: "extra property is ${0#}"
4431
+ }
4432
+ },
4433
+ SSHConfiguration: {
4434
+ type: "object",
4435
+ properties: {
4436
+ authenticationMethod: { $ref: "#/definitions/SSHAuthMethod" },
4437
+ enabled: { type: "boolean" },
4438
+ host: { type: "string" },
4439
+ passphrase: { type: "string" },
4440
+ password: { type: "string" },
4441
+ port: { type: "number" },
4442
+ privateKey: { type: "string" },
4443
+ publicKey: { type: "string" },
4444
+ username: { type: "string" }
4445
+ },
4446
+ additionalProperties: {
4447
+ not: true,
4448
+ errorMessage: "extra property is ${0#}"
4449
+ }
4450
+ },
4451
+ AuthConfig: {
4452
+ type: "object",
4453
+ additionalProperties: {
4454
+ not: true,
4455
+ errorMessage: "extra property is ${0#}"
4456
+ },
4457
+ properties: {
4458
+ googleServiceAccount: { $ref: "#/definitions/Property" },
4459
+ clientSecret: { type: "string" },
4460
+ usePkce: { type: ["boolean", "string"] },
4461
+ usePkceClientSecret: { type: ["boolean", "string"] },
4462
+ clientId: { type: "string" },
4463
+ authorizationUrl: { type: "string" },
4464
+ authUrl: { type: "string" },
4465
+ userInfoUrl: { type: "string" },
4466
+ tokenUrl: { type: "string" },
4467
+ scope: { type: "string" },
4468
+ audience: { type: "string" },
4469
+ promptType: { type: "string" },
4470
+ refreshTokenFromServer: { type: "boolean" },
4471
+ tokenScope: { $ref: "#/definitions/TokenScope" },
4472
+ revokeTokenUrl: { type: "string" },
4473
+ authToken: { type: "string" },
4474
+ hasToken: { type: "boolean" },
4475
+ userEmail: { type: "string" },
4476
+ sendOAuthState: { type: "boolean" },
4477
+ key: { type: "string" },
4478
+ value: { type: "string" },
4479
+ method: { $ref: "#/definitions/ApiKeyMethod" },
4480
+ apiKeys: {
4481
+ type: "object",
4482
+ additionalProperties: {
4483
+ type: "object",
4484
+ properties: {
4485
+ header: { type: "string" },
4486
+ token: { type: "string" }
4487
+ },
4488
+ additionalProperties: {
4489
+ not: true,
4490
+ errorMessage: "extra property is ${0#}"
4491
+ }
4492
+ }
4493
+ },
4494
+ prefix: { type: "string" },
4495
+ token: { type: "string" },
4496
+ bearerToken: { type: "string" },
4497
+ apiKey: { type: "string" },
4498
+ google: { type: "boolean" },
4499
+ email: { type: "boolean" },
4500
+ subjectTokenSource: { type: "string" },
4501
+ subjectTokenSourceStaticToken: { type: "string" },
4502
+ subjectTokenType: { type: "string" },
4503
+ clientAuthMethod: { $ref: "#/definitions/ClientAuthMethod" },
4504
+ username: { type: "string" },
4505
+ password: { type: "string" },
4506
+ useFixedPasswordCreds: { type: "boolean" },
4507
+ shareBasicAuthCreds: { type: ["boolean", "string"] }
4508
+ }
4509
+ },
4510
+ TokenScope: { type: "string", enum: ["datasource", "user"] },
4511
+ ApiKeyMethod: { type: "string", enum: ["header", "query-param"] },
4512
+ ClientAuthMethod: {
4513
+ type: "string",
4514
+ enum: ["BASIC", "BEARER", "POST"]
4515
+ },
4516
+ AuthType: {
4517
+ anyOf: [
4518
+ { $ref: "#/definitions/IntegrationAuthType" },
4519
+ { $ref: "#/definitions/GoogleSheetsAuthType" },
4520
+ { $ref: "#/definitions/NewAuthType" },
4521
+ { type: "string", enum: ["url", "fields", "okta", "key-pair"] }
4522
+ ]
4523
+ },
4524
+ IntegrationAuthType: {
4525
+ type: "string",
4526
+ enum: [
4527
+ "None",
4528
+ "basic",
4529
+ "oauth-code",
4530
+ "oauth-client-cred",
4531
+ "oauth-implicit",
4532
+ "oauth-pword",
4533
+ "oauth-token-exchange",
4534
+ "oauthTokenExchange",
4535
+ "oauth-idp-token-passthrough",
4536
+ "Firebase",
4537
+ "bearer",
4538
+ "api-key",
4539
+ "token-prefixed",
4540
+ "api-key-form"
4541
+ ]
4542
+ },
4543
+ GoogleSheetsAuthType: {
4544
+ type: "string",
4545
+ enum: ["oauth-code", "service-account"]
4546
+ },
4547
+ NewAuthType: {
4548
+ type: "string",
4549
+ enum: [
4550
+ "passwordGrantFlow",
4551
+ "authorizationCodeFlow",
4552
+ "clientCredentialsFlow",
4553
+ "tokenExchangeFlow"
4554
+ ]
4555
+ },
4556
+ Plugin_DatabricksConnection: {
4557
+ type: "object",
4558
+ properties: {
4559
+ defaultCatalog: { type: "string" },
4560
+ defaultSchema: { type: "string" },
4561
+ hostUrl: { type: "string" },
4562
+ path: { type: "string" },
4563
+ port: { type: "number" },
4564
+ connectionType: { $ref: "#/definitions/Plugin_ConnectionType" },
4565
+ token: { type: "string", description: "PAT" },
4566
+ oauthClientId: { type: "string", description: "M2M" },
4567
+ oauthClientSecret: { type: "string" },
4568
+ scopedCatalogSchemas: {
4569
+ type: "array",
4570
+ items: { $ref: "#/definitions/Plugin_ScopedCatalogSchemas" },
4571
+ description: "Scoped catalog and schemas for metadata filtering"
4572
+ }
4573
+ },
4574
+ required: ["hostUrl", "path", "port", "scopedCatalogSchemas"],
4575
+ additionalProperties: {
4576
+ not: true,
4577
+ errorMessage: "extra property is ${0#}"
4578
+ }
4579
+ },
4580
+ Plugin_ConnectionType: { type: "number", enum: [0, 1, 2, 3] },
4581
+ Plugin_ScopedCatalogSchemas: {
4582
+ type: "object",
4583
+ properties: {
4584
+ catalog: { type: "string" },
4585
+ schemas: { type: "array", items: { type: "string" } }
4586
+ },
4587
+ required: ["catalog", "schemas"],
4588
+ additionalProperties: {
4589
+ not: true,
4590
+ errorMessage: "extra property is ${0#}"
4591
+ }
4592
+ },
4593
+ AWSAuthType: {
4594
+ type: "string",
4595
+ enum: ["access-key", "token-file", "ec2-instance-metadata"]
4596
+ },
4597
+ Plugin_OracleDbConnection: {
4598
+ type: "object",
4599
+ properties: {
4600
+ hostUrl: { type: "string" },
4601
+ port: { type: "number" },
4602
+ user: { type: "string" },
4603
+ password: { type: "string" },
4604
+ databaseService: { type: "string" },
4605
+ useTcps: { type: "boolean" },
4606
+ connectionType: { type: "string" },
4607
+ connectionUrl: { type: "string" }
4608
+ },
4609
+ required: [
4610
+ "hostUrl",
4611
+ "port",
4612
+ "user",
4613
+ "password",
4614
+ "databaseService",
4615
+ "useTcps",
4616
+ "connectionType",
4617
+ "connectionUrl"
4618
+ ],
4619
+ additionalProperties: {
4620
+ not: true,
4621
+ errorMessage: "extra property is ${0#}"
4622
+ }
4623
+ },
4624
+ Plugin_SmtpConnection: {
4625
+ type: "object",
4626
+ properties: {
4627
+ host: { type: "string" },
4628
+ port: { type: "number" },
4629
+ username: { type: "string" },
4630
+ password: { type: "string" },
4631
+ secure: { type: "boolean" }
4632
+ },
4633
+ required: ["host", "port", "username", "password"],
4634
+ additionalProperties: {
4635
+ not: true,
4636
+ errorMessage: "extra property is ${0#}"
4637
+ }
4638
+ },
4639
+ Plugin_SalesforceConnection: {
4640
+ type: "object",
4641
+ properties: {
4642
+ instanceUrl: { type: "string" },
4643
+ auth: { $ref: "#/definitions/Auth" }
4644
+ },
4645
+ required: ["instanceUrl"],
4646
+ additionalProperties: {
4647
+ not: true,
4648
+ errorMessage: "extra property is ${0#}"
4649
+ },
4650
+ description: "children messages"
4651
+ },
4652
+ Auth: {
4653
+ type: "object",
4654
+ properties: {
4655
+ method: {
4656
+ anyOf: [
4657
+ {
4658
+ type: "object",
4659
+ properties: {
4660
+ value: { $ref: "#/definitions/OAuth_PasswordGrantFlow" },
4661
+ case: { type: "string", const: "passwordGrantFlow" }
4662
+ },
4663
+ required: ["value", "case"],
4664
+ additionalProperties: {
4665
+ not: true,
4666
+ errorMessage: "extra property is ${0#}"
4667
+ }
4668
+ },
4669
+ {
4670
+ type: "object",
4671
+ properties: {
4672
+ value: {
4673
+ $ref: "#/definitions/OAuth_AuthorizationCodeFlow"
4674
+ },
4675
+ case: { type: "string", const: "authorizationCodeFlow" }
4676
+ },
4677
+ required: ["value", "case"],
4678
+ additionalProperties: {
4679
+ not: true,
4680
+ errorMessage: "extra property is ${0#}"
4681
+ }
4682
+ },
4683
+ {
4684
+ type: "object",
4685
+ properties: {
4686
+ value: { $ref: "#/definitions/Basic" },
4687
+ case: { type: "string", const: "basic" }
4688
+ },
4689
+ required: ["value", "case"],
4690
+ additionalProperties: {
4691
+ not: true,
4692
+ errorMessage: "extra property is ${0#}"
4693
+ }
4694
+ },
4695
+ {
4696
+ type: "object",
4697
+ properties: {
4698
+ value: {
4699
+ $ref: "#/definitions/OAuth_ClientCredentialsFlow"
4700
+ },
4701
+ case: { type: "string", const: "clientCredentialsFlow" }
4702
+ },
4703
+ required: ["value", "case"],
4704
+ additionalProperties: {
4705
+ not: true,
4706
+ errorMessage: "extra property is ${0#}"
4707
+ }
4708
+ },
4709
+ {
4710
+ type: "object",
4711
+ properties: {
4712
+ value: {
4713
+ $ref: "#/definitions/Azure_Key",
4714
+ description: "todo: remove me when cosmos updates"
4715
+ },
4716
+ case: { type: "string", const: "key" }
4717
+ },
4718
+ required: ["value", "case"],
4719
+ additionalProperties: {
4720
+ not: true,
4721
+ errorMessage: "extra property is ${0#}"
4722
+ }
4723
+ },
4724
+ {
4725
+ type: "object",
4726
+ properties: {
4727
+ value: {
4728
+ $ref: "#/definitions/Auth_Nothing",
4729
+ description: "NOTE:"
4730
+ },
4731
+ case: { type: "string", const: "oauthTokenExchange" }
4732
+ },
4733
+ required: ["value", "case"],
4734
+ additionalProperties: {
4735
+ not: true,
4736
+ errorMessage: "extra property is ${0#}"
4737
+ }
4738
+ },
4739
+ {
4740
+ type: "object",
4741
+ properties: { case: { not: {} }, value: { not: {} } },
4742
+ additionalProperties: {
4743
+ not: true,
4744
+ errorMessage: "extra property is ${0#}"
4745
+ }
4746
+ }
4747
+ ]
4748
+ }
4749
+ },
4750
+ required: ["method"],
4751
+ additionalProperties: {
4752
+ not: true,
4753
+ errorMessage: "extra property is ${0#}"
4754
+ }
4755
+ },
4756
+ OAuth_PasswordGrantFlow: {
4757
+ type: "object",
4758
+ properties: {
4759
+ clientId: { type: "string" },
4760
+ clientSecret: { type: "string" },
4761
+ tokenUrl: { type: "string" },
4762
+ username: { type: "string" },
4763
+ password: { type: "string" },
4764
+ audience: { type: "string" },
4765
+ scope: { type: "string" }
4766
+ },
4767
+ required: [
4768
+ "clientId",
4769
+ "clientSecret",
4770
+ "tokenUrl",
4771
+ "username",
4772
+ "password",
4773
+ "audience",
4774
+ "scope"
4775
+ ],
4776
+ additionalProperties: {
4777
+ not: true,
4778
+ errorMessage: "extra property is ${0#}"
4779
+ }
4780
+ },
4781
+ OAuth_AuthorizationCodeFlow: {
4782
+ type: "object",
4783
+ properties: {
4784
+ clientId: { type: "string" },
4785
+ clientSecret: { type: "string" },
4786
+ tokenUrl: { type: "string" },
4787
+ authUrl: { type: "string" },
4788
+ audience: { type: "string" },
4789
+ scope: { type: "string" },
4790
+ tokenScope: { type: "string" },
4791
+ refreshTokenFromServer: { type: "boolean" },
4792
+ clientAuthMethod: { type: "string" },
4793
+ subjectTokenSource: {
4794
+ $ref: "#/definitions/OAuth_AuthorizationCodeFlow_SubjectTokenSource"
4795
+ },
4796
+ subjectTokenSourceStaticToken: { type: "string" },
4797
+ subjectTokenType: { type: "string" },
4798
+ workforcePoolId: { type: "string" },
4799
+ workforceProviderId: { type: "string" },
4800
+ billingProjectNumber: { type: "string" },
4801
+ projectId: { type: "string" }
4802
+ },
4803
+ required: [
4804
+ "clientId",
4805
+ "clientSecret",
4806
+ "tokenUrl",
4807
+ "authUrl",
4808
+ "audience",
4809
+ "scope",
4810
+ "tokenScope",
4811
+ "refreshTokenFromServer",
4812
+ "clientAuthMethod",
4813
+ "subjectTokenSource",
4814
+ "subjectTokenSourceStaticToken",
4815
+ "subjectTokenType",
4816
+ "workforcePoolId",
4817
+ "workforceProviderId",
4818
+ "billingProjectNumber",
4819
+ "projectId"
4820
+ ],
4821
+ additionalProperties: {
4822
+ not: true,
4823
+ errorMessage: "extra property is ${0#}"
4824
+ }
4825
+ },
4826
+ OAuth_AuthorizationCodeFlow_SubjectTokenSource: {
4827
+ type: "number",
4828
+ enum: [0, 1, 2]
4829
+ },
4830
+ Basic: {
4831
+ type: "object",
4832
+ properties: {
4833
+ username: { type: "string" },
4834
+ password: { type: "string" }
4835
+ },
4836
+ required: ["username", "password"],
4837
+ additionalProperties: {
4838
+ not: true,
4839
+ errorMessage: "extra property is ${0#}"
4840
+ }
4841
+ },
4842
+ OAuth_ClientCredentialsFlow: {
4843
+ type: "object",
4844
+ properties: {
4845
+ clientId: { type: "string" },
4846
+ clientSecret: { type: "string" },
4847
+ tokenUrl: { type: "string" },
4848
+ audience: { type: "string" },
4849
+ scope: { type: "string" }
4850
+ },
4851
+ required: ["clientId", "clientSecret", "tokenUrl", "audience", "scope"],
4852
+ additionalProperties: {
4853
+ not: true,
4854
+ errorMessage: "extra property is ${0#}"
4855
+ }
4856
+ },
4857
+ Auth_Nothing: {
4858
+ type: "object",
4859
+ additionalProperties: {
4860
+ not: true,
4861
+ errorMessage: "extra property is ${0#}"
4862
+ },
4863
+ properties: {}
4864
+ },
4865
+ Plugin_KinesisConnection: {
4866
+ type: "object",
4867
+ properties: { awsConfig: { $ref: "#/definitions/AWSConfig" } },
4868
+ additionalProperties: {
4869
+ not: true,
4870
+ errorMessage: "extra property is ${0#}"
4871
+ }
4872
+ }
4873
+ }
4874
+ };
4875
+
4876
+ // ../mcp-server/dist/tools/plugin-configuration-schema.js
4877
+ var STEP_ONLY_PLUGIN_IDS = /* @__PURE__ */ new Set([
4878
+ "graphql",
4879
+ "javascript",
4880
+ "python",
4881
+ "restapi",
4882
+ "workflow"
4883
+ ]);
4884
+ function isRecord(value) {
4885
+ return typeof value === "object" && value !== null && !Array.isArray(value);
4886
+ }
4887
+ function pluginProperties() {
4888
+ const definitions = datasource_configuration_by_type_schema_default.definitions;
4889
+ if (!isRecord(definitions)) {
4890
+ return {};
4891
+ }
4892
+ const byType = definitions.DatasourceConfigurationByType;
4893
+ if (!isRecord(byType) || !isRecord(byType.properties)) {
4894
+ return {};
4895
+ }
4896
+ return byType.properties;
4897
+ }
4898
+ function listPluginIds() {
4899
+ return Object.keys(pluginProperties()).filter((pluginId) => !STEP_ONLY_PLUGIN_IDS.has(pluginId)).sort();
4900
+ }
4901
+ var DEFINITION_REF_PREFIX = "#/definitions/";
4902
+ function collectRefs(value, found) {
4903
+ if (Array.isArray(value)) {
4904
+ for (const item of value) {
4905
+ collectRefs(item, found);
4906
+ }
4907
+ return;
4908
+ }
4909
+ if (!isRecord(value)) {
4910
+ return;
4911
+ }
4912
+ for (const [key, child] of Object.entries(value)) {
4913
+ if (key === "$ref" && typeof child === "string" && child.startsWith(DEFINITION_REF_PREFIX)) {
4914
+ found.add(child.slice(DEFINITION_REF_PREFIX.length));
4915
+ continue;
4916
+ }
4917
+ collectRefs(child, found);
4918
+ }
4919
+ }
4920
+ function reachableDefinitions(pluginSchema, allDefinitions) {
4921
+ const needed = /* @__PURE__ */ new Set();
4922
+ collectRefs(pluginSchema, needed);
4923
+ const pending = [...needed];
4924
+ while (pending.length > 0) {
4925
+ const name = pending.pop();
4926
+ const nested = /* @__PURE__ */ new Set();
4927
+ collectRefs(allDefinitions[name], nested);
4928
+ for (const ref of nested) {
4929
+ if (!needed.has(ref)) {
4930
+ needed.add(ref);
4931
+ pending.push(ref);
4932
+ }
4933
+ }
4934
+ }
4935
+ const pruned = {};
4936
+ for (const name of [...needed].sort()) {
4937
+ if (name in allDefinitions) {
4938
+ pruned[name] = allDefinitions[name];
4939
+ }
4940
+ }
4941
+ return pruned;
4942
+ }
4943
+ function getPluginConfigurationSchema(pluginId) {
4944
+ const pluginSchema = pluginProperties()[pluginId];
4945
+ if (!isRecord(pluginSchema) || STEP_ONLY_PLUGIN_IDS.has(pluginId)) {
4946
+ throw new McpError(ErrorCode.InvalidParams, `Unknown plugin_id "${pluginId}". Known plugin ids: ${listPluginIds().join(", ")}.`);
4947
+ }
4948
+ const definitions = isRecord(datasource_configuration_by_type_schema_default.definitions) ? datasource_configuration_by_type_schema_default.definitions : {};
4949
+ return {
4950
+ $schema: "http://json-schema.org/draft-07/schema#",
4951
+ ...pluginSchema,
4952
+ definitions: reachableDefinitions(pluginSchema, definitions)
4953
+ };
4954
+ }
4955
+
4956
+ // ../mcp-server/dist/tools/schemas.js
2243
4957
  var APP_URL_PROPERTY = {
2244
4958
  format: "uri",
2245
4959
  type: "string"
@@ -2312,6 +5026,18 @@ var LIMIT_PROPERTY = {
2312
5026
  maximum: 200,
2313
5027
  type: "integer"
2314
5028
  };
5029
+ var REVIEW_POLICY_RUNS_LIMIT_PROPERTY = {
5030
+ description: `Maximum number of items to return per page. Defaults to ${import_shared2.DEFAULT_REVIEW_POLICY_RUNS_LIMIT}. Maximum ${import_shared2.MAX_REVIEW_POLICY_RUNS_LIMIT}.`,
5031
+ exclusiveMinimum: 0,
5032
+ maximum: import_shared2.MAX_REVIEW_POLICY_RUNS_LIMIT,
5033
+ type: "integer"
5034
+ };
5035
+ var REVIEW_POLICY_RUN_FINDINGS_LIMIT_PROPERTY = {
5036
+ description: `Maximum number of items to return per page. Defaults to ${import_shared2.DEFAULT_REVIEW_POLICY_RUN_FINDINGS_LIMIT}. Maximum ${import_shared2.MAX_REVIEW_POLICY_RUN_FINDINGS_LIMIT}.`,
5037
+ exclusiveMinimum: 0,
5038
+ maximum: import_shared2.MAX_REVIEW_POLICY_RUN_FINDINGS_LIMIT,
5039
+ type: "integer"
5040
+ };
2315
5041
  var OFFSET_PROPERTY = {
2316
5042
  description: "Number of items to skip before returning results. Defaults to 0.",
2317
5043
  minimum: 0,
@@ -2453,6 +5179,11 @@ var INTEGRATION_KIND_PROPERTY = {
2453
5179
  items: { type: "string" },
2454
5180
  type: "array"
2455
5181
  };
5182
+ var PLUGIN_ID_NAME_PROPERTY = {
5183
+ description: "Plugin type id (for example restapiintegration, postgres, snowflake).",
5184
+ minLength: 1,
5185
+ type: "string"
5186
+ };
2456
5187
  var ASSIGNMENT_RECORD_ID_PROPERTY = {
2457
5188
  description: "Assignment record ID from RBAC assignments API.",
2458
5189
  format: "uuid",
@@ -2481,6 +5212,16 @@ var OBJECT_PAYLOAD_PROPERTY = {
2481
5212
  description: "Integration payload object sent directly to the integrations API. Include fields required by the target integration type.",
2482
5213
  type: "object"
2483
5214
  };
5215
+ var INTEGRATION_CONFIGURATION_PROPERTY = {
5216
+ additionalProperties: true,
5217
+ description: "Plugin configuration fields from get_integration_config_schema. Do not include id, created, integrationId, or bindingFields.",
5218
+ type: "object"
5219
+ };
5220
+ var INTEGRATION_CREATE_KIND_PROPERTY = {
5221
+ description: "Integration kind. Defaults to PLUGIN.",
5222
+ enum: ["PLUGIN", "SECRET"],
5223
+ type: "string"
5224
+ };
2484
5225
  var IS_DEPLOYED_PROPERTY = {
2485
5226
  description: "Filter by deploy status (true = deployed, false = not deployed).",
2486
5227
  type: "boolean"
@@ -2651,13 +5392,36 @@ var findAppsByIntegrationToolInputSchema = {
2651
5392
  required: ["base_url", "integration_id"],
2652
5393
  type: "object"
2653
5394
  };
5395
+ var getIntegrationConfigSchemaToolInputSchema = {
5396
+ additionalProperties: false,
5397
+ properties: {
5398
+ base_url: BASE_URL_PROPERTY,
5399
+ // Enumerated here but not on create_integration: this tool can only answer
5400
+ // for plugins the schema models, while creation also accepts secret stores
5401
+ // and proto-backed plugins that it omits.
5402
+ plugin_id: {
5403
+ ...PLUGIN_ID_NAME_PROPERTY,
5404
+ enum: listPluginIds()
5405
+ }
5406
+ },
5407
+ required: ["plugin_id"],
5408
+ type: "object"
5409
+ };
2654
5410
  var createIntegrationToolInputSchema = {
2655
5411
  additionalProperties: false,
2656
5412
  properties: {
2657
5413
  base_url: BASE_URL_PROPERTY,
2658
- payload: OBJECT_PAYLOAD_PROPERTY
5414
+ configuration: INTEGRATION_CONFIGURATION_PROPERTY,
5415
+ kind: INTEGRATION_CREATE_KIND_PROPERTY,
5416
+ name: NAME_PROPERTY,
5417
+ plugin_id: PLUGIN_ID_NAME_PROPERTY,
5418
+ slug: {
5419
+ description: "Optional integration slug.",
5420
+ minLength: 1,
5421
+ type: "string"
5422
+ }
2659
5423
  },
2660
- required: ["base_url", "payload"],
5424
+ required: ["base_url", "configuration", "name", "plugin_id"],
2661
5425
  type: "object"
2662
5426
  };
2663
5427
  var updateIntegrationToolInputSchema = {
@@ -3069,165 +5833,415 @@ var getAppSbomToolInputSchema = {
3069
5833
  type: "string"
3070
5834
  }
3071
5835
  },
3072
- required: ["base_url", "application_id"],
5836
+ required: ["base_url", "application_id"],
5837
+ type: "object"
5838
+ };
5839
+ var listDistinctPackagesInOrgToolInputSchema = {
5840
+ additionalProperties: false,
5841
+ properties: {
5842
+ base_url: BASE_URL_PROPERTY,
5843
+ package_name_prefix: {
5844
+ description: "Case-sensitive prefix match on package_name. '%' and '_' are treated as literal characters.",
5845
+ minLength: 1,
5846
+ type: "string"
5847
+ },
5848
+ dependency_source: {
5849
+ description: "Filter by dependency source: 'root' (root package.json), 'direct' (any non-transitive), 'transitive' (lockfile-only).",
5850
+ enum: ["root", "direct", "transitive"],
5851
+ type: "string"
5852
+ },
5853
+ include_transitive: {
5854
+ description: "When false, excludes transitive (lockfile-only) dependencies. Defaults to true.",
5855
+ type: "boolean"
5856
+ },
5857
+ deployed: {
5858
+ description: "Optional deploy filter. true = only the currently-deployed commit, false = only non-deployed commits, omitted = all indexed commits.",
5859
+ type: "boolean"
5860
+ },
5861
+ limit: {
5862
+ maximum: 200,
5863
+ minimum: 1,
5864
+ type: "integer"
5865
+ },
5866
+ offset: {
5867
+ minimum: 0,
5868
+ type: "integer"
5869
+ }
5870
+ },
5871
+ required: ["base_url"],
5872
+ type: "object"
5873
+ };
5874
+ var ENTITY_SCOPE_PROPERTY = {
5875
+ description: "Scope of the knowledge entry: org, user, or integration.",
5876
+ enum: ["org", "user", "integration"],
5877
+ type: "string"
5878
+ };
5879
+ var ACCESS_TYPE_PROPERTY = {
5880
+ description: "Access type: always_inject (core memory) or on_demand (skills).",
5881
+ enum: ["always_inject", "on_demand"],
5882
+ type: "string"
5883
+ };
5884
+ var IS_ENABLED_PROPERTY = {
5885
+ description: "Filter by enabled status.",
5886
+ type: "boolean"
5887
+ };
5888
+ var SEARCH_PROPERTY = {
5889
+ description: "Search by name or description substring.",
5890
+ minLength: 1,
5891
+ type: "string"
5892
+ };
5893
+ var SORT_BY_PROPERTY = {
5894
+ description: "Sort field.",
5895
+ enum: ["name", "created_at", "updated_at"],
5896
+ type: "string"
5897
+ };
5898
+ var SORT_ORDER_PROPERTY = {
5899
+ description: "Sort direction.",
5900
+ enum: ["asc", "desc"],
5901
+ type: "string"
5902
+ };
5903
+ var KNOWLEDGE_ID_PROPERTY = {
5904
+ description: "The ID of the knowledge entry.",
5905
+ format: "uuid",
5906
+ type: "string"
5907
+ };
5908
+ var listKnowledgeToolInputSchema = {
5909
+ additionalProperties: false,
5910
+ properties: {
5911
+ base_url: BASE_URL_PROPERTY,
5912
+ entity_scope: ENTITY_SCOPE_PROPERTY,
5913
+ entity_id: {
5914
+ ...ENTITY_ID_PROPERTY,
5915
+ description: "Filter by entity ID (requires entity_scope)."
5916
+ },
5917
+ access_type: ACCESS_TYPE_PROPERTY,
5918
+ is_enabled: IS_ENABLED_PROPERTY,
5919
+ search: SEARCH_PROPERTY,
5920
+ limit: LIMIT_PROPERTY,
5921
+ offset: OFFSET_PROPERTY,
5922
+ sort_by: SORT_BY_PROPERTY,
5923
+ sort_order: SORT_ORDER_PROPERTY
5924
+ },
5925
+ required: ["base_url"],
5926
+ type: "object"
5927
+ };
5928
+ var getKnowledgeToolInputSchema = {
5929
+ additionalProperties: false,
5930
+ properties: {
5931
+ base_url: BASE_URL_PROPERTY,
5932
+ knowledge_id: KNOWLEDGE_ID_PROPERTY
5933
+ },
5934
+ required: ["base_url", "knowledge_id"],
5935
+ type: "object"
5936
+ };
5937
+ var ROLE_ID_PROPERTY = {
5938
+ description: "Role ID (UUID) of the org-level role to assign. Use list_roles with type='org' to find available role IDs.",
5939
+ format: "uuid",
5940
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
5941
+ type: "string"
5942
+ };
5943
+ var GROUP_ID_PROPERTY = {
5944
+ description: "Group ID (UUID). Use the group management tools to find group IDs.",
5945
+ format: "uuid",
5946
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
5947
+ type: "string"
5948
+ };
5949
+ var updateUserOrgRoleToolInputSchema = {
5950
+ additionalProperties: false,
5951
+ properties: {
5952
+ base_url: BASE_URL_PROPERTY,
5953
+ user_id: USER_ID_PROPERTY,
5954
+ role_id: ROLE_ID_PROPERTY,
5955
+ organization_id: ORGANIZATION_ID_OPTIONAL_PROPERTY
5956
+ },
5957
+ required: ["base_url", "user_id", "role_id"],
5958
+ type: "object"
5959
+ };
5960
+ var updateGroupOrgRoleToolInputSchema = {
5961
+ additionalProperties: false,
5962
+ properties: {
5963
+ base_url: BASE_URL_PROPERTY,
5964
+ group_id: GROUP_ID_PROPERTY,
5965
+ role_id: ROLE_ID_PROPERTY,
5966
+ organization_id: ORGANIZATION_ID_OPTIONAL_PROPERTY
5967
+ },
5968
+ required: ["base_url", "group_id", "role_id"],
5969
+ type: "object"
5970
+ };
5971
+ var deleteGroupOrgRoleToolInputSchema = {
5972
+ additionalProperties: false,
5973
+ properties: {
5974
+ base_url: BASE_URL_PROPERTY,
5975
+ group_id: GROUP_ID_PROPERTY,
5976
+ assignment_record_id: ASSIGNMENT_RECORD_ID_PROPERTY,
5977
+ organization_id: ORGANIZATION_ID_OPTIONAL_PROPERTY
5978
+ },
5979
+ required: ["base_url", "group_id", "assignment_record_id"],
5980
+ type: "object"
5981
+ };
5982
+ var REASON_PROPERTY = {
5983
+ description: "Optional reason for the action. Echoed in the tool response for the caller's own logging; not persisted server-side.",
5984
+ minLength: 1,
5985
+ type: "string"
5986
+ };
5987
+ var deactivateUserToolInputSchema = {
5988
+ additionalProperties: false,
5989
+ properties: {
5990
+ base_url: BASE_URL_PROPERTY,
5991
+ user_id: USER_ID_PROPERTY,
5992
+ reason: REASON_PROPERTY
5993
+ },
5994
+ required: ["base_url", "user_id"],
5995
+ type: "object"
5996
+ };
5997
+ var POLICY_ID_PROPERTY = {
5998
+ format: "uuid",
5999
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
6000
+ type: "string"
6001
+ };
6002
+ var RUN_ID_PROPERTY = {
6003
+ format: "uuid",
6004
+ pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
6005
+ type: "string"
6006
+ };
6007
+ var DEPENDENCY_SCAN_SEVERITY_PROPERTY = {
6008
+ description: "Filter by one or more dependency severity levels.",
6009
+ items: {
6010
+ enum: ["none", "low", "medium", "high", "critical", "unknown"],
6011
+ type: "string"
6012
+ },
6013
+ minItems: 1,
6014
+ type: "array"
6015
+ };
6016
+ var DEPENDENCY_SCAN_DATE_FILTER_PROPERTY = {
6017
+ enum: ["all", "none", "today", "-7d", "-30d", "ytd"],
6018
+ type: "string"
6019
+ };
6020
+ var REVIEW_FINDING_SEVERITY_ARRAY_PROPERTY = {
6021
+ description: "Filter by one or more finding severity levels.",
6022
+ items: {
6023
+ enum: ["critical", "high", "medium", "low", "info"],
6024
+ type: "string"
6025
+ },
6026
+ minItems: 1,
6027
+ type: "array"
6028
+ };
6029
+ var ORDER_PROPERTY = {
6030
+ enum: ["asc", "desc"],
6031
+ type: "string"
6032
+ };
6033
+ var listDependencyScanFindingsToolInputSchema = {
6034
+ additionalProperties: false,
6035
+ properties: {
6036
+ base_url: BASE_URL_PROPERTY,
6037
+ application_id: APPLICATION_ID_PROPERTY,
6038
+ search: {
6039
+ description: "Free-text search over package/app name.",
6040
+ minLength: 1,
6041
+ type: "string"
6042
+ },
6043
+ severity: DEPENDENCY_SCAN_SEVERITY_PROPERTY,
6044
+ hide_apps_without_vulns: {
6045
+ description: "Defaults to true: only return apps with active vulnerabilities. Set false to include apps with none.",
6046
+ type: "boolean"
6047
+ },
6048
+ published: {
6049
+ description: "Filter by last-published date window.",
6050
+ ...DEPENDENCY_SCAN_DATE_FILTER_PROPERTY
6051
+ },
6052
+ updated: {
6053
+ description: "Filter by last-updated date window.",
6054
+ ...DEPENDENCY_SCAN_DATE_FILTER_PROPERTY
6055
+ },
6056
+ sort: {
6057
+ enum: ["severity", "last_updated", "last_published"],
6058
+ type: "string"
6059
+ },
6060
+ order: ORDER_PROPERTY,
6061
+ limit: {
6062
+ description: "Maximum number of items to return per page. Defaults to 25. Maximum 50.",
6063
+ maximum: 50,
6064
+ minimum: 1,
6065
+ type: "integer"
6066
+ },
6067
+ offset: OFFSET_PROPERTY
6068
+ },
6069
+ required: ["base_url"],
6070
+ type: "object"
6071
+ };
6072
+ var getDependencyScanSummaryToolInputSchema = {
6073
+ additionalProperties: false,
6074
+ properties: {
6075
+ base_url: BASE_URL_PROPERTY
6076
+ },
6077
+ required: ["base_url"],
6078
+ type: "object"
6079
+ };
6080
+ var lookupPackageVulnerabilitiesToolInputSchema = {
6081
+ additionalProperties: false,
6082
+ properties: {
6083
+ base_url: BASE_URL_PROPERTY,
6084
+ packages: {
6085
+ description: "Batch of npm packages to check, each an object with 'name' and 'version'.",
6086
+ items: {
6087
+ additionalProperties: false,
6088
+ properties: {
6089
+ name: { maxLength: 256, minLength: 1, type: "string" },
6090
+ version: { maxLength: 256, minLength: 1, type: "string" }
6091
+ },
6092
+ required: ["name", "version"],
6093
+ type: "object"
6094
+ },
6095
+ maxItems: 5e3,
6096
+ minItems: 1,
6097
+ type: "array"
6098
+ }
6099
+ },
6100
+ required: ["base_url", "packages"],
6101
+ type: "object"
6102
+ };
6103
+ var listReviewPoliciesToolInputSchema = {
6104
+ additionalProperties: false,
6105
+ properties: {
6106
+ base_url: BASE_URL_PROPERTY
6107
+ },
6108
+ required: ["base_url"],
3073
6109
  type: "object"
3074
6110
  };
3075
- var listDistinctPackagesInOrgToolInputSchema = {
6111
+ var getReviewPolicySummaryToolInputSchema = {
3076
6112
  additionalProperties: false,
3077
6113
  properties: {
3078
6114
  base_url: BASE_URL_PROPERTY,
3079
- package_name_prefix: {
3080
- description: "Case-sensitive prefix match on package_name. '%' and '_' are treated as literal characters.",
3081
- minLength: 1,
3082
- type: "string"
3083
- },
3084
- dependency_source: {
3085
- description: "Filter by dependency source: 'root' (root package.json), 'direct' (any non-transitive), 'transitive' (lockfile-only).",
3086
- enum: ["root", "direct", "transitive"],
6115
+ window: {
6116
+ description: `Summary time window. Defaults to ${import_shared2.DEFAULT_REVIEW_POLICY_SUMMARY_WINDOW}.`,
6117
+ enum: ["24h", "7d", "30d"],
3087
6118
  type: "string"
3088
- },
3089
- include_transitive: {
3090
- description: "When false, excludes transitive (lockfile-only) dependencies. Defaults to true.",
3091
- type: "boolean"
3092
- },
3093
- deployed: {
3094
- description: "Optional deploy filter. true = only the currently-deployed commit, false = only non-deployed commits, omitted = all indexed commits.",
3095
- type: "boolean"
3096
- },
3097
- limit: {
3098
- maximum: 200,
3099
- minimum: 1,
3100
- type: "integer"
3101
- },
3102
- offset: {
3103
- minimum: 0,
3104
- type: "integer"
3105
6119
  }
3106
6120
  },
3107
6121
  required: ["base_url"],
3108
6122
  type: "object"
3109
6123
  };
3110
- var ENTITY_SCOPE_PROPERTY = {
3111
- description: "Scope of the knowledge entry: org, user, or integration.",
3112
- enum: ["org", "user", "integration"],
3113
- type: "string"
3114
- };
3115
- var ACCESS_TYPE_PROPERTY = {
3116
- description: "Access type: always_inject (core memory) or on_demand (skills).",
3117
- enum: ["always_inject", "on_demand"],
3118
- type: "string"
3119
- };
3120
- var IS_ENABLED_PROPERTY = {
3121
- description: "Filter by enabled status.",
3122
- type: "boolean"
3123
- };
3124
- var SEARCH_PROPERTY = {
3125
- description: "Search by name or description substring.",
3126
- minLength: 1,
3127
- type: "string"
3128
- };
3129
- var SORT_BY_PROPERTY = {
3130
- description: "Sort field.",
3131
- enum: ["name", "created_at", "updated_at"],
3132
- type: "string"
3133
- };
3134
- var SORT_ORDER_PROPERTY = {
3135
- description: "Sort direction.",
3136
- enum: ["asc", "desc"],
3137
- type: "string"
3138
- };
3139
- var KNOWLEDGE_ID_PROPERTY = {
3140
- description: "The ID of the knowledge entry.",
3141
- format: "uuid",
3142
- type: "string"
3143
- };
3144
- var listKnowledgeToolInputSchema = {
6124
+ var getReviewPolicyToolInputSchema = {
3145
6125
  additionalProperties: false,
3146
6126
  properties: {
3147
6127
  base_url: BASE_URL_PROPERTY,
3148
- entity_scope: ENTITY_SCOPE_PROPERTY,
3149
- entity_id: {
3150
- ...ENTITY_ID_PROPERTY,
3151
- description: "Filter by entity ID (requires entity_scope)."
3152
- },
3153
- access_type: ACCESS_TYPE_PROPERTY,
3154
- is_enabled: IS_ENABLED_PROPERTY,
3155
- search: SEARCH_PROPERTY,
3156
- limit: LIMIT_PROPERTY,
3157
- offset: OFFSET_PROPERTY,
3158
- sort_by: SORT_BY_PROPERTY,
3159
- sort_order: SORT_ORDER_PROPERTY
6128
+ policy_id: POLICY_ID_PROPERTY
3160
6129
  },
3161
- required: ["base_url"],
6130
+ required: ["base_url", "policy_id"],
3162
6131
  type: "object"
3163
6132
  };
3164
- var getKnowledgeToolInputSchema = {
6133
+ var listReviewPolicyRunsToolInputSchema = {
3165
6134
  additionalProperties: false,
3166
6135
  properties: {
3167
6136
  base_url: BASE_URL_PROPERTY,
3168
- knowledge_id: KNOWLEDGE_ID_PROPERTY
6137
+ policy_id: {
6138
+ description: "When provided, scopes results to runs of this policy. Omit for org-wide runs across every policy.",
6139
+ ...POLICY_ID_PROPERTY
6140
+ },
6141
+ application_id: APPLICATION_ID_PROPERTY,
6142
+ status: {
6143
+ enum: [
6144
+ "queued",
6145
+ "running",
6146
+ "passed",
6147
+ "findings",
6148
+ "blocked",
6149
+ "errored",
6150
+ "timed_out",
6151
+ "canceled",
6152
+ "stale"
6153
+ ],
6154
+ type: "string"
6155
+ },
6156
+ search: { maxLength: import_shared2.REVIEW_POLICY_NAME_MAX_LENGTH, type: "string" },
6157
+ sort: {
6158
+ enum: ["applicationName", "findingsCount", "startedAt", "status"],
6159
+ type: "string"
6160
+ },
6161
+ order: ORDER_PROPERTY,
6162
+ time_start: {
6163
+ description: "Must be provided together with time_end, and no later than it.",
6164
+ format: "date-time",
6165
+ type: "string"
6166
+ },
6167
+ time_end: {
6168
+ description: "Must be provided together with time_start, and no earlier than it.",
6169
+ format: "date-time",
6170
+ type: "string"
6171
+ },
6172
+ triggered_by: {
6173
+ description: "Filter by one or more trigger sources.",
6174
+ items: { enum: ["system", "user"], type: "string" },
6175
+ minItems: 1,
6176
+ type: "array"
6177
+ },
6178
+ triggering_user_ids: {
6179
+ description: "Filter by one or more triggering user IDs.",
6180
+ items: { format: "uuid", type: "string" },
6181
+ minItems: 1,
6182
+ type: "array"
6183
+ },
6184
+ limit: REVIEW_POLICY_RUNS_LIMIT_PROPERTY,
6185
+ offset: OFFSET_PROPERTY
3169
6186
  },
3170
- required: ["base_url", "knowledge_id"],
6187
+ required: ["base_url"],
3171
6188
  type: "object"
3172
6189
  };
3173
- var ROLE_ID_PROPERTY = {
3174
- description: "Role ID (UUID) of the org-level role to assign. Use list_roles with type='org' to find available role IDs.",
3175
- format: "uuid",
3176
- pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
3177
- type: "string"
3178
- };
3179
- var GROUP_ID_PROPERTY = {
3180
- description: "Group ID (UUID). Use the group management tools to find group IDs.",
3181
- format: "uuid",
3182
- pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
3183
- type: "string"
3184
- };
3185
- var updateUserOrgRoleToolInputSchema = {
6190
+ var getReviewPolicyRunReportToolInputSchema = {
3186
6191
  additionalProperties: false,
3187
6192
  properties: {
3188
6193
  base_url: BASE_URL_PROPERTY,
3189
- user_id: USER_ID_PROPERTY,
3190
- role_id: ROLE_ID_PROPERTY,
3191
- organization_id: ORGANIZATION_ID_OPTIONAL_PROPERTY
6194
+ policy_id: POLICY_ID_PROPERTY,
6195
+ run_id: RUN_ID_PROPERTY,
6196
+ severity: REVIEW_FINDING_SEVERITY_ARRAY_PROPERTY,
6197
+ order: ORDER_PROPERTY,
6198
+ limit: REVIEW_POLICY_RUN_FINDINGS_LIMIT_PROPERTY,
6199
+ offset: OFFSET_PROPERTY
3192
6200
  },
3193
- required: ["base_url", "user_id", "role_id"],
6201
+ required: ["base_url", "policy_id", "run_id"],
3194
6202
  type: "object"
3195
6203
  };
3196
- var updateGroupOrgRoleToolInputSchema = {
6204
+ var getApplicationPolicyRunFindingsToolInputSchema = {
3197
6205
  additionalProperties: false,
3198
6206
  properties: {
3199
6207
  base_url: BASE_URL_PROPERTY,
3200
- group_id: GROUP_ID_PROPERTY,
3201
- role_id: ROLE_ID_PROPERTY,
3202
- organization_id: ORGANIZATION_ID_OPTIONAL_PROPERTY
6208
+ application_id: APPLICATION_ID_PROPERTY,
6209
+ run_id: RUN_ID_PROPERTY,
6210
+ policy_id: POLICY_ID_PROPERTY,
6211
+ severity: REVIEW_FINDING_SEVERITY_ARRAY_PROPERTY,
6212
+ order: ORDER_PROPERTY,
6213
+ limit: REVIEW_POLICY_RUN_FINDINGS_LIMIT_PROPERTY,
6214
+ offset: OFFSET_PROPERTY
3203
6215
  },
3204
- required: ["base_url", "group_id", "role_id"],
6216
+ required: ["base_url", "application_id", "run_id", "policy_id"],
3205
6217
  type: "object"
3206
6218
  };
3207
- var deleteGroupOrgRoleToolInputSchema = {
6219
+ var getApplicationPublishReadinessToolInputSchema = {
3208
6220
  additionalProperties: false,
3209
6221
  properties: {
3210
6222
  base_url: BASE_URL_PROPERTY,
3211
- group_id: GROUP_ID_PROPERTY,
3212
- assignment_record_id: ASSIGNMENT_RECORD_ID_PROPERTY,
3213
- organization_id: ORGANIZATION_ID_OPTIONAL_PROPERTY
6223
+ application_id: APPLICATION_ID_PROPERTY,
6224
+ commit_id: {
6225
+ description: "The application commit ID to check readiness for.",
6226
+ minLength: 1,
6227
+ type: "string"
6228
+ }
3214
6229
  },
3215
- required: ["base_url", "group_id", "assignment_record_id"],
6230
+ required: ["base_url", "application_id", "commit_id"],
3216
6231
  type: "object"
3217
6232
  };
3218
- var REASON_PROPERTY = {
3219
- description: "Optional reason for the action. Echoed in the tool response for the caller's own logging; not persisted server-side.",
3220
- minLength: 1,
3221
- type: "string"
3222
- };
3223
- var deactivateUserToolInputSchema = {
6233
+ var getApplicationPublishPipelineToolInputSchema = {
3224
6234
  additionalProperties: false,
3225
6235
  properties: {
3226
6236
  base_url: BASE_URL_PROPERTY,
3227
- user_id: USER_ID_PROPERTY,
3228
- reason: REASON_PROPERTY
6237
+ application_id: APPLICATION_ID_PROPERTY,
6238
+ commit_id: {
6239
+ description: "The application commit ID to compute the publish plan for.",
6240
+ minLength: 1,
6241
+ type: "string"
6242
+ }
3229
6243
  },
3230
- required: ["base_url", "user_id"],
6244
+ required: ["base_url", "application_id", "commit_id"],
3231
6245
  type: "object"
3232
6246
  };
3233
6247
 
@@ -3529,7 +6543,7 @@ var updateOrgBillingUsageLimit = {
3529
6543
 
3530
6544
  // ../mcp-server/dist/tools/checkout-application.js
3531
6545
  init_cjs_shims();
3532
- var import_shared2 = __toESM(require_dist());
6546
+ var import_shared3 = __toESM(require_dist());
3533
6547
 
3534
6548
  // ../mcp-server/dist/application/materialize-application.js
3535
6549
  init_cjs_shims();
@@ -3735,7 +6749,7 @@ var checkoutApplication = {
3735
6749
  const application = await sdk.fetchApplicationWithComponents({
3736
6750
  applicationId: target.applicationId,
3737
6751
  branch: target.branch,
3738
- viewMode: commitId ? import_shared2.ExportViewMode.EXPORT_COMMIT : import_shared2.ExportViewMode.EXPORT_LIVE,
6752
+ viewMode: commitId ? import_shared3.ExportViewMode.EXPORT_COMMIT : import_shared3.ExportViewMode.EXPORT_LIVE,
3739
6753
  commitId
3740
6754
  });
3741
6755
  if (!application) {
@@ -3803,14 +6817,53 @@ var createFolder = {
3803
6817
 
3804
6818
  // ../mcp-server/dist/tools/create-integration.js
3805
6819
  init_cjs_shims();
6820
+ import { randomUUID } from "node:crypto";
6821
+ var import_shared4 = __toESM(require_dist());
3806
6822
  var createIntegrationInputSchema = external_exports.object({
3807
6823
  base_url: external_exports.string().url(),
3808
- payload: external_exports.record(external_exports.string(), external_exports.unknown())
6824
+ configuration: external_exports.record(external_exports.string(), external_exports.unknown()),
6825
+ kind: external_exports.enum(["PLUGIN", "SECRET"]).optional(),
6826
+ name: external_exports.string().trim().min(1),
6827
+ plugin_id: external_exports.string().trim().min(1),
6828
+ slug: external_exports.string().trim().min(1).optional()
3809
6829
  }).strict();
6830
+ function buildCreateIntegrationPayload(input) {
6831
+ const id = randomUUID();
6832
+ const configurationId = randomUUID();
6833
+ return {
6834
+ configurations: [
6835
+ {
6836
+ configuration: input.configuration,
6837
+ created: (/* @__PURE__ */ new Date()).toISOString(),
6838
+ id: configurationId,
6839
+ integrationId: id,
6840
+ isDefault: true
6841
+ }
6842
+ ],
6843
+ id,
6844
+ kind: input.kind ?? import_shared4.IntegrationKind.PLUGIN,
6845
+ name: input.name,
6846
+ pluginId: input.plugin_id,
6847
+ ...input.slug ? { slug: input.slug } : {}
6848
+ };
6849
+ }
6850
+ function integrationPageUrl(baseUrl, integration) {
6851
+ if (detectEnvironment(baseUrl) === "local") {
6852
+ return void 0;
6853
+ }
6854
+ if (typeof integration !== "object" || integration === null) {
6855
+ return void 0;
6856
+ }
6857
+ const { id, pluginId } = integration;
6858
+ if (typeof id !== "string" || typeof pluginId !== "string") {
6859
+ return void 0;
6860
+ }
6861
+ return `${baseUrl}/integrations/${pluginId}/${id}`;
6862
+ }
3810
6863
  var createIntegration = {
3811
6864
  name: "create_integration",
3812
6865
  title: "Create Integration",
3813
- description: "Create a new integration. Pass the integration payload expected by the integrations API.",
6866
+ description: "Create a new integration. Call get_integration_config_schema first for the plugin_id, then pass name, plugin_id, and configuration. Do not send the integrations API envelope (id, created, configurations wrapper). When the result carries integration_url, show it so the user can open the new integration.",
3814
6867
  inputSchema: createIntegrationToolInputSchema,
3815
6868
  annotations: {
3816
6869
  readOnlyHint: false,
@@ -3824,9 +6877,11 @@ var createIntegration = {
3824
6877
  const baseUrl = normalizeBaseUrl(input.base_url);
3825
6878
  const auth = await resolveAuthForOrigin(baseUrl);
3826
6879
  const sdk = createSdk(auth.token, baseUrl);
3827
- const integration = await sdk.createIntegration(input.payload);
6880
+ const integration = await sdk.createIntegration(buildCreateIntegrationPayload(input));
6881
+ const integrationUrl = integrationPageUrl(baseUrl, integration);
3828
6882
  return {
3829
6883
  integration,
6884
+ ...integrationUrl ? { integration_url: integrationUrl } : {},
3830
6885
  auth_source: auth.source,
3831
6886
  base_url: baseUrl,
3832
6887
  environment: detectEnvironment(baseUrl)
@@ -4035,7 +7090,7 @@ var deleteIntegration = {
4035
7090
 
4036
7091
  // ../mcp-server/dist/tools/deploy-application.js
4037
7092
  init_cjs_shims();
4038
- var import_shared3 = __toESM(require_dist());
7093
+ var import_shared5 = __toESM(require_dist());
4039
7094
  var copiedCommitSchema = external_exports.object({
4040
7095
  commitId: external_exports.string().min(1)
4041
7096
  });
@@ -4111,7 +7166,7 @@ var deployApplication = {
4111
7166
  const commitHistory = await sdk.fetchApplicationCommits({
4112
7167
  applicationId: target.applicationId,
4113
7168
  branch: branchToDeploy,
4114
- commitType: import_shared3.CommitType.ALL,
7169
+ commitType: import_shared5.CommitType.ALL,
4115
7170
  limit: HISTORY_PAGE_SIZE,
4116
7171
  offset: 0
4117
7172
  });
@@ -4433,7 +7488,7 @@ var getApplicationAccess = {
4433
7488
 
4434
7489
  // ../mcp-server/dist/tools/get-application-commit-history.js
4435
7490
  init_cjs_shims();
4436
- var import_shared4 = __toESM(require_dist());
7491
+ var import_shared6 = __toESM(require_dist());
4437
7492
 
4438
7493
  // ../mcp-server/dist/application/commit-history.js
4439
7494
  init_cjs_shims();
@@ -4494,7 +7549,7 @@ var getApplicationCommitHistory = {
4494
7549
  const response = await sdk.fetchApplicationCommits({
4495
7550
  applicationId: target.applicationId,
4496
7551
  branch: target.branch,
4497
- commitType: import_shared4.CommitType.ALL,
7552
+ commitType: import_shared6.CommitType.ALL,
4498
7553
  limit: limit + 1,
4499
7554
  offset
4500
7555
  });
@@ -4545,18 +7600,151 @@ var getApplicationDeploymentHistory = {
4545
7600
  offset: input.offset
4546
7601
  });
4547
7602
  return {
4548
- application_id: target.applicationId,
7603
+ application_id: target.applicationId,
7604
+ auth_source: auth.source,
7605
+ base_url: target.baseUrl,
7606
+ deployments: paged.page,
7607
+ environment: target.environment,
7608
+ has_more: paged.has_more,
7609
+ limit: paged.limit,
7610
+ next_offset: paged.next_offset,
7611
+ offset: paged.offset,
7612
+ resolved_from: target.resolvedFrom,
7613
+ returned_count: paged.returned_count,
7614
+ total_count: paged.total_count
7615
+ };
7616
+ }
7617
+ };
7618
+
7619
+ // ../mcp-server/dist/tools/get-application-policy-run-findings.js
7620
+ init_cjs_shims();
7621
+ var import_shared7 = __toESM(require_dist());
7622
+ var getApplicationPolicyRunFindingsInputSchema = external_exports.object({
7623
+ base_url: external_exports.url(),
7624
+ application_id: external_exports.uuid(),
7625
+ run_id: external_exports.uuid(),
7626
+ policy_id: external_exports.uuid(),
7627
+ severity: external_exports.array(external_exports.enum(import_shared7.REVIEW_FINDING_SEVERITIES)).min(1).optional(),
7628
+ order: external_exports.enum(["asc", "desc"]).optional(),
7629
+ limit: external_exports.number().int().min(1).max(import_shared7.MAX_REVIEW_POLICY_RUN_FINDINGS_LIMIT).optional(),
7630
+ offset: external_exports.number().int().min(0).optional()
7631
+ }).strict();
7632
+ var getApplicationPolicyRunFindings = {
7633
+ name: "get_application_policy_run_findings",
7634
+ title: "Get Application Policy Run Findings",
7635
+ description: "Get the app-scoped, paginated findings for one policy agent run on a specific application (the publish tab's findings table).",
7636
+ inputSchema: getApplicationPolicyRunFindingsToolInputSchema,
7637
+ annotations: {
7638
+ readOnlyHint: true,
7639
+ destructiveHint: false,
7640
+ idempotentHint: true,
7641
+ openWorldHint: true
7642
+ },
7643
+ audience: "customer",
7644
+ async handler(args) {
7645
+ const input = parseToolInput(getApplicationPolicyRunFindingsInputSchema, args);
7646
+ const baseUrl = normalizeBaseUrl(input.base_url);
7647
+ const auth = await resolveAuthForOrigin(baseUrl);
7648
+ const data = await callServerApi({
7649
+ baseUrl,
7650
+ token: auth.token,
7651
+ method: "GET",
7652
+ path: `/api/v2/applications/${input.application_id}/policy-runs/${input.run_id}/findings`,
7653
+ query: {
7654
+ policyId: input.policy_id,
7655
+ severity: input.severity,
7656
+ order: input.order,
7657
+ limit: input.limit,
7658
+ offset: input.offset
7659
+ }
7660
+ });
7661
+ return {
7662
+ result: data,
7663
+ auth_source: auth.source,
7664
+ base_url: baseUrl,
7665
+ environment: detectEnvironment(baseUrl)
7666
+ };
7667
+ }
7668
+ };
7669
+
7670
+ // ../mcp-server/dist/tools/get-application-publish-pipeline.js
7671
+ init_cjs_shims();
7672
+ var getApplicationPublishPipelineInputSchema = external_exports.object({
7673
+ base_url: external_exports.url(),
7674
+ application_id: external_exports.uuid(),
7675
+ commit_id: external_exports.string().trim().min(1)
7676
+ }).strict();
7677
+ var getApplicationPublishPipeline = {
7678
+ name: "get_application_publish_pipeline",
7679
+ title: "Get Application Publish Pipeline",
7680
+ description: "Get the status-only publish plan for one application commit: the ordered steps (build, policy checks, lifecycle, deploy) that publishing would run, without starting anything.",
7681
+ inputSchema: getApplicationPublishPipelineToolInputSchema,
7682
+ annotations: {
7683
+ readOnlyHint: true,
7684
+ destructiveHint: false,
7685
+ idempotentHint: true,
7686
+ openWorldHint: true
7687
+ },
7688
+ audience: "customer",
7689
+ async handler(args) {
7690
+ const input = parseToolInput(getApplicationPublishPipelineInputSchema, args);
7691
+ const baseUrl = normalizeBaseUrl(input.base_url);
7692
+ const auth = await resolveAuthForOrigin(baseUrl);
7693
+ const data = await callServerApi({
7694
+ baseUrl,
7695
+ token: auth.token,
7696
+ method: "GET",
7697
+ path: `/api/v2/applications/${input.application_id}/publish-pipeline`,
7698
+ query: {
7699
+ commitId: input.commit_id
7700
+ }
7701
+ });
7702
+ return {
7703
+ result: data,
7704
+ auth_source: auth.source,
7705
+ base_url: baseUrl,
7706
+ environment: detectEnvironment(baseUrl)
7707
+ };
7708
+ }
7709
+ };
7710
+
7711
+ // ../mcp-server/dist/tools/get-application-publish-readiness.js
7712
+ init_cjs_shims();
7713
+ var getApplicationPublishReadinessInputSchema = external_exports.object({
7714
+ base_url: external_exports.url(),
7715
+ application_id: external_exports.uuid(),
7716
+ commit_id: external_exports.string().trim().min(1)
7717
+ }).strict();
7718
+ var getApplicationPublishReadiness = {
7719
+ name: "get_application_publish_readiness",
7720
+ title: "Get Application Publish Readiness",
7721
+ description: "Get the policy-gate publish readiness for one application commit: which policy checks are required, their live status, and whether the commit is ready to publish.",
7722
+ inputSchema: getApplicationPublishReadinessToolInputSchema,
7723
+ annotations: {
7724
+ readOnlyHint: true,
7725
+ destructiveHint: false,
7726
+ idempotentHint: true,
7727
+ openWorldHint: true
7728
+ },
7729
+ audience: "customer",
7730
+ async handler(args) {
7731
+ const input = parseToolInput(getApplicationPublishReadinessInputSchema, args);
7732
+ const baseUrl = normalizeBaseUrl(input.base_url);
7733
+ const auth = await resolveAuthForOrigin(baseUrl);
7734
+ const data = await callServerApi({
7735
+ baseUrl,
7736
+ token: auth.token,
7737
+ method: "GET",
7738
+ path: `/api/v2/applications/${input.application_id}/publish-readiness`,
7739
+ query: {
7740
+ commitId: input.commit_id
7741
+ }
7742
+ });
7743
+ return {
7744
+ result: data,
4549
7745
  auth_source: auth.source,
4550
- base_url: target.baseUrl,
4551
- deployments: paged.page,
4552
- environment: target.environment,
4553
- has_more: paged.has_more,
4554
- limit: paged.limit,
4555
- next_offset: paged.next_offset,
4556
- offset: paged.offset,
4557
- resolved_from: target.resolvedFrom,
4558
- returned_count: paged.returned_count,
4559
- total_count: paged.total_count
7746
+ base_url: baseUrl,
7747
+ environment: detectEnvironment(baseUrl)
4560
7748
  };
4561
7749
  }
4562
7750
  };
@@ -4564,7 +7752,7 @@ var getApplicationDeploymentHistory = {
4564
7752
  // ../mcp-server/dist/tools/get-application-structure.js
4565
7753
  init_cjs_shims();
4566
7754
  var import_fs_extra4 = __toESM(require_lib());
4567
- var import_shared5 = __toESM(require_dist());
7755
+ var import_shared8 = __toESM(require_dist());
4568
7756
 
4569
7757
  // ../mcp-server/dist/application/directory-tree.js
4570
7758
  init_cjs_shims();
@@ -4667,7 +7855,7 @@ var getApplicationStructure = {
4667
7855
  const application = await sdk.fetchApplicationWithComponents({
4668
7856
  applicationId: target.applicationId,
4669
7857
  branch: target.branch,
4670
- viewMode: import_shared5.ExportViewMode.EXPORT_LIVE
7858
+ viewMode: import_shared8.ExportViewMode.EXPORT_LIVE
4671
7859
  });
4672
7860
  if (!application) {
4673
7861
  throw new Error(`Application ${target.applicationId} was not found.`);
@@ -4729,7 +7917,7 @@ var getApplicationStructure = {
4729
7917
 
4730
7918
  // ../mcp-server/dist/tools/get-application-summary.js
4731
7919
  init_cjs_shims();
4732
- var import_shared6 = __toESM(require_dist());
7920
+ var import_shared9 = __toESM(require_dist());
4733
7921
  var getApplicationSummary = {
4734
7922
  name: "get_application_summary",
4735
7923
  title: "Get Application Summary",
@@ -4750,7 +7938,7 @@ var getApplicationSummary = {
4750
7938
  const application = await sdk.fetchApplication({
4751
7939
  applicationId: target.applicationId,
4752
7940
  branch: target.branch,
4753
- viewMode: import_shared6.ExportViewMode.EXPORT_LIVE
7941
+ viewMode: import_shared9.ExportViewMode.EXPORT_LIVE
4754
7942
  });
4755
7943
  if (!application) {
4756
7944
  throw new Error(`Application ${target.applicationId} was not found.`);
@@ -5199,6 +8387,42 @@ var getCurrentUser = {
5199
8387
  }
5200
8388
  };
5201
8389
 
8390
+ // ../mcp-server/dist/tools/get-dependency-scan-summary.js
8391
+ init_cjs_shims();
8392
+ var getDependencyScanSummaryInputSchema = external_exports.object({
8393
+ base_url: external_exports.url()
8394
+ }).strict();
8395
+ var getDependencyScanSummary = {
8396
+ name: "get_dependency_scan_summary",
8397
+ title: "Get Dependency Scan Summary",
8398
+ description: "Get the org-wide dependency scan summary cards (Security Center CVE fleet view): overall severity counts and how many published apps have active vulnerabilities.",
8399
+ inputSchema: getDependencyScanSummaryToolInputSchema,
8400
+ annotations: {
8401
+ readOnlyHint: true,
8402
+ destructiveHint: false,
8403
+ idempotentHint: true,
8404
+ openWorldHint: true
8405
+ },
8406
+ audience: "customer",
8407
+ async handler(args) {
8408
+ const input = parseToolInput(getDependencyScanSummaryInputSchema, args);
8409
+ const baseUrl = normalizeBaseUrl(input.base_url);
8410
+ const auth = await resolveAuthForOrigin(baseUrl);
8411
+ const data = await callServerApi({
8412
+ baseUrl,
8413
+ token: auth.token,
8414
+ method: "GET",
8415
+ path: "/api/v2/code-security/dependency-scan/summary"
8416
+ });
8417
+ return {
8418
+ result: data,
8419
+ auth_source: auth.source,
8420
+ base_url: baseUrl,
8421
+ environment: detectEnvironment(baseUrl)
8422
+ };
8423
+ }
8424
+ };
8425
+
5202
8426
  // ../mcp-server/dist/tools/get-integration-access.js
5203
8427
  init_cjs_shims();
5204
8428
  var getIntegrationAccessInputSchema = external_exports.object({
@@ -5233,6 +8457,34 @@ var getIntegrationAccess = {
5233
8457
  }
5234
8458
  };
5235
8459
 
8460
+ // ../mcp-server/dist/tools/get-integration-config-schema.js
8461
+ init_cjs_shims();
8462
+ var getIntegrationConfigSchemaInputSchema = external_exports.object({
8463
+ base_url: external_exports.string().url().optional(),
8464
+ plugin_id: external_exports.string().trim().min(1)
8465
+ }).strict();
8466
+ var getIntegrationConfigSchema = {
8467
+ name: "get_integration_config_schema",
8468
+ title: "Get Integration Config Schema",
8469
+ description: "Return the JSON schema for a plugin's configuration object. Call this before create_integration. Pass the returned configuration fields as configuration; do not send API envelope fields such as id, created, integrationId, or bindingFields.",
8470
+ inputSchema: getIntegrationConfigSchemaToolInputSchema,
8471
+ annotations: {
8472
+ readOnlyHint: true,
8473
+ destructiveHint: false,
8474
+ idempotentHint: true,
8475
+ openWorldHint: false
8476
+ },
8477
+ audience: "customer",
8478
+ async handler(args) {
8479
+ const input = parseToolInput(getIntegrationConfigSchemaInputSchema, args);
8480
+ return {
8481
+ plugin_id: input.plugin_id,
8482
+ configuration_schema: getPluginConfigurationSchema(input.plugin_id),
8483
+ notes: "Call get_integration_config_schema, then create_integration with name, plugin_id, and configuration matching this schema. create_integration generates ids, created, kind, and the default configuration wrapper. Do not send those envelope fields yourself."
8484
+ };
8485
+ }
8486
+ };
8487
+
5236
8488
  // ../mcp-server/dist/tools/get-integration.js
5237
8489
  init_cjs_shims();
5238
8490
  var getIntegrationInputSchema = external_exports.object({
@@ -5347,7 +8599,7 @@ var getKnowledge = {
5347
8599
 
5348
8600
  // ../mcp-server/dist/tools/get-organization-summary.js
5349
8601
  init_cjs_shims();
5350
- var import_shared7 = __toESM(require_dist());
8602
+ var import_shared10 = __toESM(require_dist());
5351
8603
 
5352
8604
  // ../mcp-server/dist/target/resolve-organization-target.js
5353
8605
  init_cjs_shims();
@@ -5397,7 +8649,7 @@ function resolveOrganizationTarget(input) {
5397
8649
  async function resolveOrganizationIdFromApplication(sdk, applicationId) {
5398
8650
  const application = await sdk.fetchApplication({
5399
8651
  applicationId,
5400
- viewMode: import_shared7.ExportViewMode.EXPORT_LIVE
8652
+ viewMode: import_shared10.ExportViewMode.EXPORT_LIVE
5401
8653
  });
5402
8654
  if (!application) {
5403
8655
  throw new Error(`Application ${applicationId} was not found.`);
@@ -5433,6 +8685,133 @@ var getOrganizationSummary = {
5433
8685
  }
5434
8686
  };
5435
8687
 
8688
+ // ../mcp-server/dist/tools/get-review-policy-run-report.js
8689
+ init_cjs_shims();
8690
+ var import_shared11 = __toESM(require_dist());
8691
+ var getReviewPolicyRunReportInputSchema = external_exports.object({
8692
+ base_url: external_exports.url(),
8693
+ policy_id: external_exports.uuid(),
8694
+ run_id: external_exports.uuid(),
8695
+ severity: external_exports.array(external_exports.enum(import_shared11.REVIEW_FINDING_SEVERITIES)).min(1).optional(),
8696
+ order: external_exports.enum(["asc", "desc"]).optional(),
8697
+ limit: external_exports.number().int().min(1).max(import_shared11.MAX_REVIEW_POLICY_RUN_FINDINGS_LIMIT).optional(),
8698
+ offset: external_exports.number().int().min(0).optional()
8699
+ }).strict();
8700
+ var getReviewPolicyRunReport = {
8701
+ name: "get_review_policy_run_report",
8702
+ title: "Get Review Policy Run Report",
8703
+ description: "Get the full report for a single policy agent run: aggregate blocking/non-blocking counts and severity breakdown, plus the paginated list of individual findings for that run.",
8704
+ inputSchema: getReviewPolicyRunReportToolInputSchema,
8705
+ annotations: {
8706
+ readOnlyHint: true,
8707
+ destructiveHint: false,
8708
+ idempotentHint: true,
8709
+ openWorldHint: true
8710
+ },
8711
+ audience: "customer",
8712
+ async handler(args) {
8713
+ const input = parseToolInput(getReviewPolicyRunReportInputSchema, args);
8714
+ const baseUrl = normalizeBaseUrl(input.base_url);
8715
+ const auth = await resolveAuthForOrigin(baseUrl);
8716
+ const data = await callServerApi({
8717
+ baseUrl,
8718
+ token: auth.token,
8719
+ method: "GET",
8720
+ path: `/api/v1/review-policies/${input.policy_id}/runs/${input.run_id}`,
8721
+ query: {
8722
+ severity: input.severity,
8723
+ order: input.order,
8724
+ limit: input.limit,
8725
+ offset: input.offset
8726
+ }
8727
+ });
8728
+ return {
8729
+ report: data,
8730
+ auth_source: auth.source,
8731
+ base_url: baseUrl,
8732
+ environment: detectEnvironment(baseUrl)
8733
+ };
8734
+ }
8735
+ };
8736
+
8737
+ // ../mcp-server/dist/tools/get-review-policy-summary.js
8738
+ init_cjs_shims();
8739
+ var import_shared12 = __toESM(require_dist());
8740
+ var getReviewPolicySummaryInputSchema = external_exports.object({
8741
+ base_url: external_exports.url(),
8742
+ window: external_exports.enum(import_shared12.REVIEW_POLICY_SUMMARY_WINDOWS).optional()
8743
+ }).strict();
8744
+ var getReviewPolicySummary = {
8745
+ name: "get_review_policy_summary",
8746
+ title: "Get Review Policy Summary",
8747
+ description: `Get org-wide policy agent summary stats over a time window (default ${import_shared12.DEFAULT_REVIEW_POLICY_SUMMARY_WINDOW}): active policy count, total runs, findings count, and pass rate.`,
8748
+ inputSchema: getReviewPolicySummaryToolInputSchema,
8749
+ annotations: {
8750
+ readOnlyHint: true,
8751
+ destructiveHint: false,
8752
+ idempotentHint: true,
8753
+ openWorldHint: true
8754
+ },
8755
+ audience: "customer",
8756
+ async handler(args) {
8757
+ const input = parseToolInput(getReviewPolicySummaryInputSchema, args);
8758
+ const baseUrl = normalizeBaseUrl(input.base_url);
8759
+ const auth = await resolveAuthForOrigin(baseUrl);
8760
+ const data = await callServerApi({
8761
+ baseUrl,
8762
+ token: auth.token,
8763
+ method: "GET",
8764
+ path: "/api/v1/review-policies/summary",
8765
+ query: {
8766
+ window: input.window
8767
+ }
8768
+ });
8769
+ return {
8770
+ summary: data,
8771
+ auth_source: auth.source,
8772
+ base_url: baseUrl,
8773
+ environment: detectEnvironment(baseUrl)
8774
+ };
8775
+ }
8776
+ };
8777
+
8778
+ // ../mcp-server/dist/tools/get-review-policy.js
8779
+ init_cjs_shims();
8780
+ var getReviewPolicyInputSchema = external_exports.object({
8781
+ base_url: external_exports.url(),
8782
+ policy_id: external_exports.uuid()
8783
+ }).strict();
8784
+ var getReviewPolicy = {
8785
+ name: "get_review_policy",
8786
+ title: "Get Review Policy",
8787
+ description: "Get the full configuration of a single policy agent / review policy, including its prompt, mode (advisory or blocking), scope, stage, and domain.",
8788
+ inputSchema: getReviewPolicyToolInputSchema,
8789
+ annotations: {
8790
+ readOnlyHint: true,
8791
+ destructiveHint: false,
8792
+ idempotentHint: true,
8793
+ openWorldHint: true
8794
+ },
8795
+ audience: "customer",
8796
+ async handler(args) {
8797
+ const input = parseToolInput(getReviewPolicyInputSchema, args);
8798
+ const baseUrl = normalizeBaseUrl(input.base_url);
8799
+ const auth = await resolveAuthForOrigin(baseUrl);
8800
+ const data = await callServerApi({
8801
+ baseUrl,
8802
+ token: auth.token,
8803
+ method: "GET",
8804
+ path: `/api/v1/review-policies/${input.policy_id}`
8805
+ });
8806
+ return {
8807
+ policy: data,
8808
+ auth_source: auth.source,
8809
+ base_url: baseUrl,
8810
+ environment: detectEnvironment(baseUrl)
8811
+ };
8812
+ }
8813
+ };
8814
+
5436
8815
  // ../mcp-server/dist/tools/get-user-permissions.js
5437
8816
  init_cjs_shims();
5438
8817
  var getUserPermissionsInputSchema = external_exports.object({
@@ -5682,7 +9061,7 @@ var listApplications = {
5682
9061
 
5683
9062
  // ../mcp-server/dist/tools/list-audit-event-types.js
5684
9063
  init_cjs_shims();
5685
- var import_shared8 = __toESM(require_dist());
9064
+ var import_shared13 = __toESM(require_dist());
5686
9065
  var listAuditEventTypes = {
5687
9066
  name: "list_audit_event_types",
5688
9067
  title: "List Audit Event Types",
@@ -5701,20 +9080,20 @@ var listAuditEventTypes = {
5701
9080
  audience: "customer",
5702
9081
  async handler() {
5703
9082
  const classUids = [
5704
- ...new Set(import_shared8.AUDIT_EVENT_TYPE_CATALOG.map((e) => e.class_uid))
9083
+ ...new Set(import_shared13.AUDIT_EVENT_TYPE_CATALOG.map((e) => e.class_uid))
5705
9084
  ].sort();
5706
9085
  const resourceTypes = [
5707
- ...new Set(import_shared8.AUDIT_EVENT_TYPE_CATALOG.map((e) => e.resource_type))
9086
+ ...new Set(import_shared13.AUDIT_EVENT_TYPE_CATALOG.map((e) => e.resource_type))
5708
9087
  ].sort();
5709
9088
  return {
5710
- event_types: import_shared8.AUDIT_EVENT_TYPE_CATALOG,
9089
+ event_types: import_shared13.AUDIT_EVENT_TYPE_CATALOG,
5711
9090
  summary: {
5712
9091
  class_uids: classUids.map((uid) => ({
5713
9092
  class_uid: uid,
5714
- class_name: import_shared8.AUDIT_EVENT_TYPE_CATALOG.find((e) => e.class_uid === uid).class_name
9093
+ class_name: import_shared13.AUDIT_EVENT_TYPE_CATALOG.find((e) => e.class_uid === uid).class_name
5715
9094
  })),
5716
9095
  resource_types: resourceTypes,
5717
- total_operations: import_shared8.AUDIT_EVENT_TYPE_CATALOG.reduce((sum, e) => sum + e.operations.length, 0)
9096
+ total_operations: import_shared13.AUDIT_EVENT_TYPE_CATALOG.reduce((sum, e) => sum + e.operations.length, 0)
5718
9097
  }
5719
9098
  };
5720
9099
  }
@@ -5756,6 +9135,69 @@ var listBuilderSeats = {
5756
9135
  }
5757
9136
  };
5758
9137
 
9138
+ // ../mcp-server/dist/tools/list-dependency-scan-findings.js
9139
+ init_cjs_shims();
9140
+ var import_shared14 = __toESM(require_dist());
9141
+ var DATE_FILTERS = ["all", "none", "today", "-7d", "-30d", "ytd"];
9142
+ var SORTS = ["severity", "last_updated", "last_published"];
9143
+ var listDependencyScanFindingsInputSchema = external_exports.object({
9144
+ base_url: external_exports.url(),
9145
+ application_id: external_exports.uuid().optional(),
9146
+ search: external_exports.string().trim().min(1).optional(),
9147
+ severity: external_exports.array(external_exports.enum(import_shared14.SEVERITY_LEVELS)).min(1).optional(),
9148
+ hide_apps_without_vulns: external_exports.boolean().optional(),
9149
+ published: external_exports.enum(DATE_FILTERS).optional(),
9150
+ updated: external_exports.enum(DATE_FILTERS).optional(),
9151
+ sort: external_exports.enum(SORTS).optional(),
9152
+ order: external_exports.enum(["asc", "desc"]).optional(),
9153
+ limit: external_exports.number().int().min(1).max(50).optional(),
9154
+ offset: external_exports.number().int().min(0).optional()
9155
+ }).strict();
9156
+ var listDependencyScanFindings = {
9157
+ name: "list_dependency_scan_findings",
9158
+ title: "List Dependency Scan Findings",
9159
+ description: "List per-application CVE / dependency vulnerability findings across the org's fleet (Security Center dependency scan view). Filter by application, one or more severities, a free-text search term, or publish/update date window. Defaults to hiding apps with no active vulnerabilities.",
9160
+ inputSchema: listDependencyScanFindingsToolInputSchema,
9161
+ annotations: {
9162
+ readOnlyHint: true,
9163
+ destructiveHint: false,
9164
+ idempotentHint: true,
9165
+ openWorldHint: true
9166
+ },
9167
+ audience: "customer",
9168
+ async handler(args) {
9169
+ const input = parseToolInput(listDependencyScanFindingsInputSchema, args);
9170
+ const baseUrl = normalizeBaseUrl(input.base_url);
9171
+ const auth = await resolveAuthForOrigin(baseUrl);
9172
+ const data = await callServerApi({
9173
+ baseUrl,
9174
+ token: auth.token,
9175
+ method: "GET",
9176
+ path: "/api/v2/code-security/dependency-scan",
9177
+ query: {
9178
+ application_id: input.application_id,
9179
+ search: input.search,
9180
+ // dependency-scan's parseSeverityLevels splits on commas (unlike review-policy's
9181
+ // asStringArray), so a joined string is the correct wire format here.
9182
+ severity: input.severity?.join(","),
9183
+ hideAppsWithoutVulns: input.hide_apps_without_vulns,
9184
+ published: input.published,
9185
+ updated: input.updated,
9186
+ sort: input.sort,
9187
+ order: input.order,
9188
+ limit: input.limit,
9189
+ offset: input.offset
9190
+ }
9191
+ });
9192
+ return {
9193
+ result: data,
9194
+ auth_source: auth.source,
9195
+ base_url: baseUrl,
9196
+ environment: detectEnvironment(baseUrl)
9197
+ };
9198
+ }
9199
+ };
9200
+
5759
9201
  // ../mcp-server/dist/tools/list-distinct-packages-in-org.js
5760
9202
  init_cjs_shims();
5761
9203
  var listDistinctPackagesInOrgInputSchema = external_exports.object({
@@ -6161,6 +9603,107 @@ var listRbacAssignments = {
6161
9603
  }
6162
9604
  };
6163
9605
 
9606
+ // ../mcp-server/dist/tools/list-review-policies.js
9607
+ init_cjs_shims();
9608
+ var listReviewPoliciesInputSchema = external_exports.object({
9609
+ base_url: external_exports.url()
9610
+ }).strict();
9611
+ var listReviewPolicies = {
9612
+ name: "list_review_policies",
9613
+ title: "List Review Policies",
9614
+ description: "List every policy agent / review policy configured for the org (Security Center Policies view): name, policy type, status, mode (advisory or blocking), scope, stage, domain, and the last run summary for each.",
9615
+ inputSchema: listReviewPoliciesToolInputSchema,
9616
+ annotations: {
9617
+ readOnlyHint: true,
9618
+ destructiveHint: false,
9619
+ idempotentHint: true,
9620
+ openWorldHint: true
9621
+ },
9622
+ audience: "customer",
9623
+ async handler(args) {
9624
+ const input = parseToolInput(listReviewPoliciesInputSchema, args);
9625
+ const baseUrl = normalizeBaseUrl(input.base_url);
9626
+ const auth = await resolveAuthForOrigin(baseUrl);
9627
+ const data = await callServerApi({
9628
+ baseUrl,
9629
+ token: auth.token,
9630
+ method: "GET",
9631
+ path: "/api/v1/review-policies"
9632
+ });
9633
+ return {
9634
+ policies: data,
9635
+ auth_source: auth.source,
9636
+ base_url: baseUrl,
9637
+ environment: detectEnvironment(baseUrl)
9638
+ };
9639
+ }
9640
+ };
9641
+
9642
+ // ../mcp-server/dist/tools/list-review-policy-runs.js
9643
+ init_cjs_shims();
9644
+ var import_shared15 = __toESM(require_dist());
9645
+ var listReviewPolicyRunsInputSchema = external_exports.object({
9646
+ base_url: external_exports.url(),
9647
+ policy_id: external_exports.uuid().describe("When provided, scopes results to runs of this policy. Omit for org-wide runs across every policy.").optional(),
9648
+ application_id: external_exports.uuid().optional(),
9649
+ status: external_exports.enum(import_shared15.REVIEW_RUN_STATUSES).optional(),
9650
+ search: external_exports.string().trim().max(import_shared15.REVIEW_POLICY_NAME_MAX_LENGTH).optional(),
9651
+ sort: external_exports.enum(import_shared15.REVIEW_POLICY_RUN_SORTS).optional(),
9652
+ order: external_exports.enum(["asc", "desc"]).optional(),
9653
+ time_start: external_exports.iso.datetime().optional(),
9654
+ time_end: external_exports.iso.datetime().optional(),
9655
+ triggered_by: external_exports.array(external_exports.enum(import_shared15.REVIEW_RUN_TRIGGERED_BYS)).min(1).optional(),
9656
+ triggering_user_ids: external_exports.array(external_exports.uuid()).min(1).optional(),
9657
+ limit: external_exports.number().int().min(1).max(import_shared15.MAX_REVIEW_POLICY_RUNS_LIMIT).optional(),
9658
+ offset: external_exports.number().int().min(0).optional()
9659
+ }).strict().refine((value) => value.time_start === void 0 === (value.time_end === void 0), {
9660
+ message: "time_start and time_end must both be provided"
9661
+ }).refine((value) => value.time_start === void 0 || value.time_end === void 0 || Date.parse(value.time_start) <= Date.parse(value.time_end), { message: "time_end must be after time_start" });
9662
+ var listReviewPolicyRuns = {
9663
+ name: "list_review_policy_runs",
9664
+ title: "List Review Policy Runs",
9665
+ description: "List policy agent run history, either org-wide or scoped to a single policy via policy_id. Each run reports its status, decision, findings count, and the triggering app/commit/user.",
9666
+ inputSchema: listReviewPolicyRunsToolInputSchema,
9667
+ annotations: {
9668
+ readOnlyHint: true,
9669
+ destructiveHint: false,
9670
+ idempotentHint: true,
9671
+ openWorldHint: true
9672
+ },
9673
+ audience: "customer",
9674
+ async handler(args) {
9675
+ const input = parseToolInput(listReviewPolicyRunsInputSchema, args);
9676
+ const baseUrl = normalizeBaseUrl(input.base_url);
9677
+ const auth = await resolveAuthForOrigin(baseUrl);
9678
+ const path5 = input.policy_id ? `/api/v1/review-policies/${input.policy_id}/runs` : "/api/v1/review-policies/runs";
9679
+ const data = await callServerApi({
9680
+ baseUrl,
9681
+ token: auth.token,
9682
+ method: "GET",
9683
+ path: path5,
9684
+ query: {
9685
+ applicationId: input.application_id,
9686
+ status: input.status,
9687
+ search: input.search,
9688
+ sort: input.sort,
9689
+ order: input.order,
9690
+ timeStart: input.time_start,
9691
+ timeEnd: input.time_end,
9692
+ triggeredBy: input.triggered_by,
9693
+ triggeringUserId: input.triggering_user_ids,
9694
+ limit: input.limit,
9695
+ offset: input.offset
9696
+ }
9697
+ });
9698
+ return {
9699
+ runs: data,
9700
+ auth_source: auth.source,
9701
+ base_url: baseUrl,
9702
+ environment: detectEnvironment(baseUrl)
9703
+ };
9704
+ }
9705
+ };
9706
+
6164
9707
  // ../mcp-server/dist/tools/list-roles.js
6165
9708
  init_cjs_shims();
6166
9709
  var listRolesInputSchema = external_exports.object({
@@ -6338,6 +9881,52 @@ var listUsers = {
6338
9881
  }
6339
9882
  };
6340
9883
 
9884
+ // ../mcp-server/dist/tools/lookup-package-vulnerabilities.js
9885
+ init_cjs_shims();
9886
+ var MAX_PACKAGES = 5e3;
9887
+ var FIELD_MAX_LENGTH = 256;
9888
+ var lookupPackageVulnerabilitiesInputSchema = external_exports.object({
9889
+ base_url: external_exports.url(),
9890
+ packages: external_exports.array(external_exports.object({
9891
+ name: external_exports.string().min(1).max(FIELD_MAX_LENGTH),
9892
+ version: external_exports.string().min(1).max(FIELD_MAX_LENGTH)
9893
+ }).strict()).min(1).max(MAX_PACKAGES)
9894
+ }).strict();
9895
+ var lookupPackageVulnerabilities = {
9896
+ name: "lookup_package_vulnerabilities",
9897
+ title: "Lookup Package Vulnerabilities",
9898
+ description: "Check a batch of npm {name, version} pairs against the org-agnostic package vulnerability index before an install. Returns per-package severity, covering advisories, whether the package carries known malware, and a non-binding remediation suggestion ('pass', 'remediatable', or 'block').",
9899
+ inputSchema: lookupPackageVulnerabilitiesToolInputSchema,
9900
+ annotations: {
9901
+ readOnlyHint: true,
9902
+ destructiveHint: false,
9903
+ idempotentHint: true,
9904
+ openWorldHint: true
9905
+ },
9906
+ audience: "customer",
9907
+ async handler(args) {
9908
+ const input = parseToolInput(lookupPackageVulnerabilitiesInputSchema, args);
9909
+ const baseUrl = normalizeBaseUrl(input.base_url);
9910
+ const auth = await resolveAuthForOrigin(baseUrl);
9911
+ const data = await callServerApi({
9912
+ baseUrl,
9913
+ token: auth.token,
9914
+ method: "POST",
9915
+ path: "/api/v1/security/package-lookup",
9916
+ body: { packages: input.packages }
9917
+ });
9918
+ if (!data || !Array.isArray(data.results)) {
9919
+ throw new Error("Unexpected response shape from package-lookup endpoint");
9920
+ }
9921
+ return {
9922
+ results: data.results,
9923
+ auth_source: auth.source,
9924
+ base_url: baseUrl,
9925
+ environment: detectEnvironment(baseUrl)
9926
+ };
9927
+ }
9928
+ };
9929
+
6341
9930
  // ../mcp-server/dist/tools/revoke-resource-access.js
6342
9931
  init_cjs_shims();
6343
9932
  var revokeResourceAccessInputSchema = external_exports.object({
@@ -6668,6 +10257,9 @@ var toolDefinitions = [
6668
10257
  getApplicationAccess,
6669
10258
  getApplicationCommitHistory,
6670
10259
  getApplicationDeploymentHistory,
10260
+ getApplicationPolicyRunFindings,
10261
+ getApplicationPublishPipeline,
10262
+ getApplicationPublishReadiness,
6671
10263
  getApplicationStructure,
6672
10264
  getApplicationSummary,
6673
10265
  getAppSbom,
@@ -6678,11 +10270,16 @@ var toolDefinitions = [
6678
10270
  getBillingUsageRecords,
6679
10271
  getChatMessages,
6680
10272
  getCurrentUser,
10273
+ getDependencyScanSummary,
6681
10274
  getIntegration,
6682
10275
  getIntegrationAccess,
10276
+ getIntegrationConfigSchema,
6683
10277
  getJobAccess,
6684
10278
  getKnowledge,
6685
10279
  getOrganizationSummary,
10280
+ getReviewPolicy,
10281
+ getReviewPolicyRunReport,
10282
+ getReviewPolicySummary,
6686
10283
  getUserPermissions,
6687
10284
  getWorkflowAccess,
6688
10285
  grantResourceAccess,
@@ -6690,6 +10287,7 @@ var toolDefinitions = [
6690
10287
  listAuditEventTypes,
6691
10288
  listBillingUsageLimits,
6692
10289
  listBuilderSeats,
10290
+ listDependencyScanFindings,
6693
10291
  listDistinctPackagesInOrg,
6694
10292
  listFolders,
6695
10293
  listIntegrations,
@@ -6697,9 +10295,12 @@ var toolDefinitions = [
6697
10295
  listOrganizationAgents,
6698
10296
  listPackagesByApp,
6699
10297
  listRbacAssignments,
10298
+ listReviewPolicies,
10299
+ listReviewPolicyRuns,
6700
10300
  listRoles,
6701
10301
  listUsers,
6702
10302
  listUsersByRole,
10303
+ lookupPackageVulnerabilities,
6703
10304
  revokeResourceAccess,
6704
10305
  unassignBuilderSeat,
6705
10306
  undeployApplication,
@@ -6908,4 +10509,4 @@ export {
6908
10509
  invalidRequestResponse,
6909
10510
  handleJsonRpc
6910
10511
  };
6911
- //# sourceMappingURL=chunk-Z2X5CQMK.js.map
10512
+ //# sourceMappingURL=chunk-7FF5Q3TT.js.map