@suveren/gateway 0.3.17 → 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 (255) 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 +880 -210
  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 +27 -0
  13. package/node_modules/@hap/core/dist/index.d.ts +27 -0
  14. package/node_modules/@hap/core/dist/index.js +13 -1
  15. package/node_modules/@hap/core/dist/index.mjs +13 -1
  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/types.ts +27 -0
  19. package/node_modules/@hono/node-server/README.md +58 -25
  20. package/node_modules/@hono/node-server/dist/conninfo.cjs +22 -0
  21. package/node_modules/@hono/node-server/dist/{conninfo.d.ts → conninfo.d.cts} +4 -3
  22. package/node_modules/@hono/node-server/dist/conninfo.d.mts +4 -3
  23. package/node_modules/@hono/node-server/dist/conninfo.mjs +19 -16
  24. package/node_modules/@hono/node-server/dist/constants-BLSFu_RU.mjs +5 -0
  25. package/node_modules/@hono/node-server/dist/constants-BXAKTxRC.cjs +11 -0
  26. package/node_modules/@hono/node-server/dist/index.cjs +1173 -0
  27. package/node_modules/@hono/node-server/dist/index.d.cts +101 -0
  28. package/node_modules/@hono/node-server/dist/index.d.mts +101 -8
  29. package/node_modules/@hono/node-server/dist/index.mjs +1143 -637
  30. package/node_modules/@hono/node-server/dist/serve-static.cjs +151 -0
  31. package/node_modules/@hono/node-server/dist/serve-static.d.cts +18 -0
  32. package/node_modules/@hono/node-server/dist/serve-static.d.mts +14 -13
  33. package/node_modules/@hono/node-server/dist/serve-static.mjs +143 -145
  34. package/node_modules/@hono/node-server/dist/utils/response.cjs +8 -0
  35. package/node_modules/@hono/node-server/dist/utils/response.d.cts +4 -0
  36. package/node_modules/@hono/node-server/dist/utils/response.d.mts +3 -2
  37. package/node_modules/@hono/node-server/dist/utils/response.mjs +6 -9
  38. package/node_modules/@hono/node-server/dist/utils/stream.cjs +65 -0
  39. package/node_modules/@hono/node-server/dist/utils/stream.d.cts +6 -0
  40. package/node_modules/@hono/node-server/dist/utils/stream.d.mts +6 -0
  41. package/node_modules/@hono/node-server/dist/utils/stream.mjs +64 -0
  42. package/node_modules/@hono/node-server/package.json +65 -54
  43. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.d.ts.map +1 -1
  44. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js +1 -12
  45. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js.map +1 -1
  46. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts +7 -0
  47. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts.map +1 -1
  48. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js +9 -3
  49. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js.map +1 -1
  50. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  51. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js +5 -3
  52. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js.map +1 -1
  53. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.d.ts.map +1 -1
  54. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js +1 -12
  55. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js.map +1 -1
  56. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts +5 -0
  57. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts.map +1 -0
  58. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js +17 -0
  59. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js.map +1 -0
  60. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts +9 -1
  61. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts.map +1 -1
  62. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js +10 -4
  63. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js.map +1 -1
  64. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts +21 -0
  65. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -1
  66. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js +239 -41
  67. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js.map +1 -1
  68. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.d.ts.map +1 -1
  69. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js +25 -6
  70. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js.map +1 -1
  71. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts +32 -0
  72. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts.map +1 -0
  73. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js +64 -0
  74. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js.map +1 -0
  75. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts +5 -0
  76. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts.map +1 -1
  77. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js +10 -1
  78. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js.map +1 -1
  79. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.d.ts.map +1 -1
  80. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +2 -13
  81. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +1 -1
  82. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts +7 -0
  83. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts.map +1 -1
  84. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js +9 -3
  85. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js.map +1 -1
  86. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts.map +1 -1
  87. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js +5 -3
  88. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js.map +1 -1
  89. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.d.ts.map +1 -1
  90. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +2 -13
  91. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -1
  92. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts +5 -0
  93. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts.map +1 -0
  94. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js +13 -0
  95. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js.map +1 -0
  96. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts +9 -1
  97. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts.map +1 -1
  98. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +10 -4
  99. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -1
  100. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts +21 -0
  101. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -1
  102. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +239 -41
  103. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js.map +1 -1
  104. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.d.ts.map +1 -1
  105. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +25 -6
  106. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -1
  107. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts +32 -0
  108. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts.map +1 -0
  109. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js +57 -0
  110. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js.map +1 -0
  111. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts +5 -0
  112. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts.map +1 -1
  113. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +9 -0
  114. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -1
  115. package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/README.md +15 -14
  116. package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/index.js +0 -8
  117. package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/package.json +16 -12
  118. package/node_modules/@modelcontextprotocol/sdk/package.json +4 -3
  119. package/node_modules/@types/node/README.md +1 -1
  120. package/node_modules/@types/node/crypto.d.ts +1 -1
  121. package/node_modules/@types/node/package.json +2 -2
  122. package/node_modules/body-parser/HISTORY.md +7 -1
  123. package/node_modules/body-parser/lib/types/json.js +7 -3
  124. package/node_modules/body-parser/lib/types/raw.js +7 -3
  125. package/node_modules/body-parser/lib/types/text.js +7 -3
  126. package/node_modules/body-parser/lib/types/urlencoded.js +7 -3
  127. package/node_modules/body-parser/package.json +1 -1
  128. package/node_modules/express-rate-limit/dist/index.cjs +69 -5
  129. package/node_modules/express-rate-limit/dist/index.d.cts +16 -0
  130. package/node_modules/express-rate-limit/dist/index.d.mts +16 -0
  131. package/node_modules/express-rate-limit/dist/index.d.ts +16 -0
  132. package/node_modules/express-rate-limit/dist/index.mjs +55 -5
  133. package/node_modules/express-rate-limit/node_modules/debug/LICENSE +20 -0
  134. package/node_modules/express-rate-limit/node_modules/debug/README.md +481 -0
  135. package/node_modules/express-rate-limit/node_modules/debug/package.json +64 -0
  136. package/node_modules/express-rate-limit/node_modules/debug/src/browser.js +272 -0
  137. package/node_modules/express-rate-limit/node_modules/debug/src/common.js +292 -0
  138. package/node_modules/express-rate-limit/node_modules/debug/src/index.js +10 -0
  139. package/node_modules/express-rate-limit/node_modules/debug/src/node.js +263 -0
  140. package/node_modules/express-rate-limit/node_modules/ms/index.js +162 -0
  141. package/node_modules/express-rate-limit/node_modules/ms/license.md +21 -0
  142. package/node_modules/express-rate-limit/node_modules/ms/package.json +38 -0
  143. package/node_modules/express-rate-limit/node_modules/ms/readme.md +59 -0
  144. package/node_modules/express-rate-limit/package.json +12 -9
  145. package/node_modules/fast-uri/index.js +17 -0
  146. package/node_modules/fast-uri/package.json +1 -1
  147. package/node_modules/fast-uri/test/security.test.js +62 -0
  148. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +1 -4
  149. package/node_modules/hono/dist/adapter/lambda-edge/handler.js +12 -2
  150. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +1 -4
  151. package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +12 -2
  152. package/node_modules/hono/dist/cjs/client/client.js +10 -1
  153. package/node_modules/hono/dist/cjs/client/utils.js +1 -1
  154. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +5 -4
  155. package/node_modules/hono/dist/cjs/middleware/cache/index.js +1 -1
  156. package/node_modules/hono/dist/cjs/middleware/compress/index.js +2 -1
  157. package/node_modules/hono/dist/cjs/middleware/etag/index.js +2 -1
  158. package/node_modules/hono/dist/cjs/middleware/method-override/index.js +5 -3
  159. package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +10 -4
  160. package/node_modules/hono/dist/cjs/request.js +8 -3
  161. package/node_modules/hono/dist/cjs/router/trie-router/node.js +9 -0
  162. package/node_modules/hono/dist/cjs/utils/accept.js +1 -1
  163. package/node_modules/hono/dist/cjs/utils/body.js +6 -0
  164. package/node_modules/hono/dist/cjs/utils/url.js +1 -1
  165. package/node_modules/hono/dist/client/client.js +10 -1
  166. package/node_modules/hono/dist/client/utils.js +1 -1
  167. package/node_modules/hono/dist/helper/streaming/sse.js +5 -4
  168. package/node_modules/hono/dist/middleware/cache/index.js +1 -1
  169. package/node_modules/hono/dist/middleware/compress/index.js +2 -1
  170. package/node_modules/hono/dist/middleware/etag/index.js +2 -1
  171. package/node_modules/hono/dist/middleware/method-override/index.js +5 -3
  172. package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +10 -4
  173. package/node_modules/hono/dist/request.js +8 -3
  174. package/node_modules/hono/dist/router/trie-router/node.js +9 -0
  175. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +9 -0
  176. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +1 -1
  177. package/node_modules/hono/dist/types/helper/websocket/index.d.ts +1 -1
  178. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +1 -1
  179. package/node_modules/hono/dist/types/middleware/language/language.d.ts +18 -0
  180. package/node_modules/hono/dist/types/utils/types.d.ts +1 -1
  181. package/node_modules/hono/dist/utils/accept.js +1 -1
  182. package/node_modules/hono/dist/utils/body.js +6 -0
  183. package/node_modules/hono/dist/utils/url.js +1 -1
  184. package/node_modules/hono/package.json +4 -4
  185. package/node_modules/ip-address/README.md +102 -96
  186. package/node_modules/ip-address/dist/common.d.ts +23 -0
  187. package/node_modules/ip-address/dist/common.js +27 -4
  188. package/node_modules/ip-address/dist/common.js.map +1 -1
  189. package/node_modules/ip-address/dist/ipv4.d.ts +8 -1
  190. package/node_modules/ip-address/dist/ipv4.js +21 -8
  191. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  192. package/node_modules/ip-address/dist/ipv6.d.ts +59 -1
  193. package/node_modules/ip-address/dist/ipv6.js +149 -41
  194. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  195. package/node_modules/ip-address/dist/v4/constants.js +5 -1
  196. package/node_modules/ip-address/dist/v4/constants.js.map +1 -1
  197. package/node_modules/ip-address/dist/v6/constants.js +3 -2
  198. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  199. package/node_modules/ip-address/package.json +2 -2
  200. package/node_modules/jose/README.md +1 -4
  201. package/node_modules/jose/dist/types/jwks/remote.d.ts +3 -3
  202. package/node_modules/jose/dist/webapi/jwks/remote.js +1 -1
  203. package/node_modules/jose/dist/webapi/lib/key_to_jwk.js +4 -1
  204. package/node_modules/jose/package.json +1 -1
  205. package/package.json +2 -2
  206. package/profiles/customers/0.4.profile.json +7 -4
  207. package/profiles/customers/0.5.profile.json +131 -0
  208. package/profiles/customers/0.6.profile.json +153 -0
  209. package/profiles/email/0.4.profile.json +8 -4
  210. package/profiles/index.json +2 -0
  211. package/server.js +10 -0
  212. package/dist/ui/assets/index-CTmWS7W4.js +0 -105
  213. package/node_modules/@hono/node-server/dist/conninfo.js +0 -42
  214. package/node_modules/@hono/node-server/dist/globals.d.mts +0 -2
  215. package/node_modules/@hono/node-server/dist/globals.d.ts +0 -2
  216. package/node_modules/@hono/node-server/dist/globals.js +0 -29
  217. package/node_modules/@hono/node-server/dist/globals.mjs +0 -5
  218. package/node_modules/@hono/node-server/dist/index.d.ts +0 -8
  219. package/node_modules/@hono/node-server/dist/index.js +0 -702
  220. package/node_modules/@hono/node-server/dist/listener.d.mts +0 -13
  221. package/node_modules/@hono/node-server/dist/listener.d.ts +0 -13
  222. package/node_modules/@hono/node-server/dist/listener.js +0 -670
  223. package/node_modules/@hono/node-server/dist/listener.mjs +0 -635
  224. package/node_modules/@hono/node-server/dist/request.d.mts +0 -25
  225. package/node_modules/@hono/node-server/dist/request.d.ts +0 -25
  226. package/node_modules/@hono/node-server/dist/request.js +0 -238
  227. package/node_modules/@hono/node-server/dist/request.mjs +0 -206
  228. package/node_modules/@hono/node-server/dist/response.d.mts +0 -26
  229. package/node_modules/@hono/node-server/dist/response.d.ts +0 -26
  230. package/node_modules/@hono/node-server/dist/response.js +0 -112
  231. package/node_modules/@hono/node-server/dist/response.mjs +0 -85
  232. package/node_modules/@hono/node-server/dist/serve-static.d.ts +0 -17
  233. package/node_modules/@hono/node-server/dist/serve-static.js +0 -177
  234. package/node_modules/@hono/node-server/dist/server.d.mts +0 -10
  235. package/node_modules/@hono/node-server/dist/server.d.ts +0 -10
  236. package/node_modules/@hono/node-server/dist/server.js +0 -696
  237. package/node_modules/@hono/node-server/dist/server.mjs +0 -660
  238. package/node_modules/@hono/node-server/dist/types.d.mts +0 -44
  239. package/node_modules/@hono/node-server/dist/types.d.ts +0 -44
  240. package/node_modules/@hono/node-server/dist/types.js +0 -18
  241. package/node_modules/@hono/node-server/dist/types.mjs +0 -0
  242. package/node_modules/@hono/node-server/dist/utils/response/constants.d.mts +0 -3
  243. package/node_modules/@hono/node-server/dist/utils/response/constants.d.ts +0 -3
  244. package/node_modules/@hono/node-server/dist/utils/response/constants.js +0 -30
  245. package/node_modules/@hono/node-server/dist/utils/response/constants.mjs +0 -5
  246. package/node_modules/@hono/node-server/dist/utils/response.d.ts +0 -3
  247. package/node_modules/@hono/node-server/dist/utils/response.js +0 -37
  248. package/node_modules/@hono/node-server/dist/utils.d.mts +0 -9
  249. package/node_modules/@hono/node-server/dist/utils.d.ts +0 -9
  250. package/node_modules/@hono/node-server/dist/utils.js +0 -99
  251. package/node_modules/@hono/node-server/dist/utils.mjs +0 -71
  252. package/node_modules/@hono/node-server/dist/vercel.d.mts +0 -7
  253. package/node_modules/@hono/node-server/dist/vercel.d.ts +0 -7
  254. package/node_modules/@hono/node-server/dist/vercel.js +0 -677
  255. package/node_modules/@hono/node-server/dist/vercel.mjs +0 -640
@@ -2,7 +2,7 @@
2
2
  "id": "github.com/humanagencyprotocol/hap-profiles/customers@0.4",
3
3
  "name": "Customer Management",
4
4
  "version": "0.4",
5
- "description": "Customer authority \u2014 governs CRM operations: contacts, activities, deals, tasks",
5
+ "description": "Customer authority governs CRM operations: contacts, activities, deals, tasks",
6
6
  "boundsSchema": {
7
7
  "keyOrder": [
8
8
  "profile",
@@ -52,8 +52,8 @@
52
52
  "contact_type": {
53
53
  "type": "string",
54
54
  "required": true,
55
- "displayName": "Contact types",
56
- "description": "Permitted contact types",
55
+ "displayName": "Contact types the agent may create or modify",
56
+ "description": "Contact types the agent may create, update or delete. Does NOT restrict reading — reads are governed by read_access.",
57
57
  "enum": [
58
58
  "customer",
59
59
  "lead",
@@ -108,5 +108,8 @@
108
108
  "max": 31536000
109
109
  },
110
110
  "retention_minimum": 7776000,
111
- "content_binding": { "version": "1", "kind": "jcs" }
111
+ "content_binding": {
112
+ "version": "1",
113
+ "kind": "jcs"
114
+ }
112
115
  }
@@ -0,0 +1,131 @@
1
+ {
2
+ "id": "github.com/humanagencyprotocol/hap-profiles/customers@0.5",
3
+ "name": "Customer Management",
4
+ "version": "0.5",
5
+ "description": "Customer authority — governs CRM operations: contacts, activities, deals, tasks",
6
+ "boundsSchema": {
7
+ "keyOrder": [
8
+ "profile",
9
+ "read_access",
10
+ "write_daily_max",
11
+ "delete_daily_max"
12
+ ],
13
+ "fields": {
14
+ "profile": {
15
+ "type": "string",
16
+ "required": true
17
+ },
18
+ "read_access": {
19
+ "type": "string",
20
+ "required": true,
21
+ "displayName": "Read access",
22
+ "description": "Allow the agent to browse contacts, timelines, pipeline, tasks, and export CRM data",
23
+ "boundType": {
24
+ "kind": "enum",
25
+ "values": [
26
+ "unlimited",
27
+ "none"
28
+ ]
29
+ },
30
+ "toolsDescription": "find_contacts, get_timeline, get_pipeline, list_tasks, export_crm",
31
+ "default": "unlimited"
32
+ },
33
+ "write_daily_max": {
34
+ "type": "number",
35
+ "required": true,
36
+ "displayName": "Daily write limit",
37
+ "description": "Maximum CRM write operations per day (creates, updates)",
38
+ "unit": "count",
39
+ "boundType": {
40
+ "kind": "cumulative_count",
41
+ "window": "daily"
42
+ },
43
+ "paths": [
44
+ "customers-write"
45
+ ]
46
+ },
47
+ "delete_daily_max": {
48
+ "type": "number",
49
+ "required": true,
50
+ "displayName": "Daily delete limit",
51
+ "description": "Maximum CRM delete operations per day",
52
+ "unit": "count",
53
+ "boundType": {
54
+ "kind": "cumulative_count",
55
+ "window": "daily"
56
+ },
57
+ "paths": [
58
+ "customers-delete"
59
+ ]
60
+ }
61
+ }
62
+ },
63
+ "contextSchema": {
64
+ "keyOrder": [
65
+ "contact_type"
66
+ ],
67
+ "fields": {
68
+ "contact_type": {
69
+ "type": "string",
70
+ "required": true,
71
+ "displayName": "Contact types the agent may create or modify",
72
+ "description": "Contact types the agent may create, update or delete. Does NOT restrict reading — reads are governed by read_access.",
73
+ "enum": [
74
+ "customer",
75
+ "lead",
76
+ "partner",
77
+ "vendor"
78
+ ],
79
+ "constraint": {
80
+ "type": "string",
81
+ "enforceable": [
82
+ "subset"
83
+ ]
84
+ }
85
+ }
86
+ }
87
+ },
88
+ "executionContextSchema": {
89
+ "fields": {
90
+ "contact_type": {
91
+ "source": "declared",
92
+ "description": "Contact type being accessed",
93
+ "required": true,
94
+ "constraint": {
95
+ "type": "string",
96
+ "enforceable": [
97
+ "subset"
98
+ ]
99
+ }
100
+ },
101
+ "write_count_daily": {
102
+ "source": "cumulative",
103
+ "cumulativeField": "_count",
104
+ "window": "daily",
105
+ "description": "Running daily write operation count",
106
+ "required": true,
107
+ "constraint": {
108
+ "type": "number",
109
+ "enforceable": [
110
+ "max"
111
+ ]
112
+ }
113
+ }
114
+ }
115
+ },
116
+ "requiredGates": [
117
+ "bounds",
118
+ "intent",
119
+ "commitment",
120
+ "decision_owner"
121
+ ],
122
+ "ttl": {
123
+ "default": 86400,
124
+ "max": 31536000
125
+ },
126
+ "retention_minimum": 7776000,
127
+ "content_binding": {
128
+ "version": "1",
129
+ "kind": "jcs"
130
+ }
131
+ }
@@ -0,0 +1,153 @@
1
+ {
2
+ "id": "github.com/humanagencyprotocol/hap-profiles/customers@0.6",
3
+ "name": "Customer Management",
4
+ "version": "0.6",
5
+ "description": "Customer authority — governs CRM operations: contacts, activities, deals, tasks",
6
+ "boundsSchema": {
7
+ "keyOrder": [
8
+ "profile",
9
+ "read_access",
10
+ "export_access",
11
+ "write_daily_max",
12
+ "delete_daily_max"
13
+ ],
14
+ "fields": {
15
+ "profile": {
16
+ "type": "string",
17
+ "required": true
18
+ },
19
+ "read_access": {
20
+ "type": "string",
21
+ "required": true,
22
+ "displayName": "Read access",
23
+ "description": "Allow the agent to browse contacts, timelines, pipeline and tasks. Bulk export is governed separately by Export access.",
24
+ "boundType": {
25
+ "kind": "enum",
26
+ "values": [
27
+ "unlimited",
28
+ "none"
29
+ ]
30
+ },
31
+ "toolsDescription": "find_contacts, get_timeline, get_pipeline, list_tasks",
32
+ "default": "unlimited"
33
+ },
34
+ "export_access": {
35
+ "type": "string",
36
+ "required": true,
37
+ "displayName": "Export access",
38
+ "description": "Allow the agent to export the ENTIRE CRM in one call. Separate from read access because the risk is different in kind: reading one contact and extracting the whole customer database are not the same decision.",
39
+ "boundType": {
40
+ "kind": "enum",
41
+ "values": [
42
+ "allowed",
43
+ "none"
44
+ ]
45
+ },
46
+ "toolsDescription": "export_crm",
47
+ "default": "none"
48
+ },
49
+ "write_daily_max": {
50
+ "type": "number",
51
+ "required": true,
52
+ "displayName": "Daily write limit",
53
+ "description": "Maximum CRM write operations per day (creates, updates)",
54
+ "unit": "count",
55
+ "boundType": {
56
+ "kind": "cumulative_count",
57
+ "window": "daily"
58
+ },
59
+ "paths": [
60
+ "customers-write"
61
+ ],
62
+ "appliesTo": [
63
+ "write"
64
+ ]
65
+ },
66
+ "delete_daily_max": {
67
+ "type": "number",
68
+ "required": true,
69
+ "displayName": "Daily delete limit",
70
+ "description": "Maximum CRM delete operations per day",
71
+ "unit": "count",
72
+ "boundType": {
73
+ "kind": "cumulative_count",
74
+ "window": "daily"
75
+ },
76
+ "paths": [
77
+ "customers-delete"
78
+ ],
79
+ "appliesTo": [
80
+ "delete"
81
+ ]
82
+ }
83
+ }
84
+ },
85
+ "contextSchema": {
86
+ "keyOrder": [
87
+ "contact_type"
88
+ ],
89
+ "fields": {
90
+ "contact_type": {
91
+ "type": "string",
92
+ "required": true,
93
+ "displayName": "Contact types the agent may create or modify",
94
+ "description": "Contact types the agent may create, update or delete. Does NOT restrict reading — reads are governed by read_access.",
95
+ "enum": [
96
+ "customer",
97
+ "lead",
98
+ "partner",
99
+ "vendor"
100
+ ],
101
+ "constraint": {
102
+ "type": "string",
103
+ "enforceable": [
104
+ "subset"
105
+ ]
106
+ }
107
+ }
108
+ }
109
+ },
110
+ "executionContextSchema": {
111
+ "fields": {
112
+ "contact_type": {
113
+ "source": "declared",
114
+ "description": "Contact type being accessed",
115
+ "required": true,
116
+ "constraint": {
117
+ "type": "string",
118
+ "enforceable": [
119
+ "subset"
120
+ ]
121
+ }
122
+ },
123
+ "write_count_daily": {
124
+ "source": "cumulative",
125
+ "cumulativeField": "_count",
126
+ "window": "daily",
127
+ "description": "Running daily write operation count",
128
+ "required": true,
129
+ "constraint": {
130
+ "type": "number",
131
+ "enforceable": [
132
+ "max"
133
+ ]
134
+ }
135
+ }
136
+ }
137
+ },
138
+ "requiredGates": [
139
+ "bounds",
140
+ "intent",
141
+ "commitment",
142
+ "decision_owner"
143
+ ],
144
+ "ttl": {
145
+ "default": 86400,
146
+ "max": 31536000
147
+ },
148
+ "retention_minimum": 7776000,
149
+ "content_binding": {
150
+ "version": "1",
151
+ "kind": "jcs"
152
+ }
153
+ }
@@ -2,7 +2,7 @@
2
2
  "id": "github.com/humanagencyprotocol/hap-profiles/email@0.4",
3
3
  "name": "Email",
4
4
  "version": "0.4",
5
- "description": "Email authority \u2014 governs sending, drafting, and reading email via Gmail",
5
+ "description": "Email authority governs sending, drafting, and reading email via Gmail",
6
6
  "boundsSchema": {
7
7
  "keyOrder": [
8
8
  "profile",
@@ -64,7 +64,7 @@
64
64
  "type": "number",
65
65
  "required": false,
66
66
  "displayName": "Daily read limit",
67
- "description": "Maximum emails read per day",
67
+ "description": "Not currently enforced: reads carry no receipt, so no component counts them. Hidden from the authorization editor until enforcement exists.",
68
68
  "unit": "count",
69
69
  "boundType": {
70
70
  "kind": "cumulative_count",
@@ -72,7 +72,8 @@
72
72
  },
73
73
  "paths": [
74
74
  "email-read"
75
- ]
75
+ ],
76
+ "enforced": false
76
77
  }
77
78
  }
78
79
  },
@@ -171,5 +172,8 @@
171
172
  "max": 31536000
172
173
  },
173
174
  "retention_minimum": 7776000,
174
- "content_binding": { "version": "1", "kind": "text" }
175
+ "content_binding": {
176
+ "version": "1",
177
+ "kind": "text"
178
+ }
175
179
  }
@@ -5,6 +5,8 @@
5
5
  "github.com/humanagencyprotocol/hap-profiles/purchase@0.4": "purchase/0.4.profile.json",
6
6
  "github.com/humanagencyprotocol/hap-profiles/email@0.4": "email/0.4.profile.json",
7
7
  "github.com/humanagencyprotocol/hap-profiles/customers@0.4": "customers/0.4.profile.json",
8
+ "github.com/humanagencyprotocol/hap-profiles/customers@0.5": "customers/0.5.profile.json",
9
+ "github.com/humanagencyprotocol/hap-profiles/customers@0.6": "customers/0.6.profile.json",
8
10
  "github.com/humanagencyprotocol/hap-profiles/calendar@0.4": "calendar/0.4.profile.json",
9
11
  "github.com/humanagencyprotocol/hap-profiles/publish@0.4": "publish/0.4.profile.json",
10
12
  "github.com/humanagencyprotocol/hap-profiles/records@0.4": "records/0.4.profile.json"
package/server.js CHANGED
@@ -28,11 +28,21 @@ const env = {
28
28
  NODE_ENV: 'production',
29
29
  SUVEREN_CP_PORT: CP_PORT,
30
30
  SUVEREN_MCP_PORT: MCP_PORT,
31
+ // The control plane talks to the MCP server over this URL. It defaults to
32
+ // 127.0.0.1:3430 in mcp-bridge.ts, so if the user overrode SUVEREN_MCP_PORT
33
+ // without also setting this, every CP→MCP internal call hit the wrong port
34
+ // and failed — surfacing as "Couldn't load integrations". Derive it here so
35
+ // the two can never drift. An explicit override still wins (e.g. Docker).
36
+ SUVEREN_MCP_INTERNAL_URL: process.env.SUVEREN_MCP_INTERNAL_URL ?? `http://127.0.0.1:${MCP_PORT}`,
31
37
  HAP_UI_DIST: UI_DIST,
32
38
  SUVEREN_MANIFESTS_DIR: MANIFESTS_DIR,
33
39
  SUVEREN_PROFILES_DIR: PROFILES_DIR,
34
40
  // Single shared internal secret so CP↔MCP authenticate the bridge.
35
41
  SUVEREN_INTERNAL_SECRET: process.env.SUVEREN_INTERNAL_SECRET ?? randomHex(32),
42
+ // Passed by the login service (see bundle/lib/autostart-templates.mjs) so the
43
+ // control-plane knows a human is NOT sitting in front of a terminal watching
44
+ // it start — that is when a locked gateway needs to announce itself.
45
+ ...(process.argv.includes('--autostart') ? { SUVEREN_AUTOSTART: '1' } : {}),
36
46
  };
37
47
 
38
48
  const cp = spawn(