@suveren/gateway 0.7.4 → 0.8.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 (264) hide show
  1. package/content/integrations/mollie.json +103 -28
  2. package/dist/control-plane/index.mjs +248 -58
  3. package/dist/mcp-server/http.mjs +577 -124
  4. package/dist/ui/assets/index-BFnSVa9N.js +110 -0
  5. package/dist/ui/assets/{index-CkWaRck1.css → index-BYVb_0oG.css} +1 -1
  6. package/dist/ui/index.html +2 -2
  7. package/node_modules/@hap/core/dist/index.d.mts +285 -13
  8. package/node_modules/@hap/core/dist/index.d.ts +285 -13
  9. package/node_modules/@hap/core/dist/index.js +281 -13
  10. package/node_modules/@hap/core/dist/index.mjs +266 -12
  11. package/node_modules/@hap/core/package.json +4 -2
  12. package/node_modules/@hap/core/src/did-key.ts +126 -0
  13. package/node_modules/@hap/core/src/frame.ts +115 -14
  14. package/node_modules/@hap/core/src/gatekeeper.ts +26 -0
  15. package/node_modules/@hap/core/src/identity.ts +21 -5
  16. package/node_modules/@hap/core/src/index.ts +3 -0
  17. package/node_modules/@hap/core/src/mandate.ts +207 -0
  18. package/node_modules/@hap/core/src/receipt.ts +74 -0
  19. package/node_modules/@hap/core/src/types.ts +87 -5
  20. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/accept.js +54 -0
  21. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/charset.js +10 -34
  22. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/encoding.js +9 -30
  23. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/language.js +15 -36
  24. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/mediaType.js +16 -134
  25. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/LICENSE +22 -0
  26. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/README.md +71 -0
  27. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.d.ts +46 -0
  28. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.js +176 -0
  29. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.js.map +1 -0
  30. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/package.json +52 -0
  31. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/package.json +16 -10
  32. package/node_modules/@types/node/README.md +1 -1
  33. package/node_modules/@types/node/buffer.buffer.d.ts +10 -5
  34. package/node_modules/@types/node/crypto.d.ts +2 -4
  35. package/node_modules/@types/node/dgram.d.ts +119 -4
  36. package/node_modules/@types/node/ffi.d.ts +1 -1
  37. package/node_modules/@types/node/fs/promises.d.ts +61 -65
  38. package/node_modules/@types/node/fs.d.ts +86 -76
  39. package/node_modules/@types/node/http.d.ts +17 -1
  40. package/node_modules/@types/node/http2.d.ts +12 -4
  41. package/node_modules/@types/node/index.d.ts +1 -0
  42. package/node_modules/@types/node/inspector.d.ts +2 -1
  43. package/node_modules/@types/node/net.d.ts +108 -16
  44. package/node_modules/@types/node/package.json +2 -2
  45. package/node_modules/@types/node/process.d.ts +52 -0
  46. package/node_modules/@types/node/quic.d.ts +246 -38
  47. package/node_modules/@types/node/sqlite.d.ts +6 -2
  48. package/node_modules/@types/node/stream/iter.d.ts +4 -4
  49. package/node_modules/@types/node/test.d.ts +36 -0
  50. package/node_modules/@types/node/tls.d.ts +24 -0
  51. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
  52. package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
  53. package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
  54. package/node_modules/@types/node/tty.d.ts +4 -3
  55. package/node_modules/@types/node/vfs.d.ts +210 -0
  56. package/node_modules/@types/node/vm.d.ts +1 -1
  57. package/node_modules/express-rate-limit/dist/index.cjs +6 -3
  58. package/node_modules/express-rate-limit/dist/index.d.cts +11 -0
  59. package/node_modules/express-rate-limit/dist/index.d.mts +11 -0
  60. package/node_modules/express-rate-limit/dist/index.d.ts +11 -0
  61. package/node_modules/express-rate-limit/dist/index.mjs +6 -3
  62. package/node_modules/express-rate-limit/{license.md → license} +7 -6
  63. package/node_modules/express-rate-limit/package.json +5 -5
  64. package/node_modules/express-rate-limit/readme.md +1 -0
  65. package/node_modules/fast-uri/index.js +215 -47
  66. package/node_modules/fast-uri/lib/schemes.js +9 -4
  67. package/node_modules/fast-uri/lib/utils.js +396 -92
  68. package/node_modules/fast-uri/package.json +1 -1
  69. package/node_modules/fast-uri/test/component-safe-serialization.test.js +163 -0
  70. package/node_modules/fast-uri/test/equal.test.js +31 -3
  71. package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +2 -0
  72. package/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
  73. package/node_modules/fast-uri/test/ipv6-validation.test.js +124 -0
  74. package/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
  75. package/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
  76. package/node_modules/fast-uri/test/parse.test.js +7 -3
  77. package/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
  78. package/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
  79. package/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
  80. package/node_modules/fast-uri/test/security-normalization.test.js +101 -0
  81. package/node_modules/fast-uri/test/security.test.js +75 -3
  82. package/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
  83. package/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
  84. package/node_modules/hono/dist/cjs/client/client.js +25 -11
  85. package/node_modules/hono/dist/cjs/client/utils.js +4 -1
  86. package/node_modules/hono/dist/cjs/context.js +4 -0
  87. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +36 -2
  88. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +1 -1
  89. package/node_modules/hono/dist/cjs/helper/ssg/utils.js +30 -10
  90. package/node_modules/hono/dist/cjs/jsx/dom/render.js +2 -0
  91. package/node_modules/hono/dist/cjs/middleware/cache/index.js +1 -1
  92. package/node_modules/hono/dist/cjs/middleware/cors/index.js +1 -1
  93. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +1 -1
  94. package/node_modules/hono/dist/cjs/middleware/etag/digest.js +1 -1
  95. package/node_modules/hono/dist/cjs/middleware/etag/index.js +3 -3
  96. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +3 -1
  97. package/node_modules/hono/dist/cjs/request.js +8 -4
  98. package/node_modules/hono/dist/cjs/router/linear-router/router.js +7 -2
  99. package/node_modules/hono/dist/cjs/router/pattern-router/router.js +3 -9
  100. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +10 -3
  101. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +47 -83
  102. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +2 -1
  103. package/node_modules/hono/dist/cjs/router/trie-router/node.js +46 -69
  104. package/node_modules/hono/dist/cjs/router/trie-router/router.js +3 -11
  105. package/node_modules/hono/dist/cjs/router/utils.js +27 -0
  106. package/node_modules/hono/dist/cjs/utils/body.js +15 -3
  107. package/node_modules/hono/dist/cjs/utils/cookie.js +1 -1
  108. package/node_modules/hono/dist/cjs/utils/ipaddr.js +5 -3
  109. package/node_modules/hono/dist/cjs/utils/stream.js +7 -1
  110. package/node_modules/hono/dist/cjs/utils/url.js +9 -1
  111. package/node_modules/hono/dist/client/client.js +25 -11
  112. package/node_modules/hono/dist/client/utils.js +4 -1
  113. package/node_modules/hono/dist/context.js +4 -0
  114. package/node_modules/hono/dist/helper/accepts/accepts.js +36 -2
  115. package/node_modules/hono/dist/helper/ssg/ssg.js +1 -1
  116. package/node_modules/hono/dist/helper/ssg/utils.js +30 -10
  117. package/node_modules/hono/dist/jsx/dom/render.js +2 -0
  118. package/node_modules/hono/dist/middleware/cache/index.js +1 -1
  119. package/node_modules/hono/dist/middleware/cors/index.js +1 -1
  120. package/node_modules/hono/dist/middleware/csrf/index.js +1 -1
  121. package/node_modules/hono/dist/middleware/etag/digest.js +1 -1
  122. package/node_modules/hono/dist/middleware/etag/index.js +3 -3
  123. package/node_modules/hono/dist/middleware/pretty-json/index.js +3 -1
  124. package/node_modules/hono/dist/request.js +8 -4
  125. package/node_modules/hono/dist/router/linear-router/router.js +7 -2
  126. package/node_modules/hono/dist/router/pattern-router/router.js +3 -9
  127. package/node_modules/hono/dist/router/reg-exp-router/node.js +6 -2
  128. package/node_modules/hono/dist/router/reg-exp-router/router.js +53 -84
  129. package/node_modules/hono/dist/router/reg-exp-router/trie.js +2 -1
  130. package/node_modules/hono/dist/router/trie-router/node.js +46 -69
  131. package/node_modules/hono/dist/router/trie-router/router.js +3 -11
  132. package/node_modules/hono/dist/router/utils.js +5 -0
  133. package/node_modules/hono/dist/types/context.d.ts +4 -0
  134. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +3 -0
  135. package/node_modules/hono/dist/types/router/trie-router/node.d.ts +1 -2
  136. package/node_modules/hono/dist/types/router/trie-router/router.d.ts +0 -1
  137. package/node_modules/hono/dist/types/router/utils.d.ts +1 -0
  138. package/node_modules/hono/dist/types/utils/url.d.ts +4 -0
  139. package/node_modules/hono/dist/utils/body.js +15 -3
  140. package/node_modules/hono/dist/utils/cookie.js +1 -1
  141. package/node_modules/hono/dist/utils/ipaddr.js +5 -3
  142. package/node_modules/hono/dist/utils/stream.js +7 -1
  143. package/node_modules/hono/dist/utils/url.js +9 -1
  144. package/node_modules/hono/package.json +1 -1
  145. package/node_modules/ip-address/README.md +92 -82
  146. package/node_modules/ip-address/dist/common.d.ts +20 -0
  147. package/node_modules/ip-address/dist/common.js +36 -0
  148. package/node_modules/ip-address/dist/common.js.map +1 -1
  149. package/node_modules/ip-address/dist/ipv4.d.ts +50 -0
  150. package/node_modules/ip-address/dist/ipv4.js +75 -0
  151. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  152. package/node_modules/ip-address/dist/ipv6.d.ts +79 -10
  153. package/node_modules/ip-address/dist/ipv6.js +120 -30
  154. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  155. package/node_modules/ip-address/dist/v4/constants.d.ts +12 -0
  156. package/node_modules/ip-address/dist/v4/constants.js +40 -1
  157. package/node_modules/ip-address/dist/v4/constants.js.map +1 -1
  158. package/node_modules/ip-address/dist/v6/constants.d.ts +14 -0
  159. package/node_modules/ip-address/dist/v6/constants.js +47 -1
  160. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  161. package/node_modules/ip-address/package.json +1 -1
  162. package/node_modules/is-plain-object/README.md +39 -95
  163. package/node_modules/is-plain-object/dist/is-plain-object.js +0 -2
  164. package/node_modules/is-plain-object/is-plain-object.d.ts +6 -1
  165. package/node_modules/is-plain-object/package.json +8 -34
  166. package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +7 -16
  167. package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +10 -20
  168. package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +7 -16
  169. package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +16 -38
  170. package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +7 -16
  171. package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +19 -38
  172. package/node_modules/jose/dist/types/jwk/embedded.d.ts +3 -8
  173. package/node_modules/jose/dist/types/jwk/thumbprint.d.ts +5 -5
  174. package/node_modules/jose/dist/types/jwks/local.d.ts +6 -10
  175. package/node_modules/jose/dist/types/jwks/remote.d.ts +17 -28
  176. package/node_modules/jose/dist/types/jws/compact/sign.d.ts +5 -10
  177. package/node_modules/jose/dist/types/jws/compact/verify.d.ts +9 -18
  178. package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +7 -16
  179. package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +9 -18
  180. package/node_modules/jose/dist/types/jws/general/sign.d.ts +11 -21
  181. package/node_modules/jose/dist/types/jws/general/verify.d.ts +12 -21
  182. package/node_modules/jose/dist/types/jwt/decrypt.d.ts +10 -20
  183. package/node_modules/jose/dist/types/jwt/encrypt.d.ts +17 -29
  184. package/node_modules/jose/dist/types/jwt/sign.d.ts +12 -19
  185. package/node_modules/jose/dist/types/jwt/unsecured.d.ts +17 -28
  186. package/node_modules/jose/dist/types/jwt/verify.d.ts +9 -19
  187. package/node_modules/jose/dist/types/key/export.d.ts +4 -4
  188. package/node_modules/jose/dist/types/key/generate_key_pair.d.ts +6 -8
  189. package/node_modules/jose/dist/types/key/generate_secret.d.ts +4 -11
  190. package/node_modules/jose/dist/types/key/import.d.ts +10 -17
  191. package/node_modules/jose/dist/types/types.d.ts +48 -86
  192. package/node_modules/jose/dist/types/util/base64url.d.ts +2 -2
  193. package/node_modules/jose/dist/types/util/decode_jwt.d.ts +3 -10
  194. package/node_modules/jose/dist/types/util/decode_protected_header.d.ts +4 -4
  195. package/node_modules/jose/dist/types/util/errors.d.ts +26 -53
  196. package/node_modules/jose/dist/webapi/index.js +70 -32
  197. package/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +7 -8
  198. package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +42 -26
  199. package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +14 -10
  200. package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +53 -71
  201. package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +38 -49
  202. package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +121 -158
  203. package/node_modules/jose/dist/webapi/jwk/embedded.js +30 -18
  204. package/node_modules/jose/dist/webapi/jwk/thumbprint.js +54 -64
  205. package/node_modules/jose/dist/webapi/jwks/local.js +49 -74
  206. package/node_modules/jose/dist/webapi/jwks/remote.js +91 -160
  207. package/node_modules/jose/dist/webapi/jws/compact/sign.js +21 -20
  208. package/node_modules/jose/dist/webapi/jws/compact/verify.js +7 -8
  209. package/node_modules/jose/dist/webapi/jws/flattened/sign.js +29 -30
  210. package/node_modules/jose/dist/webapi/jws/flattened/verify.js +21 -23
  211. package/node_modules/jose/dist/webapi/jws/general/sign.js +61 -70
  212. package/node_modules/jose/dist/webapi/jws/general/verify.js +47 -41
  213. package/node_modules/jose/dist/webapi/jwt/decrypt.js +13 -22
  214. package/node_modules/jose/dist/webapi/jwt/encrypt.js +58 -100
  215. package/node_modules/jose/dist/webapi/jwt/sign.js +18 -50
  216. package/node_modules/jose/dist/webapi/jwt/unsecured.js +34 -63
  217. package/node_modules/jose/dist/webapi/jwt/verify.js +12 -14
  218. package/node_modules/jose/dist/webapi/key/export.js +32 -37
  219. package/node_modules/jose/dist/webapi/key/generate_key_pair.js +40 -44
  220. package/node_modules/jose/dist/webapi/key/generate_secret.js +35 -39
  221. package/node_modules/jose/dist/webapi/key/import.js +52 -52
  222. package/node_modules/jose/dist/webapi/lib/asn1.js +130 -164
  223. package/node_modules/jose/dist/webapi/lib/base64.js +18 -20
  224. package/node_modules/jose/dist/webapi/lib/buffer_utils.js +34 -38
  225. package/node_modules/jose/dist/webapi/lib/content_encryption.js +79 -123
  226. package/node_modules/jose/dist/webapi/lib/crypto_key.js +24 -25
  227. package/node_modules/jose/dist/webapi/lib/deflate.js +46 -40
  228. package/node_modules/jose/dist/webapi/lib/helpers.js +40 -37
  229. package/node_modules/jose/dist/webapi/lib/invalid_key_input.js +10 -24
  230. package/node_modules/jose/dist/webapi/lib/is_key_like.js +17 -15
  231. package/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +106 -93
  232. package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +210 -176
  233. package/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +105 -107
  234. package/node_modules/jose/dist/webapi/lib/jwk_metadata.js +19 -0
  235. package/node_modules/jose/dist/webapi/lib/jwk_to_key.js +9 -16
  236. package/node_modules/jose/dist/webapi/lib/jws_algorithms.js +62 -61
  237. package/node_modules/jose/dist/webapi/lib/jws_sign.js +58 -72
  238. package/node_modules/jose/dist/webapi/lib/jws_verify.js +90 -103
  239. package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +134 -185
  240. package/node_modules/jose/dist/webapi/lib/key.js +84 -121
  241. package/node_modules/jose/dist/webapi/lib/key_algorithm.js +13 -8
  242. package/node_modules/jose/dist/webapi/lib/key_descriptor.js +8 -6
  243. package/node_modules/jose/dist/webapi/lib/key_management.js +200 -225
  244. package/node_modules/jose/dist/webapi/lib/key_options.js +8 -0
  245. package/node_modules/jose/dist/webapi/lib/options.js +57 -44
  246. package/node_modules/jose/dist/webapi/lib/signing.js +18 -22
  247. package/node_modules/jose/dist/webapi/lib/type_checks.js +28 -33
  248. package/node_modules/jose/dist/webapi/util/base64url.js +26 -35
  249. package/node_modules/jose/dist/webapi/util/decode_jwt.js +32 -31
  250. package/node_modules/jose/dist/webapi/util/decode_protected_header.js +18 -23
  251. package/node_modules/jose/dist/webapi/util/errors.js +94 -84
  252. package/node_modules/jose/package.json +17 -81
  253. package/package.json +2 -2
  254. package/profiles/calendar/0.5.profile.json +190 -0
  255. package/profiles/charge/0.5.profile.json +210 -0
  256. package/profiles/customers/0.7.profile.json +157 -0
  257. package/profiles/deploy/0.9.profile.json +176 -0
  258. package/profiles/email/0.6.profile.json +208 -0
  259. package/profiles/index.json +9 -1
  260. package/profiles/publish/0.5.profile.json +186 -0
  261. package/profiles/purchase/0.5.profile.json +231 -0
  262. package/profiles/records/0.5.profile.json +117 -0
  263. package/dist/ui/assets/index-0Q2eNytX.js +0 -110
  264. package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/HISTORY.md +0 -114
@@ -0,0 +1,190 @@
1
+ {
2
+ "id": "github.com/humanagencyprotocol/hap-profiles/calendar@0.5",
3
+ "name": "Calendar",
4
+ "version": "0.5",
5
+ "description": "Calendar authority — governs calendar access: reading, drafting, and booking events",
6
+ "boundsSchema": {
7
+ "actionTypes": [
8
+ "booking",
9
+ "delete"
10
+ ],
11
+ "keyOrder": [
12
+ "profile",
13
+ "booking_daily_max",
14
+ "booking_duration_max",
15
+ "lookahead_days_max"
16
+ ],
17
+ "fields": {
18
+ "profile": {
19
+ "type": "string",
20
+ "required": true
21
+ },
22
+ "booking_daily_max": {
23
+ "type": "number",
24
+ "required": true,
25
+ "displayName": "Daily booking limit",
26
+ "description": "Maximum new events booked per day",
27
+ "unit": "count",
28
+ "boundType": {
29
+ "kind": "cumulative_count",
30
+ "window": "daily"
31
+ },
32
+ "appliesTo": [
33
+ "booking"
34
+ ]
35
+ },
36
+ "booking_duration_max": {
37
+ "type": "number",
38
+ "required": true,
39
+ "displayName": "Max event duration",
40
+ "description": "Maximum duration of a single event",
41
+ "unit": "minutes",
42
+ "boundType": {
43
+ "kind": "per_transaction",
44
+ "of": "duration"
45
+ }
46
+ },
47
+ "lookahead_days_max": {
48
+ "type": "number",
49
+ "required": true,
50
+ "displayName": "Max lookahead",
51
+ "description": "Maximum number of days into the future an event can be booked",
52
+ "unit": "days",
53
+ "boundType": {
54
+ "kind": "per_transaction",
55
+ "of": "lookahead"
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "contextSchema": {
61
+ "keyOrder": [
62
+ "allowed_calendars",
63
+ "allowed_attendees",
64
+ "allowed_domains"
65
+ ],
66
+ "fields": {
67
+ "allowed_calendars": {
68
+ "type": "string",
69
+ "required": false,
70
+ "displayName": "Allowed calendars",
71
+ "description": "Comma-separated list of calendar names the agent may access",
72
+ "constraint": {
73
+ "type": "string",
74
+ "enforceable": [
75
+ "subset"
76
+ ]
77
+ }
78
+ },
79
+ "allowed_attendees": {
80
+ "type": "string",
81
+ "required": false,
82
+ "displayName": "Allowed attendees",
83
+ "format": "email",
84
+ "description": "Comma-separated list of allowed attendee email addresses",
85
+ "constraint": {
86
+ "type": "string",
87
+ "enforceable": [
88
+ "subset"
89
+ ]
90
+ }
91
+ },
92
+ "allowed_domains": {
93
+ "type": "string",
94
+ "required": false,
95
+ "displayName": "Allowed domains",
96
+ "format": "domain",
97
+ "description": "Comma-separated list of allowed attendee domains (e.g. acme.com,partner.org)",
98
+ "constraint": {
99
+ "type": "string",
100
+ "enforceable": [
101
+ "subset"
102
+ ]
103
+ }
104
+ }
105
+ }
106
+ },
107
+ "executionContextSchema": {
108
+ "fields": {
109
+ "duration": {
110
+ "source": "declared",
111
+ "description": "Duration of the event in minutes",
112
+ "required": true,
113
+ "constraint": {
114
+ "type": "number",
115
+ "enforceable": [
116
+ "max"
117
+ ]
118
+ }
119
+ },
120
+ "lookahead": {
121
+ "source": "declared",
122
+ "description": "Days from now the event is scheduled",
123
+ "required": true,
124
+ "constraint": {
125
+ "type": "number",
126
+ "enforceable": [
127
+ "max"
128
+ ]
129
+ }
130
+ },
131
+ "allowed_calendars": {
132
+ "source": "declared",
133
+ "description": "Calendar being used (checked against authorized calendars)",
134
+ "required": false,
135
+ "constraint": {
136
+ "type": "string",
137
+ "enforceable": [
138
+ "subset"
139
+ ]
140
+ }
141
+ },
142
+ "allowed_attendees": {
143
+ "source": "declared",
144
+ "description": "Attendee addresses from this event (checked against authorized attendees)",
145
+ "required": false,
146
+ "constraint": {
147
+ "type": "string",
148
+ "enforceable": [
149
+ "subset"
150
+ ]
151
+ }
152
+ },
153
+ "allowed_domains": {
154
+ "source": "declared",
155
+ "description": "Unique attendee domains from this event (checked against authorized domains)",
156
+ "required": false,
157
+ "constraint": {
158
+ "type": "string",
159
+ "enforceable": [
160
+ "subset"
161
+ ]
162
+ }
163
+ },
164
+ "booking_count_daily": {
165
+ "source": "cumulative",
166
+ "cumulativeField": "_count",
167
+ "window": "daily",
168
+ "description": "Running daily booking count (resolved from execution log)",
169
+ "required": true,
170
+ "constraint": {
171
+ "type": "number",
172
+ "enforceable": [
173
+ "max"
174
+ ]
175
+ }
176
+ }
177
+ }
178
+ },
179
+ "requiredGates": [
180
+ "bounds",
181
+ "intent",
182
+ "commitment",
183
+ "decision_owner"
184
+ ],
185
+ "ttl": {
186
+ "default": 86400,
187
+ "max": 31536000
188
+ },
189
+ "retention_minimum": 7776000
190
+ }
@@ -0,0 +1,210 @@
1
+ {
2
+ "id": "github.com/humanagencyprotocol/hap-profiles/charge@0.5",
3
+ "name": "Charge",
4
+ "version": "0.5",
5
+ "description": "Charge authority — governs charging customers: payments, refunds, subscriptions",
6
+ "boundsSchema": {
7
+ "actionTypes": [
8
+ "charge",
9
+ "subscribe",
10
+ "unclassified"
11
+ ],
12
+ "keyOrder": [
13
+ "profile",
14
+ "amount_max",
15
+ "amount_daily_max",
16
+ "amount_monthly_max",
17
+ "transaction_count_daily_max"
18
+ ],
19
+ "fields": {
20
+ "profile": {
21
+ "type": "string",
22
+ "required": true
23
+ },
24
+ "amount_max": {
25
+ "type": "number",
26
+ "required": true,
27
+ "displayName": "Max per transaction",
28
+ "description": "Maximum monetary amount per transaction in currency units",
29
+ "unit": "currency:EUR",
30
+ "boundType": {
31
+ "kind": "per_transaction",
32
+ "of": "amount"
33
+ }
34
+ },
35
+ "amount_daily_max": {
36
+ "type": "number",
37
+ "required": true,
38
+ "displayName": "Daily charge limit",
39
+ "description": "Maximum cumulative charges per day in currency units",
40
+ "unit": "currency:EUR",
41
+ "boundType": {
42
+ "kind": "cumulative_sum",
43
+ "of": "amount",
44
+ "window": "daily"
45
+ }
46
+ },
47
+ "amount_monthly_max": {
48
+ "type": "number",
49
+ "required": true,
50
+ "displayName": "Monthly charge limit",
51
+ "description": "Maximum cumulative charges per month in currency units",
52
+ "unit": "currency:EUR",
53
+ "boundType": {
54
+ "kind": "cumulative_sum",
55
+ "of": "amount",
56
+ "window": "monthly"
57
+ }
58
+ },
59
+ "transaction_count_daily_max": {
60
+ "type": "number",
61
+ "required": true,
62
+ "displayName": "Daily transaction limit",
63
+ "description": "Maximum number of transactions per day",
64
+ "unit": "count",
65
+ "boundType": {
66
+ "kind": "cumulative_count",
67
+ "window": "daily"
68
+ },
69
+ "appliesTo": [
70
+ "charge",
71
+ "subscribe",
72
+ "unclassified"
73
+ ]
74
+ }
75
+ }
76
+ },
77
+ "contextSchema": {
78
+ "keyOrder": [
79
+ "currency",
80
+ "action_type"
81
+ ],
82
+ "fields": {
83
+ "currency": {
84
+ "type": "string",
85
+ "required": true,
86
+ "displayName": "Currency",
87
+ "description": "Permitted currency code",
88
+ "constraint": {
89
+ "type": "string",
90
+ "enforceable": [
91
+ "enum"
92
+ ]
93
+ },
94
+ "enum": [
95
+ "USD",
96
+ "EUR",
97
+ "GBP",
98
+ "CHF",
99
+ "JPY",
100
+ "CAD",
101
+ "AUD"
102
+ ]
103
+ },
104
+ "action_type": {
105
+ "type": "string",
106
+ "required": true,
107
+ "displayName": "Action type",
108
+ "description": "Authorized financial operation",
109
+ "constraint": {
110
+ "type": "string",
111
+ "enforceable": [
112
+ "enum"
113
+ ]
114
+ },
115
+ "enum": [
116
+ "charge",
117
+ "refund",
118
+ "subscribe"
119
+ ]
120
+ }
121
+ }
122
+ },
123
+ "executionContextSchema": {
124
+ "fields": {
125
+ "action_type": {
126
+ "source": "declared",
127
+ "description": "Financial operation being performed",
128
+ "required": true,
129
+ "constraint": {
130
+ "type": "string",
131
+ "enforceable": [
132
+ "enum"
133
+ ]
134
+ }
135
+ },
136
+ "amount": {
137
+ "source": "declared",
138
+ "description": "Monetary amount in currency units",
139
+ "required": true,
140
+ "constraint": {
141
+ "type": "number",
142
+ "enforceable": [
143
+ "max"
144
+ ]
145
+ }
146
+ },
147
+ "currency": {
148
+ "source": "declared",
149
+ "description": "Currency code",
150
+ "required": true,
151
+ "constraint": {
152
+ "type": "string",
153
+ "enforceable": [
154
+ "enum"
155
+ ]
156
+ }
157
+ },
158
+ "amount_daily": {
159
+ "source": "cumulative",
160
+ "cumulativeField": "amount",
161
+ "window": "daily",
162
+ "description": "Running daily charge total (resolved from execution log)",
163
+ "required": true,
164
+ "constraint": {
165
+ "type": "number",
166
+ "enforceable": [
167
+ "max"
168
+ ]
169
+ }
170
+ },
171
+ "amount_monthly": {
172
+ "source": "cumulative",
173
+ "cumulativeField": "amount",
174
+ "window": "monthly",
175
+ "description": "Running monthly charge total (resolved from execution log)",
176
+ "required": true,
177
+ "constraint": {
178
+ "type": "number",
179
+ "enforceable": [
180
+ "max"
181
+ ]
182
+ }
183
+ },
184
+ "transaction_count_daily": {
185
+ "source": "cumulative",
186
+ "cumulativeField": "_count",
187
+ "window": "daily",
188
+ "description": "Running daily transaction count (resolved from execution log)",
189
+ "required": true,
190
+ "constraint": {
191
+ "type": "number",
192
+ "enforceable": [
193
+ "max"
194
+ ]
195
+ }
196
+ }
197
+ }
198
+ },
199
+ "requiredGates": [
200
+ "bounds",
201
+ "intent",
202
+ "commitment",
203
+ "decision_owner"
204
+ ],
205
+ "ttl": {
206
+ "default": 86400,
207
+ "max": 2592000
208
+ },
209
+ "retention_minimum": 7776000
210
+ }
@@ -0,0 +1,157 @@
1
+ {
2
+ "id": "github.com/humanagencyprotocol/hap-profiles/customers@0.7",
3
+ "name": "Customer Management",
4
+ "version": "0.7",
5
+ "description": "Customer authority — governs CRM operations: contacts, activities, deals, tasks",
6
+ "boundsSchema": {
7
+ "actionTypes": [
8
+ "delete",
9
+ "write"
10
+ ],
11
+ "keyOrder": [
12
+ "profile",
13
+ "read_access",
14
+ "export_access",
15
+ "write_daily_max",
16
+ "delete_daily_max"
17
+ ],
18
+ "fields": {
19
+ "profile": {
20
+ "type": "string",
21
+ "required": true
22
+ },
23
+ "read_access": {
24
+ "type": "string",
25
+ "required": true,
26
+ "displayName": "Read access",
27
+ "description": "Allow the agent to browse contacts, timelines, pipeline and tasks. Bulk export is governed separately by Export access.",
28
+ "boundType": {
29
+ "kind": "enum",
30
+ "values": [
31
+ "unlimited",
32
+ "none"
33
+ ]
34
+ },
35
+ "toolsDescription": "find_contacts, get_timeline, get_pipeline, list_tasks",
36
+ "default": "unlimited"
37
+ },
38
+ "export_access": {
39
+ "type": "string",
40
+ "required": true,
41
+ "displayName": "Export access",
42
+ "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.",
43
+ "boundType": {
44
+ "kind": "enum",
45
+ "values": [
46
+ "allowed",
47
+ "none"
48
+ ]
49
+ },
50
+ "toolsDescription": "export_crm",
51
+ "default": "none"
52
+ },
53
+ "write_daily_max": {
54
+ "type": "number",
55
+ "required": true,
56
+ "displayName": "Daily write limit",
57
+ "description": "Maximum CRM write operations per day (creates, updates)",
58
+ "unit": "count",
59
+ "boundType": {
60
+ "kind": "cumulative_count",
61
+ "window": "daily"
62
+ },
63
+ "paths": [
64
+ "customers-write"
65
+ ],
66
+ "appliesTo": [
67
+ "write"
68
+ ]
69
+ },
70
+ "delete_daily_max": {
71
+ "type": "number",
72
+ "required": true,
73
+ "displayName": "Daily delete limit",
74
+ "description": "Maximum CRM delete operations per day",
75
+ "unit": "count",
76
+ "boundType": {
77
+ "kind": "cumulative_count",
78
+ "window": "daily"
79
+ },
80
+ "paths": [
81
+ "customers-delete"
82
+ ],
83
+ "appliesTo": [
84
+ "delete"
85
+ ]
86
+ }
87
+ }
88
+ },
89
+ "contextSchema": {
90
+ "keyOrder": [
91
+ "contact_type"
92
+ ],
93
+ "fields": {
94
+ "contact_type": {
95
+ "type": "string",
96
+ "required": true,
97
+ "displayName": "Contact types the agent may create or modify",
98
+ "description": "Contact types the agent may create, update or delete. Does NOT restrict reading — reads are governed by read_access.",
99
+ "enum": [
100
+ "customer",
101
+ "lead",
102
+ "partner",
103
+ "vendor"
104
+ ],
105
+ "constraint": {
106
+ "type": "string",
107
+ "enforceable": [
108
+ "subset"
109
+ ]
110
+ }
111
+ }
112
+ }
113
+ },
114
+ "executionContextSchema": {
115
+ "fields": {
116
+ "contact_type": {
117
+ "source": "declared",
118
+ "description": "Contact type being accessed",
119
+ "required": true,
120
+ "constraint": {
121
+ "type": "string",
122
+ "enforceable": [
123
+ "subset"
124
+ ]
125
+ }
126
+ },
127
+ "write_count_daily": {
128
+ "source": "cumulative",
129
+ "cumulativeField": "_count",
130
+ "window": "daily",
131
+ "description": "Running daily write operation count",
132
+ "required": true,
133
+ "constraint": {
134
+ "type": "number",
135
+ "enforceable": [
136
+ "max"
137
+ ]
138
+ }
139
+ }
140
+ }
141
+ },
142
+ "requiredGates": [
143
+ "bounds",
144
+ "intent",
145
+ "commitment",
146
+ "decision_owner"
147
+ ],
148
+ "ttl": {
149
+ "default": 86400,
150
+ "max": 31536000
151
+ },
152
+ "retention_minimum": 7776000,
153
+ "content_binding": {
154
+ "version": "1",
155
+ "kind": "jcs"
156
+ }
157
+ }