@enfyra/mcp-server 0.1.69 → 0.1.71

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 (248) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/config-local-adapters.d.ts +18 -0
  3. package/dist/lib/config-local-adapters.js +271 -0
  4. package/dist/lib/config-local-adapters.js.map +1 -0
  5. package/dist/lib/config-local-contracts.d.ts +28 -0
  6. package/dist/lib/config-local-contracts.js +200 -0
  7. package/dist/lib/config-local-contracts.js.map +1 -0
  8. package/dist/lib/config-local-prompts.d.ts +10 -0
  9. package/dist/lib/config-local-prompts.js +185 -0
  10. package/dist/lib/config-local-prompts.js.map +1 -0
  11. package/dist/lib/config-local-types.d.ts +23 -0
  12. package/dist/lib/config-local-types.js +2 -0
  13. package/dist/lib/config-local-types.js.map +1 -0
  14. package/dist/lib/config-local.js +3 -649
  15. package/dist/lib/config-local.js.map +1 -1
  16. package/dist/lib/discovery-tools.d.ts +4 -0
  17. package/dist/lib/discovery-tools.js +546 -0
  18. package/dist/lib/discovery-tools.js.map +1 -0
  19. package/dist/lib/dynamic-repository-builder.d.ts +1 -1
  20. package/dist/lib/dynamic-script-context-contract.d.ts +100 -0
  21. package/dist/lib/dynamic-script-context-contract.js +163 -0
  22. package/dist/lib/dynamic-script-context-contract.js.map +1 -0
  23. package/dist/lib/enfyra-mcp-server.d.ts +3 -0
  24. package/dist/lib/enfyra-mcp-server.js +79 -0
  25. package/dist/lib/enfyra-mcp-server.js.map +1 -0
  26. package/dist/lib/enfyra-tool-logic.d.ts +7 -0
  27. package/dist/lib/enfyra-tool-logic.js +8 -0
  28. package/dist/lib/enfyra-tool-logic.js.map +1 -0
  29. package/dist/lib/enfyra-tool-types.d.ts +27 -0
  30. package/dist/lib/enfyra-tool-types.js +2 -0
  31. package/dist/lib/enfyra-tool-types.js.map +1 -0
  32. package/dist/lib/extension-api-builders.d.ts +17 -0
  33. package/dist/lib/extension-api-builders.js +235 -0
  34. package/dist/lib/extension-api-builders.js.map +1 -0
  35. package/dist/lib/extension-component-builders.d.ts +87 -0
  36. package/dist/lib/extension-component-builders.js +623 -0
  37. package/dist/lib/extension-component-builders.js.map +1 -0
  38. package/dist/lib/extension-contract-review.d.ts +26 -0
  39. package/dist/lib/extension-contract-review.js +187 -0
  40. package/dist/lib/extension-contract-review.js.map +1 -0
  41. package/dist/lib/extension-theme-contract.d.ts +63 -0
  42. package/dist/lib/extension-theme-contract.js +417 -0
  43. package/dist/lib/extension-theme-contract.js.map +1 -0
  44. package/dist/lib/identity-tools.d.ts +4 -0
  45. package/dist/lib/identity-tools.js +46 -0
  46. package/dist/lib/identity-tools.js.map +1 -0
  47. package/dist/lib/log-tools.d.ts +4 -0
  48. package/dist/lib/log-tools.js +65 -0
  49. package/dist/lib/log-tools.js.map +1 -0
  50. package/dist/lib/mcp-example-connect.d.ts +9 -0
  51. package/dist/lib/mcp-example-connect.js +442 -0
  52. package/dist/lib/mcp-example-connect.js.map +1 -0
  53. package/dist/lib/mcp-example-extensions.d.ts +9 -0
  54. package/dist/lib/mcp-example-extensions.js +729 -0
  55. package/dist/lib/mcp-example-extensions.js.map +1 -0
  56. package/dist/lib/mcp-example-files.d.ts +9 -0
  57. package/dist/lib/mcp-example-files.js +51 -0
  58. package/dist/lib/mcp-example-files.js.map +1 -0
  59. package/dist/lib/mcp-example-flows.d.ts +9 -0
  60. package/dist/lib/mcp-example-flows.js +76 -0
  61. package/dist/lib/mcp-example-flows.js.map +1 -0
  62. package/dist/lib/mcp-example-graphql.d.ts +9 -0
  63. package/dist/lib/mcp-example-graphql.js +57 -0
  64. package/dist/lib/mcp-example-graphql.js.map +1 -0
  65. package/dist/lib/mcp-example-handlers-hooks.d.ts +9 -0
  66. package/dist/lib/mcp-example-handlers-hooks.js +328 -0
  67. package/dist/lib/mcp-example-handlers-hooks.js.map +1 -0
  68. package/dist/lib/mcp-example-oauth-setup.d.ts +9 -0
  69. package/dist/lib/mcp-example-oauth-setup.js +41 -0
  70. package/dist/lib/mcp-example-oauth-setup.js.map +1 -0
  71. package/dist/lib/mcp-example-permissions-rls.d.ts +9 -0
  72. package/dist/lib/mcp-example-permissions-rls.js +210 -0
  73. package/dist/lib/mcp-example-permissions-rls.js.map +1 -0
  74. package/dist/lib/mcp-example-queries-deep.d.ts +9 -0
  75. package/dist/lib/mcp-example-queries-deep.js +220 -0
  76. package/dist/lib/mcp-example-queries-deep.js.map +1 -0
  77. package/dist/lib/mcp-example-schema-relations.d.ts +9 -0
  78. package/dist/lib/mcp-example-schema-relations.js +148 -0
  79. package/dist/lib/mcp-example-schema-relations.js.map +1 -0
  80. package/dist/lib/mcp-example-websocket.d.ts +9 -0
  81. package/dist/lib/mcp-example-websocket.js +103 -0
  82. package/dist/lib/mcp-example-websocket.js.map +1 -0
  83. package/dist/lib/mcp-examples.d.ts +5 -5
  84. package/dist/lib/mcp-examples.js +22 -2394
  85. package/dist/lib/mcp-examples.js.map +1 -1
  86. package/dist/lib/method-tools.d.ts +4 -0
  87. package/dist/lib/method-tools.js +217 -0
  88. package/dist/lib/method-tools.js.map +1 -0
  89. package/dist/lib/package-tools.d.ts +4 -0
  90. package/dist/lib/package-tools.js +98 -0
  91. package/dist/lib/package-tools.js.map +1 -0
  92. package/dist/lib/platform-data-operations.d.ts +24 -0
  93. package/dist/lib/platform-data-operations.js +71 -0
  94. package/dist/lib/platform-data-operations.js.map +1 -0
  95. package/dist/lib/platform-endpoint-workflow.d.ts +42 -0
  96. package/dist/lib/platform-endpoint-workflow.js +382 -0
  97. package/dist/lib/platform-endpoint-workflow.js.map +1 -0
  98. package/dist/lib/platform-extension-source.d.ts +487 -0
  99. package/dist/lib/platform-extension-source.js +524 -0
  100. package/dist/lib/platform-extension-source.js.map +1 -0
  101. package/dist/lib/platform-extension-tools.d.ts +1 -0
  102. package/dist/lib/platform-extension-tools.js +416 -0
  103. package/dist/lib/platform-extension-tools.js.map +1 -0
  104. package/dist/lib/platform-extension-ui.d.ts +4 -0
  105. package/dist/lib/platform-extension-ui.js +5 -0
  106. package/dist/lib/platform-extension-ui.js.map +1 -0
  107. package/dist/lib/platform-extension-workflow.d.ts +54 -0
  108. package/dist/lib/platform-extension-workflow.js +194 -0
  109. package/dist/lib/platform-extension-workflow.js.map +1 -0
  110. package/dist/lib/platform-flow-operations.d.ts +554 -0
  111. package/dist/lib/platform-flow-operations.js +317 -0
  112. package/dist/lib/platform-flow-operations.js.map +1 -0
  113. package/dist/lib/platform-flow-tools.d.ts +1 -0
  114. package/dist/lib/platform-flow-tools.js +248 -0
  115. package/dist/lib/platform-flow-tools.js.map +1 -0
  116. package/dist/lib/platform-operation-logic.d.ts +10 -0
  117. package/dist/lib/platform-operation-logic.js +11 -0
  118. package/dist/lib/platform-operation-logic.js.map +1 -0
  119. package/dist/lib/platform-operation-tools.d.ts +1 -324
  120. package/dist/lib/platform-operation-tools.js +13 -4620
  121. package/dist/lib/platform-operation-tools.js.map +1 -1
  122. package/dist/lib/platform-operation-types.d.ts +46 -0
  123. package/dist/lib/platform-operation-types.js +2 -0
  124. package/dist/lib/platform-operation-types.js.map +1 -0
  125. package/dist/lib/platform-policy-tools.d.ts +1 -0
  126. package/dist/lib/platform-policy-tools.js +248 -0
  127. package/dist/lib/platform-policy-tools.js.map +1 -0
  128. package/dist/lib/platform-resource-operations.d.ts +124 -0
  129. package/dist/lib/platform-resource-operations.js +109 -0
  130. package/dist/lib/platform-resource-operations.js.map +1 -0
  131. package/dist/lib/platform-resource-tools.d.ts +1 -0
  132. package/dist/lib/platform-resource-tools.js +70 -0
  133. package/dist/lib/platform-resource-tools.js.map +1 -0
  134. package/dist/lib/platform-route-operations.d.ts +222 -0
  135. package/dist/lib/platform-route-operations.js +290 -0
  136. package/dist/lib/platform-route-operations.js.map +1 -0
  137. package/dist/lib/platform-route-tools.d.ts +1 -0
  138. package/dist/lib/platform-route-tools.js +307 -0
  139. package/dist/lib/platform-route-tools.js.map +1 -0
  140. package/dist/lib/platform-shared-operations.d.ts +7 -0
  141. package/dist/lib/platform-shared-operations.js +4 -0
  142. package/dist/lib/platform-shared-operations.js.map +1 -0
  143. package/dist/lib/platform-websocket-tools.d.ts +1 -0
  144. package/dist/lib/platform-websocket-tools.js +70 -0
  145. package/dist/lib/platform-websocket-tools.js.map +1 -0
  146. package/dist/lib/record-tools.d.ts +4 -0
  147. package/dist/lib/record-tools.js +418 -0
  148. package/dist/lib/record-tools.js.map +1 -0
  149. package/dist/lib/required-knowledge.d.ts +1 -1
  150. package/dist/lib/required-knowledge.js +3 -2
  151. package/dist/lib/required-knowledge.js.map +1 -1
  152. package/dist/lib/route-access-tools.d.ts +4 -0
  153. package/dist/lib/route-access-tools.js +172 -0
  154. package/dist/lib/route-access-tools.js.map +1 -0
  155. package/dist/lib/route-definition-tools.d.ts +4 -0
  156. package/dist/lib/route-definition-tools.js +285 -0
  157. package/dist/lib/route-definition-tools.js.map +1 -0
  158. package/dist/lib/route-inspection-tools.d.ts +4 -0
  159. package/dist/lib/route-inspection-tools.js +319 -0
  160. package/dist/lib/route-inspection-tools.js.map +1 -0
  161. package/dist/lib/route-tools.d.ts +1 -0
  162. package/dist/lib/route-tools.js +9 -0
  163. package/dist/lib/route-tools.js.map +1 -0
  164. package/dist/lib/runtime-zone-registry.d.ts +27 -0
  165. package/dist/lib/runtime-zone-registry.js +81 -0
  166. package/dist/lib/runtime-zone-registry.js.map +1 -0
  167. package/dist/lib/runtime-zone-search.d.ts +303 -0
  168. package/dist/lib/runtime-zone-search.js +596 -0
  169. package/dist/lib/runtime-zone-search.js.map +1 -0
  170. package/dist/lib/runtime-zone-tools.d.ts +2 -307
  171. package/dist/lib/runtime-zone-tools.js +2 -674
  172. package/dist/lib/runtime-zone-tools.js.map +1 -1
  173. package/dist/lib/schema-column-tools.d.ts +3 -0
  174. package/dist/lib/schema-column-tools.js +80 -0
  175. package/dist/lib/schema-column-tools.js.map +1 -0
  176. package/dist/lib/schema-mutation-coordinator.d.ts +28 -0
  177. package/dist/lib/schema-mutation-coordinator.js +154 -0
  178. package/dist/lib/schema-mutation-coordinator.js.map +1 -0
  179. package/dist/lib/schema-relation-contracts.d.ts +39 -0
  180. package/dist/lib/schema-relation-contracts.js +160 -0
  181. package/dist/lib/schema-relation-contracts.js.map +1 -0
  182. package/dist/lib/schema-relation-tools.d.ts +3 -0
  183. package/dist/lib/schema-relation-tools.js +61 -0
  184. package/dist/lib/schema-relation-tools.js.map +1 -0
  185. package/dist/lib/schema-table-contracts.d.ts +28 -0
  186. package/dist/lib/schema-table-contracts.js +263 -0
  187. package/dist/lib/schema-table-contracts.js.map +1 -0
  188. package/dist/lib/schema-table-tools.d.ts +3 -0
  189. package/dist/lib/schema-table-tools.js +297 -0
  190. package/dist/lib/schema-table-tools.js.map +1 -0
  191. package/dist/lib/schema-tool-operations.d.ts +150 -0
  192. package/dist/lib/schema-tool-operations.js +468 -0
  193. package/dist/lib/schema-tool-operations.js.map +1 -0
  194. package/dist/lib/schema-tool-types.d.ts +38 -0
  195. package/dist/lib/schema-tool-types.js +2 -0
  196. package/dist/lib/schema-tool-types.js.map +1 -0
  197. package/dist/lib/schema-verification.d.ts +14 -0
  198. package/dist/lib/schema-verification.js +105 -0
  199. package/dist/lib/schema-verification.js.map +1 -0
  200. package/dist/lib/script-tools.d.ts +4 -0
  201. package/dist/lib/script-tools.js +127 -0
  202. package/dist/lib/script-tools.js.map +1 -0
  203. package/dist/lib/system-tools.d.ts +4 -0
  204. package/dist/lib/system-tools.js +41 -0
  205. package/dist/lib/system-tools.js.map +1 -0
  206. package/dist/lib/table-tool-logic.d.ts +5 -0
  207. package/dist/lib/table-tool-logic.js +6 -0
  208. package/dist/lib/table-tool-logic.js.map +1 -0
  209. package/dist/lib/table-tools.d.ts +1 -84
  210. package/dist/lib/table-tools.js +7 -1522
  211. package/dist/lib/table-tools.js.map +1 -1
  212. package/dist/lib/tool-catalog.d.ts +2 -1
  213. package/dist/lib/tool-catalog.js +23 -2
  214. package/dist/lib/tool-catalog.js.map +1 -1
  215. package/dist/lib/tool-metadata-operations.d.ts +27 -0
  216. package/dist/lib/tool-metadata-operations.js +93 -0
  217. package/dist/lib/tool-metadata-operations.js.map +1 -0
  218. package/dist/lib/tool-permission-profile.d.ts +37 -0
  219. package/dist/lib/tool-permission-profile.js +106 -0
  220. package/dist/lib/tool-permission-profile.js.map +1 -0
  221. package/dist/lib/tool-record-operations.d.ts +102 -0
  222. package/dist/lib/tool-record-operations.js +260 -0
  223. package/dist/lib/tool-record-operations.js.map +1 -0
  224. package/dist/lib/tool-route-inspection.d.ts +47 -0
  225. package/dist/lib/tool-route-inspection.js +168 -0
  226. package/dist/lib/tool-route-inspection.js.map +1 -0
  227. package/dist/lib/tool-routing.d.ts +3 -417
  228. package/dist/lib/tool-routing.js +3 -1038
  229. package/dist/lib/tool-routing.js.map +1 -1
  230. package/dist/lib/tool-runtime-config.d.ts +33 -0
  231. package/dist/lib/tool-runtime-config.js +237 -0
  232. package/dist/lib/tool-runtime-config.js.map +1 -0
  233. package/dist/lib/tool-script-operations.d.ts +34 -0
  234. package/dist/lib/tool-script-operations.js +153 -0
  235. package/dist/lib/tool-script-operations.js.map +1 -0
  236. package/dist/lib/workflow-definitions.d.ts +366 -0
  237. package/dist/lib/workflow-definitions.js +703 -0
  238. package/dist/lib/workflow-definitions.js.map +1 -0
  239. package/dist/lib/workflow-planner.d.ts +45 -0
  240. package/dist/lib/workflow-planner.js +338 -0
  241. package/dist/lib/workflow-planner.js.map +1 -0
  242. package/dist/lib/workflow-types.d.ts +39 -0
  243. package/dist/lib/workflow-types.js +2 -0
  244. package/dist/lib/workflow-types.js.map +1 -0
  245. package/dist/mcp-server-entry.d.ts +0 -3
  246. package/dist/mcp-server-entry.js +2 -3249
  247. package/dist/mcp-server-entry.js.map +1 -1
  248. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-examples.js","sourceRoot":"","sources":["../../src/lib/mcp-examples.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-examples.js","sourceRoot":"","sources":["../../src/lib/mcp-examples.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,gNAAgN;IAChN,mLAAmL;IACnL,oJAAoJ;IACpJ,uOAAuO;IACvO,iPAAiP;CAClP,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,eAAe;IAC1B,aAAa,EAAE,kBAAkB;IACjC,kBAAkB,EAAE,uBAAuB;IAC3C,cAAc,EAAE,mBAAmB;IACnC,SAAS,EAAE,eAAe;IAC1B,gBAAgB,EAAE,qBAAqB;IACvC,iBAAiB,EAAE,sBAAsB;IACzC,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,aAAa;IACtB,YAAY,EAAE,kBAAkB;CACjC,CAAC;AAEF,MAAM,UAAU,qBAAqB;IACnC,OAAO,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,GAAG;QACH,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAQ;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,cAAc,EAAE,uBAAuB;YACvC,UAAU,EAAE,qBAAqB,EAAE;YACnC,IAAI,EAAE,6FAA6F;SACpG,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,KAAK,EAAE,6BAA6B,QAAQ,GAAG;YAC/C,UAAU,EAAE,qBAAqB,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ;QACR,cAAc,EAAE,uBAAuB;QACvC,GAAG,KAAK;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Enfyra MCP — stdio server (loaded by index.ts / dist/index.js).
3
+ */
4
+ export declare function registerMethodTools(server: any, ENFYRA_API_URL: any): void;
@@ -0,0 +1,217 @@
1
+ /**
2
+ * Enfyra MCP — stdio server (loaded by index.ts / dist/index.js).
3
+ */
4
+ import { z } from 'zod';
5
+ import { fetchAPI } from './fetch.js';
6
+ import { validatePortableScriptSource } from './mutation-guards.js';
7
+ import { assertGlobalRulesAck, globalRulesAckParam, } from './required-knowledge.js';
8
+ import { findMethodRecordByName, getId, getPrimaryFieldName, invalidateMethodMap, normalizeHexColorInput, normalizeMethodNameInput, parseJsonObjectInput, summarizeMutationResult, unwrapData, } from './enfyra-tool-logic.js';
9
+ export function registerMethodTools(server, ENFYRA_API_URL) {
10
+ server.tool('list_methods', 'List enfyra_method records with their UI colors. Use this before creating route methods or method-colored UI.', {}, async () => {
11
+ const result = await fetchAPI(ENFYRA_API_URL, '/enfyra_method?fields=id,_id,name,buttonColor,textColor,isSystem&sort=name&limit=0');
12
+ const methods = unwrapData(result).map((method) => ({
13
+ id: getId(method),
14
+ name: method.name,
15
+ buttonColor: method.buttonColor,
16
+ textColor: method.textColor,
17
+ isSystem: method.isSystem === true,
18
+ }));
19
+ return { content: [{ type: 'text', text: JSON.stringify({
20
+ tableName: 'enfyra_method',
21
+ methods,
22
+ appUi: '/settings/methods',
23
+ }, null, 2) }] };
24
+ });
25
+ server.tool('create_method', 'Create a enfyra_method record with app badge colors. Prefer this over generic create_records for enfyra_method.', {
26
+ method: z.string().describe('Uppercase method name, e.g. GET, POST, PUT, CUSTOM_METHOD. Must start with A-Z and contain only A-Z, 0-9, or underscore.'),
27
+ buttonColor: z.string().describe('Badge background color as full hex, e.g. #dbeafe.'),
28
+ textColor: z.string().describe('Badge text color as full hex, e.g. #1d4ed8.'),
29
+ isSystem: z.boolean().optional().default(false).describe('Set true only for built-in/runtime-owned methods. Normal app methods should leave this false.'),
30
+ globalRulesAckKey: globalRulesAckParam(z),
31
+ }, async ({ method, buttonColor, textColor, isSystem, globalRulesAckKey }) => {
32
+ assertGlobalRulesAck(globalRulesAckKey);
33
+ const normalizedMethod = normalizeMethodNameInput(method);
34
+ const existing = await findMethodRecordByName(normalizedMethod);
35
+ if (existing) {
36
+ throw new Error(`Method ${normalizedMethod} already exists with id ${getId(existing)}. Use update_method to change colors.`);
37
+ }
38
+ const body = {
39
+ name: normalizedMethod,
40
+ buttonColor: normalizeHexColorInput(buttonColor, 'buttonColor'),
41
+ textColor: normalizeHexColorInput(textColor, 'textColor'),
42
+ isSystem: isSystem === true,
43
+ };
44
+ const result = await fetchAPI(ENFYRA_API_URL, '/enfyra_method', {
45
+ method: 'POST',
46
+ body: JSON.stringify(body),
47
+ });
48
+ invalidateMethodMap();
49
+ return { content: [{ type: 'text', text: JSON.stringify({
50
+ ...summarizeMutationResult(result, 'created', 'enfyra_method'),
51
+ name: normalizedMethod,
52
+ appUi: '/settings/methods',
53
+ }, null, 2) }] };
54
+ });
55
+ server.tool('update_method', 'Update a enfyra_method record color pair, and optionally rename non-system methods. Prefer this over generic update_records for enfyra_method.', {
56
+ id: z.string().optional().describe('Method record id. If omitted, method is used to find the record.'),
57
+ method: z.string().optional().describe('Existing method name to find, or new name when id is provided.'),
58
+ buttonColor: z.string().optional().describe('Badge background color as full hex, e.g. #dbeafe.'),
59
+ textColor: z.string().optional().describe('Badge text color as full hex, e.g. #1d4ed8.'),
60
+ globalRulesAckKey: globalRulesAckParam(z),
61
+ }, async ({ id, method, buttonColor, textColor, globalRulesAckKey }) => {
62
+ assertGlobalRulesAck(globalRulesAckKey);
63
+ let targetId = id;
64
+ let existing = null;
65
+ if (!targetId) {
66
+ if (!method)
67
+ throw new Error('Provide id or method.');
68
+ const normalizedMethod = normalizeMethodNameInput(method);
69
+ existing = await findMethodRecordByName(normalizedMethod);
70
+ if (!existing)
71
+ throw new Error(`Method ${normalizedMethod} was not found.`);
72
+ targetId = getId(existing);
73
+ }
74
+ const body = {};
75
+ if (buttonColor !== undefined) {
76
+ body.buttonColor = normalizeHexColorInput(buttonColor, 'buttonColor');
77
+ }
78
+ if (textColor !== undefined) {
79
+ body.textColor = normalizeHexColorInput(textColor, 'textColor');
80
+ }
81
+ if (method !== undefined && id) {
82
+ body.name = normalizeMethodNameInput(method);
83
+ }
84
+ if (Object.keys(body).length === 0) {
85
+ throw new Error('Provide buttonColor, textColor, or a new method name.');
86
+ }
87
+ const result = await fetchAPI(ENFYRA_API_URL, `/enfyra_method/${encodeURIComponent(String(targetId))}`, {
88
+ method: 'PATCH',
89
+ body: JSON.stringify(body),
90
+ });
91
+ invalidateMethodMap();
92
+ return { content: [{ type: 'text', text: JSON.stringify({
93
+ ...summarizeMutationResult(result, 'updated', 'enfyra_method'),
94
+ id: targetId,
95
+ appUi: '/settings/methods',
96
+ }, null, 2) }] };
97
+ });
98
+ server.tool('delete_method', 'Preview or delete a enfyra_method record. Only delete unused custom methods; system/default methods should be kept.', {
99
+ id: z.string().optional().describe('Method record id. If omitted, method is used to find the record.'),
100
+ method: z.string().optional().describe('Method name to find when id is omitted.'),
101
+ confirm: z.boolean().optional().default(false).describe('Required true to apply the destructive delete. Omit/false returns a preview only.'),
102
+ globalRulesAckKey: globalRulesAckParam(z).optional().describe('Required when confirm=true. Use globalRulesAckKey from get_enfyra_required_knowledge.'),
103
+ }, async ({ id, method, confirm, globalRulesAckKey }) => {
104
+ let targetId = id;
105
+ let target = null;
106
+ if (!targetId) {
107
+ if (!method)
108
+ throw new Error('Provide id or method.');
109
+ target = await findMethodRecordByName(normalizeMethodNameInput(method));
110
+ if (!target)
111
+ throw new Error(`Method ${method} was not found.`);
112
+ targetId = getId(target);
113
+ }
114
+ if (!confirm) {
115
+ if (!target) {
116
+ const primaryKey = await getPrimaryFieldName('enfyra_method');
117
+ const filter = encodeURIComponent(JSON.stringify({ [primaryKey]: { _eq: targetId } }));
118
+ const result = await fetchAPI(ENFYRA_API_URL, `/enfyra_method?filter=${filter}&limit=1&fields=id,_id,name,buttonColor,textColor,isSystem`);
119
+ target = unwrapData(result)[0] || null;
120
+ }
121
+ return { content: [{ type: 'text', text: JSON.stringify({
122
+ action: 'delete_method_preview',
123
+ id: targetId,
124
+ name: target?.name,
125
+ isSystem: target?.isSystem === true,
126
+ destructive: true,
127
+ warning: 'Only delete unused custom methods. Deleting a method can affect route method relations.',
128
+ next: 'Call delete_method again with confirm=true to delete.',
129
+ }, null, 2) }] };
130
+ }
131
+ assertGlobalRulesAck(globalRulesAckKey);
132
+ const result = await fetchAPI(ENFYRA_API_URL, `/enfyra_method/${encodeURIComponent(String(targetId))}`, { method: 'DELETE' });
133
+ invalidateMethodMap();
134
+ return { content: [{ type: 'text', text: JSON.stringify({
135
+ action: 'deleted',
136
+ tableName: 'enfyra_method',
137
+ id: targetId,
138
+ statusCode: result?.statusCode,
139
+ success: result?.success,
140
+ }, null, 2) }] };
141
+ });
142
+ server.tool('run_admin_test', [
143
+ 'Run an Enfyra admin test without saving metadata. Wraps POST /admin/test/run.',
144
+ 'Kinds: script, flow_step, websocket_event, websocket_connection. Use this to validate dynamic script, flow, or websocket behavior before creating records.',
145
+ 'kind=script captures logs but not socket emitted calls. Use kind=websocket_event or kind=websocket_connection when emitted capture is required; admin websocket tests still do not prove a real Socket.IO client transport/handshake.',
146
+ ].join(' '), {
147
+ kind: z.enum(['script', 'flow_step', 'websocket_event', 'websocket_connection']).describe('Admin test kind'),
148
+ body: z.union([z.record(z.any()), z.string()]).describe('Test body as a native JSON object. A JSON string is accepted for compatibility. Include script and optional context for script; type/config plus payload for flow_step; or script/gatewayPath/eventName/payload for websocket tests. Do not include kind; the tool adds it.'),
149
+ }, async ({ kind, body }) => {
150
+ const parsed = parseJsonObjectInput(body, 'body');
151
+ const sourceCode = kind === 'flow_step'
152
+ ? parsed?.config?.sourceCode ?? parsed?.config?.code
153
+ : parsed?.script ?? parsed?.sourceCode;
154
+ if (typeof sourceCode === 'string')
155
+ validatePortableScriptSource(sourceCode);
156
+ const result = await fetchAPI(ENFYRA_API_URL, '/admin/test/run', {
157
+ method: 'POST',
158
+ body: JSON.stringify({ ...parsed, kind }),
159
+ });
160
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
161
+ });
162
+ server.tool('test_flow_step', 'Test a single flow step without saving it. Wraps POST /admin/test/run with kind=flow_step. Pass runtime @FLOW_PAYLOAD data through payload; the tool forwards it using the ESV test-run contract.', {
163
+ type: z.enum(['script', 'condition', 'query', 'create', 'update', 'delete', 'http', 'trigger_flow', 'sleep', 'log']).describe('Flow step type'),
164
+ config: z.union([z.record(z.any()), z.string()]).describe('Step config as a native JSON object. A JSON string is accepted for compatibility.'),
165
+ timeout: z.number().optional().describe('Timeout in ms'),
166
+ key: z.string().optional().describe('Optional step key for mock flow context'),
167
+ payload: z.union([z.record(z.any()), z.string()]).optional().describe('Runtime payload object exposed to the script as @FLOW_PAYLOAD. A JSON object string is accepted for compatibility.'),
168
+ mockFlow: z.union([z.record(z.any()), z.string()]).optional().describe('Optional advanced mockFlow object for $last/$meta or other flow context. A JSON string is accepted for compatibility. Use payload for @FLOW_PAYLOAD.'),
169
+ }, async ({ type, config, timeout, key, payload, mockFlow }) => {
170
+ const parsedConfig = parseJsonObjectInput(config, 'config');
171
+ const sourceCode = parsedConfig?.sourceCode ?? parsedConfig?.code;
172
+ if (typeof sourceCode === 'string')
173
+ validatePortableScriptSource(sourceCode);
174
+ const parsedPayload = typeof payload === 'string' ? JSON.parse(payload) : payload;
175
+ if (parsedPayload !== undefined && (!parsedPayload || typeof parsedPayload !== 'object' || Array.isArray(parsedPayload))) {
176
+ throw new Error('payload must be a JSON object.');
177
+ }
178
+ const body = {
179
+ type,
180
+ config: parsedConfig,
181
+ ...(timeout ? { timeout } : {}),
182
+ ...(key ? { key } : {}),
183
+ ...(parsedPayload !== undefined ? { payload: parsedPayload } : {}),
184
+ ...(mockFlow ? { mockFlow: parseJsonObjectInput(mockFlow, 'mockFlow') } : {}),
185
+ };
186
+ const result = await fetchAPI(ENFYRA_API_URL, '/admin/test/run', {
187
+ method: 'POST',
188
+ body: JSON.stringify({ ...body, kind: 'flow_step' }),
189
+ });
190
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
191
+ });
192
+ server.tool('trigger_flow', 'Trigger an enabled saved flow by id or name. Disabled flows are not registered for execution; use test_flow_step to verify their step contract without enabling them.', {
193
+ flowIdOrName: z.union([z.string(), z.number()]).describe('Flow id or name accepted by FlowService.trigger'),
194
+ payload: z.union([z.record(z.any()), z.string()]).optional().describe('Payload as a native JSON object. A JSON string is accepted for compatibility. Default {}.'),
195
+ }, async ({ flowIdOrName, payload }) => {
196
+ const rawIdentifier = String(flowIdOrName);
197
+ const filter = typeof flowIdOrName === 'number' || /^\d+$/.test(rawIdentifier)
198
+ ? { id: { _eq: flowIdOrName } }
199
+ : { name: { _eq: rawIdentifier } };
200
+ const lookup = await fetchAPI(ENFYRA_API_URL, `/enfyra_flow?filter=${encodeURIComponent(JSON.stringify(filter))}&limit=1&fields=id,_id,name,isEnabled`);
201
+ const flow = unwrapData(lookup)[0];
202
+ if (!flow)
203
+ throw new Error(`Flow not found: ${rawIdentifier}`);
204
+ if (flow.isEnabled === false) {
205
+ throw new Error(`Flow "${flow.name || rawIdentifier}" is disabled and is not registered for execution. Use test_flow_step to verify its saved step contract, or explicitly enable the flow before trigger_flow.`);
206
+ }
207
+ const flowId = flow.id ?? flow._id;
208
+ const result = await fetchAPI(ENFYRA_API_URL, `/admin/flow/trigger/${encodeURIComponent(String(flowId))}`, {
209
+ method: 'POST',
210
+ body: JSON.stringify({
211
+ payload: payload ? parseJsonObjectInput(payload, 'payload') : {},
212
+ }),
213
+ });
214
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
215
+ });
216
+ }
217
+ //# sourceMappingURL=method-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"method-tools.js","sourceRoot":"","sources":["../../src/lib/method-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Enfyra MCP — stdio server (loaded by index.ts / dist/index.js).
3
+ */
4
+ export declare function registerPackageTools(server: any, ENFYRA_API_URL: any): void;
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Enfyra MCP — stdio server (loaded by index.ts / dist/index.js).
3
+ */
4
+ import { z } from 'zod';
5
+ import { fetchAPI } from './fetch.js';
6
+ import { assertGlobalRulesAck, globalRulesAckParam, } from './required-knowledge.js';
7
+ import { jsonContent } from './response-format.js';
8
+ export function registerPackageTools(server, ENFYRA_API_URL) {
9
+ // ============================================================================
10
+ // PACKAGE TOOLS
11
+ // ============================================================================
12
+ server.tool('search_npm', 'Search NPM registry for packages. Returns name, version, description for installation.', {
13
+ query: z.string().describe('Package name or search term (e.g., "axios", "node-ssh", "dayjs")'),
14
+ limit: z.number().optional().default(5).describe('Max results (default: 5)'),
15
+ }, async ({ query, limit }) => {
16
+ const url = `https://registry.npmjs.org/-/v1/search?text=${encodeURIComponent(query)}&size=${limit}`;
17
+ const response = await fetch(url);
18
+ if (!response.ok)
19
+ throw new Error(`NPM search failed: ${response.statusText}`);
20
+ const data = await response.json();
21
+ const packages = data.objects.map((obj) => ({
22
+ name: obj.package.name,
23
+ version: obj.package.version,
24
+ description: obj.package.description || '',
25
+ }));
26
+ return {
27
+ content: [{
28
+ type: 'text',
29
+ text: JSON.stringify({ packages, total: data.total }, null, 2),
30
+ }],
31
+ };
32
+ });
33
+ server.tool('install_package', [
34
+ 'Install an NPM package on Enfyra. Searches NPM registry for exact version, then creates enfyra_package record.',
35
+ 'Enfyra handles the actual yarn add internally based on type.',
36
+ 'Type "Server" = available in handlers/hooks as $ctx.$pkgs.packageName.',
37
+ 'Type "App" = available in extensions via getPackages().',
38
+ ].join(' '), {
39
+ name: z.string().describe('Exact NPM package name (e.g., "node-ssh", "axios")'),
40
+ type: z.enum(['Server', 'App']).default('Server').describe('Where to install: Server (handlers/hooks) or App (extensions)'),
41
+ version: z.string().optional().describe('Specific version. If omitted, fetches latest from NPM.'),
42
+ globalRulesAckKey: globalRulesAckParam(z),
43
+ }, async ({ name, type, version, globalRulesAckKey }) => {
44
+ assertGlobalRulesAck(globalRulesAckKey);
45
+ // Step 1: Get package info from NPM if version not specified
46
+ let pkgVersion = version;
47
+ let pkgDescription = '';
48
+ if (!pkgVersion) {
49
+ const npmUrl = `https://registry.npmjs.org/-/v1/search?text=${encodeURIComponent(name)}&size=5`;
50
+ const npmResponse = await fetch(npmUrl);
51
+ if (!npmResponse.ok)
52
+ throw new Error(`NPM search failed: ${npmResponse.statusText}`);
53
+ const npmData = await npmResponse.json();
54
+ const exactMatch = npmData.objects.find((obj) => obj.package.name === name);
55
+ if (!exactMatch)
56
+ throw new Error(`Package "${name}" not found on NPM`);
57
+ pkgVersion = exactMatch.package.version;
58
+ pkgDescription = exactMatch.package.description || '';
59
+ }
60
+ // Step 2: Check if already installed (same name AND type)
61
+ const checkFilter = JSON.stringify({ name: { _eq: name }, type: { _eq: type } });
62
+ const existing = await fetchAPI(ENFYRA_API_URL, `/enfyra_package?filter=${encodeURIComponent(checkFilter)}&limit=1`);
63
+ if (existing.data && existing.data.length > 0) {
64
+ return jsonContent({
65
+ action: 'package_already_installed',
66
+ package: {
67
+ name,
68
+ version: existing.data[0].version,
69
+ type: existing.data[0].type,
70
+ },
71
+ record: existing.data[0],
72
+ });
73
+ }
74
+ // Step 3: Get current user for installedBy
75
+ const me = await fetchAPI(ENFYRA_API_URL, '/me');
76
+ const userId = me.data?.[0]?.id || me.data?.[0]?._id;
77
+ if (!userId)
78
+ throw new Error('Cannot get current user ID');
79
+ // Step 4: Install via enfyra_package
80
+ const body = {
81
+ name,
82
+ version: pkgVersion,
83
+ description: pkgDescription,
84
+ type,
85
+ installedBy: { id: userId },
86
+ };
87
+ const result = await fetchAPI(ENFYRA_API_URL, '/enfyra_package', {
88
+ method: 'POST',
89
+ body: JSON.stringify(body),
90
+ });
91
+ return jsonContent({
92
+ action: 'package_installed',
93
+ package: { name, version: pkgVersion, type },
94
+ result,
95
+ });
96
+ });
97
+ }
98
+ //# sourceMappingURL=package-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-tools.js","sourceRoot":"","sources":["../../src/lib/package-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export declare function resolveColumn(table: any, columnName: any): any;
2
+ export declare function resolveRelation(table: any, relationName: any): any;
3
+ export declare function findRecord(apiUrl: any, tableName: any, filter: any, fields?: string): Promise<any>;
4
+ export declare function fetchRecords(apiUrl: any, tableName: any, filter: any, fields?: string, limit?: number): Promise<any>;
5
+ export declare function createOrPatch(apiUrl: any, tableName: any, existing: any, body: any): Promise<{
6
+ action: string;
7
+ result: any;
8
+ id: any;
9
+ }>;
10
+ export declare function resolveRole(apiUrl: any, { roleId, roleName }: {
11
+ roleId: any;
12
+ roleName: any;
13
+ }): Promise<{
14
+ id: any;
15
+ name: any;
16
+ }>;
17
+ export declare function assertOneScope({ roleId, roleName, allowedUserIds }: {
18
+ roleId: any;
19
+ roleName: any;
20
+ allowedUserIds: any;
21
+ }): void;
22
+ export declare function normalizeFlowStepBody(step: any, flowId: any): {
23
+ [k: string]: any;
24
+ };
@@ -0,0 +1,71 @@
1
+ import { fetchAPI } from './fetch.js';
2
+ import { firstDataRecord, getId, sameId, unwrapData, } from './platform-route-operations.js';
3
+ import { filterQuery, } from './platform-extension-source.js';
4
+ export function resolveColumn(table, columnName) {
5
+ const column = (table.columns || []).find((item) => item?.name === columnName || sameId(getId(item), columnName));
6
+ if (!column)
7
+ throw new Error(`Column not found: ${table.name}.${columnName}`);
8
+ return column;
9
+ }
10
+ export function resolveRelation(table, relationName) {
11
+ const relation = (table.relations || []).find((item) => item?.propertyName === relationName || item?.name === relationName || sameId(getId(item), relationName));
12
+ if (!relation)
13
+ throw new Error(`Relation not found: ${table.name}.${relationName}`);
14
+ return relation;
15
+ }
16
+ export async function findRecord(apiUrl, tableName, filter, fields = '*') {
17
+ const result = await fetchAPI(apiUrl, `/${tableName}?filter=${filterQuery(filter)}&limit=1&fields=${encodeURIComponent(fields)}`);
18
+ return unwrapData(result)[0] || null;
19
+ }
20
+ export async function fetchRecords(apiUrl, tableName, filter, fields = '*', limit = 1000) {
21
+ const result = await fetchAPI(apiUrl, `/${tableName}?filter=${filterQuery(filter)}&limit=${limit}&fields=${encodeURIComponent(fields)}`);
22
+ return unwrapData(result);
23
+ }
24
+ export async function createOrPatch(apiUrl, tableName, existing, body) {
25
+ if (existing) {
26
+ const result = await fetchAPI(apiUrl, `/${tableName}/${encodeURIComponent(String(getId(existing)))}`, {
27
+ method: 'PATCH',
28
+ body: JSON.stringify(body),
29
+ });
30
+ return { action: 'updated', result, id: getId(firstDataRecord(result)) || getId(existing) };
31
+ }
32
+ const result = await fetchAPI(apiUrl, `/${tableName}`, {
33
+ method: 'POST',
34
+ body: JSON.stringify(body),
35
+ });
36
+ return { action: 'created', result, id: getId(firstDataRecord(result)) };
37
+ }
38
+ export async function resolveRole(apiUrl, { roleId, roleName }) {
39
+ if (roleId && roleName)
40
+ throw new Error('Provide roleId or roleName, not both.');
41
+ if (!roleId && !roleName)
42
+ return null;
43
+ if (roleId)
44
+ return { id: roleId, name: null };
45
+ const role = await findRecord(apiUrl, 'enfyra_role', { name: { _eq: roleName } }, 'id,_id,name');
46
+ if (!role)
47
+ throw new Error(`Role not found: ${roleName}`);
48
+ return { id: getId(role), name: role.name };
49
+ }
50
+ export function assertOneScope({ roleId, roleName, allowedUserIds }) {
51
+ if (!roleId && !roleName && (!allowedUserIds || allowedUserIds.length === 0)) {
52
+ throw new Error('Provide roleId, roleName, or allowedUserIds.');
53
+ }
54
+ }
55
+ export function normalizeFlowStepBody(step, flowId) {
56
+ const body = {
57
+ key: step.key,
58
+ type: step.type,
59
+ stepOrder: step.order ?? 0,
60
+ config: step.config ?? {},
61
+ timeout: step.timeout,
62
+ isEnabled: step.isEnabled ?? true,
63
+ flow: { id: flowId },
64
+ };
65
+ if (step.sourceCode !== undefined)
66
+ body.sourceCode = step.sourceCode;
67
+ if (step.scriptLanguage !== undefined)
68
+ body.scriptLanguage = step.scriptLanguage;
69
+ return Object.fromEntries(Object.entries(body).filter(([, value]) => value !== undefined));
70
+ }
71
+ //# sourceMappingURL=platform-data-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-data-operations.js","sourceRoot":"","sources":["../../src/lib/platform-data-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { AnyRecord, WorkflowNextStep } from './platform-shared-operations.js';
2
+ export declare function reviewCustomEndpointSource(apiUrl: string, method: string, sourceCode: string): Promise<import("./types.js").DynamicEndpointContractReview>;
3
+ export declare function extensionMatches(existingExtension: any, opts: any, menuId: any): boolean;
4
+ export declare function step(status: any, id: any, title: any, detail?: AnyRecord): AnyRecord;
5
+ export declare function runApiEndpointWorkflow(apiUrl: any, opts: any): Promise<{
6
+ action: string;
7
+ endpoint: {
8
+ path: any;
9
+ method: string;
10
+ anonymousAccess: any;
11
+ routeId: any;
12
+ handlerId: any;
13
+ };
14
+ scriptValidation: {
15
+ validated: boolean;
16
+ reason: string;
17
+ skipped?: undefined;
18
+ } | {
19
+ validated: boolean;
20
+ skipped: boolean;
21
+ reason?: undefined;
22
+ };
23
+ contractReview: import("./types.js").DynamicEndpointContractReview;
24
+ steps: AnyRecord[];
25
+ operations: {
26
+ routeReload?: {
27
+ attempted: boolean;
28
+ succeeded: boolean;
29
+ };
30
+ action: any;
31
+ result: {
32
+ record?: {
33
+ [k: string]: any;
34
+ };
35
+ statusCode: any;
36
+ message: any;
37
+ };
38
+ }[];
39
+ complete: boolean;
40
+ nextSteps: WorkflowNextStep[];
41
+ cleanupHints: string[];
42
+ }>;