@superblocksteam/cli 2.0.103 → 2.0.104-next.1

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 (104) hide show
  1. package/README.md +1 -1
  2. package/dist/{acorn-TD6CI7AX.js → acorn-YSODZZ4O.js} +3 -3
  3. package/dist/{angular-J7HWMVEX.js → angular-7AZHEAR2.js} +3 -3
  4. package/dist/{api-VWT4B7Y7.js → api-I5ZI3JWQ.js} +4 -4
  5. package/dist/{babel-6SJC6IQJ.js → babel-5FCTYERZ.js} +3 -3
  6. package/dist/{chunk-A5XTSMXM.js → chunk-235THM52.js} +3 -3
  7. package/dist/{chunk-OUBLTZ5E.js → chunk-52BKEQKE.js} +3 -3
  8. package/dist/{chunk-XQYJUK7U.js → chunk-53CMNVBX.js} +3 -3
  9. package/dist/{chunk-7FVCGVHC.js → chunk-5SW252LI.js} +6 -6
  10. package/dist/{chunk-FRPP2Y55.js → chunk-EBQLFOHL.js} +3 -3
  11. package/dist/{chunk-GCC6VSVY.js → chunk-G7YBAF5C.js} +594 -261
  12. package/dist/{chunk-GCC6VSVY.js.map → chunk-G7YBAF5C.js.map} +1 -1
  13. package/dist/{chunk-KQS56GN2.js → chunk-GMBC2H65.js} +3 -3
  14. package/dist/{chunk-VKDCBNO6.js → chunk-IPJ6CT3I.js} +2 -2
  15. package/dist/{chunk-F5ZTHV7D.js → chunk-PY7OZ6FR.js} +3 -3
  16. package/dist/{chunk-PNENJNHT.js → chunk-Q5VDPUM2.js} +4 -4
  17. package/dist/{chunk-DNBSJCGD.js → chunk-QGS7Y4RM.js} +3 -3
  18. package/dist/{chunk-RMHMM22F.js → chunk-RE7OM6D6.js} +3 -3
  19. package/dist/{chunk-YIJH3NHR.js → chunk-W77HKNQV.js} +3 -3
  20. package/dist/{chunk-PIRRVIUU.js → chunk-WTW67WLR.js} +407 -956
  21. package/dist/chunk-WTW67WLR.js.map +1 -0
  22. package/dist/{chunk-U34XEXT5.js → chunk-XWHHH3TG.js} +4 -4
  23. package/dist/{chunk-QGXU7F6J.js → chunk-ZHOSBDMM.js} +4 -4
  24. package/dist/{cli-truncate-MSTSRHRN.js → cli-truncate-L5JOFSA5.js} +5 -5
  25. package/dist/commands/dev-parent.js +2 -2
  26. package/dist/{dd-trace-AKAPRTHL.js → dd-trace-Q6JNEOUM.js} +7 -7
  27. package/dist/{dist-NNZ4A7LC.js → dist-JMFFMM4V.js} +12 -12
  28. package/dist/{embedded-playwright-mcp-server-ID2Z6O7B.js → embedded-playwright-mcp-server-EA4OYF64.js} +3 -3
  29. package/dist/{enquirer-FUKUT7OZ.js → enquirer-UYI7A5ZS.js} +4 -4
  30. package/dist/{estree-ZDFVI4Q4.js → estree-JK5JHA5I.js} +3 -3
  31. package/dist/{flow-CT2OQLKR.js → flow-ACHC5OLE.js} +3 -3
  32. package/dist/{getMachineId-bsd-SUAKQJ5O.js → getMachineId-bsd-2HDP5ZHM.js} +5 -5
  33. package/dist/{getMachineId-darwin-ZEGJXCGQ.js → getMachineId-darwin-ICEULWVU.js} +5 -5
  34. package/dist/{getMachineId-linux-2YYGYSAI.js → getMachineId-linux-PX7E3WBN.js} +4 -4
  35. package/dist/{getMachineId-unsupported-BMURXCZO.js → getMachineId-unsupported-VAGZOFTE.js} +4 -4
  36. package/dist/{getMachineId-win-WAFZED7Y.js → getMachineId-win-RI6RZU5I.js} +5 -5
  37. package/dist/{glimmer-NNEJQVXE.js → glimmer-TNKSU7AQ.js} +3 -3
  38. package/dist/{graphql-CC3KDY5M.js → graphql-YBXNNWGS.js} +3 -3
  39. package/dist/{html-WAGORHXC.js → html-XXJDNQ5N.js} +3 -3
  40. package/dist/{http-OXMMUYEB.js → http-4QW3DTB5.js} +12 -12
  41. package/dist/index.js +17 -17
  42. package/dist/{jiti-O2Z6EYHP.js → jiti-RMYQR2W5.js} +3 -3
  43. package/dist/{log-update-EJ2E2UDL.js → log-update-ODKDO5EL.js} +6 -6
  44. package/dist/{markdown-X6BWEAHB.js → markdown-AG2BYVMV.js} +3 -3
  45. package/dist/{meriyah-3COF3XSX.js → meriyah-6L6CFWS4.js} +3 -3
  46. package/dist/{postcss-SFJEZUQ7.js → postcss-2BQCDTCI.js} +3 -3
  47. package/dist/{read-pkg-O4AESVTM.js → read-pkg-HWBW55WA.js} +5 -5
  48. package/dist/{spans-SNWLKA4N.js → spans-6HAGR663.js} +4 -4
  49. package/dist/{src-536DYHZL.js → src-33RVXK3Y.js} +3 -3
  50. package/dist/{token-T2WC7LQW.js → token-RQUAKWIU.js} +5 -5
  51. package/dist/{token-util-LREZJ45E.js → token-util-MWKGUX33.js} +5 -5
  52. package/dist/{typescript-2URZW77P.js → typescript-UTBEDNK3.js} +3 -3
  53. package/dist/{wrap-ansi-HXVIV4RM.js → wrap-ansi-PNBJ2655.js} +5 -5
  54. package/dist/{yaml-MDD7GYG6.js → yaml-A6CIY2KU.js} +3 -3
  55. package/oclif.manifest.json +1 -1
  56. package/package.json +5 -5
  57. package/dist/chunk-PIRRVIUU.js.map +0 -1
  58. /package/dist/{acorn-TD6CI7AX.js.map → acorn-YSODZZ4O.js.map} +0 -0
  59. /package/dist/{angular-J7HWMVEX.js.map → angular-7AZHEAR2.js.map} +0 -0
  60. /package/dist/{api-VWT4B7Y7.js.map → api-I5ZI3JWQ.js.map} +0 -0
  61. /package/dist/{babel-6SJC6IQJ.js.map → babel-5FCTYERZ.js.map} +0 -0
  62. /package/dist/{chunk-A5XTSMXM.js.map → chunk-235THM52.js.map} +0 -0
  63. /package/dist/{chunk-OUBLTZ5E.js.map → chunk-52BKEQKE.js.map} +0 -0
  64. /package/dist/{chunk-XQYJUK7U.js.map → chunk-53CMNVBX.js.map} +0 -0
  65. /package/dist/{chunk-7FVCGVHC.js.map → chunk-5SW252LI.js.map} +0 -0
  66. /package/dist/{chunk-FRPP2Y55.js.map → chunk-EBQLFOHL.js.map} +0 -0
  67. /package/dist/{chunk-KQS56GN2.js.map → chunk-GMBC2H65.js.map} +0 -0
  68. /package/dist/{chunk-VKDCBNO6.js.map → chunk-IPJ6CT3I.js.map} +0 -0
  69. /package/dist/{chunk-F5ZTHV7D.js.map → chunk-PY7OZ6FR.js.map} +0 -0
  70. /package/dist/{chunk-PNENJNHT.js.map → chunk-Q5VDPUM2.js.map} +0 -0
  71. /package/dist/{chunk-DNBSJCGD.js.map → chunk-QGS7Y4RM.js.map} +0 -0
  72. /package/dist/{chunk-RMHMM22F.js.map → chunk-RE7OM6D6.js.map} +0 -0
  73. /package/dist/{chunk-YIJH3NHR.js.map → chunk-W77HKNQV.js.map} +0 -0
  74. /package/dist/{chunk-U34XEXT5.js.map → chunk-XWHHH3TG.js.map} +0 -0
  75. /package/dist/{chunk-QGXU7F6J.js.map → chunk-ZHOSBDMM.js.map} +0 -0
  76. /package/dist/{cli-truncate-MSTSRHRN.js.map → cli-truncate-L5JOFSA5.js.map} +0 -0
  77. /package/dist/{dd-trace-AKAPRTHL.js.map → dd-trace-Q6JNEOUM.js.map} +0 -0
  78. /package/dist/{dist-NNZ4A7LC.js.map → dist-JMFFMM4V.js.map} +0 -0
  79. /package/dist/{embedded-playwright-mcp-server-ID2Z6O7B.js.map → embedded-playwright-mcp-server-EA4OYF64.js.map} +0 -0
  80. /package/dist/{enquirer-FUKUT7OZ.js.map → enquirer-UYI7A5ZS.js.map} +0 -0
  81. /package/dist/{estree-ZDFVI4Q4.js.map → estree-JK5JHA5I.js.map} +0 -0
  82. /package/dist/{flow-CT2OQLKR.js.map → flow-ACHC5OLE.js.map} +0 -0
  83. /package/dist/{getMachineId-bsd-SUAKQJ5O.js.map → getMachineId-bsd-2HDP5ZHM.js.map} +0 -0
  84. /package/dist/{getMachineId-darwin-ZEGJXCGQ.js.map → getMachineId-darwin-ICEULWVU.js.map} +0 -0
  85. /package/dist/{getMachineId-linux-2YYGYSAI.js.map → getMachineId-linux-PX7E3WBN.js.map} +0 -0
  86. /package/dist/{getMachineId-unsupported-BMURXCZO.js.map → getMachineId-unsupported-VAGZOFTE.js.map} +0 -0
  87. /package/dist/{getMachineId-win-WAFZED7Y.js.map → getMachineId-win-RI6RZU5I.js.map} +0 -0
  88. /package/dist/{glimmer-NNEJQVXE.js.map → glimmer-TNKSU7AQ.js.map} +0 -0
  89. /package/dist/{graphql-CC3KDY5M.js.map → graphql-YBXNNWGS.js.map} +0 -0
  90. /package/dist/{html-WAGORHXC.js.map → html-XXJDNQ5N.js.map} +0 -0
  91. /package/dist/{http-OXMMUYEB.js.map → http-4QW3DTB5.js.map} +0 -0
  92. /package/dist/{jiti-O2Z6EYHP.js.map → jiti-RMYQR2W5.js.map} +0 -0
  93. /package/dist/{log-update-EJ2E2UDL.js.map → log-update-ODKDO5EL.js.map} +0 -0
  94. /package/dist/{markdown-X6BWEAHB.js.map → markdown-AG2BYVMV.js.map} +0 -0
  95. /package/dist/{meriyah-3COF3XSX.js.map → meriyah-6L6CFWS4.js.map} +0 -0
  96. /package/dist/{postcss-SFJEZUQ7.js.map → postcss-2BQCDTCI.js.map} +0 -0
  97. /package/dist/{read-pkg-O4AESVTM.js.map → read-pkg-HWBW55WA.js.map} +0 -0
  98. /package/dist/{spans-SNWLKA4N.js.map → spans-6HAGR663.js.map} +0 -0
  99. /package/dist/{src-536DYHZL.js.map → src-33RVXK3Y.js.map} +0 -0
  100. /package/dist/{token-T2WC7LQW.js.map → token-RQUAKWIU.js.map} +0 -0
  101. /package/dist/{token-util-LREZJ45E.js.map → token-util-MWKGUX33.js.map} +0 -0
  102. /package/dist/{typescript-2URZW77P.js.map → typescript-UTBEDNK3.js.map} +0 -0
  103. /package/dist/{wrap-ansi-HXVIV4RM.js.map → wrap-ansi-PNBJ2655.js.map} +0 -0
  104. /package/dist/{yaml-MDD7GYG6.js.map → yaml-A6CIY2KU.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 = 'fa4ee088d0f838a4e4b9604de7c1236beaa923cf';
4
+ process.env.DD_GIT_COMMIT_SHA = '8bc97960665df49197c12462d3ec086177e79873';
5
5
  }
6
6
  import { createRequire as $dd_createRequire } from 'module';
7
7
  import { fileURLToPath as $dd_fileURLToPath } from 'url';
@@ -16,15 +16,15 @@ import {
16
16
  require_dist,
17
17
  require_dist2,
18
18
  writeApplicationToDisk
19
- } from "./chunk-GCC6VSVY.js";
19
+ } from "./chunk-G7YBAF5C.js";
20
20
  import {
21
21
  require_lib
22
- } from "./chunk-RMHMM22F.js";
22
+ } from "./chunk-RE7OM6D6.js";
23
23
  import {
24
24
  __export,
25
25
  __toESM,
26
26
  init_cjs_shims
27
- } from "./chunk-VKDCBNO6.js";
27
+ } from "./chunk-IPJ6CT3I.js";
28
28
 
29
29
  // ../../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.28.0_zod@4.3.6/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
30
30
  init_cjs_shims();
@@ -812,10 +812,10 @@ function mergeDefs(...defs) {
812
812
  function cloneDef(schema) {
813
813
  return mergeDefs(schema._zod.def);
814
814
  }
815
- function getElementAtPath(obj, path6) {
816
- if (!path6)
815
+ function getElementAtPath(obj, path5) {
816
+ if (!path5)
817
817
  return obj;
818
- return path6.reduce((acc, key) => acc?.[key], obj);
818
+ return path5.reduce((acc, key) => acc?.[key], obj);
819
819
  }
820
820
  function promiseAllObject(promisesObj) {
821
821
  const keys = Object.keys(promisesObj);
@@ -1198,11 +1198,11 @@ function aborted(x, startIndex = 0) {
1198
1198
  }
1199
1199
  return false;
1200
1200
  }
1201
- function prefixIssues(path6, issues) {
1201
+ function prefixIssues(path5, issues) {
1202
1202
  return issues.map((iss) => {
1203
1203
  var _a2;
1204
1204
  (_a2 = iss).path ?? (_a2.path = []);
1205
- iss.path.unshift(path6);
1205
+ iss.path.unshift(path5);
1206
1206
  return iss;
1207
1207
  });
1208
1208
  }
@@ -1385,7 +1385,7 @@ function formatError(error48, mapper = (issue2) => issue2.message) {
1385
1385
  }
1386
1386
  function treeifyError(error48, mapper = (issue2) => issue2.message) {
1387
1387
  const result = { errors: [] };
1388
- const processError = (error49, path6 = []) => {
1388
+ const processError = (error49, path5 = []) => {
1389
1389
  var _a2, _b;
1390
1390
  for (const issue2 of error49.issues) {
1391
1391
  if (issue2.code === "invalid_union" && issue2.errors.length) {
@@ -1395,7 +1395,7 @@ function treeifyError(error48, mapper = (issue2) => issue2.message) {
1395
1395
  } else if (issue2.code === "invalid_element") {
1396
1396
  processError({ issues: issue2.issues }, issue2.path);
1397
1397
  } else {
1398
- const fullpath = [...path6, ...issue2.path];
1398
+ const fullpath = [...path5, ...issue2.path];
1399
1399
  if (fullpath.length === 0) {
1400
1400
  result.errors.push(mapper(issue2));
1401
1401
  continue;
@@ -1427,8 +1427,8 @@ function treeifyError(error48, mapper = (issue2) => issue2.message) {
1427
1427
  }
1428
1428
  function toDotPath(_path) {
1429
1429
  const segs = [];
1430
- const path6 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
1431
- for (const seg of path6) {
1430
+ const path5 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
1431
+ for (const seg of path5) {
1432
1432
  if (typeof seg === "number")
1433
1433
  segs.push(`[${seg}]`);
1434
1434
  else if (typeof seg === "symbol")
@@ -13483,13 +13483,13 @@ function resolveRef(ref, ctx) {
13483
13483
  if (!ref.startsWith("#")) {
13484
13484
  throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
13485
13485
  }
13486
- const path6 = ref.slice(1).split("/").filter(Boolean);
13487
- if (path6.length === 0) {
13486
+ const path5 = ref.slice(1).split("/").filter(Boolean);
13487
+ if (path5.length === 0) {
13488
13488
  return ctx.rootSchema;
13489
13489
  }
13490
13490
  const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
13491
- if (path6[0] === defsKey) {
13492
- const key = path6[1];
13491
+ if (path5[0] === defsKey) {
13492
+ const key = path5[1];
13493
13493
  if (!key || !ctx.defs[key]) {
13494
13494
  throw new Error(`Reference not found: ${ref}`);
13495
13495
  }
@@ -15413,7 +15413,7 @@ var UrlElicitationRequiredError = class extends McpError {
15413
15413
  // ../mcp-server/package.json
15414
15414
  var package_default = {
15415
15415
  name: "@superblocksteam/mcp-server",
15416
- version: "2.0.103",
15416
+ version: "2.0.104-next.1",
15417
15417
  description: "Superblocks MCP server",
15418
15418
  license: "Superblocks Community Software License",
15419
15419
  bin: {
@@ -15732,20 +15732,6 @@ var USER_ID_PROPERTY = {
15732
15732
  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)$",
15733
15733
  type: "string"
15734
15734
  };
15735
- var HOST_PROPERTY = {
15736
- description: "Git host for token exchange (for example: github.com).",
15737
- minLength: 1,
15738
- type: "string"
15739
- };
15740
- var CODE_MODE_PROPERTY = {
15741
- description: "When true, creates a Clark AI App (code-mode / React + TypeScript). Defaults to true.",
15742
- type: "boolean"
15743
- };
15744
- var TEMPLATE_NAME_PROPERTY = {
15745
- description: "Template to use for Clark AI Apps (e.g. 'shadcn-demo-app', 'blank-app').",
15746
- minLength: 1,
15747
- type: "string"
15748
- };
15749
15735
  var LIMIT_PROPERTY = {
15750
15736
  exclusiveMinimum: 0,
15751
15737
  maximum: 200,
@@ -15792,23 +15778,17 @@ var checkoutToolInputSchema = buildFlatObjectInputSchema({
15792
15778
  commit_id: COMMIT_ID_PROPERTY,
15793
15779
  destination_path: DESTINATION_PATH_PROPERTY
15794
15780
  });
15795
- var createApplicationToolInputSchema = {
15796
- additionalProperties: false,
15797
- properties: {
15798
- base_url: BASE_URL_PROPERTY,
15799
- name: NAME_PROPERTY,
15800
- organization_id: ORGANIZATION_ID_PROPERTY,
15801
- code_mode: CODE_MODE_PROPERTY,
15802
- template_name: TEMPLATE_NAME_PROPERTY,
15803
- folder_id: FOLDER_ID_PROPERTY
15804
- },
15805
- required: ["base_url", "name", "organization_id"],
15806
- type: "object"
15807
- };
15808
15781
  var deployApplicationToolInputSchema = buildFlatObjectInputSchema({
15809
15782
  ...appTargetProperties,
15810
15783
  commit_id: COMMIT_ID_PROPERTY
15811
15784
  });
15785
+ var undeployApplicationToolInputSchema = buildFlatObjectInputSchema({
15786
+ ...appTargetProperties,
15787
+ message: {
15788
+ description: "Optional custom message for the undeploy audit trail. When omitted the server generates one automatically.",
15789
+ type: "string"
15790
+ }
15791
+ });
15812
15792
  var ISO_DATE_PROPERTY = {
15813
15793
  description: "ISO 8601 date-time string (e.g. 2025-01-01T00:00:00Z).",
15814
15794
  format: "date-time",
@@ -15828,21 +15808,8 @@ var ENTITY_ID_PROPERTY = {
15828
15808
  description: "Entity ID to filter audit logs (e.g. an application or integration ID).",
15829
15809
  type: "string"
15830
15810
  };
15831
- var ENTITY_TYPE_PROPERTY = {
15832
- description: "Numeric entity type for audit filtering (0 = APPLICATION, 1 = WORKFLOW, 2 = SCHEDULED_JOB).",
15833
- type: "integer"
15834
- };
15835
- var AUDIT_ENTITY_TYPE_PROPERTY = {
15836
- description: "Numeric audit entity type (0 = APPLICATION, 1 = WORKFLOW, 2 = SCHEDULED_JOB, 3 = INTEGRATION, 4 = USER, 5 = GROUP, 6 = ROLE).",
15837
- type: "integer"
15838
- };
15839
- var AUDIT_STATUS_PROPERTY = {
15840
- description: "Filter by execution status.",
15841
- enum: ["All", "Success", "Running", "Aborted", "Error"],
15842
- type: "string"
15843
- };
15844
15811
  var OCSF_CLASS_UID_PROPERTY = {
15845
- description: "OCSF class UID filter (for example 6003=API_ACTIVITY, 6002=APPLICATION_LIFECYCLE, 3004=ENTITY_MANAGEMENT).",
15812
+ description: "OCSF class UID filter. Valid values: 3001=ACCOUNT_CHANGE, 3002=AUTHENTICATION, 3004=ENTITY_MANAGEMENT, 3005=USER_ACCESS_MANAGEMENT, 6002=APPLICATION_LIFECYCLE, 6003=API_ACTIVITY. Use list_audit_event_types for the full catalog.",
15846
15813
  type: "integer"
15847
15814
  };
15848
15815
  var OCSF_STATUS_ID_PROPERTY = {
@@ -15858,7 +15825,7 @@ var ACTOR_UID_PROPERTY = {
15858
15825
  type: "string"
15859
15826
  };
15860
15827
  var RESOURCE_TYPE_FILTER_PROPERTY = {
15861
- description: "Filter by resource type.",
15828
+ description: "Filter by resource type. Common values: API, Application, Billing, Credential, File, Folder, Group, Integration, Knowledge, Organization, Permission, Profile, Repository, Role, Session, Token, User. Use list_audit_event_types for the full catalog.",
15862
15829
  type: "string"
15863
15830
  };
15864
15831
  var RESOURCE_ID_FILTER_PROPERTY = {
@@ -15917,19 +15884,27 @@ var OBJECT_PAYLOAD_PROPERTY = {
15917
15884
  description: "Integration payload object sent directly to the integrations API. Include fields required by the target integration type.",
15918
15885
  type: "object"
15919
15886
  };
15920
- var REQUEST_PAYLOAD_PROPERTY = {
15921
- additionalProperties: true,
15922
- description: "Request payload object forwarded directly to the corresponding server endpoint.",
15923
- type: "object"
15887
+ var IS_DEPLOYED_PROPERTY = {
15888
+ description: "Filter by deploy status (true = deployed, false = not deployed).",
15889
+ type: "boolean"
15890
+ };
15891
+ var APPLICATION_MODE_PROPERTY = {
15892
+ description: 'Filter by application mode. Only "2.0" (Clark AI Apps) is supported. When set, excludes legacy 1.0 apps from results.',
15893
+ enum: ["2.0"],
15894
+ type: "string"
15924
15895
  };
15925
15896
  var listApplicationsToolInputSchema = {
15926
15897
  additionalProperties: false,
15927
15898
  properties: {
15899
+ application_mode: APPLICATION_MODE_PROPERTY,
15928
15900
  base_url: BASE_URL_PROPERTY,
15929
15901
  created_after: ISO_DATE_PROPERTY,
15930
15902
  created_before: ISO_DATE_PROPERTY,
15931
15903
  creator_email: CREATOR_EMAIL_PROPERTY,
15932
- name_contains: NAME_CONTAINS_PROPERTY
15904
+ is_deployed: IS_DEPLOYED_PROPERTY,
15905
+ name_contains: NAME_CONTAINS_PROPERTY,
15906
+ updated_after: ISO_DATE_PROPERTY,
15907
+ updated_before: ISO_DATE_PROPERTY
15933
15908
  },
15934
15909
  required: ["base_url"],
15935
15910
  type: "object"
@@ -15972,34 +15947,19 @@ var getJobAccessToolInputSchema = {
15972
15947
  required: ["job_id", "base_url"],
15973
15948
  type: "object"
15974
15949
  };
15975
- var DEPLOYED_PROPERTY = {
15976
- description: "Filter audit logs to only deployed (true) or non-deployed (false) executions.",
15977
- type: "boolean"
15978
- };
15979
- var TRIGGERED_BY_PROPERTY = {
15980
- description: "Filter by trigger source(s).",
15981
- items: { type: "string" },
15982
- type: "array"
15950
+ var APPLICATION_ID_FILTER_PROPERTY = {
15951
+ description: "Filter by application ID. Returns both lifecycle and execution events for the given app.",
15952
+ type: "string"
15983
15953
  };
15984
- var getAuditLogsToolInputSchema = {
15985
- additionalProperties: false,
15986
- properties: {
15987
- base_url: BASE_URL_PROPERTY,
15988
- start_time: ISO_DATE_PROPERTY,
15989
- end_time: ISO_DATE_PROPERTY,
15990
- entity_type: ENTITY_TYPE_PROPERTY,
15991
- audit_entity_id: ENTITY_ID_PROPERTY,
15992
- audit_entity_type: AUDIT_ENTITY_TYPE_PROPERTY,
15993
- status: AUDIT_STATUS_PROPERTY,
15994
- deployed: DEPLOYED_PROPERTY,
15995
- triggered_by: TRIGGERED_BY_PROPERTY
15996
- },
15997
- required: ["base_url", "start_time", "end_time"],
15998
- type: "object"
15954
+ var OCSF_ACTIVITY_ID_PROPERTY = {
15955
+ description: "OCSF activity ID filter (for example 1=CREATE, 2=READ, 3=UPDATE, 4=DELETE, 5=EXECUTE).",
15956
+ type: "integer"
15999
15957
  };
16000
15958
  var getAuditEventsToolInputSchema = {
16001
15959
  additionalProperties: false,
16002
15960
  properties: {
15961
+ activity_id: OCSF_ACTIVITY_ID_PROPERTY,
15962
+ application_id: APPLICATION_ID_FILTER_PROPERTY,
16003
15963
  base_url: BASE_URL_PROPERTY,
16004
15964
  time_start: ISO_DATE_PROPERTY,
16005
15965
  time_end: ISO_DATE_PROPERTY,
@@ -16016,19 +15976,17 @@ var getAuditEventsToolInputSchema = {
16016
15976
  required: ["base_url", "time_start", "time_end"],
16017
15977
  type: "object"
16018
15978
  };
16019
- var getAuditEntitiesToolInputSchema = {
16020
- additionalProperties: false,
16021
- properties: {
16022
- base_url: BASE_URL_PROPERTY
16023
- },
16024
- required: ["base_url"],
16025
- type: "object"
16026
- };
16027
15979
  var listIntegrationsToolInputSchema = {
16028
15980
  additionalProperties: false,
16029
15981
  properties: {
16030
15982
  base_url: BASE_URL_PROPERTY,
16031
- kind: INTEGRATION_KIND_PROPERTY
15983
+ kind: INTEGRATION_KIND_PROPERTY,
15984
+ creator_email: CREATOR_EMAIL_PROPERTY,
15985
+ name_contains: {
15986
+ description: "Case-insensitive substring match on integration name.",
15987
+ minLength: 1,
15988
+ type: "string"
15989
+ }
16032
15990
  },
16033
15991
  required: ["base_url"],
16034
15992
  type: "object"
@@ -16042,6 +16000,7 @@ var getIntegrationToolInputSchema = {
16042
16000
  required: ["base_url", "integration_id"],
16043
16001
  type: "object"
16044
16002
  };
16003
+ var findAppsByIntegrationToolInputSchema = getIntegrationToolInputSchema;
16045
16004
  var createIntegrationToolInputSchema = {
16046
16005
  additionalProperties: false,
16047
16006
  properties: {
@@ -16175,14 +16134,18 @@ var listRbacAssignmentsToolInputSchema = {
16175
16134
  required: ["base_url", "resource_type", "resource_id"],
16176
16135
  type: "object"
16177
16136
  };
16178
- var getGitFreshTokenToolInputSchema = {
16137
+ var listRolesToolInputSchema = {
16179
16138
  additionalProperties: false,
16180
16139
  properties: {
16181
- application_id: APPLICATION_ID_PROPERTY,
16182
16140
  base_url: BASE_URL_PROPERTY,
16183
- host: HOST_PROPERTY
16141
+ organization_id: ORGANIZATION_ID_PROPERTY,
16142
+ type: {
16143
+ description: "Filter roles by type (apps, integrations, org, jobs, workflows).",
16144
+ enum: ["apps", "integrations", "org", "jobs", "workflows"],
16145
+ type: "string"
16146
+ }
16184
16147
  },
16185
- required: ["application_id", "base_url", "host"],
16148
+ required: ["base_url", "organization_id"],
16186
16149
  type: "object"
16187
16150
  };
16188
16151
  var listOrganizationAgentsToolInputSchema = {
@@ -16259,90 +16222,6 @@ var unassignBuilderSeatToolInputSchema = {
16259
16222
  required: ["base_url", "user_id"],
16260
16223
  type: "object"
16261
16224
  };
16262
- var updateSubscriptionToolInputSchema = {
16263
- additionalProperties: false,
16264
- properties: {
16265
- base_url: BASE_URL_PROPERTY,
16266
- payload: REQUEST_PAYLOAD_PROPERTY
16267
- },
16268
- required: ["base_url", "payload"],
16269
- type: "object"
16270
- };
16271
- var createCheckoutSessionToolInputSchema = {
16272
- additionalProperties: false,
16273
- properties: {
16274
- base_url: BASE_URL_PROPERTY,
16275
- payload: REQUEST_PAYLOAD_PROPERTY
16276
- },
16277
- required: ["base_url", "payload"],
16278
- type: "object"
16279
- };
16280
- var createBillingIntentToolInputSchema = {
16281
- additionalProperties: false,
16282
- properties: {
16283
- base_url: BASE_URL_PROPERTY
16284
- },
16285
- required: ["base_url"],
16286
- type: "object"
16287
- };
16288
- var submitPaymentToolInputSchema = {
16289
- additionalProperties: false,
16290
- properties: {
16291
- base_url: BASE_URL_PROPERTY,
16292
- payload: REQUEST_PAYLOAD_PROPERTY
16293
- },
16294
- required: ["base_url", "payload"],
16295
- type: "object"
16296
- };
16297
- var checkPromoToolInputSchema = {
16298
- additionalProperties: false,
16299
- properties: {
16300
- base_url: BASE_URL_PROPERTY,
16301
- promo_code: {
16302
- description: "Promotion code to validate.",
16303
- minLength: 1,
16304
- type: "string"
16305
- }
16306
- },
16307
- required: ["base_url", "promo_code"],
16308
- type: "object"
16309
- };
16310
- var downgradePlanToolInputSchema = {
16311
- additionalProperties: false,
16312
- properties: {
16313
- base_url: BASE_URL_PROPERTY
16314
- },
16315
- required: ["base_url"],
16316
- type: "object"
16317
- };
16318
- var contactSalesToolInputSchema = {
16319
- additionalProperties: false,
16320
- properties: {
16321
- base_url: BASE_URL_PROPERTY,
16322
- payload: REQUEST_PAYLOAD_PROPERTY,
16323
- extend: {
16324
- description: "When true, request a temporary extension for billing/trial.",
16325
- type: "boolean"
16326
- }
16327
- },
16328
- required: ["base_url", "payload"],
16329
- type: "object"
16330
- };
16331
- var getAppActivityReportToolInputSchema = {
16332
- additionalProperties: false,
16333
- properties: {
16334
- base_url: BASE_URL_PROPERTY,
16335
- start_time: ISO_DATE_PROPERTY,
16336
- end_time: ISO_DATE_PROPERTY,
16337
- top_n: {
16338
- maximum: 100,
16339
- minimum: 1,
16340
- type: "integer"
16341
- }
16342
- },
16343
- required: ["base_url", "start_time", "end_time"],
16344
- type: "object"
16345
- };
16346
16225
  var findAppsByPackageToolInputSchema = {
16347
16226
  additionalProperties: false,
16348
16227
  properties: {
@@ -16355,10 +16234,18 @@ var findAppsByPackageToolInputSchema = {
16355
16234
  minLength: 1,
16356
16235
  type: "string"
16357
16236
  },
16358
- max_apps: {
16359
- maximum: 100,
16237
+ deployed: {
16238
+ description: "Optional deploy filter. true = only deployed commit matches, false = only non-deployed commit matches, omitted = both.",
16239
+ type: "boolean"
16240
+ },
16241
+ limit: {
16242
+ maximum: 200,
16360
16243
  minimum: 1,
16361
16244
  type: "integer"
16245
+ },
16246
+ offset: {
16247
+ minimum: 0,
16248
+ type: "integer"
16362
16249
  }
16363
16250
  },
16364
16251
  required: ["base_url", "package_name"],
@@ -16427,9 +16314,6 @@ var getKnowledgeToolInputSchema = {
16427
16314
  required: ["base_url", "knowledge_id"],
16428
16315
  type: "object"
16429
16316
  };
16430
- var getApplicationDependenciesToolInputSchema = buildFlatObjectInputSchema({
16431
- ...appTargetProperties
16432
- });
16433
16317
 
16434
16318
  // ../mcp-server/dist/tools/server-api.js
16435
16319
  init_cjs_shims();
@@ -16531,45 +16415,6 @@ var assignBuilderSeat = {
16531
16415
  }
16532
16416
  };
16533
16417
 
16534
- // ../mcp-server/dist/tools/check-promo.js
16535
- init_cjs_shims();
16536
- var checkPromoInputSchema = external_exports.object({
16537
- base_url: external_exports.string().url(),
16538
- promo_code: external_exports.string().trim().min(1)
16539
- }).strict();
16540
- var checkPromo = {
16541
- name: "check_promo",
16542
- title: "Check Promo",
16543
- description: "Check whether a billing promo code is valid.",
16544
- inputSchema: checkPromoToolInputSchema,
16545
- annotations: {
16546
- readOnlyHint: true,
16547
- destructiveHint: false,
16548
- idempotentHint: true,
16549
- openWorldHint: true
16550
- },
16551
- audience: "customer",
16552
- async handler(args) {
16553
- const input = parseToolInput(checkPromoInputSchema, args);
16554
- const baseUrl = normalizeBaseUrl(input.base_url);
16555
- const auth = await resolveAuthForOrigin(baseUrl);
16556
- const promo = await callServerApi({
16557
- baseUrl,
16558
- token: auth.token,
16559
- method: "GET",
16560
- path: "/api/v1/billing/check-promo",
16561
- query: { promo: input.promo_code }
16562
- });
16563
- return {
16564
- promo,
16565
- promo_code: input.promo_code,
16566
- auth_source: auth.source,
16567
- base_url: baseUrl,
16568
- environment: detectEnvironment(baseUrl)
16569
- };
16570
- }
16571
- };
16572
-
16573
16418
  // ../mcp-server/dist/tools/checkout-application.js
16574
16419
  init_cjs_shims();
16575
16420
  var import_shared2 = __toESM(require_dist());
@@ -16691,14 +16536,6 @@ var authStatusInputSchema = external_exports.union([
16691
16536
  external_exports.object({ app_url: external_exports.string().url() }).strict(),
16692
16537
  external_exports.object({ base_url: external_exports.string().url() }).strict()
16693
16538
  ]);
16694
- var createApplicationInputSchema = external_exports.object({
16695
- base_url: external_exports.string().url(),
16696
- name: external_exports.string().trim().min(1),
16697
- organization_id: external_exports.string().uuid(),
16698
- code_mode: external_exports.boolean().optional(),
16699
- template_name: external_exports.string().trim().min(1).optional(),
16700
- folder_id: external_exports.string().uuid().optional()
16701
- }).strict();
16702
16539
  function resolveAppTarget(input) {
16703
16540
  const branch = input.branch ?? import_shared.DEFAULT_BRANCH;
16704
16541
  if ("app_url" in input) {
@@ -16797,209 +16634,6 @@ var checkoutApplication = {
16797
16634
  }
16798
16635
  };
16799
16636
 
16800
- // ../mcp-server/dist/tools/contact-sales.js
16801
- init_cjs_shims();
16802
- var contactSalesInputSchema = external_exports.object({
16803
- base_url: external_exports.string().url(),
16804
- payload: external_exports.record(external_exports.string(), external_exports.unknown()),
16805
- extend: external_exports.boolean().optional()
16806
- }).strict();
16807
- var contactSales = {
16808
- name: "contact_sales",
16809
- title: "Contact Sales",
16810
- description: "Submit a contact-sales request using the billing contact payload.",
16811
- inputSchema: contactSalesToolInputSchema,
16812
- annotations: {
16813
- readOnlyHint: false,
16814
- destructiveHint: false,
16815
- idempotentHint: false,
16816
- openWorldHint: true
16817
- },
16818
- audience: "customer",
16819
- async handler(args) {
16820
- const input = parseToolInput(contactSalesInputSchema, args);
16821
- const baseUrl = normalizeBaseUrl(input.base_url);
16822
- const auth = await resolveAuthForOrigin(baseUrl);
16823
- const response = await callServerApi({
16824
- baseUrl,
16825
- token: auth.token,
16826
- method: "POST",
16827
- path: "/api/v1/billing/contact",
16828
- query: { extend: input.extend },
16829
- body: input.payload
16830
- });
16831
- return {
16832
- response,
16833
- auth_source: auth.source,
16834
- base_url: baseUrl,
16835
- environment: detectEnvironment(baseUrl)
16836
- };
16837
- }
16838
- };
16839
-
16840
- // ../mcp-server/dist/tools/create-application.js
16841
- init_cjs_shims();
16842
-
16843
- // ../mcp-server/dist/application/summary.js
16844
- init_cjs_shims();
16845
- function getApiName(api) {
16846
- return api.apiPb?.metadata?.name ?? "Unnamed API";
16847
- }
16848
- function inferApplicationMode(application) {
16849
- return application.devEnvEnabled ? "2.0" : "1.0";
16850
- }
16851
- function applicationModeLabel(mode) {
16852
- return mode === "1.0" ? "Legacy Low Code Apps" : "Clark AI Apps";
16853
- }
16854
- function applicationModeNote(mode) {
16855
- return mode === "1.0" ? "Legacy Low Code Apps are the legacy multi-page app model (1.0)." : "Clark AI Apps are the code-mode app model (2.0).";
16856
- }
16857
- function summarizeApplication(applicationWrapper) {
16858
- const application = applicationWrapper.application;
16859
- return {
16860
- application_id: application.id,
16861
- application_mode: inferApplicationMode(application),
16862
- deployed_commit_id: applicationWrapper.deployedCommitId ?? null,
16863
- name: application.name,
16864
- organization_id: application.organizationId
16865
- };
16866
- }
16867
- function summarizeMultiPageApplicationStructure(applicationWrapper) {
16868
- const pages = applicationWrapper.pages.map((page) => ({
16869
- id: page.id,
16870
- name: page.name,
16871
- api_names: [...page.apis.map((api) => getApiName(api))].sort((left, right) => left.localeCompare(right))
16872
- }));
16873
- const appApiNames = [
16874
- ...applicationWrapper.apis.map((api) => getApiName(api))
16875
- ].sort((left, right) => left.localeCompare(right));
16876
- return {
16877
- application_mode: "1.0",
16878
- app_api_count: applicationWrapper.apis.length,
16879
- app_api_names: appApiNames,
16880
- page_count: applicationWrapper.pages.length,
16881
- pages
16882
- };
16883
- }
16884
-
16885
- // ../mcp-server/dist/tools/create-application.js
16886
- var createApplication = {
16887
- name: "create_application",
16888
- title: "Create Application",
16889
- description: "Create a new Superblocks application. Returns the new application ID and editor URL.",
16890
- inputSchema: createApplicationToolInputSchema,
16891
- annotations: {
16892
- readOnlyHint: false,
16893
- destructiveHint: false,
16894
- idempotentHint: false,
16895
- openWorldHint: true
16896
- },
16897
- audience: "customer",
16898
- async handler(args) {
16899
- const input = parseToolInput(createApplicationInputSchema, args);
16900
- const baseUrl = normalizeBaseUrl(input.base_url);
16901
- const auth = await resolveAuthForOrigin(baseUrl);
16902
- const sdk = createSdk(auth.token, baseUrl);
16903
- const useCodeMode = input.code_mode !== false;
16904
- const result = await sdk.createApplication({
16905
- name: input.name,
16906
- organizationId: input.organization_id,
16907
- codeMode: useCodeMode,
16908
- templateName: input.template_name,
16909
- folderId: input.folder_id
16910
- });
16911
- const editorPath = `/applications/edit/${result.id}`;
16912
- const appUrl = result.devEnvEnabled ? `${baseUrl}/code-mode${editorPath}` : `${baseUrl}${editorPath}`;
16913
- const applicationMode = result.devEnvEnabled ? "2.0" : "1.0";
16914
- return {
16915
- application_id: result.id,
16916
- application_mode: applicationMode,
16917
- application_mode_label: applicationModeLabel(applicationMode),
16918
- application_mode_note: applicationModeNote(applicationMode),
16919
- name: result.name,
16920
- organization_id: result.organizationId,
16921
- app_url: appUrl,
16922
- auth_source: auth.source,
16923
- base_url: baseUrl,
16924
- environment: detectEnvironment(baseUrl)
16925
- };
16926
- }
16927
- };
16928
-
16929
- // ../mcp-server/dist/tools/create-billing-intent.js
16930
- init_cjs_shims();
16931
- var createBillingIntentInputSchema = external_exports.object({
16932
- base_url: external_exports.string().url()
16933
- }).strict();
16934
- var createBillingIntent = {
16935
- name: "create_billing_intent",
16936
- title: "Create Billing Intent",
16937
- description: "Create a billing intent used to initialize checkout/payment setup.",
16938
- inputSchema: createBillingIntentToolInputSchema,
16939
- annotations: {
16940
- readOnlyHint: false,
16941
- destructiveHint: false,
16942
- idempotentHint: false,
16943
- openWorldHint: true
16944
- },
16945
- audience: "customer",
16946
- async handler(args) {
16947
- const input = parseToolInput(createBillingIntentInputSchema, args);
16948
- const baseUrl = normalizeBaseUrl(input.base_url);
16949
- const auth = await resolveAuthForOrigin(baseUrl);
16950
- const intent = await callServerApi({
16951
- baseUrl,
16952
- token: auth.token,
16953
- method: "POST",
16954
- path: "/api/v1/billing/create-intent"
16955
- });
16956
- return {
16957
- intent,
16958
- auth_source: auth.source,
16959
- base_url: baseUrl,
16960
- environment: detectEnvironment(baseUrl)
16961
- };
16962
- }
16963
- };
16964
-
16965
- // ../mcp-server/dist/tools/create-checkout-session.js
16966
- init_cjs_shims();
16967
- var createCheckoutSessionInputSchema = external_exports.object({
16968
- base_url: external_exports.string().url(),
16969
- payload: external_exports.record(external_exports.string(), external_exports.unknown())
16970
- }).strict();
16971
- var createCheckoutSession = {
16972
- name: "create_checkout_session",
16973
- title: "Create Checkout Session",
16974
- description: "Create a billing checkout session using the billing create-checkout-session payload.",
16975
- inputSchema: createCheckoutSessionToolInputSchema,
16976
- annotations: {
16977
- readOnlyHint: false,
16978
- destructiveHint: false,
16979
- idempotentHint: false,
16980
- openWorldHint: true
16981
- },
16982
- audience: "customer",
16983
- async handler(args) {
16984
- const input = parseToolInput(createCheckoutSessionInputSchema, args);
16985
- const baseUrl = normalizeBaseUrl(input.base_url);
16986
- const auth = await resolveAuthForOrigin(baseUrl);
16987
- const session = await callServerApi({
16988
- baseUrl,
16989
- token: auth.token,
16990
- method: "POST",
16991
- path: "/api/v1/billing/create-checkout-session",
16992
- body: input.payload
16993
- });
16994
- return {
16995
- session,
16996
- auth_source: auth.source,
16997
- base_url: baseUrl,
16998
- environment: detectEnvironment(baseUrl)
16999
- };
17000
- }
17001
- };
17002
-
17003
16637
  // ../mcp-server/dist/tools/create-folder.js
17004
16638
  init_cjs_shims();
17005
16639
  var createFolderInputSchema = external_exports.object({
@@ -17202,76 +16836,75 @@ var deployApplication = {
17202
16836
  }
17203
16837
  };
17204
16838
 
17205
- // ../mcp-server/dist/tools/downgrade-plan.js
16839
+ // ../mcp-server/dist/tools/find-apps-by-integration.js
17206
16840
  init_cjs_shims();
17207
- var downgradePlanInputSchema = external_exports.object({
17208
- base_url: external_exports.string().url()
16841
+ var findAppsByIntegrationInputSchema = external_exports.object({
16842
+ base_url: external_exports.string().url(),
16843
+ integration_id: external_exports.string().uuid()
17209
16844
  }).strict();
17210
- var downgradePlan = {
17211
- name: "downgrade_plan",
17212
- title: "Downgrade Plan",
17213
- description: "Downgrade the current organization billing plan to free.",
17214
- inputSchema: downgradePlanToolInputSchema,
16845
+ function normalizeApplicationsResponse(response) {
16846
+ if (Array.isArray(response)) {
16847
+ return response;
16848
+ }
16849
+ if (response && typeof response === "object" && "items" in response && Array.isArray(response.items)) {
16850
+ return response.items;
16851
+ }
16852
+ throw new Error("Unexpected response shape from /api/v1/integrations/apps");
16853
+ }
16854
+ var findAppsByIntegration = {
16855
+ name: "find_apps_by_integration",
16856
+ title: "Find Apps by Integration",
16857
+ description: "Find applications using a specific integration ID by querying server-side integration usage metadata.",
16858
+ inputSchema: findAppsByIntegrationToolInputSchema,
17215
16859
  annotations: {
17216
- readOnlyHint: false,
17217
- destructiveHint: true,
17218
- idempotentHint: false,
16860
+ readOnlyHint: true,
16861
+ destructiveHint: false,
16862
+ idempotentHint: true,
17219
16863
  openWorldHint: true
17220
16864
  },
17221
16865
  audience: "customer",
17222
16866
  async handler(args) {
17223
- const input = parseToolInput(downgradePlanInputSchema, args);
16867
+ const input = parseToolInput(findAppsByIntegrationInputSchema, args);
17224
16868
  const baseUrl = normalizeBaseUrl(input.base_url);
17225
16869
  const auth = await resolveAuthForOrigin(baseUrl);
17226
- const result = await callServerApi({
16870
+ const response = await callServerApi({
17227
16871
  baseUrl,
17228
16872
  token: auth.token,
17229
- method: "POST",
17230
- path: "/api/v1/billing/downgrade-free"
16873
+ method: "GET",
16874
+ path: "/api/v1/integrations/apps",
16875
+ query: {
16876
+ integrationId: input.integration_id
16877
+ }
17231
16878
  });
16879
+ const applications = normalizeApplicationsResponse(response);
17232
16880
  return {
17233
- result,
16881
+ integration_id: input.integration_id,
16882
+ applications,
17234
16883
  auth_source: auth.source,
17235
16884
  base_url: baseUrl,
17236
- environment: detectEnvironment(baseUrl)
16885
+ environment: detectEnvironment(baseUrl),
16886
+ total_count: applications.length
17237
16887
  };
17238
16888
  }
17239
16889
  };
17240
16890
 
17241
16891
  // ../mcp-server/dist/tools/find-apps-by-package.js
17242
16892
  init_cjs_shims();
17243
- var import_fs_extra3 = __toESM(require_lib());
17244
- import path4 from "node:path";
17245
- var import_shared3 = __toESM(require_dist());
17246
16893
  var findAppsByPackageInputSchema = external_exports.object({
17247
16894
  base_url: external_exports.string().url(),
17248
16895
  package_name: external_exports.string().trim().min(1),
17249
16896
  package_version: external_exports.string().trim().min(1).optional(),
17250
- max_apps: external_exports.number().int().min(1).max(100).optional()
16897
+ deployed: external_exports.boolean().optional(),
16898
+ limit: external_exports.number().int().min(1).max(200).optional(),
16899
+ offset: external_exports.number().int().min(0).optional()
17251
16900
  }).strict();
17252
- function findPackageHits(pkgJson, packageName) {
17253
- const hits = [];
17254
- const sections = [
17255
- ["dependencies", pkgJson.dependencies],
17256
- ["devDependencies", pkgJson.devDependencies],
17257
- ["peerDependencies", pkgJson.peerDependencies],
17258
- ["optionalDependencies", pkgJson.optionalDependencies]
17259
- ];
17260
- for (const [sectionName, section] of sections) {
17261
- const version2 = section?.[packageName];
17262
- if (version2) {
17263
- hits.push({ dependency_type: sectionName, version: version2 });
17264
- }
17265
- }
17266
- return hits;
17267
- }
17268
16901
  var findAppsByPackage = {
17269
16902
  name: "find_apps_by_package",
17270
16903
  title: "Find Apps by Package",
17271
- description: "Find Clark AI Apps whose package.json references a package dependency. Legacy Low Code Apps are not scanned.",
16904
+ description: "Find apps whose package usage index contains a declared package.json dependency. Supports filtering by deployed/non-deployed app commits with exact declared version string/range matching (not resolved lockfile versions).",
17272
16905
  inputSchema: findAppsByPackageToolInputSchema,
17273
16906
  annotations: {
17274
- readOnlyHint: false,
16907
+ readOnlyHint: true,
17275
16908
  destructiveHint: false,
17276
16909
  idempotentHint: true,
17277
16910
  openWorldHint: true
@@ -17281,149 +16914,35 @@ var findAppsByPackage = {
17281
16914
  const input = parseToolInput(findAppsByPackageInputSchema, args);
17282
16915
  const baseUrl = normalizeBaseUrl(input.base_url);
17283
16916
  const auth = await resolveAuthForOrigin(baseUrl);
17284
- const sdk = createSdk(auth.token, baseUrl);
17285
- const maxApps = input.max_apps ?? 20;
17286
- const apps = (await sdk.fetchApplications()).slice(0, maxApps);
17287
- const matches = [];
17288
- let skippedNonCodeModeCount = 0;
17289
- let inspectedCount = 0;
17290
- for (const app of apps) {
17291
- inspectedCount += 1;
17292
- const full = await sdk.fetchApplicationWithComponents({
17293
- applicationId: app.id,
17294
- branch: import_shared.DEFAULT_BRANCH,
17295
- viewMode: import_shared3.ExportViewMode.EXPORT_LIVE
17296
- });
17297
- if (!full) {
17298
- continue;
17299
- }
17300
- if (full.type !== "code-mode") {
17301
- skippedNonCodeModeCount += 1;
17302
- continue;
17303
- }
17304
- const materialized = await materializeApplication({
17305
- sdk,
17306
- application: full,
17307
- branch: import_shared.DEFAULT_BRANCH
17308
- });
17309
- const cleanupRootPath = materialized.isTemporary ? materialized.temporaryRootPath : void 0;
17310
- if (materialized.isTemporary && !cleanupRootPath) {
17311
- throw new Error(`Expected temporaryRootPath for temporary checkout: ${materialized.checkoutPath}`);
17312
- }
17313
- try {
17314
- const packageJsonPath = path4.join(materialized.checkoutPath, "package.json");
17315
- if (!await import_fs_extra3.default.pathExists(packageJsonPath)) {
17316
- continue;
17317
- }
17318
- const packageJson = await import_fs_extra3.default.readJson(packageJsonPath);
17319
- const packageHits = findPackageHits(packageJson, input.package_name).filter((hit) => !input.package_version || hit.version === input.package_version);
17320
- if (packageHits.length === 0) {
17321
- continue;
17322
- }
17323
- matches.push({
17324
- application_id: app.id,
17325
- application_name: app.name,
17326
- package_hits: packageHits
17327
- });
17328
- } finally {
17329
- if (cleanupRootPath) {
17330
- await import_fs_extra3.default.remove(cleanupRootPath);
17331
- }
16917
+ const limit = input.limit ?? 50;
16918
+ const offset = input.offset ?? 0;
16919
+ const deployed = input.deployed === void 0 ? void 0 : input.deployed ? "true" : "false";
16920
+ const data = await callServerApi({
16921
+ baseUrl,
16922
+ token: auth.token,
16923
+ method: "GET",
16924
+ path: "/api/v2/public/package-usage",
16925
+ query: {
16926
+ package_name: input.package_name,
16927
+ package_version_declared: input.package_version,
16928
+ deployed,
16929
+ limit,
16930
+ offset
17332
16931
  }
17333
- }
17334
- return {
17335
- package_name: input.package_name,
17336
- package_version: input.package_version ?? null,
17337
- scanned: {
17338
- requested_max_apps: maxApps,
17339
- fetched_apps: apps.length,
17340
- inspected_apps: inspectedCount,
17341
- skipped_non_code_mode_apps: skippedNonCodeModeCount,
17342
- skipped_legacy_low_code_apps: skippedNonCodeModeCount
17343
- },
17344
- matches,
17345
- total_matches: matches.length,
17346
- note: "This tool currently scans Clark AI Apps only and skips Legacy Low Code Apps.",
17347
- auth_source: auth.source,
17348
- base_url: baseUrl,
17349
- environment: detectEnvironment(baseUrl)
17350
- };
17351
- }
17352
- };
17353
-
17354
- // ../mcp-server/dist/tools/get-app-activity-report.js
17355
- init_cjs_shims();
17356
- var getAppActivityReportInputSchema = external_exports.object({
17357
- base_url: external_exports.string().url(),
17358
- start_time: external_exports.string().datetime({ offset: true }),
17359
- end_time: external_exports.string().datetime({ offset: true }),
17360
- top_n: external_exports.number().int().min(1).max(100).optional()
17361
- }).strict();
17362
- var APPLICATION_ENTITY_TYPE = 0;
17363
- function incrementCounter(counter, key) {
17364
- if (typeof key !== "string" || key.length === 0)
17365
- return;
17366
- counter[key] = (counter[key] ?? 0) + 1;
17367
- }
17368
- var getAppActivityReport = {
17369
- name: "get_app_activity_report",
17370
- title: "Get App Activity Report",
17371
- description: "Build an application activity report from audit logs for a given time range.",
17372
- inputSchema: getAppActivityReportToolInputSchema,
17373
- annotations: {
17374
- readOnlyHint: true,
17375
- destructiveHint: false,
17376
- idempotentHint: true,
17377
- openWorldHint: true
17378
- },
17379
- audience: "customer",
17380
- async handler(args) {
17381
- const input = parseToolInput(getAppActivityReportInputSchema, args);
17382
- const baseUrl = normalizeBaseUrl(input.base_url);
17383
- const auth = await resolveAuthForOrigin(baseUrl);
17384
- const sdk = createSdk(auth.token, baseUrl);
17385
- const logs = await sdk.fetchAuditLogs({
17386
- startTime: input.start_time,
17387
- endTime: input.end_time,
17388
- entityType: APPLICATION_ENTITY_TYPE
17389
16932
  });
17390
- const buckets = /* @__PURE__ */ new Map();
17391
- for (const log of logs) {
17392
- const appId = log.entityId;
17393
- if (!appId)
17394
- continue;
17395
- let bucket = buckets.get(appId);
17396
- if (!bucket) {
17397
- bucket = {
17398
- app_id: appId,
17399
- app_name: log.name ?? void 0,
17400
- event_count: 0,
17401
- by_source: {},
17402
- by_event_type: {},
17403
- by_user_type: {}
17404
- };
17405
- buckets.set(appId, bucket);
17406
- }
17407
- bucket.event_count += 1;
17408
- if (!bucket.app_name && log.name) {
17409
- bucket.app_name = log.name;
17410
- }
17411
- incrementCounter(bucket.by_source, log.source);
17412
- incrementCounter(bucket.by_event_type, log.type);
17413
- incrementCounter(bucket.by_user_type, log.userType);
16933
+ if (!data || typeof data !== "object") {
16934
+ throw new Error("Unexpected response shape from package-usage endpoint");
17414
16935
  }
17415
- const topN = input.top_n ?? 10;
17416
- const apps = [...buckets.values()].sort((a, b) => b.event_count - a.event_count).slice(0, topN);
17417
16936
  return {
17418
- report_window: {
17419
- start_time: input.start_time,
17420
- end_time: input.end_time
17421
- },
17422
- totals: {
17423
- logs_considered: logs.length,
17424
- distinct_apps: buckets.size
17425
- },
17426
- apps,
16937
+ source: data.source,
16938
+ deployed_filter: data.deployed_filter,
16939
+ package_name: data.package_name,
16940
+ package_version_declared: data.package_version_declared,
16941
+ limit: data.limit,
16942
+ offset: data.offset,
16943
+ total_matches: data.total,
16944
+ matches: data.items,
16945
+ note: "Set deployed=true for only deployed commits, deployed=false for only non-deployed commits, or omit deployed to search all indexed commits. Matching is exact on declared package.json strings/ranges and does not reflect resolved lockfile versions.",
17427
16946
  auth_source: auth.source,
17428
16947
  base_url: baseUrl,
17429
16948
  environment: detectEnvironment(baseUrl)
@@ -17488,7 +17007,7 @@ var getApplicationAccess = {
17488
17007
 
17489
17008
  // ../mcp-server/dist/tools/get-application-commit-history.js
17490
17009
  init_cjs_shims();
17491
- var import_shared4 = __toESM(require_dist());
17010
+ var import_shared3 = __toESM(require_dist());
17492
17011
 
17493
17012
  // ../mcp-server/dist/application/commit-history.js
17494
17013
  init_cjs_shims();
@@ -17549,7 +17068,7 @@ var getApplicationCommitHistory = {
17549
17068
  const response = await sdk.fetchApplicationCommits({
17550
17069
  applicationId: target.applicationId,
17551
17070
  branch: target.branch,
17552
- commitType: import_shared4.CommitType.ALL,
17071
+ commitType: import_shared3.CommitType.ALL,
17553
17072
  limit: limit + 1,
17554
17073
  offset
17555
17074
  });
@@ -17575,44 +17094,13 @@ var getApplicationCommitHistory = {
17575
17094
  }
17576
17095
  };
17577
17096
 
17578
- // ../mcp-server/dist/tools/get-application-dependencies.js
17097
+ // ../mcp-server/dist/tools/get-application-deployment-history.js
17579
17098
  init_cjs_shims();
17580
- var import_shared5 = __toESM(require_dist());
17581
- function extractIntegrationRefs(apis, scope) {
17582
- const refs = /* @__PURE__ */ new Map();
17583
- for (const api of apis) {
17584
- const apiName = api.apiPb?.metadata?.name ?? "Unnamed API";
17585
- const label = `${scope}/${apiName}`;
17586
- const triggerId = api.apiPb?.trigger?.integration?.integrationId;
17587
- if (triggerId) {
17588
- if (!refs.has(triggerId))
17589
- refs.set(triggerId, /* @__PURE__ */ new Set());
17590
- refs.get(triggerId).add(label);
17591
- }
17592
- for (const block of api.apiPb?.blocks ?? []) {
17593
- const stepId = block.step?.integration;
17594
- if (stepId) {
17595
- if (!refs.has(stepId))
17596
- refs.set(stepId, /* @__PURE__ */ new Set());
17597
- refs.get(stepId).add(label);
17598
- }
17599
- }
17600
- }
17601
- return refs;
17602
- }
17603
- function mergeRefs(target, source) {
17604
- for (const [id, locations] of source) {
17605
- if (!target.has(id))
17606
- target.set(id, /* @__PURE__ */ new Set());
17607
- for (const loc of locations)
17608
- target.get(id).add(loc);
17609
- }
17610
- }
17611
- var getApplicationDependencies = {
17612
- name: "get_application_dependencies",
17613
- title: "Get Application Dependencies",
17614
- description: "Analyze a Superblocks application to find all integrations (data sources) it depends on, including where each integration is used. Provide either app_url or application_id plus base_url.",
17615
- inputSchema: getApplicationDependenciesToolInputSchema,
17099
+ var getApplicationDeploymentHistory = {
17100
+ name: "get_application_deployment_history",
17101
+ title: "Get Application Deployment History",
17102
+ description: "Fetch the deployment timeline for a Superblocks application. Returns all deploy and undeploy events in reverse chronological order, including who performed each action and when. Undeploy entries have a null commitId. Supports either app_url or application_id plus base_url.",
17103
+ inputSchema: appTargetToolInputSchema,
17616
17104
  annotations: {
17617
17105
  readOnlyHint: true,
17618
17106
  destructiveHint: false,
@@ -17625,68 +17113,27 @@ var getApplicationDependencies = {
17625
17113
  const target = resolveAppTarget(input);
17626
17114
  const auth = await resolveAuthForOrigin(target.baseUrl);
17627
17115
  const sdk = createSdk(auth.token, target.baseUrl);
17628
- const application = await sdk.fetchApplicationWithComponents({
17629
- applicationId: target.applicationId,
17630
- branch: target.branch,
17631
- viewMode: import_shared5.ExportViewMode.EXPORT_LIVE
17632
- });
17633
- if (!application) {
17634
- throw new Error(`Application ${target.applicationId} was not found.`);
17635
- }
17636
- const allRefs = /* @__PURE__ */ new Map();
17637
- if (application.type === "multi-page") {
17638
- mergeRefs(allRefs, extractIntegrationRefs(application.apis, "app-level"));
17639
- for (const page of application.pages) {
17640
- mergeRefs(allRefs, extractIntegrationRefs(page.apis, `page:${page.name}`));
17641
- }
17642
- }
17643
- let integrationNames = /* @__PURE__ */ new Map();
17644
- if (allRefs.size > 0) {
17645
- try {
17646
- const integrations = await sdk.fetchIntegrations();
17647
- integrationNames = new Map(integrations.map((i) => [
17648
- i.id,
17649
- { name: i.name, pluginId: i.pluginId }
17650
- ]));
17651
- } catch (err) {
17652
- console.error("Failed to fetch integration names:", err instanceof Error ? err.message : String(err));
17653
- }
17654
- }
17655
- const dependencies = [...allRefs.entries()].map(([integrationId, locations]) => {
17656
- const info = integrationNames.get(integrationId);
17657
- return {
17658
- integration_id: integrationId,
17659
- integration_name: info?.name ?? null,
17660
- plugin_id: info?.pluginId ?? null,
17661
- used_in: [...locations].sort()
17662
- };
17663
- }).sort((a, b) => (a.integration_name ?? "").localeCompare(b.integration_name ?? ""));
17116
+ const deployments = await sdk.fetchApplicationDeployments(target.applicationId);
17664
17117
  return {
17665
17118
  application_id: target.applicationId,
17666
- application_type: application.type ?? "unknown",
17667
17119
  auth_source: auth.source,
17668
17120
  base_url: target.baseUrl,
17669
- branch: target.branch,
17670
- dependencies,
17121
+ deployments,
17671
17122
  environment: target.environment,
17672
- ...application.type !== "multi-page" && {
17673
- note: `Dependency analysis is only supported for multi-page apps. This app is type "${application.type ?? "unknown"}".`
17674
- },
17675
- resolved_from: target.resolvedFrom,
17676
- total_count: dependencies.length
17123
+ resolved_from: target.resolvedFrom
17677
17124
  };
17678
17125
  }
17679
17126
  };
17680
17127
 
17681
17128
  // ../mcp-server/dist/tools/get-application-structure.js
17682
17129
  init_cjs_shims();
17683
- var import_fs_extra5 = __toESM(require_lib());
17684
- var import_shared6 = __toESM(require_dist());
17130
+ var import_fs_extra4 = __toESM(require_lib());
17131
+ var import_shared4 = __toESM(require_dist());
17685
17132
 
17686
17133
  // ../mcp-server/dist/application/directory-tree.js
17687
17134
  init_cjs_shims();
17688
- var import_fs_extra4 = __toESM(require_lib());
17689
- import path5 from "node:path";
17135
+ var import_fs_extra3 = __toESM(require_lib());
17136
+ import path4 from "node:path";
17690
17137
  async function buildDirectoryTreeSummary(rootPath, options) {
17691
17138
  const entries = [];
17692
17139
  let truncated = false;
@@ -17695,7 +17142,7 @@ async function buildDirectoryTreeSummary(rootPath, options) {
17695
17142
  truncated = true;
17696
17143
  return;
17697
17144
  }
17698
- const directoryEntries = (await import_fs_extra4.default.readdir(currentPath, { withFileTypes: true })).sort((left, right) => left.name.localeCompare(right.name));
17145
+ const directoryEntries = (await import_fs_extra3.default.readdir(currentPath, { withFileTypes: true })).sort((left, right) => left.name.localeCompare(right.name));
17699
17146
  for (const directoryEntry of directoryEntries) {
17700
17147
  if (entries.length >= options.maxEntries) {
17701
17148
  truncated = true;
@@ -17704,10 +17151,10 @@ async function buildDirectoryTreeSummary(rootPath, options) {
17704
17151
  if (options.exclude?.has(directoryEntry.name)) {
17705
17152
  continue;
17706
17153
  }
17707
- const entryRelativePath = relativePath ? path5.posix.join(relativePath, directoryEntry.name) : directoryEntry.name;
17154
+ const entryRelativePath = relativePath ? path4.posix.join(relativePath, directoryEntry.name) : directoryEntry.name;
17708
17155
  if (directoryEntry.isDirectory()) {
17709
17156
  entries.push(`${entryRelativePath}/`);
17710
- await visit(path5.join(currentPath, directoryEntry.name), entryRelativePath);
17157
+ await visit(path4.join(currentPath, directoryEntry.name), entryRelativePath);
17711
17158
  continue;
17712
17159
  }
17713
17160
  entries.push(entryRelativePath);
@@ -17715,8 +17162,50 @@ async function buildDirectoryTreeSummary(rootPath, options) {
17715
17162
  }
17716
17163
  await visit(rootPath);
17717
17164
  return {
17718
- entries,
17719
- truncated
17165
+ entries,
17166
+ truncated
17167
+ };
17168
+ }
17169
+
17170
+ // ../mcp-server/dist/application/summary.js
17171
+ init_cjs_shims();
17172
+ function getApiName(api) {
17173
+ return api.apiPb?.metadata?.name ?? "Unnamed API";
17174
+ }
17175
+ function inferApplicationMode(application) {
17176
+ return application.devEnvEnabled ? "2.0" : "1.0";
17177
+ }
17178
+ function applicationModeLabel(mode) {
17179
+ return mode === "1.0" ? "Legacy Low Code Apps" : "Clark AI Apps";
17180
+ }
17181
+ function applicationModeNote(mode) {
17182
+ return mode === "1.0" ? "Legacy Low Code Apps are the legacy multi-page app model (1.0)." : "Clark AI Apps are the code-mode app model (2.0).";
17183
+ }
17184
+ function summarizeApplication(applicationWrapper) {
17185
+ const application = applicationWrapper.application;
17186
+ return {
17187
+ application_id: application.id,
17188
+ application_mode: inferApplicationMode(application),
17189
+ deployed_commit_id: applicationWrapper.deployedCommitId ?? null,
17190
+ name: application.name,
17191
+ organization_id: application.organizationId
17192
+ };
17193
+ }
17194
+ function summarizeMultiPageApplicationStructure(applicationWrapper) {
17195
+ const pages = applicationWrapper.pages.map((page) => ({
17196
+ id: page.id,
17197
+ name: page.name,
17198
+ api_names: [...page.apis.map((api) => getApiName(api))].sort((left, right) => left.localeCompare(right))
17199
+ }));
17200
+ const appApiNames = [
17201
+ ...applicationWrapper.apis.map((api) => getApiName(api))
17202
+ ].sort((left, right) => left.localeCompare(right));
17203
+ return {
17204
+ application_mode: "1.0",
17205
+ app_api_count: applicationWrapper.apis.length,
17206
+ app_api_names: appApiNames,
17207
+ page_count: applicationWrapper.pages.length,
17208
+ pages
17720
17209
  };
17721
17210
  }
17722
17211
 
@@ -17742,7 +17231,7 @@ var getApplicationStructure = {
17742
17231
  const application = await sdk.fetchApplicationWithComponents({
17743
17232
  applicationId: target.applicationId,
17744
17233
  branch: target.branch,
17745
- viewMode: import_shared6.ExportViewMode.EXPORT_LIVE
17234
+ viewMode: import_shared4.ExportViewMode.EXPORT_LIVE
17746
17235
  });
17747
17236
  if (!application) {
17748
17237
  throw new Error(`Application ${target.applicationId} was not found.`);
@@ -17794,7 +17283,7 @@ var getApplicationStructure = {
17794
17283
  } finally {
17795
17284
  if (cleanupRootPath) {
17796
17285
  try {
17797
- await import_fs_extra5.default.remove(cleanupRootPath);
17286
+ await import_fs_extra4.default.remove(cleanupRootPath);
17798
17287
  } catch {
17799
17288
  }
17800
17289
  }
@@ -17804,7 +17293,7 @@ var getApplicationStructure = {
17804
17293
 
17805
17294
  // ../mcp-server/dist/tools/get-application-summary.js
17806
17295
  init_cjs_shims();
17807
- var import_shared7 = __toESM(require_dist());
17296
+ var import_shared5 = __toESM(require_dist());
17808
17297
  var getApplicationSummary = {
17809
17298
  name: "get_application_summary",
17810
17299
  title: "Get Application Summary",
@@ -17825,7 +17314,7 @@ var getApplicationSummary = {
17825
17314
  const application = await sdk.fetchApplication({
17826
17315
  applicationId: target.applicationId,
17827
17316
  branch: target.branch,
17828
- viewMode: import_shared7.ExportViewMode.EXPORT_LIVE
17317
+ viewMode: import_shared5.ExportViewMode.EXPORT_LIVE
17829
17318
  });
17830
17319
  if (!application) {
17831
17320
  throw new Error(`Application ${target.applicationId} was not found.`);
@@ -17844,31 +17333,26 @@ var getApplicationSummary = {
17844
17333
  }
17845
17334
  };
17846
17335
 
17847
- // ../mcp-server/dist/tools/get-audit-entities.js
17336
+ // ../mcp-server/dist/tools/get-audit-events.js
17848
17337
  init_cjs_shims();
17849
17338
 
17850
17339
  // ../mcp-server/dist/target/resolve-base-url-target.js
17851
17340
  init_cjs_shims();
17852
17341
  var isoDateTimeInputSchema = external_exports.string().datetime({ offset: true });
17853
17342
  var listApplicationsInputSchema = external_exports.object({
17343
+ application_mode: external_exports.enum(["2.0"]).optional(),
17854
17344
  base_url: external_exports.string().url(),
17855
17345
  created_after: isoDateTimeInputSchema.optional(),
17856
17346
  created_before: isoDateTimeInputSchema.optional(),
17347
+ creator_email: external_exports.string().email().optional(),
17348
+ is_deployed: external_exports.boolean().optional(),
17857
17349
  name_contains: external_exports.string().min(1).optional(),
17858
- creator_email: external_exports.string().email().optional()
17859
- }).strict();
17860
- var getAuditLogsInputSchema = external_exports.object({
17861
- base_url: external_exports.string().url(),
17862
- start_time: isoDateTimeInputSchema,
17863
- end_time: isoDateTimeInputSchema,
17864
- entity_type: external_exports.number().int().optional(),
17865
- audit_entity_id: external_exports.string().optional(),
17866
- audit_entity_type: external_exports.number().int().optional(),
17867
- status: external_exports.enum(["All", "Success", "Running", "Aborted", "Error"]).optional(),
17868
- deployed: external_exports.boolean().optional(),
17869
- triggered_by: external_exports.array(external_exports.string()).optional()
17350
+ updated_after: isoDateTimeInputSchema.optional(),
17351
+ updated_before: isoDateTimeInputSchema.optional()
17870
17352
  }).strict();
17871
17353
  var getAuditEventsInputSchema = external_exports.object({
17354
+ activity_id: external_exports.number().int().optional(),
17355
+ application_id: external_exports.string().optional(),
17872
17356
  base_url: external_exports.string().url(),
17873
17357
  time_start: isoDateTimeInputSchema,
17874
17358
  time_end: isoDateTimeInputSchema,
@@ -17882,12 +17366,11 @@ var getAuditEventsInputSchema = external_exports.object({
17882
17366
  cursor: external_exports.string().optional(),
17883
17367
  limit: external_exports.number().int().min(1).max(1e3).optional()
17884
17368
  }).strict();
17885
- var getAuditEntitiesInputSchema = external_exports.object({
17886
- base_url: external_exports.string().url()
17887
- }).strict();
17888
17369
  var listIntegrationsInputSchema = external_exports.object({
17889
17370
  base_url: external_exports.string().url(),
17890
- kind: external_exports.array(external_exports.string()).optional()
17371
+ kind: external_exports.array(external_exports.string()).optional(),
17372
+ creator_email: external_exports.string().email().optional(),
17373
+ name_contains: external_exports.string().min(1).optional()
17891
17374
  }).strict();
17892
17375
  var billingDateRangeInputSchema = external_exports.object({
17893
17376
  base_url: external_exports.string().url(),
@@ -17921,45 +17404,11 @@ function resolveBaseUrlTarget(input) {
17921
17404
  };
17922
17405
  }
17923
17406
 
17924
- // ../mcp-server/dist/tools/get-audit-entities.js
17925
- var getAuditEntities = {
17926
- name: "get_audit_entities",
17927
- title: "Get Audit Entities",
17928
- description: "Legacy companion for get_audit_logs. Lists entities used to filter legacy audit logs. Prefer get_audit_events for the newer audit model and broader v2 coverage.",
17929
- inputSchema: getAuditEntitiesToolInputSchema,
17930
- annotations: {
17931
- readOnlyHint: true,
17932
- destructiveHint: false,
17933
- idempotentHint: true,
17934
- openWorldHint: true
17935
- },
17936
- audience: "customer",
17937
- async handler(args) {
17938
- const input = parseToolInput(getAuditEntitiesInputSchema, args);
17939
- const target = resolveBaseUrlTarget(input);
17940
- const auth = await resolveAuthForOrigin(target.baseUrl);
17941
- const sdk = createSdk(auth.token, target.baseUrl);
17942
- const entities = await sdk.fetchAuditEntities();
17943
- return {
17944
- auth_source: auth.source,
17945
- base_url: target.baseUrl,
17946
- entities: entities.map((e) => ({
17947
- id: e.id,
17948
- name: e.name,
17949
- type: e.type
17950
- })),
17951
- environment: target.environment,
17952
- total_count: entities.length
17953
- };
17954
- }
17955
- };
17956
-
17957
17407
  // ../mcp-server/dist/tools/get-audit-events.js
17958
- init_cjs_shims();
17959
17408
  var getAuditEvents = {
17960
17409
  name: "get_audit_events",
17961
17410
  title: "Get Audit Events",
17962
- description: "Recommended: fetch v2 audit events (OCSF) for the current organization in a time range, with cursor pagination and OCSF filters. Prefer this over legacy get_audit_logs.",
17411
+ description: "Fetch v2 audit events (OCSF) for the current organization in a time range, with cursor pagination and OCSF filters. Use list_audit_event_types to discover all available class_uid, resource_type, and operation values for filtering.",
17963
17412
  inputSchema: getAuditEventsToolInputSchema,
17964
17413
  annotations: {
17965
17414
  readOnlyHint: true,
@@ -17974,6 +17423,8 @@ var getAuditEvents = {
17974
17423
  const auth = await resolveAuthForOrigin(target.baseUrl);
17975
17424
  const sdk = createSdk(auth.token, target.baseUrl);
17976
17425
  const response = await sdk.fetchAuditEvents({
17426
+ activityId: input.activity_id,
17427
+ applicationId: input.application_id,
17977
17428
  timeStart: input.time_start,
17978
17429
  timeEnd: input.time_end,
17979
17430
  classUid: input.class_uid,
@@ -18000,55 +17451,6 @@ var getAuditEvents = {
18000
17451
  }
18001
17452
  };
18002
17453
 
18003
- // ../mcp-server/dist/tools/get-audit-logs.js
18004
- init_cjs_shims();
18005
- var getAuditLogs = {
18006
- name: "get_audit_logs",
18007
- title: "Get Audit Logs (Legacy)",
18008
- description: "Legacy audit log feed (deprecated server endpoint), primarily execution-focused (for example v1 API/workflow runs). Prefer get_audit_events for comprehensive v2 audit coverage.",
18009
- inputSchema: getAuditLogsToolInputSchema,
18010
- annotations: {
18011
- readOnlyHint: true,
18012
- destructiveHint: false,
18013
- idempotentHint: true,
18014
- openWorldHint: true
18015
- },
18016
- audience: "customer",
18017
- async handler(args) {
18018
- const input = parseToolInput(getAuditLogsInputSchema, args);
18019
- const target = resolveBaseUrlTarget(input);
18020
- const auth = await resolveAuthForOrigin(target.baseUrl);
18021
- const sdk = createSdk(auth.token, target.baseUrl);
18022
- const logs = await sdk.fetchAuditLogs({
18023
- startTime: input.start_time,
18024
- endTime: input.end_time,
18025
- entityType: input.entity_type,
18026
- auditEntityId: input.audit_entity_id,
18027
- auditEntityType: input.audit_entity_type,
18028
- status: input.status,
18029
- deployed: input.deployed,
18030
- triggeredBy: input.triggered_by
18031
- });
18032
- return {
18033
- logs: logs.map((log) => ({
18034
- id: log.id ?? null,
18035
- name: log.name ?? null,
18036
- entity_id: log.entityId,
18037
- entity_type: log.entityType,
18038
- start_time: log.startTime,
18039
- end_time: log.endTime ?? null,
18040
- deployed: log.deployed,
18041
- source: log.source ?? null,
18042
- type: log.type ?? null
18043
- })),
18044
- auth_source: auth.source,
18045
- base_url: target.baseUrl,
18046
- environment: target.environment,
18047
- total_count: logs.length
18048
- };
18049
- }
18050
- };
18051
-
18052
17454
  // ../mcp-server/dist/tools/get-auth-status.js
18053
17455
  init_cjs_shims();
18054
17456
  var getAuthStatus = {
@@ -18214,42 +17616,6 @@ var getCurrentUser = {
18214
17616
  }
18215
17617
  };
18216
17618
 
18217
- // ../mcp-server/dist/tools/get-git-fresh-token.js
18218
- init_cjs_shims();
18219
- var getGitFreshTokenInputSchema = external_exports.object({
18220
- application_id: external_exports.string().uuid(),
18221
- base_url: external_exports.string().url(),
18222
- host: external_exports.string().trim().min(1)
18223
- }).strict();
18224
- var getGitFreshToken = {
18225
- name: "get_git_fresh_token",
18226
- title: "Get Git Fresh Token",
18227
- description: "Get a fresh Git credential token for the given git host and application.",
18228
- inputSchema: getGitFreshTokenToolInputSchema,
18229
- annotations: {
18230
- readOnlyHint: true,
18231
- destructiveHint: false,
18232
- idempotentHint: true,
18233
- openWorldHint: true
18234
- },
18235
- audience: "customer",
18236
- async handler(args) {
18237
- const input = parseToolInput(getGitFreshTokenInputSchema, args);
18238
- const baseUrl = normalizeBaseUrl(input.base_url);
18239
- const auth = await resolveAuthForOrigin(baseUrl);
18240
- const sdk = createSdk(auth.token, baseUrl);
18241
- const token = await sdk.getGitFreshToken(input.host, input.application_id);
18242
- return {
18243
- git_token: token,
18244
- application_id: input.application_id,
18245
- host: input.host,
18246
- auth_source: auth.source,
18247
- base_url: baseUrl,
18248
- environment: detectEnvironment(baseUrl)
18249
- };
18250
- }
18251
- };
18252
-
18253
17619
  // ../mcp-server/dist/tools/get-integration-access.js
18254
17620
  init_cjs_shims();
18255
17621
  var getIntegrationAccessInputSchema = external_exports.object({
@@ -18398,7 +17764,7 @@ var getKnowledge = {
18398
17764
 
18399
17765
  // ../mcp-server/dist/tools/get-organization-summary.js
18400
17766
  init_cjs_shims();
18401
- var import_shared8 = __toESM(require_dist());
17767
+ var import_shared6 = __toESM(require_dist());
18402
17768
 
18403
17769
  // ../mcp-server/dist/target/resolve-organization-target.js
18404
17770
  init_cjs_shims();
@@ -18448,7 +17814,7 @@ function resolveOrganizationTarget(input) {
18448
17814
  async function resolveOrganizationIdFromApplication(sdk, applicationId) {
18449
17815
  const application = await sdk.fetchApplication({
18450
17816
  applicationId,
18451
- viewMode: import_shared8.ExportViewMode.EXPORT_LIVE
17817
+ viewMode: import_shared6.ExportViewMode.EXPORT_LIVE
18452
17818
  });
18453
17819
  if (!application) {
18454
17820
  throw new Error(`Application ${applicationId} was not found.`);
@@ -18578,24 +17944,39 @@ function toEpoch(value) {
18578
17944
  throw new Error(`Invalid date: "${value}"`);
18579
17945
  return ms;
18580
17946
  }
18581
- function matchesFilters(app, afterMs, beforeMs, needle, email3) {
17947
+ function matchesFilters(app, filters) {
18582
17948
  const created = new Date(app.created).getTime();
18583
- if (Number.isNaN(created))
18584
- return false;
18585
- if (afterMs !== void 0 && created < afterMs)
17949
+ if (filters.createdAfterMs !== void 0) {
17950
+ if (Number.isNaN(created) || created < filters.createdAfterMs)
17951
+ return false;
17952
+ }
17953
+ if (filters.createdBeforeMs !== void 0) {
17954
+ if (Number.isNaN(created) || created > filters.createdBeforeMs)
17955
+ return false;
17956
+ }
17957
+ const updated = new Date(app.updated).getTime();
17958
+ if (filters.updatedAfterMs !== void 0) {
17959
+ if (Number.isNaN(updated) || updated < filters.updatedAfterMs)
17960
+ return false;
17961
+ }
17962
+ if (filters.updatedBeforeMs !== void 0) {
17963
+ if (Number.isNaN(updated) || updated > filters.updatedBeforeMs)
17964
+ return false;
17965
+ }
17966
+ if (filters.needle && !app.name.toLowerCase().includes(filters.needle))
18586
17967
  return false;
18587
- if (beforeMs !== void 0 && created > beforeMs)
17968
+ if (filters.email && app.creator?.email?.toLowerCase() !== filters.email)
18588
17969
  return false;
18589
- if (needle && !app.name.toLowerCase().includes(needle))
17970
+ if (filters.isDeployed !== void 0 && app.isDeployed !== filters.isDeployed)
18590
17971
  return false;
18591
- if (email3 && app.creator?.email?.toLowerCase() !== email3)
17972
+ if (filters.applicationMode === "2.0" && !app.devEnvEnabled)
18592
17973
  return false;
18593
17974
  return true;
18594
17975
  }
18595
17976
  var listApplications = {
18596
17977
  name: "list_applications",
18597
17978
  title: "List Applications",
18598
- description: "List all Superblocks applications the current user can access. Supports client-side filtering by creation date range, name substring, and creator email.",
17979
+ description: "List all Superblocks applications the current user can access. Supports filtering by creation/update date range, name substring, creator email, deploy status, and application mode.",
18599
17980
  inputSchema: listApplicationsToolInputSchema,
18600
17981
  annotations: {
18601
17982
  readOnlyHint: true,
@@ -18610,12 +17991,18 @@ var listApplications = {
18610
17991
  const auth = await resolveAuthForOrigin(target.baseUrl);
18611
17992
  const sdk = createSdk(auth.token, target.baseUrl);
18612
17993
  const allApps = await sdk.fetchApplications();
18613
- const afterMs = input.created_after ? toEpoch(input.created_after) : void 0;
18614
- const beforeMs = input.created_before ? toEpoch(input.created_before) : void 0;
18615
- const needle = input.name_contains?.toLowerCase();
18616
- const email3 = input.creator_email?.toLowerCase();
18617
- const hasFilters = afterMs !== void 0 || beforeMs !== void 0 || needle !== void 0 || email3 !== void 0;
18618
- const filtered = hasFilters ? allApps.filter((app) => matchesFilters(app, afterMs, beforeMs, needle, email3)) : allApps;
17994
+ const filters = {
17995
+ createdAfterMs: input.created_after ? toEpoch(input.created_after) : void 0,
17996
+ createdBeforeMs: input.created_before ? toEpoch(input.created_before) : void 0,
17997
+ updatedAfterMs: input.updated_after ? toEpoch(input.updated_after) : void 0,
17998
+ updatedBeforeMs: input.updated_before ? toEpoch(input.updated_before) : void 0,
17999
+ needle: input.name_contains?.toLowerCase(),
18000
+ email: input.creator_email?.toLowerCase(),
18001
+ isDeployed: input.is_deployed,
18002
+ applicationMode: input.application_mode
18003
+ };
18004
+ const hasFilters = Object.values(filters).some((v) => v !== void 0);
18005
+ const filtered = hasFilters ? allApps.filter((app) => matchesFilters(app, filters)) : allApps;
18619
18006
  return {
18620
18007
  applications: filtered.map((app) => ({
18621
18008
  application_mode: app.devEnvEnabled ? "2.0" : "1.0",
@@ -18639,6 +18026,46 @@ var listApplications = {
18639
18026
  }
18640
18027
  };
18641
18028
 
18029
+ // ../mcp-server/dist/tools/list-audit-event-types.js
18030
+ init_cjs_shims();
18031
+ var import_shared7 = __toESM(require_dist());
18032
+ var listAuditEventTypes = {
18033
+ name: "list_audit_event_types",
18034
+ title: "List Audit Event Types",
18035
+ description: "Returns the full catalog of audit event types emitted by Superblocks. Use this to discover valid class_uid, resource_type, and operation values for filtering with get_audit_events. No API call is made \u2014 this is a static reference.",
18036
+ inputSchema: {
18037
+ additionalProperties: false,
18038
+ properties: {},
18039
+ type: "object"
18040
+ },
18041
+ annotations: {
18042
+ readOnlyHint: true,
18043
+ destructiveHint: false,
18044
+ idempotentHint: true,
18045
+ openWorldHint: false
18046
+ },
18047
+ audience: "customer",
18048
+ async handler() {
18049
+ const classUids = [
18050
+ ...new Set(import_shared7.AUDIT_EVENT_TYPE_CATALOG.map((e) => e.class_uid))
18051
+ ].sort();
18052
+ const resourceTypes = [
18053
+ ...new Set(import_shared7.AUDIT_EVENT_TYPE_CATALOG.map((e) => e.resource_type))
18054
+ ].sort();
18055
+ return {
18056
+ event_types: import_shared7.AUDIT_EVENT_TYPE_CATALOG,
18057
+ summary: {
18058
+ class_uids: classUids.map((uid) => ({
18059
+ class_uid: uid,
18060
+ class_name: import_shared7.AUDIT_EVENT_TYPE_CATALOG.find((e) => e.class_uid === uid).class_name
18061
+ })),
18062
+ resource_types: resourceTypes,
18063
+ total_operations: import_shared7.AUDIT_EVENT_TYPE_CATALOG.reduce((sum, e) => sum + e.operations.length, 0)
18064
+ }
18065
+ };
18066
+ }
18067
+ };
18068
+
18642
18069
  // ../mcp-server/dist/tools/list-builder-seats.js
18643
18070
  init_cjs_shims();
18644
18071
  var listBuilderSeatsInputSchema = external_exports.object({
@@ -18713,7 +18140,7 @@ init_cjs_shims();
18713
18140
  var listIntegrations = {
18714
18141
  name: "list_integrations",
18715
18142
  title: "List Integrations",
18716
- description: "List all integrations (data sources, APIs, secret stores) configured in the current organization. Optionally filter by kind.",
18143
+ description: "List all integrations (data sources, APIs, secret stores) configured in the current organization. Optionally filter by kind, creator email, or name substring.",
18717
18144
  inputSchema: listIntegrationsToolInputSchema,
18718
18145
  annotations: {
18719
18146
  readOnlyHint: true,
@@ -18727,7 +18154,15 @@ var listIntegrations = {
18727
18154
  const target = resolveBaseUrlTarget(input);
18728
18155
  const auth = await resolveAuthForOrigin(target.baseUrl);
18729
18156
  const sdk = createSdk(auth.token, target.baseUrl);
18730
- const integrations = await sdk.fetchIntegrations(input.kind ? { kind: input.kind } : void 0);
18157
+ let integrations = await sdk.fetchIntegrations(input.kind ? { kind: input.kind } : void 0);
18158
+ if (input.creator_email) {
18159
+ const createdBy = input.creator_email.toLowerCase();
18160
+ integrations = integrations.filter((i) => i.ownerEmail?.toLowerCase() === createdBy);
18161
+ }
18162
+ if (input.name_contains) {
18163
+ const needle = input.name_contains.toLowerCase();
18164
+ integrations = integrations.filter((i) => i.name?.toLowerCase().includes(needle));
18165
+ }
18731
18166
  return {
18732
18167
  integrations: integrations.map((i) => ({
18733
18168
  id: i.id,
@@ -18736,7 +18171,8 @@ var listIntegrations = {
18736
18171
  kind: i.kind,
18737
18172
  slug: i.slug ?? null,
18738
18173
  created: i.created,
18739
- updated: i.updated
18174
+ updated: i.updated,
18175
+ creator_email: i.ownerEmail ?? null
18740
18176
  })),
18741
18177
  auth_source: auth.source,
18742
18178
  base_url: target.baseUrl,
@@ -18888,50 +18324,67 @@ var listRbacAssignments = {
18888
18324
  }
18889
18325
  };
18890
18326
 
18891
- // ../mcp-server/dist/tools/revoke-resource-access.js
18327
+ // ../mcp-server/dist/tools/list-roles.js
18892
18328
  init_cjs_shims();
18893
- var revokeResourceAccessInputSchema = external_exports.object({
18329
+ var listRolesInputSchema = external_exports.object({
18894
18330
  base_url: external_exports.string().url(),
18895
- assignment_record_id: external_exports.string().uuid()
18331
+ organization_id: external_exports.string().uuid(),
18332
+ type: external_exports.enum(["apps", "integrations", "org", "jobs", "workflows"]).optional()
18896
18333
  }).strict();
18897
- var revokeResourceAccess = {
18898
- name: "revoke_resource_access",
18899
- title: "Revoke Resource Access",
18900
- description: "Delete a single RBAC assignment by assignment record ID.",
18901
- inputSchema: revokeResourceAccessToolInputSchema,
18334
+ var listRoles = {
18335
+ name: "list_roles",
18336
+ title: "List Roles",
18337
+ description: "List available RBAC roles for an organization, including their UUIDs. Use these role UUIDs as assignment_id when calling grant_resource_access. Optionally filter by role type (apps, integrations, org, jobs, workflows).",
18338
+ inputSchema: listRolesToolInputSchema,
18902
18339
  annotations: {
18903
- readOnlyHint: false,
18904
- destructiveHint: true,
18905
- idempotentHint: false,
18340
+ readOnlyHint: true,
18341
+ destructiveHint: false,
18342
+ idempotentHint: true,
18906
18343
  openWorldHint: true
18907
18344
  },
18908
18345
  audience: "customer",
18909
18346
  async handler(args) {
18910
- const input = parseToolInput(revokeResourceAccessInputSchema, args);
18347
+ const input = parseToolInput(listRolesInputSchema, args);
18911
18348
  const baseUrl = normalizeBaseUrl(input.base_url);
18912
18349
  const auth = await resolveAuthForOrigin(baseUrl);
18913
- const sdk = createSdk(auth.token, baseUrl);
18914
- const assignment = await sdk.deleteRbacAssignment(input.assignment_record_id);
18350
+ const roles = await callServerApi({
18351
+ baseUrl,
18352
+ token: auth.token,
18353
+ method: "GET",
18354
+ path: `/api/v1/organizations/${input.organization_id}/roles`,
18355
+ query: input.type ? { type: input.type } : void 0
18356
+ });
18357
+ if (!Array.isArray(roles)) {
18358
+ throw new Error(`Unexpected response from roles API: expected array, got ${typeof roles}`);
18359
+ }
18360
+ const rolesList = roles;
18915
18361
  return {
18916
- assignment,
18362
+ roles: rolesList.map((r) => ({
18363
+ id: r.id,
18364
+ name: r.name,
18365
+ description: r.description,
18366
+ type: r.type,
18367
+ organization_id: r.organizationId
18368
+ })),
18917
18369
  auth_source: auth.source,
18918
18370
  base_url: baseUrl,
18919
- environment: detectEnvironment(baseUrl)
18371
+ environment: detectEnvironment(baseUrl),
18372
+ total_count: rolesList.length
18920
18373
  };
18921
18374
  }
18922
18375
  };
18923
18376
 
18924
- // ../mcp-server/dist/tools/submit-payment.js
18377
+ // ../mcp-server/dist/tools/revoke-resource-access.js
18925
18378
  init_cjs_shims();
18926
- var submitPaymentInputSchema = external_exports.object({
18379
+ var revokeResourceAccessInputSchema = external_exports.object({
18927
18380
  base_url: external_exports.string().url(),
18928
- payload: external_exports.record(external_exports.string(), external_exports.unknown())
18381
+ assignment_record_id: external_exports.string().uuid()
18929
18382
  }).strict();
18930
- var submitPayment = {
18931
- name: "submit_payment",
18932
- title: "Submit Payment",
18933
- description: "Submit billing payment information using the billing submit-payment payload.",
18934
- inputSchema: submitPaymentToolInputSchema,
18383
+ var revokeResourceAccess = {
18384
+ name: "revoke_resource_access",
18385
+ title: "Revoke Resource Access",
18386
+ description: "Delete a single RBAC assignment by assignment record ID.",
18387
+ inputSchema: revokeResourceAccessToolInputSchema,
18935
18388
  annotations: {
18936
18389
  readOnlyHint: false,
18937
18390
  destructiveHint: true,
@@ -18940,18 +18393,13 @@ var submitPayment = {
18940
18393
  },
18941
18394
  audience: "customer",
18942
18395
  async handler(args) {
18943
- const input = parseToolInput(submitPaymentInputSchema, args);
18396
+ const input = parseToolInput(revokeResourceAccessInputSchema, args);
18944
18397
  const baseUrl = normalizeBaseUrl(input.base_url);
18945
18398
  const auth = await resolveAuthForOrigin(baseUrl);
18946
- const payment = await callServerApi({
18947
- baseUrl,
18948
- token: auth.token,
18949
- method: "POST",
18950
- path: "/api/v1/billing/submit-payment",
18951
- body: input.payload
18952
- });
18399
+ const sdk = createSdk(auth.token, baseUrl);
18400
+ const assignment = await sdk.deleteRbacAssignment(input.assignment_record_id);
18953
18401
  return {
18954
- payment,
18402
+ assignment,
18955
18403
  auth_source: auth.source,
18956
18404
  base_url: baseUrl,
18957
18405
  environment: detectEnvironment(baseUrl)
@@ -18997,6 +18445,55 @@ var unassignBuilderSeat = {
18997
18445
  }
18998
18446
  };
18999
18447
 
18448
+ // ../mcp-server/dist/tools/undeploy-application.js
18449
+ init_cjs_shims();
18450
+ var undeployApplicationInputSchema = external_exports.union([
18451
+ external_exports.object({
18452
+ app_url: external_exports.string().url(),
18453
+ branch: external_exports.string().trim().min(1).optional(),
18454
+ message: external_exports.string().trim().min(1).optional()
18455
+ }).strict(),
18456
+ external_exports.object({
18457
+ application_id: external_exports.string().uuid(),
18458
+ base_url: external_exports.string().url(),
18459
+ branch: external_exports.string().trim().min(1).optional(),
18460
+ message: external_exports.string().trim().min(1).optional()
18461
+ }).strict()
18462
+ ]);
18463
+ var undeployApplication = {
18464
+ name: "undeploy_application",
18465
+ title: "Undeploy Application",
18466
+ description: "Take a deployed Superblocks application offline. The app becomes inaccessible to all users until redeployed. Supports either app_url or application_id plus base_url. Optionally pass a custom message for the audit trail.",
18467
+ inputSchema: undeployApplicationToolInputSchema,
18468
+ annotations: {
18469
+ readOnlyHint: false,
18470
+ destructiveHint: true,
18471
+ idempotentHint: false,
18472
+ openWorldHint: true
18473
+ },
18474
+ audience: "customer",
18475
+ async handler(args) {
18476
+ const input = parseToolInput(undeployApplicationInputSchema, args);
18477
+ const targetInput = "app_url" in input ? { app_url: input.app_url, branch: input.branch } : {
18478
+ application_id: input.application_id,
18479
+ base_url: input.base_url,
18480
+ branch: input.branch
18481
+ };
18482
+ const target = resolveAppTarget(targetInput);
18483
+ const auth = await resolveAuthForOrigin(target.baseUrl);
18484
+ const sdk = createSdk(auth.token, target.baseUrl);
18485
+ const result = await sdk.undeployApplication(target.applicationId, input.message);
18486
+ return {
18487
+ ...result,
18488
+ application_id: target.applicationId,
18489
+ auth_source: auth.source,
18490
+ base_url: target.baseUrl,
18491
+ environment: target.environment,
18492
+ resolved_from: target.resolvedFrom
18493
+ };
18494
+ }
18495
+ };
18496
+
19000
18497
  // ../mcp-server/dist/tools/update-folder.js
19001
18498
  init_cjs_shims();
19002
18499
  var updateFolderInputSchema = external_exports.object({
@@ -19105,75 +18602,28 @@ var updateResourceAccess = {
19105
18602
  }
19106
18603
  };
19107
18604
 
19108
- // ../mcp-server/dist/tools/update-subscription.js
19109
- init_cjs_shims();
19110
- var updateSubscriptionInputSchema = external_exports.object({
19111
- base_url: external_exports.string().url(),
19112
- payload: external_exports.record(external_exports.string(), external_exports.unknown())
19113
- }).strict();
19114
- var updateSubscription = {
19115
- name: "update_subscription",
19116
- title: "Update Subscription",
19117
- description: "Update billing subscription settings using the billing update-subscription payload.",
19118
- inputSchema: updateSubscriptionToolInputSchema,
19119
- annotations: {
19120
- readOnlyHint: false,
19121
- destructiveHint: false,
19122
- idempotentHint: false,
19123
- openWorldHint: true
19124
- },
19125
- audience: "customer",
19126
- async handler(args) {
19127
- const input = parseToolInput(updateSubscriptionInputSchema, args);
19128
- const baseUrl = normalizeBaseUrl(input.base_url);
19129
- const auth = await resolveAuthForOrigin(baseUrl);
19130
- const subscription = await callServerApi({
19131
- baseUrl,
19132
- token: auth.token,
19133
- method: "POST",
19134
- path: "/api/v1/billing/update-subscription",
19135
- body: input.payload
19136
- });
19137
- return {
19138
- subscription,
19139
- auth_source: auth.source,
19140
- base_url: baseUrl,
19141
- environment: detectEnvironment(baseUrl)
19142
- };
19143
- }
19144
- };
19145
-
19146
18605
  // ../mcp-server/dist/tools/index.js
19147
18606
  var toolDefinitions = [
19148
18607
  assignBuilderSeat,
19149
- checkPromo,
19150
18608
  checkoutApplication,
19151
- contactSales,
19152
- createApplication,
19153
- createBillingIntent,
19154
- createCheckoutSession,
19155
18609
  createFolder,
19156
18610
  createIntegration,
19157
18611
  deleteFolder,
19158
18612
  deleteIntegration,
19159
18613
  deployApplication,
19160
- downgradePlan,
18614
+ findAppsByIntegration,
19161
18615
  findAppsByPackage,
19162
- getAppActivityReport,
19163
18616
  getApplicationAccess,
19164
18617
  getApplicationCommitHistory,
19165
- getApplicationDependencies,
18618
+ getApplicationDeploymentHistory,
19166
18619
  getApplicationStructure,
19167
18620
  getApplicationSummary,
19168
- getAuditEntities,
19169
18621
  getAuditEvents,
19170
- getAuditLogs,
19171
18622
  getAuthStatus,
19172
18623
  getBillingPlanSummary,
19173
18624
  getBillingUsageDaily,
19174
18625
  getBillingUsageRecords,
19175
18626
  getCurrentUser,
19176
- getGitFreshToken,
19177
18627
  getIntegration,
19178
18628
  getIntegrationAccess,
19179
18629
  getJobAccess,
@@ -19182,19 +18632,20 @@ var toolDefinitions = [
19182
18632
  getWorkflowAccess,
19183
18633
  grantResourceAccess,
19184
18634
  listApplications,
18635
+ listAuditEventTypes,
19185
18636
  listBuilderSeats,
19186
18637
  listFolders,
19187
18638
  listIntegrations,
19188
18639
  listKnowledge,
19189
18640
  listOrganizationAgents,
19190
18641
  listRbacAssignments,
18642
+ listRoles,
19191
18643
  revokeResourceAccess,
19192
- submitPayment,
19193
18644
  unassignBuilderSeat,
18645
+ undeployApplication,
19194
18646
  updateFolder,
19195
18647
  updateIntegration,
19196
- updateResourceAccess,
19197
- updateSubscription
18648
+ updateResourceAccess
19198
18649
  ];
19199
18650
  async function handleToolCall(name, args, registry2) {
19200
18651
  const handler = registry2.getHandler(name);
@@ -19297,4 +18748,4 @@ export {
19297
18748
  toolDefinitions,
19298
18749
  executeToolCall
19299
18750
  };
19300
- //# sourceMappingURL=chunk-PIRRVIUU.js.map
18751
+ //# sourceMappingURL=chunk-WTW67WLR.js.map