@suveren/gateway 0.3.16 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/bin/suveren-gateway.js +419 -28
  2. package/content/integrations/calendar.json +20 -8
  3. package/content/integrations/crm.json +97 -23
  4. package/content/integrations/gmail.json +166 -29
  5. package/content/integrations/linkedin.json +15 -3
  6. package/content/integrations/mollie.json +2 -2
  7. package/dist/control-plane/index.mjs +333 -41
  8. package/dist/mcp-server/http.mjs +882 -212
  9. package/dist/ui/assets/index-BDQY7Z3H.js +105 -0
  10. package/dist/ui/assets/{index-DOt3SNnl.css → index-JHaCddDE.css} +1 -1
  11. package/dist/ui/index.html +2 -2
  12. package/node_modules/@hap/core/dist/index.d.mts +34 -2
  13. package/node_modules/@hap/core/dist/index.d.ts +34 -2
  14. package/node_modules/@hap/core/dist/index.js +15 -3
  15. package/node_modules/@hap/core/dist/index.mjs +15 -3
  16. package/node_modules/@hap/core/package.json +1 -1
  17. package/node_modules/@hap/core/src/gatekeeper.ts +47 -1
  18. package/node_modules/@hap/core/src/identity.ts +9 -4
  19. package/node_modules/@hap/core/src/types.ts +27 -0
  20. package/node_modules/@hono/node-server/README.md +58 -25
  21. package/node_modules/@hono/node-server/dist/conninfo.cjs +22 -0
  22. package/node_modules/@hono/node-server/dist/{conninfo.d.ts → conninfo.d.cts} +4 -3
  23. package/node_modules/@hono/node-server/dist/conninfo.d.mts +4 -3
  24. package/node_modules/@hono/node-server/dist/conninfo.mjs +19 -16
  25. package/node_modules/@hono/node-server/dist/constants-BLSFu_RU.mjs +5 -0
  26. package/node_modules/@hono/node-server/dist/constants-BXAKTxRC.cjs +11 -0
  27. package/node_modules/@hono/node-server/dist/index.cjs +1173 -0
  28. package/node_modules/@hono/node-server/dist/index.d.cts +101 -0
  29. package/node_modules/@hono/node-server/dist/index.d.mts +101 -8
  30. package/node_modules/@hono/node-server/dist/index.mjs +1143 -637
  31. package/node_modules/@hono/node-server/dist/serve-static.cjs +151 -0
  32. package/node_modules/@hono/node-server/dist/serve-static.d.cts +18 -0
  33. package/node_modules/@hono/node-server/dist/serve-static.d.mts +14 -13
  34. package/node_modules/@hono/node-server/dist/serve-static.mjs +143 -145
  35. package/node_modules/@hono/node-server/dist/utils/response.cjs +8 -0
  36. package/node_modules/@hono/node-server/dist/utils/response.d.cts +4 -0
  37. package/node_modules/@hono/node-server/dist/utils/response.d.mts +3 -2
  38. package/node_modules/@hono/node-server/dist/utils/response.mjs +6 -9
  39. package/node_modules/@hono/node-server/dist/utils/stream.cjs +65 -0
  40. package/node_modules/@hono/node-server/dist/utils/stream.d.cts +6 -0
  41. package/node_modules/@hono/node-server/dist/utils/stream.d.mts +6 -0
  42. package/node_modules/@hono/node-server/dist/utils/stream.mjs +64 -0
  43. package/node_modules/@hono/node-server/package.json +65 -54
  44. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.d.ts.map +1 -1
  45. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js +1 -12
  46. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js.map +1 -1
  47. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts +7 -0
  48. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts.map +1 -1
  49. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js +9 -3
  50. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js.map +1 -1
  51. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  52. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js +5 -3
  53. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js.map +1 -1
  54. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.d.ts.map +1 -1
  55. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js +1 -12
  56. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js.map +1 -1
  57. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts +5 -0
  58. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts.map +1 -0
  59. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js +17 -0
  60. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js.map +1 -0
  61. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts +9 -1
  62. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts.map +1 -1
  63. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js +10 -4
  64. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js.map +1 -1
  65. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts +21 -0
  66. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -1
  67. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js +239 -41
  68. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js.map +1 -1
  69. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.d.ts.map +1 -1
  70. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js +25 -6
  71. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js.map +1 -1
  72. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts +32 -0
  73. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts.map +1 -0
  74. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js +64 -0
  75. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js.map +1 -0
  76. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts +5 -0
  77. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts.map +1 -1
  78. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js +10 -1
  79. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js.map +1 -1
  80. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.d.ts.map +1 -1
  81. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +2 -13
  82. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +1 -1
  83. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts +7 -0
  84. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts.map +1 -1
  85. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js +9 -3
  86. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js.map +1 -1
  87. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts.map +1 -1
  88. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js +5 -3
  89. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js.map +1 -1
  90. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.d.ts.map +1 -1
  91. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +2 -13
  92. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -1
  93. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts +5 -0
  94. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts.map +1 -0
  95. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js +13 -0
  96. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js.map +1 -0
  97. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts +9 -1
  98. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts.map +1 -1
  99. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +10 -4
  100. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -1
  101. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts +21 -0
  102. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -1
  103. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +239 -41
  104. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js.map +1 -1
  105. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.d.ts.map +1 -1
  106. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +25 -6
  107. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -1
  108. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts +32 -0
  109. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts.map +1 -0
  110. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js +57 -0
  111. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js.map +1 -0
  112. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts +5 -0
  113. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts.map +1 -1
  114. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +9 -0
  115. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -1
  116. package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/README.md +15 -14
  117. package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/index.js +0 -8
  118. package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/package.json +16 -12
  119. package/node_modules/@modelcontextprotocol/sdk/package.json +4 -3
  120. package/node_modules/@types/node/README.md +1 -1
  121. package/node_modules/@types/node/crypto.d.ts +1 -1
  122. package/node_modules/@types/node/package.json +2 -2
  123. package/node_modules/body-parser/HISTORY.md +7 -1
  124. package/node_modules/body-parser/lib/types/json.js +7 -3
  125. package/node_modules/body-parser/lib/types/raw.js +7 -3
  126. package/node_modules/body-parser/lib/types/text.js +7 -3
  127. package/node_modules/body-parser/lib/types/urlencoded.js +7 -3
  128. package/node_modules/body-parser/package.json +1 -1
  129. package/node_modules/express-rate-limit/dist/index.cjs +69 -5
  130. package/node_modules/express-rate-limit/dist/index.d.cts +16 -0
  131. package/node_modules/express-rate-limit/dist/index.d.mts +16 -0
  132. package/node_modules/express-rate-limit/dist/index.d.ts +16 -0
  133. package/node_modules/express-rate-limit/dist/index.mjs +55 -5
  134. package/node_modules/express-rate-limit/node_modules/debug/LICENSE +20 -0
  135. package/node_modules/express-rate-limit/node_modules/debug/README.md +481 -0
  136. package/node_modules/express-rate-limit/node_modules/debug/package.json +64 -0
  137. package/node_modules/express-rate-limit/node_modules/debug/src/browser.js +272 -0
  138. package/node_modules/express-rate-limit/node_modules/debug/src/common.js +292 -0
  139. package/node_modules/express-rate-limit/node_modules/debug/src/index.js +10 -0
  140. package/node_modules/express-rate-limit/node_modules/debug/src/node.js +263 -0
  141. package/node_modules/express-rate-limit/node_modules/ms/index.js +162 -0
  142. package/node_modules/express-rate-limit/node_modules/ms/license.md +21 -0
  143. package/node_modules/express-rate-limit/node_modules/ms/package.json +38 -0
  144. package/node_modules/express-rate-limit/node_modules/ms/readme.md +59 -0
  145. package/node_modules/express-rate-limit/package.json +12 -9
  146. package/node_modules/fast-uri/index.js +17 -0
  147. package/node_modules/fast-uri/package.json +1 -1
  148. package/node_modules/fast-uri/test/security.test.js +62 -0
  149. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +1 -4
  150. package/node_modules/hono/dist/adapter/lambda-edge/handler.js +12 -2
  151. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +1 -4
  152. package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +12 -2
  153. package/node_modules/hono/dist/cjs/client/client.js +10 -1
  154. package/node_modules/hono/dist/cjs/client/utils.js +1 -1
  155. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +5 -4
  156. package/node_modules/hono/dist/cjs/middleware/cache/index.js +1 -1
  157. package/node_modules/hono/dist/cjs/middleware/compress/index.js +2 -1
  158. package/node_modules/hono/dist/cjs/middleware/etag/index.js +2 -1
  159. package/node_modules/hono/dist/cjs/middleware/method-override/index.js +5 -3
  160. package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +10 -4
  161. package/node_modules/hono/dist/cjs/request.js +8 -3
  162. package/node_modules/hono/dist/cjs/router/trie-router/node.js +9 -0
  163. package/node_modules/hono/dist/cjs/utils/accept.js +1 -1
  164. package/node_modules/hono/dist/cjs/utils/body.js +6 -0
  165. package/node_modules/hono/dist/cjs/utils/url.js +1 -1
  166. package/node_modules/hono/dist/client/client.js +10 -1
  167. package/node_modules/hono/dist/client/utils.js +1 -1
  168. package/node_modules/hono/dist/helper/streaming/sse.js +5 -4
  169. package/node_modules/hono/dist/middleware/cache/index.js +1 -1
  170. package/node_modules/hono/dist/middleware/compress/index.js +2 -1
  171. package/node_modules/hono/dist/middleware/etag/index.js +2 -1
  172. package/node_modules/hono/dist/middleware/method-override/index.js +5 -3
  173. package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +10 -4
  174. package/node_modules/hono/dist/request.js +8 -3
  175. package/node_modules/hono/dist/router/trie-router/node.js +9 -0
  176. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +9 -0
  177. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +1 -1
  178. package/node_modules/hono/dist/types/helper/websocket/index.d.ts +1 -1
  179. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +1 -1
  180. package/node_modules/hono/dist/types/middleware/language/language.d.ts +18 -0
  181. package/node_modules/hono/dist/types/utils/types.d.ts +1 -1
  182. package/node_modules/hono/dist/utils/accept.js +1 -1
  183. package/node_modules/hono/dist/utils/body.js +6 -0
  184. package/node_modules/hono/dist/utils/url.js +1 -1
  185. package/node_modules/hono/package.json +4 -4
  186. package/node_modules/ip-address/README.md +102 -96
  187. package/node_modules/ip-address/dist/common.d.ts +23 -0
  188. package/node_modules/ip-address/dist/common.js +27 -4
  189. package/node_modules/ip-address/dist/common.js.map +1 -1
  190. package/node_modules/ip-address/dist/ipv4.d.ts +8 -1
  191. package/node_modules/ip-address/dist/ipv4.js +21 -8
  192. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  193. package/node_modules/ip-address/dist/ipv6.d.ts +59 -1
  194. package/node_modules/ip-address/dist/ipv6.js +149 -41
  195. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  196. package/node_modules/ip-address/dist/v4/constants.js +5 -1
  197. package/node_modules/ip-address/dist/v4/constants.js.map +1 -1
  198. package/node_modules/ip-address/dist/v6/constants.js +3 -2
  199. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  200. package/node_modules/ip-address/package.json +2 -2
  201. package/node_modules/jose/README.md +1 -4
  202. package/node_modules/jose/dist/types/jwks/remote.d.ts +3 -3
  203. package/node_modules/jose/dist/webapi/jwks/remote.js +1 -1
  204. package/node_modules/jose/dist/webapi/lib/key_to_jwk.js +4 -1
  205. package/node_modules/jose/package.json +1 -1
  206. package/package.json +2 -2
  207. package/profiles/customers/0.4.profile.json +7 -4
  208. package/profiles/customers/0.5.profile.json +131 -0
  209. package/profiles/customers/0.6.profile.json +153 -0
  210. package/profiles/email/0.4.profile.json +8 -4
  211. package/profiles/index.json +2 -0
  212. package/server.js +10 -0
  213. package/dist/ui/assets/index-CTmWS7W4.js +0 -105
  214. package/node_modules/@hono/node-server/dist/conninfo.js +0 -42
  215. package/node_modules/@hono/node-server/dist/globals.d.mts +0 -2
  216. package/node_modules/@hono/node-server/dist/globals.d.ts +0 -2
  217. package/node_modules/@hono/node-server/dist/globals.js +0 -29
  218. package/node_modules/@hono/node-server/dist/globals.mjs +0 -5
  219. package/node_modules/@hono/node-server/dist/index.d.ts +0 -8
  220. package/node_modules/@hono/node-server/dist/index.js +0 -702
  221. package/node_modules/@hono/node-server/dist/listener.d.mts +0 -13
  222. package/node_modules/@hono/node-server/dist/listener.d.ts +0 -13
  223. package/node_modules/@hono/node-server/dist/listener.js +0 -670
  224. package/node_modules/@hono/node-server/dist/listener.mjs +0 -635
  225. package/node_modules/@hono/node-server/dist/request.d.mts +0 -25
  226. package/node_modules/@hono/node-server/dist/request.d.ts +0 -25
  227. package/node_modules/@hono/node-server/dist/request.js +0 -238
  228. package/node_modules/@hono/node-server/dist/request.mjs +0 -206
  229. package/node_modules/@hono/node-server/dist/response.d.mts +0 -26
  230. package/node_modules/@hono/node-server/dist/response.d.ts +0 -26
  231. package/node_modules/@hono/node-server/dist/response.js +0 -112
  232. package/node_modules/@hono/node-server/dist/response.mjs +0 -85
  233. package/node_modules/@hono/node-server/dist/serve-static.d.ts +0 -17
  234. package/node_modules/@hono/node-server/dist/serve-static.js +0 -177
  235. package/node_modules/@hono/node-server/dist/server.d.mts +0 -10
  236. package/node_modules/@hono/node-server/dist/server.d.ts +0 -10
  237. package/node_modules/@hono/node-server/dist/server.js +0 -696
  238. package/node_modules/@hono/node-server/dist/server.mjs +0 -660
  239. package/node_modules/@hono/node-server/dist/types.d.mts +0 -44
  240. package/node_modules/@hono/node-server/dist/types.d.ts +0 -44
  241. package/node_modules/@hono/node-server/dist/types.js +0 -18
  242. package/node_modules/@hono/node-server/dist/types.mjs +0 -0
  243. package/node_modules/@hono/node-server/dist/utils/response/constants.d.mts +0 -3
  244. package/node_modules/@hono/node-server/dist/utils/response/constants.d.ts +0 -3
  245. package/node_modules/@hono/node-server/dist/utils/response/constants.js +0 -30
  246. package/node_modules/@hono/node-server/dist/utils/response/constants.mjs +0 -5
  247. package/node_modules/@hono/node-server/dist/utils/response.d.ts +0 -3
  248. package/node_modules/@hono/node-server/dist/utils/response.js +0 -37
  249. package/node_modules/@hono/node-server/dist/utils.d.mts +0 -9
  250. package/node_modules/@hono/node-server/dist/utils.d.ts +0 -9
  251. package/node_modules/@hono/node-server/dist/utils.js +0 -99
  252. package/node_modules/@hono/node-server/dist/utils.mjs +0 -71
  253. package/node_modules/@hono/node-server/dist/vercel.d.mts +0 -7
  254. package/node_modules/@hono/node-server/dist/vercel.d.ts +0 -7
  255. package/node_modules/@hono/node-server/dist/vercel.js +0 -677
  256. package/node_modules/@hono/node-server/dist/vercel.mjs +0 -640
@@ -12,55 +12,110 @@
12
12
  },
13
13
  "credentials": {
14
14
  "fields": [
15
- { "key": "databaseUrl", "label": "Database URL (optional)", "type": "text", "placeholder": "Leave empty for local SQLite", "optional": true }
15
+ {
16
+ "key": "databaseUrl",
17
+ "label": "Database URL (optional)",
18
+ "type": "text",
19
+ "placeholder": "Leave empty for local SQLite",
20
+ "optional": true
21
+ }
16
22
  ],
17
- "envMapping": { "DATABASE_URL": "databaseUrl" }
23
+ "envMapping": {
24
+ "DATABASE_URL": "databaseUrl"
25
+ }
18
26
  },
19
27
  "personalDefault": true,
20
28
  "oauth": null,
21
29
  "toolGating": {
22
30
  "default": {
23
31
  "executionMapping": {},
24
- "staticExecution": { "contact_type": "customer" }
32
+ "staticExecution": {
33
+ "contact_type": "customer"
34
+ }
25
35
  },
26
36
  "overrides": {
27
37
  "create_contact": {
28
- "executionMapping": { "type": "contact_type" },
29
- "staticExecution": { "action_type": "write" }
38
+ "executionMapping": {
39
+ "type": "contact_type"
40
+ },
41
+ "staticExecution": {
42
+ "action_type": "write"
43
+ }
30
44
  },
31
45
  "update_contact": {
32
46
  "executionMapping": {},
33
- "staticExecution": { "contact_type": "customer", "action_type": "write" }
47
+ "staticExecution": {
48
+ "contact_type": "customer",
49
+ "action_type": "write"
50
+ }
34
51
  },
35
52
  "delete_contact": {
36
53
  "executionMapping": {},
37
- "staticExecution": { "contact_type": "customer", "action_type": "delete" }
54
+ "staticExecution": {
55
+ "contact_type": "customer",
56
+ "action_type": "delete"
57
+ }
38
58
  },
39
59
  "log_activity": {
40
60
  "executionMapping": {},
41
- "staticExecution": { "contact_type": "customer", "action_type": "write" }
61
+ "staticExecution": {
62
+ "contact_type": "customer",
63
+ "action_type": "write"
64
+ }
42
65
  },
43
66
  "create_deal": {
44
67
  "executionMapping": {},
45
- "staticExecution": { "contact_type": "customer", "action_type": "write" }
68
+ "staticExecution": {
69
+ "contact_type": "customer",
70
+ "action_type": "write"
71
+ }
46
72
  },
47
73
  "update_deal": {
48
74
  "executionMapping": {},
49
- "staticExecution": { "contact_type": "customer", "action_type": "write" }
75
+ "staticExecution": {
76
+ "contact_type": "customer",
77
+ "action_type": "write"
78
+ }
50
79
  },
51
80
  "create_task": {
52
81
  "executionMapping": {},
53
- "staticExecution": { "contact_type": "customer", "action_type": "write" }
82
+ "staticExecution": {
83
+ "contact_type": "customer",
84
+ "action_type": "write"
85
+ }
54
86
  },
55
87
  "complete_task": {
56
88
  "executionMapping": {},
57
- "staticExecution": { "contact_type": "customer", "action_type": "write" }
89
+ "staticExecution": {
90
+ "contact_type": "customer",
91
+ "action_type": "write"
92
+ }
93
+ },
94
+ "find_contacts": {
95
+ "category": "read",
96
+ "boundField": "read_access",
97
+ "requiredValue": "unlimited"
98
+ },
99
+ "get_timeline": {
100
+ "category": "read",
101
+ "boundField": "read_access",
102
+ "requiredValue": "unlimited"
103
+ },
104
+ "get_pipeline": {
105
+ "category": "read",
106
+ "boundField": "read_access",
107
+ "requiredValue": "unlimited"
108
+ },
109
+ "list_tasks": {
110
+ "category": "read",
111
+ "boundField": "read_access",
112
+ "requiredValue": "unlimited"
58
113
  },
59
- "find_contacts": { "category": "read" },
60
- "get_timeline": { "category": "read" },
61
- "get_pipeline": { "category": "read" },
62
- "list_tasks": { "category": "read" },
63
- "export_crm": { "category": "read" }
114
+ "export_crm": {
115
+ "category": "read",
116
+ "boundField": "export_access",
117
+ "requiredValue": "allowed"
118
+ }
64
119
  }
65
120
  },
66
121
  "templates": [
@@ -69,22 +124,41 @@
69
124
  "description": "Search contacts, view pipeline and timeline, log activities. No creates or deletes.",
70
125
  "risk": "low",
71
126
  "mode": "automatic",
72
- "bounds": { "write_daily_max": "50", "delete_daily_max": "0" },
73
- "context": { "contact_type": "customer,lead,partner,vendor" },
127
+ "bounds": {
128
+ "read_access": "unlimited",
129
+ "write_daily_max": "50",
130
+ "delete_daily_max": "0"
131
+ },
132
+ "context": {
133
+ "contact_type": "customer,lead,partner,vendor"
134
+ },
74
135
  "intent": "Allow the agent to browse CRM data and log activities. Read and log only — no creating, editing, or deleting records.",
75
136
  "ttl": 2592000,
76
- "tags": ["read + log", "no deletes"]
137
+ "tags": [
138
+ "read + log",
139
+ "no deletes"
140
+ ]
77
141
  },
78
142
  {
79
143
  "name": "Full CRM with Review",
80
144
  "description": "Create contacts, deals, and tasks. Update and delete records. Every write requires approval.",
81
145
  "risk": "high",
82
146
  "mode": "review",
83
- "bounds": { "write_daily_max": "50", "delete_daily_max": "10" },
84
- "context": { "contact_type": "customer,lead,partner,vendor" },
147
+ "bounds": {
148
+ "read_access": "unlimited",
149
+ "write_daily_max": "50",
150
+ "delete_daily_max": "10"
151
+ },
152
+ "context": {
153
+ "contact_type": "customer,lead,partner,vendor"
154
+ },
85
155
  "intent": "Full CRM management — create, update, and delete contacts, deals, and tasks. Every write action requires my review before execution.",
86
156
  "ttl": 2592000,
87
- "tags": ["50 writes/day", "10 deletes/day", "review mode"]
157
+ "tags": [
158
+ "50 writes/day",
159
+ "10 deletes/day",
160
+ "review mode"
161
+ ]
88
162
  }
89
163
  ],
90
164
  "setupHint": "No configuration needed — works out of the box.",
@@ -9,12 +9,24 @@
9
9
  "mcp": {
10
10
  "command": "gmail-mcp",
11
11
  "args": [],
12
- "env": { "PORT": "0" }
12
+ "env": {
13
+ "PORT": "0"
14
+ }
13
15
  },
14
16
  "credentials": {
15
17
  "fields": [
16
- { "key": "clientId", "label": "Client ID", "type": "text", "placeholder": "From Google Cloud Console" },
17
- { "key": "clientSecret", "label": "Client Secret", "type": "password", "placeholder": "OAuth2 client secret" }
18
+ {
19
+ "key": "clientId",
20
+ "label": "Client ID",
21
+ "type": "text",
22
+ "placeholder": "From Google Cloud Console"
23
+ },
24
+ {
25
+ "key": "clientSecret",
26
+ "label": "Client Secret",
27
+ "type": "password",
28
+ "placeholder": "OAuth2 client secret"
29
+ }
18
30
  ],
19
31
  "envMapping": {
20
32
  "CLIENT_ID": "clientId",
@@ -31,48 +43,149 @@
31
43
  "https://www.googleapis.com/auth/gmail.modify",
32
44
  "https://www.googleapis.com/auth/gmail.send"
33
45
  ],
34
- "credentialKeys": { "clientId": "clientId", "clientSecret": "clientSecret" },
46
+ "credentialKeys": {
47
+ "clientId": "clientId",
48
+ "clientSecret": "clientSecret"
49
+ },
35
50
  "tokenStorage": "refreshToken",
36
- "extraParams": { "access_type": "offline", "prompt": "consent" }
51
+ "extraParams": {
52
+ "access_type": "offline",
53
+ "prompt": "consent"
54
+ }
37
55
  },
38
56
  "toolGating": {
39
57
  "default": {
40
58
  "executionMapping": {},
41
- "staticExecution": { "recipient_count": 0 }
59
+ "staticExecution": {
60
+ "recipient_count": 0
61
+ }
42
62
  },
43
63
  "overrides": {
44
64
  "send_message": {
45
65
  "executionMapping": {
46
66
  "to": [
47
- { "field": "recipient_count", "transform": "length" },
48
- { "field": "allowed_recipients", "transform": "join" },
49
- { "field": "allowed_domains", "transform": "join_domains" }
67
+ {
68
+ "field": "recipient_count",
69
+ "transform": "length"
70
+ },
71
+ {
72
+ "field": "allowed_recipients",
73
+ "transform": "join"
74
+ },
75
+ {
76
+ "field": "allowed_domains",
77
+ "transform": "join_domains"
78
+ }
50
79
  ]
51
80
  },
52
- "staticExecution": { "action_type": "send" }
81
+ "staticExecution": {
82
+ "action_type": "send"
83
+ }
53
84
  },
54
85
  "create_draft": {
55
86
  "executionMapping": {
56
87
  "to": [
57
- { "field": "recipient_count", "transform": "length" },
58
- { "field": "allowed_recipients", "transform": "join" },
59
- { "field": "allowed_domains", "transform": "join_domains" }
88
+ {
89
+ "field": "recipient_count",
90
+ "transform": "length"
91
+ },
92
+ {
93
+ "field": "allowed_recipients",
94
+ "transform": "join"
95
+ },
96
+ {
97
+ "field": "allowed_domains",
98
+ "transform": "join_domains"
99
+ }
60
100
  ]
61
101
  },
62
- "staticExecution": { "action_type": "send" }
102
+ "staticExecution": {
103
+ "action_type": "send"
104
+ }
63
105
  },
64
106
  "send_draft": {
65
107
  "executionMapping": {},
66
- "staticExecution": { "recipient_count": 1, "action_type": "send" }
108
+ "staticExecution": {
109
+ "recipient_count": 1,
110
+ "action_type": "send"
111
+ }
112
+ },
113
+ "list_messages": {
114
+ "category": "read",
115
+ "read": {
116
+ "ageField": "read_age_days",
117
+ "queryArg": "q",
118
+ "ageConstraint": "newer_than:{days}d",
119
+ "scopeTermTemplate": "(from:{v} OR to:{v})",
120
+ "pinnedArgs": {
121
+ "includeSpamTrash": false
122
+ },
123
+ "ageConflictPattern": "older_than:(\\d+)d"
124
+ }
125
+ },
126
+ "get_message": {
127
+ "category": "read",
128
+ "read": {
129
+ "ageField": "read_age_days",
130
+ "resultDatePath": "internalDate",
131
+ "participantsPath": "payload.headers",
132
+ "participantHeaders": [
133
+ "From",
134
+ "To"
135
+ ],
136
+ "blockResultValues": [
137
+ "SPAM",
138
+ "TRASH"
139
+ ],
140
+ "resultValuesPath": "labelIds"
141
+ }
142
+ },
143
+ "list_drafts": {
144
+ "category": "read",
145
+ "read": {
146
+ "ageField": "read_age_days",
147
+ "queryArg": "q",
148
+ "ageConstraint": "newer_than:{days}d",
149
+ "pinnedArgs": {
150
+ "includeSpamTrash": false
151
+ },
152
+ "ageConflictPattern": "older_than:(\\d+)d"
153
+ }
154
+ },
155
+ "get_draft": {
156
+ "category": "read",
157
+ "read": {
158
+ "ageField": "read_age_days",
159
+ "resultDatePath": "message.internalDate",
160
+ "blockResultValues": [
161
+ "SPAM",
162
+ "TRASH"
163
+ ],
164
+ "resultValuesPath": "message.labelIds"
165
+ }
166
+ },
167
+ "delete_draft": {
168
+ "executionMapping": {},
169
+ "staticExecution": {
170
+ "recipient_count": 0,
171
+ "action_type": "delete"
172
+ }
173
+ },
174
+ "get_attachment": {
175
+ "category": "read",
176
+ "readGovernance": "none",
177
+ "readGovernanceReason": "Transitively age-gated: an attachmentId is only obtainable from get_message, which enforces the read-age window. No independently addressable content."
178
+ },
179
+ "list_labels": {
180
+ "category": "read",
181
+ "readGovernance": "none",
182
+ "readGovernanceReason": "Enumerates label names/ids, not message content. Label names can be sensitive metadata; F7 will replace this exemption with a container allowlist filter (SPAM/TRASH stripped, then granted labels only)."
67
183
  },
68
- "list_messages": { "category": "read" },
69
- "get_message": { "category": "read" },
70
- "get_attachment": { "category": "read" },
71
- "list_drafts": { "category": "read" },
72
- "get_draft": { "category": "read" },
73
- "delete_draft": { "category": "read" },
74
- "list_labels": { "category": "read" },
75
- "get_profile": { "category": "read" }
184
+ "get_profile": {
185
+ "category": "read",
186
+ "readGovernance": "none",
187
+ "readGovernanceReason": "Returns the account's own address and message counts — the connector's own identity, no correspondence content."
188
+ }
76
189
  }
77
190
  },
78
191
  "templates": [
@@ -81,22 +194,46 @@
81
194
  "description": "Search and read emails. Cannot send, draft, or delete.",
82
195
  "risk": "low",
83
196
  "mode": "automatic",
84
- "bounds": { "recipient_max": "0", "send_daily_max": "0", "read_max_age_days": "30", "read_daily_max": "100" },
85
- "context": { "allowed_recipients": "", "allowed_domains": "" },
197
+ "bounds": {
198
+ "recipient_max": "0",
199
+ "send_daily_max": "0",
200
+ "read_max_age_days": "30",
201
+ "read_daily_max": "100"
202
+ },
203
+ "context": {
204
+ "allowed_recipients": "",
205
+ "allowed_domains": ""
206
+ },
86
207
  "intent": "Allow the agent to search and read my inbox (last 30 days). No sending or deleting.",
87
208
  "ttl": 2592000,
88
- "tags": ["read-only", "30 days", "100 reads/day"]
209
+ "tags": [
210
+ "read-only",
211
+ "30 days",
212
+ "100 reads/day"
213
+ ]
89
214
  },
90
215
  {
91
216
  "name": "Send with Review",
92
217
  "description": "Read inbox and compose emails. Every outbound email requires your approval.",
93
218
  "risk": "high",
94
219
  "mode": "review",
95
- "bounds": { "recipient_max": "5", "send_daily_max": "20", "read_max_age_days": "90", "read_daily_max": "200" },
96
- "context": { "allowed_recipients": "", "allowed_domains": "" },
220
+ "bounds": {
221
+ "recipient_max": "5",
222
+ "send_daily_max": "20",
223
+ "read_max_age_days": "90",
224
+ "read_daily_max": "200"
225
+ },
226
+ "context": {
227
+ "allowed_recipients": "",
228
+ "allowed_domains": ""
229
+ },
97
230
  "intent": "Read my inbox and compose emails. Every send requires my review — I see the recipient, subject, and body before it goes out.",
98
231
  "ttl": 2592000,
99
- "tags": ["5 recipients/email", "20 sends/day", "review mode"]
232
+ "tags": [
233
+ "5 recipients/email",
234
+ "20 sends/day",
235
+ "review mode"
236
+ ]
100
237
  }
101
238
  ],
102
239
  "setupHint": "Create OAuth credentials at Google Cloud Console.",
@@ -61,9 +61,21 @@
61
61
  "executionMapping": {},
62
62
  "staticExecution": { "allowed_platforms": "linkedin", "action_type": "delete" }
63
63
  },
64
- "get_post": { "category": "read" },
65
- "list_posts": { "category": "read" },
66
- "get_profile": { "category": "read" }
64
+ "get_post": {
65
+ "category": "read",
66
+ "readGovernance": "none",
67
+ "readGovernanceReason": "Reads the account's own already-published posts — content the owner authored and made public. No third-party or private correspondence."
68
+ },
69
+ "list_posts": {
70
+ "category": "read",
71
+ "readGovernance": "none",
72
+ "readGovernanceReason": "Lists the account's own already-published posts. No third-party or private correspondence."
73
+ },
74
+ "get_profile": {
75
+ "category": "read",
76
+ "readGovernance": "none",
77
+ "readGovernanceReason": "Returns the account's own public profile — the connector's own identity."
78
+ }
67
79
  }
68
80
  },
69
81
  "templates": [
@@ -7,8 +7,8 @@
7
7
  "profile": "charge",
8
8
  "npmPackage": "mcp-remote",
9
9
  "mcp": {
10
- "command": "sh",
11
- "args": ["-c", "mcp-remote https://mcp.mollie.com/mcp --header \"Authorization: Bearer $MOLLIE_ACCESS_TOKEN\""]
10
+ "command": "mcp-remote",
11
+ "args": ["https://mcp.mollie.com/mcp", "--header", "Authorization: Bearer ${MOLLIE_ACCESS_TOKEN}"]
12
12
  },
13
13
  "credentials": {
14
14
  "fields": [