@superblocksteam/mcp-server 2.0.156 → 2.0.157-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +2 -1
  2. package/dist/tools/create-integration.d.ts +7 -0
  3. package/dist/tools/create-integration.d.ts.map +1 -1
  4. package/dist/tools/create-integration.js +47 -3
  5. package/dist/tools/create-integration.js.map +1 -1
  6. package/dist/tools/datasource-configuration-by-type.schema.json +2619 -0
  7. package/dist/tools/get-application-policy-run-findings.d.ts +3 -0
  8. package/dist/tools/get-application-policy-run-findings.d.ts.map +1 -0
  9. package/dist/tools/get-application-policy-run-findings.js +62 -0
  10. package/dist/tools/get-application-policy-run-findings.js.map +1 -0
  11. package/dist/tools/get-application-publish-pipeline.d.ts +3 -0
  12. package/dist/tools/get-application-publish-pipeline.d.ts.map +1 -0
  13. package/dist/tools/get-application-publish-pipeline.js +47 -0
  14. package/dist/tools/get-application-publish-pipeline.js.map +1 -0
  15. package/dist/tools/get-application-publish-readiness.d.ts +3 -0
  16. package/dist/tools/get-application-publish-readiness.d.ts.map +1 -0
  17. package/dist/tools/get-application-publish-readiness.js +47 -0
  18. package/dist/tools/get-application-publish-readiness.js.map +1 -0
  19. package/dist/tools/get-dependency-scan-summary.d.ts +3 -0
  20. package/dist/tools/get-dependency-scan-summary.d.ts.map +1 -0
  21. package/dist/tools/get-dependency-scan-summary.js +42 -0
  22. package/dist/tools/get-dependency-scan-summary.js.map +1 -0
  23. package/dist/tools/get-integration-config-schema.d.ts +3 -0
  24. package/dist/tools/get-integration-config-schema.d.ts.map +1 -0
  25. package/dist/tools/get-integration-config-schema.js +34 -0
  26. package/dist/tools/get-integration-config-schema.js.map +1 -0
  27. package/dist/tools/get-review-policy-run-report.d.ts +3 -0
  28. package/dist/tools/get-review-policy-run-report.d.ts.map +1 -0
  29. package/dist/tools/get-review-policy-run-report.js +60 -0
  30. package/dist/tools/get-review-policy-run-report.js.map +1 -0
  31. package/dist/tools/get-review-policy-summary.d.ts +3 -0
  32. package/dist/tools/get-review-policy-summary.d.ts.map +1 -0
  33. package/dist/tools/get-review-policy-summary.js +47 -0
  34. package/dist/tools/get-review-policy-summary.js.map +1 -0
  35. package/dist/tools/get-review-policy.d.ts +3 -0
  36. package/dist/tools/get-review-policy.d.ts.map +1 -0
  37. package/dist/tools/get-review-policy.js +43 -0
  38. package/dist/tools/get-review-policy.js.map +1 -0
  39. package/dist/tools/index.d.ts.map +1 -1
  40. package/dist/tools/index.js +24 -0
  41. package/dist/tools/index.js.map +1 -1
  42. package/dist/tools/list-dependency-scan-findings.d.ts +3 -0
  43. package/dist/tools/list-dependency-scan-findings.d.ts.map +1 -0
  44. package/dist/tools/list-dependency-scan-findings.js +69 -0
  45. package/dist/tools/list-dependency-scan-findings.js.map +1 -0
  46. package/dist/tools/list-review-policies.d.ts +3 -0
  47. package/dist/tools/list-review-policies.d.ts.map +1 -0
  48. package/dist/tools/list-review-policies.js +42 -0
  49. package/dist/tools/list-review-policies.js.map +1 -0
  50. package/dist/tools/list-review-policy-runs.d.ts +3 -0
  51. package/dist/tools/list-review-policy-runs.d.ts.map +1 -0
  52. package/dist/tools/list-review-policy-runs.js +80 -0
  53. package/dist/tools/list-review-policy-runs.js.map +1 -0
  54. package/dist/tools/lookup-package-vulnerabilities.d.ts +3 -0
  55. package/dist/tools/lookup-package-vulnerabilities.d.ts.map +1 -0
  56. package/dist/tools/lookup-package-vulnerabilities.js +57 -0
  57. package/dist/tools/lookup-package-vulnerabilities.js.map +1 -0
  58. package/dist/tools/plugin-configuration-schema.d.ts +3 -0
  59. package/dist/tools/plugin-configuration-schema.d.ts.map +1 -0
  60. package/dist/tools/plugin-configuration-schema.js +95 -0
  61. package/dist/tools/plugin-configuration-schema.js.map +1 -0
  62. package/dist/tools/schemas.d.ts +12 -0
  63. package/dist/tools/schemas.d.ts.map +1 -1
  64. package/dist/tools/schemas.js +307 -2
  65. package/dist/tools/schemas.js.map +1 -1
  66. package/dist/tools/server-api.d.ts +1 -1
  67. package/dist/tools/server-api.d.ts.map +1 -1
  68. package/dist/tools/server-api.js +8 -1
  69. package/dist/tools/server-api.js.map +1 -1
  70. package/package.json +6 -5
package/README.md CHANGED
@@ -156,7 +156,8 @@ Materialize an application to disk. Supports historical snapshots via `commit_id
156
156
  ### Integration Management
157
157
 
158
158
  - `get_integration` - fetch an integration by ID
159
- - `create_integration` - create an integration from API payload
159
+ - `get_integration_config_schema` - JSON schema for a plugin's configuration
160
+ - `create_integration` - create an integration from name, plugin_id, and configuration; returns `integration_url` when the dashboard shares the API origin
160
161
  - `update_integration` - update an integration by ID
161
162
  - `delete_integration` - delete an integration by ID
162
163
  - `get_integration_access` - list users/groups with integration access
@@ -1,3 +1,10 @@
1
1
  import type { ToolDefinition } from "./registry.js";
2
+ export declare function buildCreateIntegrationPayload(input: {
3
+ configuration: Record<string, unknown>;
4
+ kind?: "PLUGIN" | "SECRET";
5
+ name: string;
6
+ plugin_id: string;
7
+ slug?: string;
8
+ }): Record<string, unknown>;
2
9
  export declare const createIntegration: ToolDefinition;
3
10
  //# sourceMappingURL=create-integration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-integration.d.ts","sourceRoot":"","sources":["../../src/tools/create-integration.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAWpD,eAAO,MAAM,iBAAiB,EAAE,cA2B/B,CAAC"}
1
+ {"version":3,"file":"create-integration.d.ts","sourceRoot":"","sources":["../../src/tools/create-integration.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAepD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmB1B;AAsBD,eAAO,MAAM,iBAAiB,EAAE,cAgC/B,CAAC"}
@@ -1,4 +1,6 @@
1
+ import { randomUUID } from "node:crypto";
1
2
  import { z } from "zod";
3
+ import { IntegrationKind } from "@superblocksteam/shared";
2
4
  import { resolveAuthForOrigin } from "../auth/resolve-auth.js";
3
5
  import { createSdk } from "../sdk/create-sdk.js";
4
6
  import { detectEnvironment, normalizeBaseUrl } from "../urls.js";
@@ -7,13 +9,53 @@ import { parseToolInput } from "./validation.js";
7
9
  const createIntegrationInputSchema = z
8
10
  .object({
9
11
  base_url: z.string().url(),
10
- payload: z.record(z.string(), z.unknown()),
12
+ configuration: z.record(z.string(), z.unknown()),
13
+ kind: z.enum(["PLUGIN", "SECRET"]).optional(),
14
+ name: z.string().trim().min(1),
15
+ plugin_id: z.string().trim().min(1),
16
+ slug: z.string().trim().min(1).optional(),
11
17
  })
12
18
  .strict();
19
+ export function buildCreateIntegrationPayload(input) {
20
+ const id = randomUUID();
21
+ const configurationId = randomUUID();
22
+ return {
23
+ configurations: [
24
+ {
25
+ configuration: input.configuration,
26
+ created: new Date().toISOString(),
27
+ id: configurationId,
28
+ integrationId: id,
29
+ isDefault: true,
30
+ },
31
+ ],
32
+ id,
33
+ kind: input.kind ?? IntegrationKind.PLUGIN,
34
+ name: input.name,
35
+ pluginId: input.plugin_id,
36
+ ...(input.slug ? { slug: input.slug } : {}),
37
+ };
38
+ }
39
+ // Hosted deployments serve the dashboard from the same origin as the API, so
40
+ // base_url is a usable link. Local dev splits them across ports, and we have no
41
+ // way to learn the UI port here, so we link nothing rather than link wrong.
42
+ function integrationPageUrl(baseUrl, integration) {
43
+ if (detectEnvironment(baseUrl) === "local") {
44
+ return undefined;
45
+ }
46
+ if (typeof integration !== "object" || integration === null) {
47
+ return undefined;
48
+ }
49
+ const { id, pluginId } = integration;
50
+ if (typeof id !== "string" || typeof pluginId !== "string") {
51
+ return undefined;
52
+ }
53
+ return `${baseUrl}/integrations/${pluginId}/${id}`;
54
+ }
13
55
  export const createIntegration = {
14
56
  name: "create_integration",
15
57
  title: "Create Integration",
16
- description: "Create a new integration. Pass the integration payload expected by the integrations API.",
58
+ 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.",
17
59
  inputSchema: schemas.createIntegrationToolInputSchema,
18
60
  annotations: {
19
61
  readOnlyHint: false,
@@ -27,9 +69,11 @@ export const createIntegration = {
27
69
  const baseUrl = normalizeBaseUrl(input.base_url);
28
70
  const auth = await resolveAuthForOrigin(baseUrl);
29
71
  const sdk = createSdk(auth.token, baseUrl);
30
- const integration = await sdk.createIntegration(input.payload);
72
+ const integration = await sdk.createIntegration(buildCreateIntegrationPayload(input));
73
+ const integrationUrl = integrationPageUrl(baseUrl, integration);
31
74
  return {
32
75
  integration,
76
+ ...(integrationUrl ? { integration_url: integrationUrl } : {}),
33
77
  auth_source: auth.source,
34
78
  base_url: baseUrl,
35
79
  environment: detectEnvironment(baseUrl),
@@ -1 +1 @@
1
- {"version":3,"file":"create-integration.js","sourceRoot":"","sources":["../../src/tools/create-integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,4BAA4B,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CAC3C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EACT,0FAA0F;IAC5F,WAAW,EAAE,OAAO,CAAC,gCAAgC;IACrD,WAAW,EAAE;QACX,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;KACpB;IACD,QAAQ,EAAE,UAAU;IACpB,KAAK,CAAC,OAAO,CAAC,IAAI;QAChB,MAAM,KAAK,GAAG,cAAc,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE/D,OAAO;YACL,WAAW;YACX,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC;SACxC,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"create-integration.js","sourceRoot":"","sources":["../../src/tools/create-integration.ts"],"names":[],"mappings":"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"}