@kya-os/mcp 1.16.2 → 1.18.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 (469) hide show
  1. package/AUDITABILITY.md +129 -8
  2. package/CHANGELOG.md +641 -0
  3. package/CONFORMANCE.md +12 -6
  4. package/README.md +67 -26
  5. package/SPEC.md +105 -18
  6. package/dist/audit/adapters/legacy-audit-log.d.ts +0 -1
  7. package/dist/audit/adapters/mcp.d.ts +0 -1
  8. package/dist/audit/adapters/mcp.js +35 -20
  9. package/dist/audit/adapters/mcp.js.map +1 -1
  10. package/dist/audit/adapters/references.d.ts +9 -0
  11. package/dist/audit/adapters/references.js +22 -0
  12. package/dist/audit/adapters/references.js.map +1 -0
  13. package/dist/audit/assurance.d.ts +0 -1
  14. package/dist/audit/checkpoint-coordinator.d.ts +0 -1
  15. package/dist/audit/checkpoint.d.ts +17 -1
  16. package/dist/audit/checkpoint.js +76 -21
  17. package/dist/audit/checkpoint.js.map +1 -1
  18. package/dist/audit/cli.d.ts +0 -1
  19. package/dist/audit/crypto.d.ts +0 -1
  20. package/dist/audit/crypto.js +12 -3
  21. package/dist/audit/crypto.js.map +1 -1
  22. package/dist/audit/errors.d.ts +0 -1
  23. package/dist/audit/evidence.d.ts +0 -1
  24. package/dist/audit/index.d.ts +0 -1
  25. package/dist/audit/integrity.d.ts +0 -1
  26. package/dist/audit/merkle.d.ts +0 -1
  27. package/dist/audit/mirror-service.d.ts +0 -1
  28. package/dist/audit/projection.d.ts +1 -1
  29. package/dist/audit/projection.js +23 -2
  30. package/dist/audit/projection.js.map +1 -1
  31. package/dist/audit/providers/anchor.d.ts +0 -1
  32. package/dist/audit/providers/evidence.d.ts +0 -1
  33. package/dist/audit/providers/journal.d.ts +0 -1
  34. package/dist/audit/providers/memory-journal.d.ts +0 -1
  35. package/dist/audit/providers/observer.d.ts +0 -1
  36. package/dist/audit/providers/outbox.d.ts +35 -6
  37. package/dist/audit/providers/outbox.js +46 -8
  38. package/dist/audit/providers/outbox.js.map +1 -1
  39. package/dist/audit/providers/recorder-client.d.ts +0 -1
  40. package/dist/audit/providers/source-state.d.ts +24 -2
  41. package/dist/audit/providers/source-state.js +65 -44
  42. package/dist/audit/providers/source-state.js.map +1 -1
  43. package/dist/audit/read-contract.d.ts +0 -1
  44. package/dist/audit/read-service.d.ts +2 -3
  45. package/dist/audit/read-service.js +17 -12
  46. package/dist/audit/read-service.js.map +1 -1
  47. package/dist/audit/recorder-service.d.ts +33 -5
  48. package/dist/audit/recorder-service.js +116 -20
  49. package/dist/audit/recorder-service.js.map +1 -1
  50. package/dist/audit/reference-recorder.d.ts +0 -1
  51. package/dist/audit/replay-bundle.d.ts +0 -1
  52. package/dist/audit/replay-bundle.js +143 -36
  53. package/dist/audit/replay-bundle.js.map +1 -1
  54. package/dist/audit/schemas.d.ts +0 -1
  55. package/dist/audit/service.d.ts +6 -3
  56. package/dist/audit/service.js +55 -24
  57. package/dist/audit/service.js.map +1 -1
  58. package/dist/audit/testing/index.d.ts +0 -1
  59. package/dist/audit/testing/provider-contracts.d.ts +1 -2
  60. package/dist/audit/testing/provider-contracts.js +32 -2
  61. package/dist/audit/testing/provider-contracts.js.map +1 -1
  62. package/dist/audit/types.d.ts +0 -1
  63. package/dist/audit/verifier.d.ts +57 -5
  64. package/dist/audit/verifier.js +240 -49
  65. package/dist/audit/verifier.js.map +1 -1
  66. package/dist/auth/handshake.d.ts +12 -1
  67. package/dist/auth/handshake.js +44 -11
  68. package/dist/auth/handshake.js.map +1 -1
  69. package/dist/auth/index.d.ts +0 -1
  70. package/dist/auth/types.d.ts +0 -1
  71. package/dist/authz/accountability.d.ts +0 -1
  72. package/dist/authz/adapter.d.ts +0 -1
  73. package/dist/authz/examples/inmemory-oidc.d.ts +0 -1
  74. package/dist/authz/index.d.ts +0 -1
  75. package/dist/authz/oidc/authorize.d.ts +0 -1
  76. package/dist/authz/oidc/metadata.d.ts +0 -1
  77. package/dist/authz/oidc/oidc-adapter.d.ts +0 -1
  78. package/dist/authz/oidc/oidc-adapter.js +51 -3
  79. package/dist/authz/oidc/oidc-adapter.js.map +1 -1
  80. package/dist/authz/oidc/pending-flow-store.d.ts +6 -1
  81. package/dist/authz/oidc/pending-flow-store.js +22 -2
  82. package/dist/authz/oidc/pending-flow-store.js.map +1 -1
  83. package/dist/authz/oidc/pkce.d.ts +0 -1
  84. package/dist/authz/registry.d.ts +0 -1
  85. package/dist/authz/requirement.d.ts +0 -1
  86. package/dist/card/build.d.ts +0 -1
  87. package/dist/card/builder.d.ts +0 -1
  88. package/dist/card/cimd.d.ts +19 -5
  89. package/dist/card/cimd.js +52 -7
  90. package/dist/card/cimd.js.map +1 -1
  91. package/dist/card/delegation.d.ts +12 -4
  92. package/dist/card/delegation.js +38 -22
  93. package/dist/card/delegation.js.map +1 -1
  94. package/dist/card/emit.d.ts +0 -1
  95. package/dist/card/index.d.ts +0 -1
  96. package/dist/card/middleware.d.ts +0 -1
  97. package/dist/card/proof/build.d.ts +0 -1
  98. package/dist/card/proof/canonical.d.ts +0 -1
  99. package/dist/card/proof/canonical.js +6 -1
  100. package/dist/card/proof/canonical.js.map +1 -1
  101. package/dist/card/proof/http-sig.d.ts +0 -1
  102. package/dist/card/proof/index.d.ts +0 -1
  103. package/dist/card/proof/nonce-cache.d.ts +15 -14
  104. package/dist/card/proof/nonce-cache.js +22 -20
  105. package/dist/card/proof/nonce-cache.js.map +1 -1
  106. package/dist/card/proof/signer.d.ts +0 -1
  107. package/dist/card/proof/types.d.ts +10 -4
  108. package/dist/card/proof/types.js +2 -2
  109. package/dist/card/proof/verify.d.ts +0 -1
  110. package/dist/card/proof/verify.js +17 -3
  111. package/dist/card/proof/verify.js.map +1 -1
  112. package/dist/card/resolve.d.ts +0 -1
  113. package/dist/card/resolve.js +13 -8
  114. package/dist/card/resolve.js.map +1 -1
  115. package/dist/card/revocation.d.ts +0 -1
  116. package/dist/card/revocation.js +18 -6
  117. package/dist/card/revocation.js.map +1 -1
  118. package/dist/card/schema.d.ts +7 -6
  119. package/dist/card/schema.js +7 -3
  120. package/dist/card/schema.js.map +1 -1
  121. package/dist/card/verify.d.ts +0 -1
  122. package/dist/delegation/audience-validator.d.ts +0 -1
  123. package/dist/delegation/bitstring.d.ts +0 -1
  124. package/dist/delegation/cascading-revocation.d.ts +1 -2
  125. package/dist/delegation/cascading-revocation.js +34 -36
  126. package/dist/delegation/cascading-revocation.js.map +1 -1
  127. package/dist/delegation/chain-enforcement.d.ts +42 -5
  128. package/dist/delegation/chain-enforcement.js +127 -34
  129. package/dist/delegation/chain-enforcement.js.map +1 -1
  130. package/dist/delegation/delegation-graph.d.ts +30 -1
  131. package/dist/delegation/delegation-graph.js +33 -0
  132. package/dist/delegation/delegation-graph.js.map +1 -1
  133. package/dist/delegation/delegation-registration.d.ts +22 -0
  134. package/dist/delegation/delegation-registration.js +51 -0
  135. package/dist/delegation/delegation-registration.js.map +1 -0
  136. package/dist/delegation/delegation-status-entry.d.ts +22 -0
  137. package/dist/delegation/delegation-status-entry.js +42 -0
  138. package/dist/delegation/delegation-status-entry.js.map +1 -0
  139. package/dist/delegation/did-key-resolver.d.ts +0 -1
  140. package/dist/delegation/did-key-resolver.js +15 -4
  141. package/dist/delegation/did-key-resolver.js.map +1 -1
  142. package/dist/delegation/did-linkage.d.ts +0 -1
  143. package/dist/delegation/did-resolver-registry.d.ts +0 -1
  144. package/dist/delegation/did-web-resolver.d.ts +0 -1
  145. package/dist/delegation/did-web-resolver.js +40 -5
  146. package/dist/delegation/did-web-resolver.js.map +1 -1
  147. package/dist/delegation/holder-binding.d.ts +11 -11
  148. package/dist/delegation/holder-binding.js +8 -17
  149. package/dist/delegation/holder-binding.js.map +1 -1
  150. package/dist/delegation/index.d.ts +0 -1
  151. package/dist/delegation/outbound-headers.d.ts +0 -1
  152. package/dist/delegation/outbound-proof.d.ts +0 -1
  153. package/dist/delegation/scope-matcher.d.ts +25 -2
  154. package/dist/delegation/scope-matcher.js +75 -5
  155. package/dist/delegation/scope-matcher.js.map +1 -1
  156. package/dist/delegation/status-cache.d.ts +0 -1
  157. package/dist/delegation/statuslist-manager.d.ts +18 -2
  158. package/dist/delegation/statuslist-manager.js +40 -14
  159. package/dist/delegation/statuslist-manager.js.map +1 -1
  160. package/dist/delegation/storage/memory-graph-storage.d.ts +9 -3
  161. package/dist/delegation/storage/memory-graph-storage.js +28 -14
  162. package/dist/delegation/storage/memory-graph-storage.js.map +1 -1
  163. package/dist/delegation/storage/memory-statuslist-storage.d.ts +0 -1
  164. package/dist/delegation/utils.d.ts +5 -5
  165. package/dist/delegation/utils.js +4 -4
  166. package/dist/delegation/utils.js.map +1 -1
  167. package/dist/delegation/vc-issuer.d.ts +0 -1
  168. package/dist/delegation/vc-jwt-verify.d.ts +7 -2
  169. package/dist/delegation/vc-jwt-verify.js +55 -3
  170. package/dist/delegation/vc-jwt-verify.js.map +1 -1
  171. package/dist/delegation/vc-verification-checks.d.ts +0 -1
  172. package/dist/delegation/vc-verification-checks.js +9 -5
  173. package/dist/delegation/vc-verification-checks.js.map +1 -1
  174. package/dist/delegation/vc-verifier.d.ts +0 -1
  175. package/dist/delegation/vc-verifier.types.d.ts +0 -1
  176. package/dist/delegation/verification-method-key.d.ts +0 -1
  177. package/dist/delegation/verification-method-key.js +4 -3
  178. package/dist/delegation/verification-method-key.js.map +1 -1
  179. package/dist/errors.d.ts +0 -1
  180. package/dist/extension/declaration.d.ts +0 -1
  181. package/dist/extension/gate.d.ts +0 -1
  182. package/dist/extension/index.d.ts +0 -1
  183. package/dist/extension/settings.d.ts +0 -1
  184. package/dist/index.d.ts +2 -3
  185. package/dist/index.js +1 -1
  186. package/dist/index.js.map +1 -1
  187. package/dist/integrations/cheqd/dlr.d.ts +0 -1
  188. package/dist/integrations/cheqd/dlr.js +6 -1
  189. package/dist/integrations/cheqd/dlr.js.map +1 -1
  190. package/dist/integrations/cheqd/index.d.ts +0 -1
  191. package/dist/integrations/cheqd/linkage.d.ts +0 -1
  192. package/dist/integrations/cheqd/registrar.d.ts +0 -1
  193. package/dist/integrations/cheqd/resolver.d.ts +0 -1
  194. package/dist/integrations/cheqd/statuslist-resolver.d.ts +0 -1
  195. package/dist/logging/index.d.ts +0 -1
  196. package/dist/logging/logger.d.ts +0 -1
  197. package/dist/middleware/index.d.ts +0 -1
  198. package/dist/middleware/kya-os-transport.d.ts +5 -3
  199. package/dist/middleware/kya-os-transport.js +58 -24
  200. package/dist/middleware/kya-os-transport.js.map +1 -1
  201. package/dist/middleware/with-kya-os-server.d.ts +30 -4
  202. package/dist/middleware/with-kya-os-server.js +19 -0
  203. package/dist/middleware/with-kya-os-server.js.map +1 -1
  204. package/dist/middleware/with-kya-os.config-types.d.ts +32 -4
  205. package/dist/middleware/with-kya-os.d.ts +0 -1
  206. package/dist/middleware/with-kya-os.delegation-gate.d.ts +2 -1
  207. package/dist/middleware/with-kya-os.delegation-gate.js +37 -9
  208. package/dist/middleware/with-kya-os.delegation-gate.js.map +1 -1
  209. package/dist/middleware/with-kya-os.delegation-verify.d.ts +1 -1
  210. package/dist/middleware/with-kya-os.delegation-verify.js +52 -9
  211. package/dist/middleware/with-kya-os.delegation-verify.js.map +1 -1
  212. package/dist/middleware/with-kya-os.deps.d.ts +0 -1
  213. package/dist/middleware/with-kya-os.grants.d.ts +13 -6
  214. package/dist/middleware/with-kya-os.grants.js +56 -18
  215. package/dist/middleware/with-kya-os.grants.js.map +1 -1
  216. package/dist/middleware/with-kya-os.helpers.d.ts +0 -1
  217. package/dist/middleware/with-kya-os.js +14 -4
  218. package/dist/middleware/with-kya-os.js.map +1 -1
  219. package/dist/middleware/with-kya-os.policy-gate.d.ts +0 -1
  220. package/dist/middleware/with-kya-os.policy-gate.js +18 -9
  221. package/dist/middleware/with-kya-os.policy-gate.js.map +1 -1
  222. package/dist/middleware/with-kya-os.protocol.d.ts +0 -1
  223. package/dist/middleware/with-kya-os.session.d.ts +28 -1
  224. package/dist/middleware/with-kya-os.session.js +146 -7
  225. package/dist/middleware/with-kya-os.session.js.map +1 -1
  226. package/dist/middleware/with-kya-os.types.d.ts +28 -5
  227. package/dist/policy/approval.d.ts +13 -2
  228. package/dist/policy/approval.js +15 -4
  229. package/dist/policy/approval.js.map +1 -1
  230. package/dist/policy/classifier.d.ts +0 -1
  231. package/dist/policy/default-engine.d.ts +5 -2
  232. package/dist/policy/default-engine.js +10 -2
  233. package/dist/policy/default-engine.js.map +1 -1
  234. package/dist/policy/engine.d.ts +0 -1
  235. package/dist/policy/index.d.ts +0 -1
  236. package/dist/policy/projection.d.ts +0 -1
  237. package/dist/policy/types.d.ts +0 -1
  238. package/dist/proof/covered-request.d.ts +46 -0
  239. package/dist/proof/covered-request.js +107 -0
  240. package/dist/proof/covered-request.js.map +1 -0
  241. package/dist/proof/errors.d.ts +3 -1
  242. package/dist/proof/errors.js +5 -0
  243. package/dist/proof/errors.js.map +1 -1
  244. package/dist/proof/generator.d.ts +51 -1
  245. package/dist/proof/generator.js +71 -13
  246. package/dist/proof/generator.js.map +1 -1
  247. package/dist/proof/index.d.ts +1 -2
  248. package/dist/proof/index.js.map +1 -1
  249. package/dist/proof/verifier.d.ts +50 -12
  250. package/dist/proof/verifier.js +164 -84
  251. package/dist/proof/verifier.js.map +1 -1
  252. package/dist/providers/audit-log.d.ts +0 -1
  253. package/dist/providers/base.d.ts +19 -1
  254. package/dist/providers/base.js.map +1 -1
  255. package/dist/providers/grant-store.d.ts +8 -2
  256. package/dist/providers/grant-store.js +5 -5
  257. package/dist/providers/grant-store.js.map +1 -1
  258. package/dist/providers/index.d.ts +0 -1
  259. package/dist/providers/memory.d.ts +19 -1
  260. package/dist/providers/memory.js +53 -7
  261. package/dist/providers/memory.js.map +1 -1
  262. package/dist/providers/node-crypto.d.ts +4 -1
  263. package/dist/providers/node-crypto.js +32 -9
  264. package/dist/providers/node-crypto.js.map +1 -1
  265. package/dist/providers/nonce-admission.d.ts +31 -0
  266. package/dist/providers/nonce-admission.js +47 -0
  267. package/dist/providers/nonce-admission.js.map +1 -0
  268. package/dist/providers/nonce-retention.d.ts +8 -0
  269. package/dist/providers/nonce-retention.js +15 -0
  270. package/dist/providers/nonce-retention.js.map +1 -0
  271. package/dist/providers/runtime-fetch.d.ts +0 -1
  272. package/dist/providers/system-clock.d.ts +0 -1
  273. package/dist/providers/web-crypto.d.ts +0 -1
  274. package/dist/providers/web-crypto.js +7 -1
  275. package/dist/providers/web-crypto.js.map +1 -1
  276. package/dist/session/index.d.ts +0 -1
  277. package/dist/session/manager.d.ts +13 -1
  278. package/dist/session/manager.js +25 -9
  279. package/dist/session/manager.js.map +1 -1
  280. package/dist/session/session-store.d.ts +0 -1
  281. package/dist/types/protocol.d.ts +11 -3
  282. package/dist/types/protocol.js +21 -14
  283. package/dist/types/protocol.js.map +1 -1
  284. package/dist/utils/base58.d.ts +16 -3
  285. package/dist/utils/base58.js +34 -12
  286. package/dist/utils/base58.js.map +1 -1
  287. package/dist/utils/base64.d.ts +0 -1
  288. package/dist/utils/canonical-json.d.ts +7 -1
  289. package/dist/utils/canonical-json.js +130 -60
  290. package/dist/utils/canonical-json.js.map +1 -1
  291. package/dist/utils/crypto-service.d.ts +0 -1
  292. package/dist/utils/crypto-service.js +22 -2
  293. package/dist/utils/crypto-service.js.map +1 -1
  294. package/dist/utils/did-helpers.d.ts +0 -1
  295. package/dist/utils/ed25519-constants.d.ts +0 -1
  296. package/dist/utils/ed25519-public-key.d.ts +27 -0
  297. package/dist/utils/ed25519-public-key.js +86 -0
  298. package/dist/utils/ed25519-public-key.js.map +1 -0
  299. package/dist/utils/guards.d.ts +0 -1
  300. package/dist/utils/index.d.ts +0 -1
  301. package/dist/utils/ip-classifier.d.ts +0 -1
  302. package/dist/utils/safe-fetch-transports.d.ts +0 -1
  303. package/dist/utils/safe-fetch-types.d.ts +0 -1
  304. package/dist/utils/safe-fetch.d.ts +0 -1
  305. package/dist/utils/statuslist-bits.d.ts +0 -1
  306. package/dist/utils/statuslist-purpose.d.ts +0 -1
  307. package/dist/utils/ttl-cache.d.ts +0 -1
  308. package/dist/utils/url.d.ts +0 -1
  309. package/package.json +24 -19
  310. package/schemas/card-delegation-credential.json +4 -1
  311. package/dist/audit/adapters/legacy-audit-log.d.ts.map +0 -1
  312. package/dist/audit/adapters/mcp.d.ts.map +0 -1
  313. package/dist/audit/assurance.d.ts.map +0 -1
  314. package/dist/audit/checkpoint-coordinator.d.ts.map +0 -1
  315. package/dist/audit/checkpoint.d.ts.map +0 -1
  316. package/dist/audit/cli.d.ts.map +0 -1
  317. package/dist/audit/crypto.d.ts.map +0 -1
  318. package/dist/audit/errors.d.ts.map +0 -1
  319. package/dist/audit/evidence.d.ts.map +0 -1
  320. package/dist/audit/index.d.ts.map +0 -1
  321. package/dist/audit/integrity.d.ts.map +0 -1
  322. package/dist/audit/merkle.d.ts.map +0 -1
  323. package/dist/audit/mirror-service.d.ts.map +0 -1
  324. package/dist/audit/projection.d.ts.map +0 -1
  325. package/dist/audit/providers/anchor.d.ts.map +0 -1
  326. package/dist/audit/providers/evidence.d.ts.map +0 -1
  327. package/dist/audit/providers/journal.d.ts.map +0 -1
  328. package/dist/audit/providers/memory-journal.d.ts.map +0 -1
  329. package/dist/audit/providers/observer.d.ts.map +0 -1
  330. package/dist/audit/providers/outbox.d.ts.map +0 -1
  331. package/dist/audit/providers/recorder-client.d.ts.map +0 -1
  332. package/dist/audit/providers/source-state.d.ts.map +0 -1
  333. package/dist/audit/read-contract.d.ts.map +0 -1
  334. package/dist/audit/read-service.d.ts.map +0 -1
  335. package/dist/audit/recorder-service.d.ts.map +0 -1
  336. package/dist/audit/reference-recorder.d.ts.map +0 -1
  337. package/dist/audit/replay-bundle.d.ts.map +0 -1
  338. package/dist/audit/schemas.d.ts.map +0 -1
  339. package/dist/audit/service.d.ts.map +0 -1
  340. package/dist/audit/testing/index.d.ts.map +0 -1
  341. package/dist/audit/testing/provider-contracts.d.ts.map +0 -1
  342. package/dist/audit/types.d.ts.map +0 -1
  343. package/dist/audit/verifier.d.ts.map +0 -1
  344. package/dist/auth/handshake.d.ts.map +0 -1
  345. package/dist/auth/index.d.ts.map +0 -1
  346. package/dist/auth/types.d.ts.map +0 -1
  347. package/dist/authz/accountability.d.ts.map +0 -1
  348. package/dist/authz/adapter.d.ts.map +0 -1
  349. package/dist/authz/examples/inmemory-oidc.d.ts.map +0 -1
  350. package/dist/authz/index.d.ts.map +0 -1
  351. package/dist/authz/oidc/authorize.d.ts.map +0 -1
  352. package/dist/authz/oidc/metadata.d.ts.map +0 -1
  353. package/dist/authz/oidc/oidc-adapter.d.ts.map +0 -1
  354. package/dist/authz/oidc/pending-flow-store.d.ts.map +0 -1
  355. package/dist/authz/oidc/pkce.d.ts.map +0 -1
  356. package/dist/authz/registry.d.ts.map +0 -1
  357. package/dist/authz/requirement.d.ts.map +0 -1
  358. package/dist/card/build.d.ts.map +0 -1
  359. package/dist/card/builder.d.ts.map +0 -1
  360. package/dist/card/cimd.d.ts.map +0 -1
  361. package/dist/card/delegation.d.ts.map +0 -1
  362. package/dist/card/emit.d.ts.map +0 -1
  363. package/dist/card/index.d.ts.map +0 -1
  364. package/dist/card/middleware.d.ts.map +0 -1
  365. package/dist/card/proof/build.d.ts.map +0 -1
  366. package/dist/card/proof/canonical.d.ts.map +0 -1
  367. package/dist/card/proof/http-sig.d.ts.map +0 -1
  368. package/dist/card/proof/index.d.ts.map +0 -1
  369. package/dist/card/proof/nonce-cache.d.ts.map +0 -1
  370. package/dist/card/proof/signer.d.ts.map +0 -1
  371. package/dist/card/proof/types.d.ts.map +0 -1
  372. package/dist/card/proof/verify.d.ts.map +0 -1
  373. package/dist/card/resolve.d.ts.map +0 -1
  374. package/dist/card/revocation.d.ts.map +0 -1
  375. package/dist/card/schema.d.ts.map +0 -1
  376. package/dist/card/verify.d.ts.map +0 -1
  377. package/dist/delegation/audience-validator.d.ts.map +0 -1
  378. package/dist/delegation/bitstring.d.ts.map +0 -1
  379. package/dist/delegation/cascading-revocation.d.ts.map +0 -1
  380. package/dist/delegation/chain-enforcement.d.ts.map +0 -1
  381. package/dist/delegation/delegation-graph.d.ts.map +0 -1
  382. package/dist/delegation/did-key-resolver.d.ts.map +0 -1
  383. package/dist/delegation/did-linkage.d.ts.map +0 -1
  384. package/dist/delegation/did-resolver-registry.d.ts.map +0 -1
  385. package/dist/delegation/did-web-resolver.d.ts.map +0 -1
  386. package/dist/delegation/holder-binding.d.ts.map +0 -1
  387. package/dist/delegation/index.d.ts.map +0 -1
  388. package/dist/delegation/outbound-headers.d.ts.map +0 -1
  389. package/dist/delegation/outbound-proof.d.ts.map +0 -1
  390. package/dist/delegation/scope-matcher.d.ts.map +0 -1
  391. package/dist/delegation/status-cache.d.ts.map +0 -1
  392. package/dist/delegation/statuslist-manager.d.ts.map +0 -1
  393. package/dist/delegation/storage/memory-graph-storage.d.ts.map +0 -1
  394. package/dist/delegation/storage/memory-statuslist-storage.d.ts.map +0 -1
  395. package/dist/delegation/utils.d.ts.map +0 -1
  396. package/dist/delegation/vc-issuer.d.ts.map +0 -1
  397. package/dist/delegation/vc-jwt-verify.d.ts.map +0 -1
  398. package/dist/delegation/vc-verification-checks.d.ts.map +0 -1
  399. package/dist/delegation/vc-verifier.d.ts.map +0 -1
  400. package/dist/delegation/vc-verifier.types.d.ts.map +0 -1
  401. package/dist/delegation/verification-method-key.d.ts.map +0 -1
  402. package/dist/errors.d.ts.map +0 -1
  403. package/dist/extension/declaration.d.ts.map +0 -1
  404. package/dist/extension/gate.d.ts.map +0 -1
  405. package/dist/extension/index.d.ts.map +0 -1
  406. package/dist/extension/settings.d.ts.map +0 -1
  407. package/dist/index.d.ts.map +0 -1
  408. package/dist/integrations/cheqd/dlr.d.ts.map +0 -1
  409. package/dist/integrations/cheqd/index.d.ts.map +0 -1
  410. package/dist/integrations/cheqd/linkage.d.ts.map +0 -1
  411. package/dist/integrations/cheqd/registrar.d.ts.map +0 -1
  412. package/dist/integrations/cheqd/resolver.d.ts.map +0 -1
  413. package/dist/integrations/cheqd/statuslist-resolver.d.ts.map +0 -1
  414. package/dist/logging/index.d.ts.map +0 -1
  415. package/dist/logging/logger.d.ts.map +0 -1
  416. package/dist/middleware/index.d.ts.map +0 -1
  417. package/dist/middleware/kya-os-transport.d.ts.map +0 -1
  418. package/dist/middleware/with-kya-os-server.d.ts.map +0 -1
  419. package/dist/middleware/with-kya-os.config-types.d.ts.map +0 -1
  420. package/dist/middleware/with-kya-os.d.ts.map +0 -1
  421. package/dist/middleware/with-kya-os.delegation-gate.d.ts.map +0 -1
  422. package/dist/middleware/with-kya-os.delegation-verify.d.ts.map +0 -1
  423. package/dist/middleware/with-kya-os.deps.d.ts.map +0 -1
  424. package/dist/middleware/with-kya-os.grants.d.ts.map +0 -1
  425. package/dist/middleware/with-kya-os.helpers.d.ts.map +0 -1
  426. package/dist/middleware/with-kya-os.policy-gate.d.ts.map +0 -1
  427. package/dist/middleware/with-kya-os.protocol.d.ts.map +0 -1
  428. package/dist/middleware/with-kya-os.session.d.ts.map +0 -1
  429. package/dist/middleware/with-kya-os.types.d.ts.map +0 -1
  430. package/dist/policy/approval.d.ts.map +0 -1
  431. package/dist/policy/classifier.d.ts.map +0 -1
  432. package/dist/policy/default-engine.d.ts.map +0 -1
  433. package/dist/policy/engine.d.ts.map +0 -1
  434. package/dist/policy/index.d.ts.map +0 -1
  435. package/dist/policy/projection.d.ts.map +0 -1
  436. package/dist/policy/types.d.ts.map +0 -1
  437. package/dist/proof/errors.d.ts.map +0 -1
  438. package/dist/proof/generator.d.ts.map +0 -1
  439. package/dist/proof/index.d.ts.map +0 -1
  440. package/dist/proof/verifier.d.ts.map +0 -1
  441. package/dist/providers/audit-log.d.ts.map +0 -1
  442. package/dist/providers/base.d.ts.map +0 -1
  443. package/dist/providers/grant-store.d.ts.map +0 -1
  444. package/dist/providers/index.d.ts.map +0 -1
  445. package/dist/providers/memory.d.ts.map +0 -1
  446. package/dist/providers/node-crypto.d.ts.map +0 -1
  447. package/dist/providers/runtime-fetch.d.ts.map +0 -1
  448. package/dist/providers/system-clock.d.ts.map +0 -1
  449. package/dist/providers/web-crypto.d.ts.map +0 -1
  450. package/dist/session/index.d.ts.map +0 -1
  451. package/dist/session/manager.d.ts.map +0 -1
  452. package/dist/session/session-store.d.ts.map +0 -1
  453. package/dist/types/protocol.d.ts.map +0 -1
  454. package/dist/utils/base58.d.ts.map +0 -1
  455. package/dist/utils/base64.d.ts.map +0 -1
  456. package/dist/utils/canonical-json.d.ts.map +0 -1
  457. package/dist/utils/crypto-service.d.ts.map +0 -1
  458. package/dist/utils/did-helpers.d.ts.map +0 -1
  459. package/dist/utils/ed25519-constants.d.ts.map +0 -1
  460. package/dist/utils/guards.d.ts.map +0 -1
  461. package/dist/utils/index.d.ts.map +0 -1
  462. package/dist/utils/ip-classifier.d.ts.map +0 -1
  463. package/dist/utils/safe-fetch-transports.d.ts.map +0 -1
  464. package/dist/utils/safe-fetch-types.d.ts.map +0 -1
  465. package/dist/utils/safe-fetch.d.ts.map +0 -1
  466. package/dist/utils/statuslist-bits.d.ts.map +0 -1
  467. package/dist/utils/statuslist-purpose.d.ts.map +0 -1
  468. package/dist/utils/ttl-cache.d.ts.map +0 -1
  469. package/dist/utils/url.d.ts.map +0 -1
@@ -6,17 +6,90 @@
6
6
  * paths: `wrapWithProof` (success responses) and `attachOutcomeProof` (denied /
7
7
  * step-up / needs-authorization outcomes). Extracted from `./with-kya-os.ts`.
8
8
  */
9
- import { KYA_OS_PROOF_META_KEY, LEGACY_PROOF_META_KEY, RESPONSE_PROOF_PROFILE_ENVELOPE, } from "../proof/generator.js";
9
+ import { KYA_OS_PROOF_META_KEY, LEGACY_NAMESPACED_PROOF_META_KEY, LEGACY_PROOF_META_KEY, RESPONSE_PROOF_PROFILE_ENVELOPE, } from "../proof/generator.js";
10
10
  import { validateHandshakeFormat, } from "../session/manager.js";
11
11
  import { base64urlEncodeFromBytes } from "../utils/base64.js";
12
12
  import { logger } from "../logging/index.js";
13
13
  import { KYA_OS_ERROR_CODES } from "../errors.js";
14
14
  import { sanitizeForMessage } from "./with-kya-os.helpers.js";
15
+ /** The `_meta` member carrying this middleware's audit-lifecycle marker. */
16
+ const auditMetaKey = 'org.kya-os/audit';
17
+ /**
18
+ * The private `_meta` member a middleware's wrappers stamp their results with
19
+ * while an outer layer (the withKyaOs transport) reads them. It holds a random
20
+ * per-middleware token, and the transport strips it before a message leaves,
21
+ * so it never reaches the wire. It lives in `_meta` because the MCP SDK
22
+ * re-creates the result object when it validates it, and `_meta` survives
23
+ * that.
24
+ */
25
+ export const LIFECYCLE_STAMP_META_KEY = 'org.kya-os/lifecycle-stamp';
26
+ /**
27
+ * `_meta` members only the middleware itself may set: proofs, a proof error,
28
+ * the audit marker and the lifecycle stamp. A tool result carrying them that
29
+ * the middleware did not produce (content relayed from an upstream server, or
30
+ * set by the handler) cannot be told apart from a forgery.
31
+ */
32
+ const outcomeMetaKeys = [
33
+ KYA_OS_PROOF_META_KEY,
34
+ LEGACY_NAMESPACED_PROOF_META_KEY,
35
+ LEGACY_PROOF_META_KEY,
36
+ 'proofError',
37
+ auditMetaKey,
38
+ LIFECYCLE_STAMP_META_KEY,
39
+ ];
40
+ /** `result` without the `_meta` members in `keys`, dropping `_meta` if nothing else is left. */
41
+ function withoutMetaKeys(result, keys) {
42
+ const metadata = result._meta;
43
+ if (metadata === undefined || !keys.some((key) => Object.hasOwn(metadata, key))) {
44
+ return result;
45
+ }
46
+ const kept = Object.fromEntries(Object.entries(metadata).filter(([key]) => !keys.includes(key)));
47
+ const copy = { ...result };
48
+ if (Object.keys(kept).length > 0)
49
+ copy._meta = kept;
50
+ else
51
+ delete copy._meta;
52
+ return copy;
53
+ }
54
+ /**
55
+ * Remove the `_meta` members only the middleware may set (proofs, proof error,
56
+ * audit marker, lifecycle stamp) from a result it did not produce, keeping
57
+ * every other member (traceparent and the like). Returns a copy when anything
58
+ * is removed.
59
+ */
60
+ export function withoutOutcomeMeta(result) {
61
+ return withoutMetaKeys(result, outcomeMetaKeys);
62
+ }
63
+ /** Remove the lifecycle stamp, which must never leave the process. */
64
+ export function withoutLifecycleStamp(result) {
65
+ return withoutMetaKeys(result, [LIFECYCLE_STAMP_META_KEY]);
66
+ }
67
+ /**
68
+ * Each middleware's hook for an outer auto-proof layer, keyed by its
69
+ * `wrapWithProof` so the transport can reach it from whatever
70
+ * `KyaOsMiddleware` it is handed without widening the public interface; a
71
+ * custom implementation simply has no entry.
72
+ */
73
+ const outerProofLayerHooks = new WeakMap();
74
+ /**
75
+ * Tell the middleware behind `wrapWithProof` that an outer layer (the withKyaOs
76
+ * transport) reads its results. From then on its wrappers stamp what they
77
+ * return with the middleware's token. Returns the check for that stamp, or
78
+ * undefined for a middleware this module did not create, whose results are
79
+ * then never treated as its own.
80
+ */
81
+ export function attachOuterProofLayer(wrapWithProof) {
82
+ return outerProofLayerHooks.get(wrapWithProof)?.();
83
+ }
15
84
  export function createSessionProof(deps) {
16
85
  const { identity, config, cryptoProvider, sessionManager, proofGenerator, auditLog, audit, emitLegacyProofKey, responseProofProfile, } = deps;
17
86
  const bindsEnvelope = responseProofProfile === RESPONSE_PROOF_PROFILE_ENVELOPE;
18
87
  const auditedTerminalResponses = new WeakSet();
19
- const auditMetaKey = 'org.kya-os/audit';
88
+ // This middleware's lifecycle token, minted once an outer layer reads its
89
+ // results. Only wrappers holding it can stamp a result as their own.
90
+ let lifecycleStamp;
91
+ const hasOwnStamp = (response) => lifecycleStamp !== undefined &&
92
+ response._meta?.[LIFECYCLE_STAMP_META_KEY] === lifecycleStamp;
20
93
  const emitAudit = async (label, operation, toolName) => {
21
94
  try {
22
95
  await operation();
@@ -73,6 +146,27 @@ export function createSessionProof(deps) {
73
146
  return typeof auditMetadata === 'object' && auditMetadata !== null &&
74
147
  auditMetadata.terminal === true;
75
148
  };
149
+ /**
150
+ * The handler's `_meta` members a proof or proof error is merged into: every
151
+ * member except the proofs, proof error, audit marker and stamp, which only
152
+ * the middleware sets. A handler relaying an upstream result could
153
+ * otherwise ship them next to this middleware's proof.
154
+ */
155
+ const handlerMeta = (response) => withoutOutcomeMeta(response)._meta ?? {};
156
+ /**
157
+ * Stamp a result whose lifecycle a wrapper has run, so the outer layer
158
+ * neither re-proves nor re-audits it. Without an outer layer there is no
159
+ * token, nothing would strip the stamp, and the result is returned as it was.
160
+ */
161
+ const stampLifecycle = (response) => {
162
+ if (lifecycleStamp === undefined)
163
+ return response;
164
+ response._meta = {
165
+ ...(response._meta ?? {}),
166
+ [LIFECYCLE_STAMP_META_KEY]: lifecycleStamp,
167
+ };
168
+ return response;
169
+ };
76
170
  const auditContext = (context) => context === undefined
77
171
  ? undefined
78
172
  : {
@@ -163,11 +257,40 @@ export function createSessionProof(deps) {
163
257
  ...(result.error && { isError: true }),
164
258
  };
165
259
  }
260
+ // The store keeps an expired session until something deletes it, so its raw
261
+ // size overcounts live sessions: one stale session would leave the fallback
262
+ // ambiguous for good. A count above one triggers a sweep first, at most once
263
+ // per interval so a genuinely multi-client deployment does not scan the
264
+ // whole store on every unthreaded call.
265
+ const sessionSweepIntervalMs = 60_000;
266
+ let lastSessionSweepAt;
267
+ async function liveSessionCount() {
268
+ const count = sessionManager.getStats().activeSessions;
269
+ const now = Date.now();
270
+ if (count <= 1 ||
271
+ (lastSessionSweepAt !== undefined && now - lastSessionSweepAt < sessionSweepIntervalMs)) {
272
+ return count;
273
+ }
274
+ lastSessionSweepAt = now;
275
+ try {
276
+ await sessionManager.cleanup();
277
+ }
278
+ catch (error) {
279
+ logger.error("[kya-os] Session sweep failed", {
280
+ error: error instanceof Error ? error.message : String(error),
281
+ });
282
+ return count;
283
+ }
284
+ return sessionManager.getStats().activeSessions;
285
+ }
286
+ // Concurrent first calls share one in-flight auto session: one per caller
287
+ // would leave several live sessions, and every later call ambiguous.
288
+ let autoSessionInFlight;
166
289
  async function ensureSession() {
167
290
  if (activeSessionId) {
168
291
  const existing = await sessionManager.getSession(activeSessionId);
169
292
  if (existing) {
170
- if (sessionManager.getStats().activeSessions <= 1) {
293
+ if ((await liveSessionCount()) <= 1) {
171
294
  return activeSessionId;
172
295
  }
173
296
  // Ambiguous: more than one session and none threaded — do NOT borrow.
@@ -179,6 +302,12 @@ export function createSessionProof(deps) {
179
302
  }
180
303
  if (!config.autoSession)
181
304
  return undefined;
305
+ autoSessionInFlight ??= createAutoSession().finally(() => {
306
+ autoSessionInFlight = undefined;
307
+ });
308
+ return autoSessionInFlight;
309
+ }
310
+ async function createAutoSession() {
182
311
  // Generate a server-side session with cryptographically random nonce (SPEC.md §4)
183
312
  const nonceBytes = await cryptoProvider.randomBytes(16);
184
313
  const nonce = base64urlEncodeFromBytes(nonceBytes);
@@ -195,7 +324,7 @@ export function createSessionProof(deps) {
195
324
  return undefined;
196
325
  }
197
326
  function wrapWithProof(toolName, handler) {
198
- return async (args, sessionId, context) => {
327
+ const run = async (args, sessionId, context) => {
199
328
  const intentDelivered = await emitAudit('Required tool intent audit delivery failed', () => audit?.tool('started', {
200
329
  toolName,
201
330
  outcome: 'unknown',
@@ -277,8 +406,9 @@ export function createSessionProof(deps) {
277
406
  const proof = await proofGenerator.generateProof(request, response, session, { scopeId: context?.scopeId, profile: responseProofProfile });
278
407
  // Attach proof under the namespaced _meta key (rendered by MCP
279
408
  // Inspector, invisible to LLMs), plus the legacy bare key when enabled.
280
- // Other _meta keys may coexist (SEP-414).
281
- result._meta = withProofMeta({}, proof);
409
+ // Keys the handler set (traceparent, related-task, ...) are kept: the
410
+ // middleware does not own `_meta` (SPEC §7.6).
411
+ result._meta = withProofMeta(handlerMeta(result), proof);
282
412
  const proofAuditDelivered = await emitAudit('Required generated-proof audit delivery failed', () => audit?.proof('generated', {
283
413
  outcome: 'succeeded',
284
414
  context: auditContext(context),
@@ -318,6 +448,7 @@ export function createSessionProof(deps) {
318
448
  error: error instanceof Error ? error.message : String(error),
319
449
  });
320
450
  result._meta = {
451
+ ...handlerMeta(result),
321
452
  proofError: "Proof generation failed — response is unproven",
322
453
  };
323
454
  const rejectionAuditDelivered = await emitAudit('Failed to record proof-generation rejection', () => audit?.proof('rejected', {
@@ -331,8 +462,13 @@ export function createSessionProof(deps) {
331
462
  }
332
463
  return result;
333
464
  };
465
+ return async (args, sessionId, context) => stampLifecycle(await run(args, sessionId, context));
334
466
  }
335
- const attachOutcomeProof = async (response, toolName, args, sessionId, reason, outcome = "denied", paramsOverride, responseData) => {
467
+ outerProofLayerHooks.set(wrapWithProof, () => {
468
+ lifecycleStamp ??= base64urlEncodeFromBytes(globalThis.crypto.getRandomValues(new Uint8Array(16)));
469
+ return hasOwnStamp;
470
+ });
471
+ const outcomeProof = async (response, toolName, args, sessionId, reason, outcome = "denied", paramsOverride, responseData) => {
336
472
  const phase = outcome === 'denied' ? 'denied' : 'step_up_required';
337
473
  const reasonCode = outcome === 'needs_authorization'
338
474
  ? 'NEEDS_AUTHORIZATION'
@@ -424,6 +560,9 @@ export function createSessionProof(deps) {
424
560
  }
425
561
  return response;
426
562
  };
563
+ // Outcome results are stamped like wrapper results, so the outer layer
564
+ // passes a signed denial or challenge through instead of re-proving it.
565
+ const attachOutcomeProof = async (...outcome) => stampLifecycle(await outcomeProof(...outcome));
427
566
  return { handleHandshake, ensureSession, wrapWithProof, attachOutcomeProof };
428
567
  }
429
568
  //# sourceMappingURL=with-kya-os.session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"with-kya-os.session.js","sourceRoot":"","sources":["../../src/middleware/with-kya-os.session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,+BAA+B,GAGhC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAwB9D,MAAM,UAAU,kBAAkB,CAAC,IAAoB;IACrD,MAAM,EACJ,QAAQ,EACR,MAAM,EACN,cAAc,EACd,cAAc,EACd,cAAc,EACd,QAAQ,EACR,KAAK,EACL,kBAAkB,EAClB,oBAAoB,GACrB,GAAG,IAAI,CAAC;IACT,MAAM,aAAa,GAAG,oBAAoB,KAAK,+BAA+B,CAAC;IAC/E,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAAU,CAAC;IACvD,MAAM,YAAY,GAAG,kBAAkB,CAAC;IAIxC,MAAM,SAAS,GAAG,KAAK,EACrB,KAAa,EACb,SAA0C,EAC1C,QAAiB,EACC,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,SAAS,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,YAAY,KAAK,EAAE,EAAE;gBAChC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACrD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CACxB,QAA6B,EAC7B,MAAc,EACd,iBAA0B,EACL,EAAE;QACvB,MAAM,QAAQ,GAAG;YACf,GAAG,CAAE,QAAQ,CAAC,KAA6C,IAAI,EAAE,CAAC;SACnE,CAAC;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YACvC,OAAO,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,QAAQ,CAAC,YAAY,CAAC,GAAG;YACvB,GAAG,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,IAAI;gBAC/E,CAAC,CAAC,QAAQ,CAAC,YAAY,CAA4B;gBACnD,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,UAAU;YAClB,MAAM;SACP,CAAC;QACF,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;QAC1B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAuB,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE;iBAC1D,CAAC;aACH,CAAC;QACF,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;KAC1D,CAAC,CAAC;IAEH,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,6BAA6B;IAC7B,MAAM,sBAAsB,GAAG,CAAC,QAA6B,EAAW,EAAE;QACxE,IAAI,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAA4C,CAAC;QACvE,MAAM,aAAa,GAAG,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;QAC/C,OAAO,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,IAAI;YAC/D,aAAyC,CAAC,QAAQ,KAAK,IAAI,CAAC;IACjE,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CACnB,OAAqC,EACR,EAAE,CAAC,OAAO,KAAK,SAAS;QACrD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC;YACE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;gBACxC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACnD,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;SACnF,CAAC;IAEN;;;;OAIG;IACH,MAAM,aAAa,GAAG,CACpB,IAA6B,EAC7B,KAAoB,EACK,EAAE,CAAC,CAAC;QAC7B,GAAG,IAAI;QACP,CAAC,qBAAqB,CAAC,EAAE,KAAK;QAC9B,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC,CAAC;IAEH,gFAAgF;IAChF,iFAAiF;IACjF,iFAAiF;IACjF,iFAAiF;IACjF,kCAAkC;IAClC,IAAI,eAAmC,CAAC;IAExC,KAAK,UAAU,eAAe,CAAC,IAA6B;QAI1D,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,SAAS,CACb,+CAA+C,EAC/C,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE;gBAC/B,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,kBAAkB,CAAC,gBAAgB;aAChD,CAAC,CACH,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE;gCACL,IAAI,EAAE,kBAAkB,CAAC,gBAAgB;gCACzC,OAAO,EACL,wGAAwG;6BAC3G;yBACF,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GACV,MAAM,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO;YAC/B,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,kBAAkB,CAAC,YAAY;gBACtD,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,UAAU,CAAC;QACjB,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAC3C,oBAAoB,UAAU,sBAAsB,EACpD,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE;YAC/B,SAAS,EAAE,MAAM,CAAC,OAAO;YACzB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACzE,CAAC,CACH,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,wBAAwB,CACrC,mEAAmE,CACpE,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACpD,CAAC;QAED,2EAA2E;QAC3E,uEAAuE;QACvE,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACrC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI;4BACpB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;4BACnC,SAAS,EAAE,QAAQ,CAAC,GAAG;4BACvB,SAAS,EAAE,QAAQ,CAAC,GAAG;yBACxB,CAAC;wBACF,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;qBAC7C,CAAC;iBACH;aACF;YACD,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,aAAa;QAC1B,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAClE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;oBAClD,OAAO,eAAe,CAAC;gBACzB,CAAC;gBACD,sEAAsE;gBACtE,MAAM,CAAC,IAAI,CACT,wEAAwE;oBACtE,oEAAoE;oBACpE,oEAAoE,CACvE,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QAE1C,kFAAkF;QAClF,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC;YACpD,KAAK;YACL,QAAQ,EAAE,QAAQ,CAAC,GAAG;YACtB,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACrC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3C,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,aAAa,CACpB,QAAgB,EAChB,OAA4B;QAE5B,OAAO,KAAK,EACV,IAA6B,EAC7B,SAAkB,EAClB,OAA0B,EAC1B,EAAE;YACF,MAAM,eAAe,GAAG,MAAM,SAAS,CACrC,4CAA4C,EAC5C,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;gBAC3B,QAAQ;gBACR,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;aAC/B,CAAC,EACF,QAAQ,CACT,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,wBAAwB,CAC7B,6DAA6D,CAC9D,CAAC;YACJ,CAAC;YACD,IAAI,MAA6C,CAAC;YAClD,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,OAAO,CAAC,IAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,SAAS,CACb,yEAAyE,EACzE,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;oBAC1B,QAAQ;oBACR,OAAO,EAAE,QAAQ;oBACjB,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,MAAM,SAAS,GAAG,MAAM,SAAS,CAC/B,qCAAqC,EACrC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;wBAC1B,QAAQ;wBACR,OAAO,EAAE,QAAQ;wBACjB,UAAU,EAAE,sBAAsB;wBAClC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;qBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;oBACF,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,iBAAiB,CACf,MAAM,EACN,+DAA+D,EAC/D,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,iEAAiE;YACjE,MAAM,iBAAiB,GAAG,SAAS,IAAI,MAAM,aAAa,EAAE,CAAC;YAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,mBAAmB,GAAG,MAAM,SAAS,CACzC,4CAA4C,EAC5C,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;oBAC7B,OAAO,EAAE,QAAQ;oBACjB,gBAAgB,EAAE,2BAA2B;oBAC7C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,MAAM,sBAAsB,GAAG,mBAAmB,IAAI,MAAM,SAAS,CACnE,yCAAyC,EACzC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC7B,QAAQ;oBACR,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,OAAO,iBAAiB,CACtB,MAAM,EACN,+DAA+D,EAC/D,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,mBAAmB,GAAG,MAAM,SAAS,CACzC,wCAAwC,EACxC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;oBAC7B,OAAO,EAAE,QAAQ;oBACjB,gBAAgB,EAAE,yBAAyB;oBAC3C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,MAAM,sBAAsB,GAAG,mBAAmB,IAAI,MAAM,SAAS,CACnE,yCAAyC,EACzC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC7B,QAAQ;oBACR,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,OAAO,iBAAiB,CACtB,MAAM,EACN,+DAA+D,EAC/D,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAChE,oFAAoF;gBACpF,iFAAiF;gBACjF,mDAAmD;gBACnD,MAAM,QAAQ,GAAiB;oBAC7B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;iBAC9C,CAAC;gBAEF,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,aAAa,CAC9C,OAAO,EACP,QAAQ,EACR,OAAO,EACP,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAC7D,CAAC;gBAEF,+DAA+D;gBAC/D,wEAAwE;gBACxE,0CAA0C;gBAC1C,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAExC,MAAM,mBAAmB,GAAG,MAAM,SAAS,CACzC,gDAAgD,EAChD,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;oBAC9B,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,MAAM,sBAAsB,GAAG,mBAAmB,IAAI,MAAM,SAAS,CACnE,+CAA+C,EAC/C,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC7B,QAAQ;oBACR,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,OAAO,iBAAiB,CACtB,MAAM,EACN,+DAA+D,EAC/D,IAAI,CACL,CAAC;gBACJ,CAAC;gBAED,oEAAoE;gBACpE,0DAA0D;gBAC1D,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,cAAc,CAAC;wBAC5B,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE;wBAClD,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;wBACrE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;wBACnC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY;wBACrC,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;wBACxC,IAAI,EAAE,QAAQ;wBACd,KAAK,EACH,UAAU,YAAY,KAAK;4BACzB,CAAC,CAAC,UAAU,CAAC,OAAO;4BACpB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;oBAC/C,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,GAAG;oBACb,UAAU,EAAE,gDAAgD;iBAC7D,CAAC;gBACF,MAAM,uBAAuB,GAAG,MAAM,SAAS,CAC7C,6CAA6C,EAC7C,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;oBAC7B,OAAO,EAAE,QAAQ;oBACjB,gBAAgB,EAAE,yBAAyB;oBAC3C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC7B,iBAAiB,CACf,MAAM,EACN,oEAAoE,EACpE,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAuB,KAAK,EAClD,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,MAAM,EACN,OAAO,GAAG,QAAQ,EAClB,cAAc,EACd,YAAY,EACZ,EAAE;QACF,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACnE,MAAM,UAAU,GAAG,OAAO,KAAK,qBAAqB;YAClD,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,sBAAsB,CAAC;QACjF,MAAM,2BAA2B,GAAG,MAAM,SAAS,CACjD,wCAAwC,EACxC,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE;YAChC,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;YACvD,UAAU;SACX,CAAC,EACF,QAAQ,CACT,CAAC;QACF,MAAM,sBAAsB,GAAG,2BAA2B,IAAI,MAAM,SAAS,CAC3E,sDAAsD,EACtD,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE;YAChE,QAAQ;YACR,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;YACvD,UAAU;SACX,CAAC,EACF,QAAQ,CACT,CAAC;QACF,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,QAAQ,CAAC,KAAK,GAAG;YACf,GAAG,CAAE,QAAQ,CAAC,KAA6C,IAAI,EAAE,CAAC;YAClE,CAAC,YAAY,CAAC,EAAE;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO;gBACP,GAAG,CAAC,CAAC,sBAAsB;oBACzB,CAAC,CAAC;wBACE,MAAM,EAAE,UAAU;wBAClB,MAAM,EAAE,mEAAmE;qBAC5E;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC;QACF,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,SAAS,IAAI,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,iBAAiB;gBAAE,OAAO,QAAQ,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO;gBAAE,OAAO,QAAQ,CAAC;YAE9B,sEAAsE;YACtE,gEAAgE;YAChE,IAAI,SAAkC,CAAC;YACvC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,SAAS,GAAG,cAAc,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,EAAE,CAAC;gBACf,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,KAAK,mBAAmB;wBAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACrE,uEAAuE;YACvE,oEAAoE;YACpE,sEAAsE;YACtE,qFAAqF;YACrF,oFAAoF;YACpF,wCAAwC;YACxC,MAAM,aAAa,GACjB,YAAY,KAAK,SAAS;gBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE;gBACnD,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE;gBAChF,OAAO;gBACP,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;gBAClC,OAAO,EAAE,oBAAoB;aAC9B,CAAC,CAAC;YACH,QAAQ,CAAC,KAAK,GAAG,aAAa,CAC3B,QAAQ,CAAC,KAA6C,IAAI,EAAE,EAC7D,KAAK,CACN,CAAC;YACF,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,MAAM,mBAAmB,GAAG,MAAM,SAAS,CACzC,0CAA0C,EAC1C,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EACzD,QAAQ,CACT,CAAC;gBACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,+EAA+E;oBAC/E,8DAA8D;oBAC9D,+EAA+E;oBAC/E,mEAAmE;oBACnE,gEAAgE;oBAChE,iEAAiE;oBACjE,gFAAgF;oBAChF,iBAAiB,CACf,QAAQ,EACR,gEAAgE,EAChE,aAAa,CACd,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBACvD,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,MAAM,SAAS,CACb,0CAA0C,EAC1C,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;oBAC7B,OAAO,EAAE,QAAQ;oBACjB,gBAAgB,EAAE,iCAAiC;iBACpD,CAAC,EACF,QAAQ,CACT,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"with-kya-os.session.js","sourceRoot":"","sources":["../../src/middleware/with-kya-os.session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,qBAAqB,EACrB,+BAA+B,GAGhC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,4EAA4E;AAC5E,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AAErE;;;;;GAKG;AACH,MAAM,eAAe,GAAsB;IACzC,qBAAqB;IACrB,gCAAgC;IAChC,qBAAqB;IACrB,YAAY;IACZ,YAAY;IACZ,wBAAwB;CACzB,CAAC;AAIF,gGAAgG;AAChG,SAAS,eAAe,CAAuB,MAAS,EAAE,IAAuB;IAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,KAA4C,CAAC;IACrE,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QAChF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAChE,CAAC;IACF,MAAM,IAAI,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IACpD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC;IACvB,OAAO,IAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAuB,MAAS;IAChE,OAAO,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAClD,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,qBAAqB,CAAuB,MAAS;IACnE,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAAiD,CAAC;AAE1F;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,aAAqB;IAErB,OAAO,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;AACrD,CAAC;AAuBD,MAAM,UAAU,kBAAkB,CAAC,IAAoB;IACrD,MAAM,EACJ,QAAQ,EACR,MAAM,EACN,cAAc,EACd,cAAc,EACd,cAAc,EACd,QAAQ,EACR,KAAK,EACL,kBAAkB,EAClB,oBAAoB,GACrB,GAAG,IAAI,CAAC;IACT,MAAM,aAAa,GAAG,oBAAoB,KAAK,+BAA+B,CAAC;IAC/E,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAAU,CAAC;IACvD,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,cAAkC,CAAC;IAEvC,MAAM,WAAW,GAAG,CAAC,QAAoB,EAAW,EAAE,CACpD,cAAc,KAAK,SAAS;QAC3B,QAAQ,CAAC,KAA6C,EAAE,CAAC,wBAAwB,CAAC,KAAK,cAAc,CAAC;IAIzG,MAAM,SAAS,GAAG,KAAK,EACrB,KAAa,EACb,SAA0C,EAC1C,QAAiB,EACC,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,SAAS,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,YAAY,KAAK,EAAE,EAAE;gBAChC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACrD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CACxB,QAA6B,EAC7B,MAAc,EACd,iBAA0B,EACL,EAAE;QACvB,MAAM,QAAQ,GAAG;YACf,GAAG,CAAE,QAAQ,CAAC,KAA6C,IAAI,EAAE,CAAC;SACnE,CAAC;QACF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YACvC,OAAO,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,QAAQ,CAAC,YAAY,CAAC,GAAG;YACvB,GAAG,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,IAAI;gBAC/E,CAAC,CAAC,QAAQ,CAAC,YAAY,CAA4B;gBACnD,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,UAAU;YAClB,MAAM;SACP,CAAC;QACF,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;QAC1B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAuB,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE;iBAC1D,CAAC;aACH,CAAC;QACF,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;KAC1D,CAAC,CAAC;IAEH,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,6BAA6B;IAC7B,MAAM,sBAAsB,GAAG,CAAC,QAA6B,EAAW,EAAE;QACxE,IAAI,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAA4C,CAAC;QACvE,MAAM,aAAa,GAAG,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;QAC/C,OAAO,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,IAAI;YAC/D,aAAyC,CAAC,QAAQ,KAAK,IAAI,CAAC;IACjE,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,WAAW,GAAG,CAAC,QAA6B,EAA2B,EAAE,CAC5E,kBAAkB,CAAC,QAAQ,CAAC,CAAC,KAA6C,IAAI,EAAE,CAAC;IAEpF;;;;OAIG;IACH,MAAM,cAAc,GAAG,CAAC,QAA6B,EAAuB,EAAE;QAC5E,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAClD,QAAQ,CAAC,KAAK,GAAG;YACf,GAAG,CAAE,QAAQ,CAAC,KAA6C,IAAI,EAAE,CAAC;YAClE,CAAC,wBAAwB,CAAC,EAAE,cAAc;SAC3C,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CACnB,OAAqC,EACR,EAAE,CAAC,OAAO,KAAK,SAAS;QACrD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC;YACE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;gBACxC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACnD,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;SACnF,CAAC;IAEN;;;;OAIG;IACH,MAAM,aAAa,GAAG,CACpB,IAA6B,EAC7B,KAAoB,EACK,EAAE,CAAC,CAAC;QAC7B,GAAG,IAAI;QACP,CAAC,qBAAqB,CAAC,EAAE,KAAK;QAC9B,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClE,CAAC,CAAC;IAEH,gFAAgF;IAChF,iFAAiF;IACjF,iFAAiF;IACjF,iFAAiF;IACjF,kCAAkC;IAClC,IAAI,eAAmC,CAAC;IAExC,KAAK,UAAU,eAAe,CAAC,IAA6B;QAI1D,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,SAAS,CACb,+CAA+C,EAC/C,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE;gBAC/B,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,kBAAkB,CAAC,gBAAgB;aAChD,CAAC,CACH,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE;gCACL,IAAI,EAAE,kBAAkB,CAAC,gBAAgB;gCACzC,OAAO,EACL,wGAAwG;6BAC3G;yBACF,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GACV,MAAM,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO;YAC/B,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,kBAAkB,CAAC,YAAY;gBACtD,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,UAAU,CAAC;QACjB,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAC3C,oBAAoB,UAAU,sBAAsB,EACpD,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE;YAC/B,SAAS,EAAE,MAAM,CAAC,OAAO;YACzB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACzE,CAAC,CACH,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,wBAAwB,CACrC,mEAAmE,CACpE,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACpD,CAAC;QAED,2EAA2E;QAC3E,uEAAuE;QACvE,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACrC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI;4BACpB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;4BACnC,SAAS,EAAE,QAAQ,CAAC,GAAG;4BACvB,SAAS,EAAE,QAAQ,CAAC,GAAG;yBACxB,CAAC;wBACF,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;qBAC7C,CAAC;iBACH;aACF;YACD,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,wCAAwC;IACxC,MAAM,sBAAsB,GAAG,MAAM,CAAC;IACtC,IAAI,kBAAsC,CAAC;IAE3C,KAAK,UAAU,gBAAgB;QAC7B,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IACE,KAAK,IAAI,CAAC;YACV,CAAC,kBAAkB,KAAK,SAAS,IAAI,GAAG,GAAG,kBAAkB,GAAG,sBAAsB,CAAC,EACvF,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,kBAAkB,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBAC5C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC;IAClD,CAAC;IAED,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,mBAA4D,CAAC;IAEjE,KAAK,UAAU,aAAa;QAC1B,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAClE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,gBAAgB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,OAAO,eAAe,CAAC;gBACzB,CAAC;gBACD,sEAAsE;gBACtE,MAAM,CAAC,IAAI,CACT,wEAAwE;oBACtE,oEAAoE;oBACpE,oEAAoE,CACvE,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QAE1C,mBAAmB,KAAK,iBAAiB,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACvD,mBAAmB,GAAG,SAAS,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,KAAK,UAAU,iBAAiB;QAC9B,kFAAkF;QAClF,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC;YACpD,KAAK;YACL,QAAQ,EAAE,QAAQ,CAAC,GAAG;YACtB,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACrC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3C,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,aAAa,CACpB,QAAgB,EAChB,OAA4B;QAE5B,MAAM,GAAG,GAAG,KAAK,EACf,IAA6B,EAC7B,SAAkB,EAClB,OAA0B,EACI,EAAE;YAChC,MAAM,eAAe,GAAG,MAAM,SAAS,CACrC,4CAA4C,EAC5C,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;gBAC3B,QAAQ;gBACR,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;aAC/B,CAAC,EACF,QAAQ,CACT,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,wBAAwB,CAC7B,6DAA6D,CAC9D,CAAC;YACJ,CAAC;YACD,IAAI,MAA6C,CAAC;YAClD,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,OAAO,CAAC,IAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,SAAS,CACb,yEAAyE,EACzE,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;oBAC1B,QAAQ;oBACR,OAAO,EAAE,QAAQ;oBACjB,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,MAAM,SAAS,GAAG,MAAM,SAAS,CAC/B,qCAAqC,EACrC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;wBAC1B,QAAQ;wBACR,OAAO,EAAE,QAAQ;wBACjB,UAAU,EAAE,sBAAsB;wBAClC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;qBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;oBACF,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,iBAAiB,CACf,MAAM,EACN,+DAA+D,EAC/D,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,iEAAiE;YACjE,MAAM,iBAAiB,GAAG,SAAS,IAAI,MAAM,aAAa,EAAE,CAAC;YAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,mBAAmB,GAAG,MAAM,SAAS,CACzC,4CAA4C,EAC5C,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;oBAC7B,OAAO,EAAE,QAAQ;oBACjB,gBAAgB,EAAE,2BAA2B;oBAC7C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,MAAM,sBAAsB,GAAG,mBAAmB,IAAI,MAAM,SAAS,CACnE,yCAAyC,EACzC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC7B,QAAQ;oBACR,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,OAAO,iBAAiB,CACtB,MAAM,EACN,+DAA+D,EAC/D,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,mBAAmB,GAAG,MAAM,SAAS,CACzC,wCAAwC,EACxC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;oBAC7B,OAAO,EAAE,QAAQ;oBACjB,gBAAgB,EAAE,yBAAyB;oBAC3C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,MAAM,sBAAsB,GAAG,mBAAmB,IAAI,MAAM,SAAS,CACnE,yCAAyC,EACzC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC7B,QAAQ;oBACR,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,OAAO,iBAAiB,CACtB,MAAM,EACN,+DAA+D,EAC/D,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAChE,oFAAoF;gBACpF,iFAAiF;gBACjF,mDAAmD;gBACnD,MAAM,QAAQ,GAAiB;oBAC7B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;iBAC9C,CAAC;gBAEF,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,aAAa,CAC9C,OAAO,EACP,QAAQ,EACR,OAAO,EACP,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAC7D,CAAC;gBAEF,+DAA+D;gBAC/D,wEAAwE;gBACxE,sEAAsE;gBACtE,+CAA+C;gBAC/C,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;gBAEzD,MAAM,mBAAmB,GAAG,MAAM,SAAS,CACzC,gDAAgD,EAChD,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;oBAC9B,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,MAAM,sBAAsB,GAAG,mBAAmB,IAAI,MAAM,SAAS,CACnE,+CAA+C,EAC/C,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC7B,QAAQ;oBACR,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,OAAO,iBAAiB,CACtB,MAAM,EACN,+DAA+D,EAC/D,IAAI,CACL,CAAC;gBACJ,CAAC;gBAED,oEAAoE;gBACpE,0DAA0D;gBAC1D,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,cAAc,CAAC;wBAC5B,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE;wBAClD,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;wBACrE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;wBACnC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY;wBACrC,QAAQ,EAAE,KAAK;wBACf,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;wBACxC,IAAI,EAAE,QAAQ;wBACd,KAAK,EACH,UAAU,YAAY,KAAK;4BACzB,CAAC,CAAC,UAAU,CAAC,OAAO;4BACpB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;oBAC/C,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,GAAG;oBACb,GAAG,WAAW,CAAC,MAAM,CAAC;oBACtB,UAAU,EAAE,gDAAgD;iBAC7D,CAAC;gBACF,MAAM,uBAAuB,GAAG,MAAM,SAAS,CAC7C,6CAA6C,EAC7C,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;oBAC7B,OAAO,EAAE,QAAQ;oBACjB,gBAAgB,EAAE,yBAAyB;oBAC3C,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;iBAC/B,CAAC,EACF,QAAQ,CACT,CAAC;gBACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC7B,iBAAiB,CACf,MAAM,EACN,oEAAoE,EACpE,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,KAAK,EACV,IAA6B,EAC7B,SAAkB,EAClB,OAA0B,EAC1B,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,oBAAoB,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3C,cAAc,KAAK,wBAAwB,CACzC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CACtD,CAAC;QACF,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAuB,KAAK,EAC5C,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,MAAM,EACN,OAAO,GAAG,QAAQ,EAClB,cAAc,EACd,YAAY,EACZ,EAAE;QACF,MAAM,KAAK,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACnE,MAAM,UAAU,GAAG,OAAO,KAAK,qBAAqB;YAClD,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,sBAAsB,CAAC;QACjF,MAAM,2BAA2B,GAAG,MAAM,SAAS,CACjD,wCAAwC,EACxC,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE;YAChC,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;YACvD,UAAU;SACX,CAAC,EACF,QAAQ,CACT,CAAC;QACF,MAAM,sBAAsB,GAAG,2BAA2B,IAAI,MAAM,SAAS,CAC3E,sDAAsD,EACtD,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE;YAChE,QAAQ;YACR,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;YACvD,UAAU;SACX,CAAC,EACF,QAAQ,CACT,CAAC;QACF,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,QAAQ,CAAC,KAAK,GAAG;YACf,GAAG,CAAE,QAAQ,CAAC,KAA6C,IAAI,EAAE,CAAC;YAClE,CAAC,YAAY,CAAC,EAAE;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO;gBACP,GAAG,CAAC,CAAC,sBAAsB;oBACzB,CAAC,CAAC;wBACE,MAAM,EAAE,UAAU;wBAClB,MAAM,EAAE,mEAAmE;qBAC5E;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC;QACF,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,SAAS,IAAI,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,iBAAiB;gBAAE,OAAO,QAAQ,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO;gBAAE,OAAO,QAAQ,CAAC;YAE9B,sEAAsE;YACtE,gEAAgE;YAChE,IAAI,SAAkC,CAAC;YACvC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,SAAS,GAAG,cAAc,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,EAAE,CAAC;gBACf,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,KAAK,mBAAmB;wBAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACrE,uEAAuE;YACvE,oEAAoE;YACpE,sEAAsE;YACtE,qFAAqF;YACrF,oFAAoF;YACpF,wCAAwC;YACxC,MAAM,aAAa,GACjB,YAAY,KAAK,SAAS;gBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE;gBACnD,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE;gBAChF,OAAO;gBACP,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;gBAClC,OAAO,EAAE,oBAAoB;aAC9B,CAAC,CAAC;YACH,QAAQ,CAAC,KAAK,GAAG,aAAa,CAC3B,QAAQ,CAAC,KAA6C,IAAI,EAAE,EAC7D,KAAK,CACN,CAAC;YACF,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,MAAM,mBAAmB,GAAG,MAAM,SAAS,CACzC,0CAA0C,EAC1C,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EACzD,QAAQ,CACT,CAAC;gBACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,+EAA+E;oBAC/E,8DAA8D;oBAC9D,+EAA+E;oBAC/E,mEAAmE;oBACnE,gEAAgE;oBAChE,iEAAiE;oBACjE,gFAAgF;oBAChF,iBAAiB,CACf,QAAQ,EACR,gEAAgE,EAChE,aAAa,CACd,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBACvD,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,MAAM,SAAS,CACb,0CAA0C,EAC1C,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;oBAC7B,OAAO,EAAE,QAAQ;oBACjB,gBAAgB,EAAE,iCAAiC;iBACpD,CAAC,EACF,QAAQ,CACT,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,uEAAuE;IACvE,wEAAwE;IACxE,MAAM,kBAAkB,GAAuB,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,CAClE,cAAc,CAAC,MAAM,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAEjD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC/E,CAAC"}
@@ -38,6 +38,24 @@ export interface KyaOsCallContext {
38
38
  authorization?: AuthorizationEvidence;
39
39
  correlationId?: string;
40
40
  causationId?: string;
41
+ /**
42
+ * The principal `wrapWithDelegation` authenticated: the delegation subject,
43
+ * its controller, and the scopes the verified credential (or durable grant)
44
+ * carries. A composed `withPolicyGate` evaluates these instead of re-reading
45
+ * `_kyaos_delegation`, which the delegation gate has already stripped.
46
+ */
47
+ principal?: {
48
+ agentDid: string;
49
+ responsibleParty?: string;
50
+ delegatedScopes: readonly string[];
51
+ };
52
+ /**
53
+ * Approval grants the caller supplied as `_kyaos_approvals`. The delegation
54
+ * gate withholds every `_kyaos*` argument from the handler (and from the
55
+ * holder-binding hash), so it forwards these here for a composed
56
+ * `withPolicyGate` to verify on a step-up resume.
57
+ */
58
+ approvals?: unknown;
41
59
  }
42
60
  export interface KyaOsToolHandler<T extends Record<string, unknown> = Record<string, unknown>> {
43
61
  (args: T, sessionId?: string, context?: KyaOsCallContext): Promise<{
@@ -164,7 +182,12 @@ export interface PolicyGateOptions {
164
182
  classifier?: RiskClassifier;
165
183
  /** Derive the resource namespace from the tool args (defaults to the tool name). */
166
184
  resolveNamespace?: (args: Record<string, unknown>) => string;
167
- /** Tool-arg key carrying approval grants on resume. Default "_kyaos_approvals". */
185
+ /**
186
+ * Tool-arg key carrying approval grants on resume. Default "_kyaos_approvals".
187
+ * Composed after `wrapWithDelegation`, the default key arrives through the
188
+ * call context (the outer gate strips `_kyaos*` arguments); a custom key
189
+ * outside that prefix passes through as an ordinary argument.
190
+ */
168
191
  approvalsArgKey?: string;
169
192
  /** Verifier for approval-grant signatures (identity-layer). Default: reject all. */
170
193
  isValidApprovalSignature?: (grant: ApprovalGrant) => Promise<boolean>;
@@ -175,10 +198,10 @@ export interface PolicyGateOptions {
175
198
  * scope or identity, so it must NOT be trusted to allow on its own. When you
176
199
  * compose it AFTER wrapWithDelegation (the expected usage), pass
177
200
  * `scopeMatched: true` to signal that the delegated scope was already verified.
178
- * Note: principal facts are projected from the (unverified) `_kyaos_delegation`
179
- * arg on a best-effort basis and must not be treated as authenticated unless
180
- * wrapWithDelegation ran first.
201
+ * Composed that way, the engine sees the principal and scopes the delegation
202
+ * gate authenticated (via the call context). Used standalone, principal facts
203
+ * are projected from the (unverified) `_kyaos_delegation` arg on a best-effort
204
+ * basis and must not be treated as authenticated.
181
205
  */
182
206
  scopeMatched?: boolean;
183
207
  }
184
- //# sourceMappingURL=with-kya-os.types.d.ts.map
@@ -19,6 +19,14 @@ export interface ApprovalGrant {
19
19
  export interface QuorumResult {
20
20
  satisfied: boolean;
21
21
  reason?: string;
22
+ /**
23
+ * The distinct approver DIDs whose grants verified (allowlisted, bound to the
24
+ * request, signature accepted), whether or not they reached the quorum. The
25
+ * only set a policy engine's `humanApprovals` should be built from.
26
+ * `verifyApprovalQuorum` always sets it; it is optional so that code
27
+ * building its own `QuorumResult` keeps compiling.
28
+ */
29
+ approvers?: string[];
22
30
  }
23
31
  export interface Quorum {
24
32
  n: number;
@@ -29,6 +37,9 @@ export interface Quorum {
29
37
  * Quorum is satisfied iff at least `quorum.n` DISTINCT approvers each signed an
30
38
  * `approve` grant over EXACTLY `requestHash`, drawn from `quorum.approvers`
31
39
  * (empty = any), with a signature accepted by `isValidSignature`.
40
+ *
41
+ * `requestHash` may list several hashes when they all identify the one
42
+ * suspended action, as the hashes of its legacy and SPEC §7.3 request shapes
43
+ * do; a grant over any of them counts.
32
44
  */
33
- export declare function verifyApprovalQuorum(grants: ApprovalGrant[], requestHash: string, quorum: Quorum, isValidSignature: (g: ApprovalGrant) => Promise<boolean>): Promise<QuorumResult>;
34
- //# sourceMappingURL=approval.d.ts.map
45
+ export declare function verifyApprovalQuorum(grants: ApprovalGrant[], requestHash: string | readonly string[], quorum: Quorum, isValidSignature: (g: ApprovalGrant) => Promise<boolean>): Promise<QuorumResult>;
@@ -2,18 +2,25 @@
2
2
  * Quorum is satisfied iff at least `quorum.n` DISTINCT approvers each signed an
3
3
  * `approve` grant over EXACTLY `requestHash`, drawn from `quorum.approvers`
4
4
  * (empty = any), with a signature accepted by `isValidSignature`.
5
+ *
6
+ * `requestHash` may list several hashes when they all identify the one
7
+ * suspended action, as the hashes of its legacy and SPEC §7.3 request shapes
8
+ * do; a grant over any of them counts.
5
9
  */
6
10
  export async function verifyApprovalQuorum(grants, requestHash, quorum, isValidSignature) {
11
+ const actionHashes = typeof requestHash === 'string'
12
+ ? [requestHash]
13
+ : requestHash;
7
14
  // A non-positive quorum is a misconfiguration (e.g. a third-party engine
8
15
  // returning {n:0}); treat it as never-satisfiable rather than auto-passing.
9
16
  if (quorum.n <= 0) {
10
- return { satisfied: false, reason: 'invalid_quorum:n<=0' };
17
+ return { satisfied: false, reason: 'invalid_quorum:n<=0', approvers: [] };
11
18
  }
12
19
  const approvers = new Set();
13
20
  for (const g of grants) {
14
21
  if (g.decision !== 'approve')
15
22
  continue;
16
- if (g.requestHash !== requestHash)
23
+ if (!actionHashes.includes(g.requestHash))
17
24
  continue; // TOCTOU guard
18
25
  if (quorum.approvers.length > 0 && !quorum.approvers.includes(g.approverDid))
19
26
  continue;
@@ -22,8 +29,12 @@ export async function verifyApprovalQuorum(grants, requestHash, quorum, isValidS
22
29
  approvers.add(g.approverDid);
23
30
  }
24
31
  if (approvers.size >= quorum.n) {
25
- return { satisfied: true };
32
+ return { satisfied: true, approvers: [...approvers] };
26
33
  }
27
- return { satisfied: false, reason: `quorum_not_met:${approvers.size}/${quorum.n}` };
34
+ return {
35
+ satisfied: false,
36
+ reason: `quorum_not_met:${approvers.size}/${quorum.n}`,
37
+ approvers: [...approvers],
38
+ };
28
39
  }
29
40
  //# sourceMappingURL=approval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/policy/approval.ts"],"names":[],"mappings":"AA8BA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAuB,EACvB,WAAmB,EACnB,MAAc,EACd,gBAAwD;IAExD,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS;QACvC,IAAI,CAAC,CAAC,WAAW,KAAK,WAAW;YAAE,SAAS,CAAC,eAAe;QAC5D,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;YAAE,SAAS;QACvF,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QAC3C,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/policy/approval.ts"],"names":[],"mappings":"AAsCA;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAuB,EACvB,WAAuC,EACvC,MAAc,EACd,gBAAwD;IAExD,MAAM,YAAY,GAAsB,OAAO,WAAW,KAAK,QAAQ;QACrE,CAAC,CAAC,CAAC,WAAW,CAAC;QACf,CAAC,CAAC,WAAW,CAAC;IAChB,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS;QACvC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;YAAE,SAAS,CAAC,eAAe;QACpE,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;YAAE,SAAS;QACvF,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QAC3C,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,kBAAkB,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE;QACtD,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;KAC1B,CAAC;AACJ,CAAC"}
@@ -35,4 +35,3 @@ export declare class RiskClassifier {
35
35
  constructor(options?: RiskClassifierOptions);
36
36
  classify(invocation: Invocation): RiskAssessment;
37
37
  }
38
- //# sourceMappingURL=classifier.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import type { PolicyEngine } from './engine.js';
2
2
  import type { PolicyRequest, PolicyDecision } from './types.js';
3
3
  export interface DefaultPolicyConfig {
4
- /** Approvals required for a step-up. Default 1. */
4
+ /** Distinct approvals required for a step-up. Default 1. */
5
5
  stepUpQuorum?: number;
6
6
  /** Allowed approver DIDs; empty/undefined = any identity may approve. */
7
7
  stepUpApprovers?: string[];
@@ -13,6 +13,10 @@ export interface DefaultPolicyConfig {
13
13
  * - irreversible/high/catastrophic → step_up (or allow once quorum met)
14
14
  * - otherwise → allow
15
15
  *
16
+ * The quorum counts DISTINCT approver DIDs from `context.humanApprovals`, and
17
+ * only those on `stepUpApprovers` when it is set. Feed `humanApprovals` from
18
+ * `verifyApprovalQuorum(...).approvers`, never from unverified input.
19
+ *
16
20
  * Production deployments are expected to swap in an OPA/Rego or Cedar adapter;
17
21
  * this engine encodes the same fail-closed posture as a sensible default.
18
22
  */
@@ -21,4 +25,3 @@ export declare class DefaultPolicyEngine implements PolicyEngine {
21
25
  constructor(cfg?: DefaultPolicyConfig);
22
26
  evaluate(req: PolicyRequest): Promise<PolicyDecision>;
23
27
  }
24
- //# sourceMappingURL=default-engine.d.ts.map
@@ -5,6 +5,10 @@
5
5
  * - irreversible/high/catastrophic → step_up (or allow once quorum met)
6
6
  * - otherwise → allow
7
7
  *
8
+ * The quorum counts DISTINCT approver DIDs from `context.humanApprovals`, and
9
+ * only those on `stepUpApprovers` when it is set. Feed `humanApprovals` from
10
+ * `verifyApprovalQuorum(...).approvers`, never from unverified input.
11
+ *
8
12
  * Production deployments are expected to swap in an OPA/Rego or Cedar adapter;
9
13
  * this engine encodes the same fail-closed posture as a sensible default.
10
14
  */
@@ -26,12 +30,16 @@ export class DefaultPolicyEngine {
26
30
  severity === 'high';
27
31
  if (dangerous) {
28
32
  const n = this.cfg.stepUpQuorum ?? 1;
29
- if (humanApprovals.length >= n) {
33
+ // Distinct DIDs only, and only allowlisted ones when an allowlist is set:
34
+ // one approver named twice is not two approvals.
35
+ const allowed = this.cfg.stepUpApprovers ?? [];
36
+ const approvers = new Set(humanApprovals.filter((did) => allowed.length === 0 || allowed.includes(did)));
37
+ if (approvers.size >= n) {
30
38
  return { decision: 'allow' };
31
39
  }
32
40
  return {
33
41
  decision: 'step_up',
34
- quorum: { n, approvers: this.cfg.stepUpApprovers ?? [] },
42
+ quorum: { n, approvers: allowed },
35
43
  reason: 'destructive_action_requires_approval',
36
44
  };
37
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"default-engine.js","sourceRoot":"","sources":["../../src/policy/default-engine.ts"],"names":[],"mappings":"AAUA;;;;;;;;;GASG;AACH,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,MAA2B,EAAE;QAA7B,QAAG,GAAH,GAAG,CAA0B;IAAG,CAAC;IAE9D,KAAK,CAAC,QAAQ,CAAC,GAAkB;QAC/B,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QAE9E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;QAChE,CAAC;QAED,MAAM,SAAS,GACb,aAAa,KAAK,cAAc;YAChC,QAAQ,KAAK,cAAc;YAC3B,QAAQ,KAAK,MAAM,CAAC;QAEtB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;YACrC,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,EAAE;gBACxD,MAAM,EAAE,sCAAsC;aAC/C,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"default-engine.js","sourceRoot":"","sources":["../../src/policy/default-engine.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,MAA2B,EAAE;QAA7B,QAAG,GAAH,GAAG,CAA0B;IAAG,CAAC;IAE9D,KAAK,CAAC,QAAQ,CAAC,GAAkB;QAC/B,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QAE9E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;QAChE,CAAC;QAED,MAAM,SAAS,GACb,aAAa,KAAK,cAAc;YAChC,QAAQ,KAAK,cAAc;YAC3B,QAAQ,KAAK,MAAM,CAAC;QAEtB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;YACrC,0EAA0E;YAC1E,iDAAiD;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC9E,CAAC;YACF,IAAI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;gBACjC,MAAM,EAAE,sCAAsC;aAC/C,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;CACF"}
@@ -9,4 +9,3 @@ import type { PolicyRequest, PolicyDecision } from './types.js';
9
9
  export interface PolicyEngine {
10
10
  evaluate(req: PolicyRequest): Promise<PolicyDecision>;
11
11
  }
12
- //# sourceMappingURL=engine.d.ts.map
@@ -4,4 +4,3 @@ export * from './classifier.js';
4
4
  export * from './default-engine.js';
5
5
  export * from './projection.js';
6
6
  export * from './approval.js';
7
- //# sourceMappingURL=index.d.ts.map
@@ -44,4 +44,3 @@ export interface PolicyRequestInput {
44
44
  * to an empty list (the first-pass, pre-approval state).
45
45
  */
46
46
  export declare function buildPolicyRequest(input: PolicyRequestInput): PolicyRequest;
47
- //# sourceMappingURL=projection.d.ts.map
@@ -49,4 +49,3 @@ export type PolicyDecision = {
49
49
  };
50
50
  reason: string;
51
51
  };
52
- //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,46 @@
1
+ /**
2
+ * The request a proof's `requestHash` covers (SPEC §7.3), and the shapes of
3
+ * one tool call a verifier accepts it for.
4
+ *
5
+ * SPEC §7.3 covers the JSON-RPC request the client actually sends, so anyone
6
+ * holding the wire message can recompute the hash: the `tools/call` message's
7
+ * `{ method, params }` with the members that cannot be signed taken out.
8
+ * `params._meta` is intermediary-mutable transport metadata, and the
9
+ * `_kyaos`-prefixed control arguments carry the credentials that authorize the
10
+ * call (a delegation, the holder-binding proof, approval grants); two of those
11
+ * are themselves bound to this hash, so covering them would make the hash
12
+ * depend on its own output.
13
+ *
14
+ * Producers in 1.x still hash the legacy shape `{ method: <tool name>, params:
15
+ * <arguments> }`, so verifiers already deployed keep accepting their proofs.
16
+ * Verifiers accept a hash of either shape of the same call (see
17
+ * {@link alternateRequestShapes}); producers switch to the §7.3 shape in 2.0.0.
18
+ */
19
+ import type { ToolRequest } from './generator.js';
20
+ /**
21
+ * Whether an argument key is reserved KYA-OS protocol envelope (`_kyaos*`:
22
+ * `_kyaos_delegation`, `_kyaos_proof`, `_kyaos_approvals`, …) rather than caller
23
+ * tool intent. The SINGLE predicate behind both the request hash and the
24
+ * middleware's handler-arg stripping, so the set excluded from the bound hash
25
+ * and the set withheld from the handler cannot drift — a proof binds exactly the
26
+ * call the handler runs.
27
+ */
28
+ export declare function isKyaOsControlArg(key: string): boolean;
29
+ /**
30
+ * The other shapes of the call `request` describes, whose `requestHash` a
31
+ * verifier accepts as well as the hash of `request` itself. A caller may hold
32
+ * the call in either shape: the legacy shape `{ method: <tool name>, params:
33
+ * <arguments> }` that 1.x producers sign, or the `tools/call` request as sent.
34
+ * From either, this yields the SPEC §7.3 covered request and the legacy shape
35
+ * with the arguments as given and with the control args removed: 1.x
36
+ * producers differ in whether control args stay in the legacy shape (the
37
+ * holder-binding request, the step-up hash and wrapped handlers drop them, a
38
+ * proof added at the transport keeps them).
39
+ *
40
+ * Every shape describes the same tool name and business arguments, so
41
+ * accepting any of them binds the same call. The legacy shape keeps its known
42
+ * ambiguities for the 1.x line: a tool named after a JSON-RPC method hashes
43
+ * like that method's request, and `params` members other than the arguments
44
+ * are not covered.
45
+ */
46
+ export declare function alternateRequestShapes(request: ToolRequest): ToolRequest[];