@attested-intelligence/aga-mcp-server 0.1.1 → 2.0.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 (194) hide show
  1. package/PATENTS.md +28 -0
  2. package/README.md +84 -23
  3. package/dist/context.d.ts +39 -0
  4. package/dist/context.d.ts.map +1 -0
  5. package/dist/context.js +113 -0
  6. package/dist/context.js.map +1 -0
  7. package/dist/core/identity.d.ts +14 -0
  8. package/dist/core/identity.d.ts.map +1 -0
  9. package/dist/core/identity.js +16 -0
  10. package/dist/core/identity.js.map +1 -0
  11. package/dist/core/index.d.ts +3 -0
  12. package/dist/core/index.d.ts.map +1 -1
  13. package/dist/core/index.js +3 -0
  14. package/dist/core/index.js.map +1 -1
  15. package/dist/core/measurement.d.ts +16 -0
  16. package/dist/core/measurement.d.ts.map +1 -0
  17. package/dist/core/measurement.js +18 -0
  18. package/dist/core/measurement.js.map +1 -0
  19. package/dist/core/portal.d.ts +1 -1
  20. package/dist/core/portal.d.ts.map +1 -1
  21. package/dist/core/portal.js +10 -5
  22. package/dist/core/portal.js.map +1 -1
  23. package/dist/core/types.d.ts +2 -2
  24. package/dist/core/types.d.ts.map +1 -1
  25. package/dist/crypto/canonicalize.d.ts +7 -0
  26. package/dist/crypto/canonicalize.d.ts.map +1 -0
  27. package/dist/crypto/canonicalize.js +21 -0
  28. package/dist/crypto/canonicalize.js.map +1 -0
  29. package/dist/crypto/index.d.ts +6 -5
  30. package/dist/crypto/index.d.ts.map +1 -1
  31. package/dist/crypto/index.js +6 -5
  32. package/dist/crypto/index.js.map +1 -1
  33. package/dist/crypto/keys.d.ts +10 -0
  34. package/dist/crypto/keys.d.ts.map +1 -0
  35. package/dist/crypto/keys.js +19 -0
  36. package/dist/crypto/keys.js.map +1 -0
  37. package/dist/index.js +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/middleware/governance.d.ts +1 -7
  40. package/dist/middleware/governance.d.ts.map +1 -1
  41. package/dist/middleware/governance.js +11 -18
  42. package/dist/middleware/governance.js.map +1 -1
  43. package/dist/prompts/drift-analysis.d.ts +13 -0
  44. package/dist/prompts/drift-analysis.d.ts.map +1 -0
  45. package/dist/prompts/drift-analysis.js +43 -0
  46. package/dist/prompts/drift-analysis.js.map +1 -0
  47. package/dist/prompts/governance-report.d.ts +7 -0
  48. package/dist/prompts/governance-report.d.ts.map +1 -0
  49. package/dist/prompts/governance-report.js +26 -0
  50. package/dist/prompts/governance-report.js.map +1 -0
  51. package/dist/prompts/nccoe-demo.d.ts +14 -0
  52. package/dist/prompts/nccoe-demo.d.ts.map +1 -0
  53. package/dist/prompts/nccoe-demo.js +48 -0
  54. package/dist/prompts/nccoe-demo.js.map +1 -0
  55. package/dist/resources/crypto-primitives.d.ts +3 -0
  56. package/dist/resources/crypto-primitives.d.ts.map +1 -0
  57. package/dist/resources/crypto-primitives.js +52 -0
  58. package/dist/resources/crypto-primitives.js.map +1 -0
  59. package/dist/resources/patent-claims.d.ts +3 -0
  60. package/dist/resources/patent-claims.d.ts.map +1 -0
  61. package/dist/resources/patent-claims.js +67 -0
  62. package/dist/resources/patent-claims.js.map +1 -0
  63. package/dist/resources/sample-bundle.d.ts +6 -0
  64. package/dist/resources/sample-bundle.d.ts.map +1 -0
  65. package/dist/resources/sample-bundle.js +58 -0
  66. package/dist/resources/sample-bundle.js.map +1 -0
  67. package/dist/resources/specification.d.ts +3 -0
  68. package/dist/resources/specification.d.ts.map +1 -0
  69. package/dist/resources/specification.js +107 -0
  70. package/dist/resources/specification.js.map +1 -0
  71. package/dist/server.d.ts +4 -7
  72. package/dist/server.d.ts.map +1 -1
  73. package/dist/server.js +217 -343
  74. package/dist/server.js.map +1 -1
  75. package/dist/storage/sqlite.js +1 -1
  76. package/dist/tools/create-artifact.d.ts +25 -0
  77. package/dist/tools/create-artifact.d.ts.map +1 -0
  78. package/dist/tools/create-artifact.js +85 -0
  79. package/dist/tools/create-artifact.js.map +1 -0
  80. package/dist/tools/delegate-subagent.d.ts +18 -0
  81. package/dist/tools/delegate-subagent.d.ts.map +1 -0
  82. package/dist/tools/delegate-subagent.js +50 -0
  83. package/dist/tools/delegate-subagent.js.map +1 -0
  84. package/dist/tools/disclose-claim.d.ts +14 -0
  85. package/dist/tools/disclose-claim.d.ts.map +1 -0
  86. package/dist/tools/disclose-claim.js +23 -0
  87. package/dist/tools/disclose-claim.js.map +1 -0
  88. package/dist/tools/export-bundle.d.ts +8 -0
  89. package/dist/tools/export-bundle.d.ts.map +1 -0
  90. package/dist/tools/export-bundle.js +25 -0
  91. package/dist/tools/export-bundle.js.map +1 -0
  92. package/dist/tools/full-lifecycle.d.ts +16 -0
  93. package/dist/tools/full-lifecycle.d.ts.map +1 -0
  94. package/dist/tools/full-lifecycle.js +121 -0
  95. package/dist/tools/full-lifecycle.js.map +1 -0
  96. package/dist/tools/generate-receipt.d.ts +16 -0
  97. package/dist/tools/generate-receipt.d.ts.map +1 -0
  98. package/dist/tools/generate-receipt.js +31 -0
  99. package/dist/tools/generate-receipt.js.map +1 -0
  100. package/dist/tools/get-chain.d.ts +14 -0
  101. package/dist/tools/get-chain.d.ts.map +1 -0
  102. package/dist/tools/get-chain.js +45 -0
  103. package/dist/tools/get-chain.js.map +1 -0
  104. package/dist/tools/get-portal-state.d.ts +8 -0
  105. package/dist/tools/get-portal-state.d.ts.map +1 -0
  106. package/dist/tools/get-portal-state.js +15 -0
  107. package/dist/tools/get-portal-state.js.map +1 -0
  108. package/dist/tools/init-chain.d.ts +10 -0
  109. package/dist/tools/init-chain.d.ts.map +1 -0
  110. package/dist/tools/init-chain.js +13 -0
  111. package/dist/tools/init-chain.js.map +1 -0
  112. package/dist/tools/measure-behavior.d.ts +12 -0
  113. package/dist/tools/measure-behavior.d.ts.map +1 -0
  114. package/dist/tools/measure-behavior.js +29 -0
  115. package/dist/tools/measure-behavior.js.map +1 -0
  116. package/dist/tools/measure-subject.d.ts +15 -0
  117. package/dist/tools/measure-subject.d.ts.map +1 -0
  118. package/dist/tools/measure-subject.js +106 -0
  119. package/dist/tools/measure-subject.js.map +1 -0
  120. package/dist/tools/quarantine-status.d.ts +8 -0
  121. package/dist/tools/quarantine-status.d.ts.map +1 -0
  122. package/dist/tools/quarantine-status.js +16 -0
  123. package/dist/tools/quarantine-status.js.map +1 -0
  124. package/dist/tools/revoke-artifact.d.ts +13 -0
  125. package/dist/tools/revoke-artifact.d.ts.map +1 -0
  126. package/dist/tools/revoke-artifact.js +24 -0
  127. package/dist/tools/revoke-artifact.js.map +1 -0
  128. package/dist/tools/rotate-keys.d.ts +13 -0
  129. package/dist/tools/rotate-keys.d.ts.map +1 -0
  130. package/dist/tools/rotate-keys.js +39 -0
  131. package/dist/tools/rotate-keys.js.map +1 -0
  132. package/dist/tools/server-info.d.ts +8 -0
  133. package/dist/tools/server-info.d.ts.map +1 -0
  134. package/dist/tools/server-info.js +24 -0
  135. package/dist/tools/server-info.js.map +1 -0
  136. package/dist/tools/set-verification-tier.d.ts +11 -0
  137. package/dist/tools/set-verification-tier.d.ts.map +1 -0
  138. package/dist/tools/set-verification-tier.js +31 -0
  139. package/dist/tools/set-verification-tier.js.map +1 -0
  140. package/dist/tools/start-monitoring.d.ts +12 -0
  141. package/dist/tools/start-monitoring.d.ts.map +1 -0
  142. package/dist/tools/start-monitoring.js +17 -0
  143. package/dist/tools/start-monitoring.js.map +1 -0
  144. package/dist/tools/trigger-measurement.d.ts +15 -0
  145. package/dist/tools/trigger-measurement.d.ts.map +1 -0
  146. package/dist/tools/trigger-measurement.js +86 -0
  147. package/dist/tools/trigger-measurement.js.map +1 -0
  148. package/dist/tools/verify-artifact.d.ts +13 -0
  149. package/dist/tools/verify-artifact.d.ts.map +1 -0
  150. package/dist/tools/verify-artifact.js +6 -0
  151. package/dist/tools/verify-artifact.js.map +1 -0
  152. package/dist/tools/verify-bundle.d.ts +13 -0
  153. package/dist/tools/verify-bundle.d.ts.map +1 -0
  154. package/dist/tools/verify-bundle.js +6 -0
  155. package/dist/tools/verify-bundle.js.map +1 -0
  156. package/dist/types.d.ts +262 -0
  157. package/dist/types.d.ts.map +1 -0
  158. package/dist/types.js +9 -0
  159. package/dist/types.js.map +1 -0
  160. package/package.json +19 -3
  161. package/AGA_MCP_SERVER_SPEC.md +0 -632
  162. package/src/core/artifact.ts +0 -45
  163. package/src/core/attestation.ts +0 -33
  164. package/src/core/behavioral.ts +0 -132
  165. package/src/core/bundle.ts +0 -31
  166. package/src/core/chain.ts +0 -72
  167. package/src/core/checkpoint.ts +0 -22
  168. package/src/core/delegation.ts +0 -146
  169. package/src/core/disclosure.ts +0 -32
  170. package/src/core/index.ts +0 -11
  171. package/src/core/portal.ts +0 -96
  172. package/src/core/quarantine.ts +0 -16
  173. package/src/core/receipt.ts +0 -33
  174. package/src/core/subject.ts +0 -11
  175. package/src/core/types.ts +0 -244
  176. package/src/crypto/hash.ts +0 -33
  177. package/src/crypto/index.ts +0 -5
  178. package/src/crypto/merkle.ts +0 -43
  179. package/src/crypto/salt.ts +0 -18
  180. package/src/crypto/sign.ts +0 -35
  181. package/src/crypto/types.ts +0 -19
  182. package/src/index.ts +0 -12
  183. package/src/middleware/governance.ts +0 -95
  184. package/src/middleware/index.ts +0 -1
  185. package/src/server.ts +0 -436
  186. package/src/storage/index.ts +0 -3
  187. package/src/storage/interface.ts +0 -21
  188. package/src/storage/memory.ts +0 -27
  189. package/src/storage/sqlite.ts +0 -45
  190. package/src/tools/README.md +0 -13
  191. package/src/utils/canonical.ts +0 -14
  192. package/src/utils/constants.ts +0 -3
  193. package/src/utils/timestamp.ts +0 -12
  194. package/src/utils/uuid.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAoB,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,mEAAmE;AAEnE,MAAM,mBAAmB,GAAsB;IAC7C,sBAAsB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;IAC/C,oBAAoB,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;IACjD,uBAAuB,EAAE,IAAI;IAC7B,iBAAiB,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;CAC5D,CAAC;AAEF,MAAM,cAAc,GAAqB;IACvC,eAAe,EAAE;QACf,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,oBAAoB,EAAE,cAAc,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,YAAY,CAAC,EAAE;QAChK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE;QACjK,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE;QACvJ,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,YAAY,CAAC,EAAE;QACpK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,mBAAmB,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE;QACrL,EAAE,QAAQ,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;KAC/I;IACD,kBAAkB,EAAE,EAAE;CACvB,CAAC;AAEF,MAAM,YAAY,GAA4B;IAC5C,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,SAAS,EAAE,cAAc,EAAE,uBAAuB;IAC1G,cAAc,EAAE,EAAE,EAAE,oBAAoB,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI;CAC7E,CAAC;AAEF,mEAAmE;AAEnE,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAe,IAAI,aAAa,EAAE,CAAC;IAChD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAE3B,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,OAAO,GAAI,eAAe,EAAE,CAAC;IACnC,MAAM,MAAM,GAAK,IAAI,MAAM,EAAE,CAAC;IAC9B,IAAI,UAAU,GAA2B,IAAI,CAAC;IAC9C,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,iEAAiE;IACjE,KAAK,UAAU,SAAS,CAAC,IAAuC,EAAE,OAAgB;QAChF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC5F,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,gBAAgB,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;YAC3B,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;QAC1C,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC/C,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEvG,iEAAiE;IACjE,MAAM,aAAa,GAAG,EAAE,IAAI,OAAO,KAAK,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAElD,SAAS,YAAY,CACnB,IAAY,EAAE,WAAmB,EAAE,MAAW,EAC9C,OAAoB;QAEpB,MAAM,IAAI,GAAG,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,iEAAiE;IACjE,wBAAwB;IACxB,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,qDAAqD,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QACtG,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO;QAC1C,QAAQ,EAAE,sCAAsC;QAChD,MAAM,EAAE,kCAAkC;QAC1C,eAAe,EAAE,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;QAC9D,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9C,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9C,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QAC5C,iBAAiB,EAAE,gBAAgB;QACnC,YAAY,EAAE,MAAM,CAAC,KAAK;KAC3B,CAAC,CAAC,CAAC;IAEJ,iEAAiE;IACjE,2DAA2D;IAC3D,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,yEAAyE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3H,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;QAClC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI;QACjD,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC,WAAW,IAAI,IAAI;QACxE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,IAAI,IAAI;QACpD,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC,oBAAoB,IAAI,EAAE;QACxF,gBAAgB,EAAE,MAAM,CAAC,eAAe;QACxC,iBAAiB,EAAE,UAAU,EAAE,MAAM,IAAI,KAAK;KAC/C,CAAC,CAAC,CAAC;IAEJ,iEAAiE;IACjE,8BAA8B;IAC9B,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,4DAA4D,EACpF,EAAE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,EAC7C,KAAK,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE;QAC/B,IAAI,gBAAgB;YAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAClH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAClC,gBAAgB,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;QACxC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACxG,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,sCAAsC;IACtC,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAC1B,yFAAyF,EACzF;QACE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACpE,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnK,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACzF,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC;YAC5B,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACpC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACjC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACtB,CAAC,CAAC,QAAQ,EAAE;KACd,EACD,KAAK,EAAE,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,EAAE,EAAE;QACnF,MAAM,KAAK,GAAG,0BAA0B,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAElH,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;YACzE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;YACtD,sBAAsB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc;YAC9E,oBAAoB,EAAE,GAAG,CAAC,oBAAoB,EAAE,cAAc,EAAE,QAAQ;SACzE,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEtC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,UAAU,GAAG,IAAI,CAAC;QAClB,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,mBAAmB;YAAE,iBAAiB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAE5E,MAAM,SAAS,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAEjH,OAAO,CAAC,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW;YACvF,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK;YACrD,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,yCAAyC;IACzC,kEAAkE;IAClE,8CAA8C;IAC9C,iEAAiE;IACjE,YAAY,CAAC,mBAAmB,EAC9B,oHAAoH,EACpH;QACE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACtE,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;KACpK,EACD,KAAK,EAAE,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAAE,EAAE;QAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC,CAAC;QAC5G,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY;YAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2CAA2C,EAAE,CAAC,CAAC;QAEpH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QACrH,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,iBAAiB,KAAK,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAE5E,+BAA+B;QAC/B,IAAI,MAAM,GAAG,IAA0D,CAAC;QACxE,IAAI,SAAS,GAAkB,IAAI,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,SAAS,GAAG,uCAAuC,CAAC;YACpD,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,SAAS,GAAG,4CAA4C,CAAC;YACzD,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,SAAS,GAAG,kCAAkC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;YACxF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvB,IAAI,MAAM,KAAK,YAAY;gBAAE,UAAU,GAAG,cAAc,EAAE,CAAC;QAC7D,CAAC;QAED,wDAAwD;QACxD,MAAM,OAAO,GAAG,eAAe,CAAC;YAC9B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,WAAW,EAAE,MAAM;YAClE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS;YAC9C,aAAa,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS;YACzD,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3F,GAAG,EAAE,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ;SACzE,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtI,OAAO,CAAC,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,KAAK;YACjE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;YAC9C,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK;YACtD,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,kDAAkD;IAClD,iEAAiE;IACjE,YAAY,CAAC,iBAAiB,EAC5B,uGAAuG,EACvG;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACrE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KACrD,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAChC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAqB;YAC/B,oBAAoB,EAAE,WAAW,EAAE,MAAM;YACzC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;SAC7D,CAAC;QACF,MAAM,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,gCAAgC;IAChC,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,+CAA+C,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1I,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,yCAAyC;IACzC,iEAAiE;IACjE,YAAY,CAAC,mBAAmB,EAAE,uDAAuD,EACvF,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAC/C,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC,CAAC;QAC/F,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACzE,MAAM,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;IAClJ,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,2CAA2C;IAC3C,iEAAiE;IACjE,YAAY,CAAC,0BAA0B,EAAE,iFAAiF,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;QACzI,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC/C,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG,QAAQ;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,oBAAoB,IAAI,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,kBAAkB,CAAC;aACvG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QACxE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5H,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,0CAA0C;IAC1C,iEAAiE;IACjE,YAAY,CAAC,uBAAuB,EAAE,6CAA6C,EACjF,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAClD,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAC5H,CAAC;IAEF,iEAAiE;IACjE,gCAAgC;IAChC,iEAAiE;IACjE,YAAY,CAAC,eAAe,EAAE,sEAAsE,EAClG,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EACxJ,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,iBAAiB,CAC9B,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EACzE,cAAc,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,IAAI,CAAC,EAAE,QAAQ,CACxE,CAAC;QACF,IAAI,MAAM,CAAC,oBAAoB;YAAE,MAAM,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;;YACzF,MAAM,SAAS,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACpF,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,oBAAoB;IACpB,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,gDAAgD,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;QAC1F,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACxL,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,+DAA+D;IAC/D,iEAAiE;IACjE,YAAY,CAAC,sBAAsB,EACjC,6HAA6H,EAC7H;QACE,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC3F,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACrF,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QACjG,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KACrE,EACD,KAAK,EAAE,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,EAAE,EAAE;QAC/F,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC,CAAC;QAE5G,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7C,oBAAoB,EAAE,oBAAqE;YAC3F,iBAAiB,EAAE,iBAAgE;YACnF,qBAAqB;YACrB,kBAAkB;SACnB,EAAE,QAAQ,CAAC,CAAC;QAEb,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,SAAS,CAAC,aAAa,EAAE;gBAC7B,IAAI,EAAE,YAAY;gBAClB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;gBACjD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;gBAC/C,aAAa,EAAE,MAAM,CAAC,qBAAqB;gBAC3C,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,OAAO,EAAE,kBAAkB;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,0CAA0C;IAC1C,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAC5B,yIAAyI,EACzI,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAChD,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;YAC/B,MAAM,SAAS,CAAC,qBAAqB,EAAE;gBACrC,IAAI,EAAE,kBAAkB;gBACxB,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,eAAe,EAAE,WAAW,CAAC,eAAe;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,CAAC;YACP,OAAO,EAAE,IAAI;YACb,GAAG,WAAW;YACd,eAAe,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM;SAC/C,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,8BAA8B;IAC9B,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,2DAA2D,EACrF,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,EACxC,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,aAAa;YAC5B,CAAC,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,aAAa,CAAC;YACpD,CAAC,CAAC,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9O,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,kCAAkC;IAClC,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,8BAA8B,EAC5D,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,EACpE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,CAAC;YAC/D,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;YAC7C,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QACjC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7N,CAAC,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // Dynamic import better-sqlite3 is optional (requires native build tools)
1
+ // Dynamic import - better-sqlite3 is optional (requires native build tools)
2
2
  let Database;
3
3
  try {
4
4
  Database = (await import('better-sqlite3')).default;
@@ -0,0 +1,25 @@
1
+ import type { ServerContext } from '../context.js';
2
+ import type { SubjectMetadata } from '../core/types.js';
3
+ import type { BehavioralBaseline } from '../types.js';
4
+ export interface CreateArtifactArgs {
5
+ subject_content?: string;
6
+ subject_metadata?: SubjectMetadata;
7
+ subject_bytes_hash?: string;
8
+ subject_metadata_hash?: string;
9
+ measurement_cadence_ms?: number;
10
+ enforcement_action?: string;
11
+ ttl_seconds?: number;
12
+ measurement_types?: string[];
13
+ evidence_items?: Array<{
14
+ label: string;
15
+ content: string;
16
+ }>;
17
+ behavioral_baseline?: BehavioralBaseline;
18
+ }
19
+ export declare function handleCreateArtifact(args: CreateArtifactArgs, ctx: ServerContext): Promise<{
20
+ content: Array<{
21
+ type: "text";
22
+ text: string;
23
+ }>;
24
+ }>;
25
+ //# sourceMappingURL=create-artifact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-artifact.d.ts","sourceRoot":"","sources":["../../src/tools/create-artifact.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAsC,MAAM,kBAAkB,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IAEjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,eAAe,CAAC;IAEnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;CAC1C;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa;;;;;GAoFtF"}
@@ -0,0 +1,85 @@
1
+ import { sha256Str } from '../crypto/hash.js';
2
+ import { pkToHex } from '../crypto/sign.js';
3
+ import { computeSubjectIdFromString } from '../core/subject.js';
4
+ import { performAttestation } from '../core/attestation.js';
5
+ import { generateArtifact, hashArtifact } from '../core/artifact.js';
6
+ export async function handleCreateArtifact(args, ctx) {
7
+ // Determine subject identifier - support both content and hash inputs
8
+ let subId;
9
+ if (args.subject_bytes_hash && args.subject_metadata_hash) {
10
+ subId = { bytes_hash: args.subject_bytes_hash, metadata_hash: args.subject_metadata_hash };
11
+ }
12
+ else if (args.subject_content) {
13
+ subId = computeSubjectIdFromString(args.subject_content, args.subject_metadata ?? {});
14
+ }
15
+ else {
16
+ return ctx.error('Provide either subject_content or subject_bytes_hash + subject_metadata_hash');
17
+ }
18
+ // Build enforcement parameters - merge custom with defaults
19
+ const enforcement = {
20
+ measurement_cadence_ms: args.measurement_cadence_ms ?? ctx.defaultEnforcement.measurement_cadence_ms,
21
+ ttl_seconds: args.ttl_seconds ?? ctx.defaultEnforcement.ttl_seconds,
22
+ enforcement_triggers: args.enforcement_action
23
+ ? [args.enforcement_action]
24
+ : ctx.defaultEnforcement.enforcement_triggers,
25
+ re_attestation_required: ctx.defaultEnforcement.re_attestation_required,
26
+ measurement_types: (args.measurement_types ?? ctx.defaultEnforcement.measurement_types.map(String)),
27
+ };
28
+ const policyRef = sha256Str(JSON.stringify(enforcement));
29
+ const att = performAttestation({
30
+ subject_identifier: subId,
31
+ policy_reference: policyRef,
32
+ evidence_items: args.evidence_items ?? [],
33
+ });
34
+ if (!att.success || !att.sealed_hash || !att.seal_salt) {
35
+ return ctx.error(att.rejection_reason ?? 'Attestation failed');
36
+ }
37
+ // Track whether this is a re-attestation (after revocation)
38
+ const previousArtifact = ctx.activeArtifact;
39
+ const isReAttestation = previousArtifact !== null && (ctx.portal.state === 'TERMINATED' || ctx.portal.state === 'SAFE_STATE' ||
40
+ ctx.portal.isRevoked(previousArtifact.sealed_hash));
41
+ const artifact = generateArtifact({
42
+ subject_identifier: subId,
43
+ policy_reference: policyRef,
44
+ policy_version: isReAttestation ? (previousArtifact.policy_version + 1) : 1,
45
+ sealed_hash: att.sealed_hash,
46
+ seal_salt: att.seal_salt,
47
+ enforcement_parameters: enforcement,
48
+ disclosure_policy: ctx.defaultClaims,
49
+ evidence_commitments: att.evidence_commitments,
50
+ issuer_keypair: ctx.issuerKP,
51
+ });
52
+ await ctx.storage.storeArtifact(artifact);
53
+ ctx.portal.reset();
54
+ ctx.portal.loadArtifact(artifact, pkToHex(ctx.issuerKP.publicKey));
55
+ ctx.activeArtifact = artifact;
56
+ ctx.quarantine = null;
57
+ ctx.measurementCount = 0;
58
+ ctx.behavioralMonitor.reset();
59
+ if (args.behavioral_baseline)
60
+ ctx.behavioralMonitor.setBaseline(args.behavioral_baseline);
61
+ const eventType = isReAttestation ? 'RE_ATTESTATION' : 'POLICY_ISSUANCE';
62
+ const eventPayload = {
63
+ artifact_hash: hashArtifact(artifact),
64
+ sealed_hash: artifact.sealed_hash,
65
+ };
66
+ if (isReAttestation && previousArtifact) {
67
+ eventPayload.predecessor_sealed_hash = previousArtifact.sealed_hash;
68
+ eventPayload.predecessor_artifact_hash = hashArtifact(previousArtifact);
69
+ }
70
+ await ctx.appendToChain(eventType, eventPayload);
71
+ return ctx.json({
72
+ success: true,
73
+ artifact_hash: hashArtifact(artifact),
74
+ sealed_hash: artifact.sealed_hash,
75
+ subject_identifier: subId,
76
+ portal_state: ctx.portal.state,
77
+ issuer_public_key: pkToHex(ctx.issuerKP.publicKey),
78
+ verification_tier: ctx.verificationTier,
79
+ event_type: eventType,
80
+ enforcement_parameters: enforcement,
81
+ evidence_commitments: att.evidence_commitments,
82
+ is_re_attestation: isReAttestation,
83
+ });
84
+ }
85
+ //# sourceMappingURL=create-artifact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-artifact.js","sourceRoot":"","sources":["../../src/tools/create-artifact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ServerContext } from '../context.js';
2
+ export interface DelegateSubagentArgs {
3
+ sub_agent_id?: string;
4
+ permitted_tools?: string[];
5
+ ttl_seconds?: number;
6
+ delegation_reason?: string;
7
+ enforcement_triggers?: string[];
8
+ measurement_types?: string[];
9
+ requested_ttl_seconds?: number;
10
+ delegation_purpose?: string;
11
+ }
12
+ export declare function handleDelegateSubagent(args: DelegateSubagentArgs, ctx: ServerContext): Promise<{
13
+ content: Array<{
14
+ type: "text";
15
+ text: string;
16
+ }>;
17
+ }>;
18
+ //# sourceMappingURL=delegate-subagent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegate-subagent.d.ts","sourceRoot":"","sources":["../../src/tools/delegate-subagent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD,MAAM,WAAW,oBAAoB;IAEnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,aAAa;;;;;GAmD1F"}
@@ -0,0 +1,50 @@
1
+ import { deriveArtifact } from '../core/delegation.js';
2
+ import { utcNow } from '../utils/timestamp.js';
3
+ export async function handleDelegateSubagent(args, ctx) {
4
+ if (!ctx.portal.artifact)
5
+ return ctx.error('No artifact loaded. Call aga_create_artifact first.');
6
+ // Resolve parameters (support both V1 and V2 naming)
7
+ const triggers = args.enforcement_triggers
8
+ ?? ctx.portal.artifact.enforcement_parameters.enforcement_triggers.map(String);
9
+ const types = args.measurement_types
10
+ ?? ctx.portal.artifact.enforcement_parameters.measurement_types.map(String);
11
+ const ttl = args.ttl_seconds ?? args.requested_ttl_seconds ?? 1800;
12
+ const purpose = args.delegation_reason ?? args.delegation_purpose ?? 'Sub-agent delegation';
13
+ const subAgentId = args.sub_agent_id ?? 'sub-agent';
14
+ // If permitted_tools provided, validate against behavioral baseline
15
+ const permittedTools = args.permitted_tools;
16
+ const result = deriveArtifact(ctx.portal.artifact, {
17
+ enforcement_triggers: triggers,
18
+ measurement_types: types,
19
+ requested_ttl_seconds: ttl,
20
+ delegation_purpose: purpose,
21
+ }, ctx.issuerKP);
22
+ if (result.success && result.child_artifact_hash && result.effective_ttl_seconds !== undefined && result.scope_reduction) {
23
+ const record = {
24
+ parent_artifact_hash: result.parent_artifact_hash,
25
+ child_artifact_hash: result.child_artifact_hash,
26
+ effective_ttl_seconds: result.effective_ttl_seconds,
27
+ scope_reduction: result.scope_reduction,
28
+ purpose,
29
+ timestamp: utcNow(),
30
+ };
31
+ ctx.delegations.push(record);
32
+ await ctx.appendToChain('DELEGATION', {
33
+ type: 'DELEGATION',
34
+ sub_agent_id: subAgentId,
35
+ parent_artifact_hash: result.parent_artifact_hash,
36
+ child_artifact_hash: result.child_artifact_hash,
37
+ effective_ttl: result.effective_ttl_seconds,
38
+ scope_reduction: result.scope_reduction,
39
+ permitted_tools: permittedTools,
40
+ purpose,
41
+ });
42
+ }
43
+ return ctx.json({
44
+ ...result,
45
+ sub_agent_id: subAgentId,
46
+ scope_diminished: result.success ? true : undefined,
47
+ permitted_tools: permittedTools,
48
+ });
49
+ }
50
+ //# sourceMappingURL=delegate-subagent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegate-subagent.js","sourceRoot":"","sources":["../../src/tools/delegate-subagent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAkB/C,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAA0B,EAAE,GAAkB;IACzF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAElG,qDAAqD;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB;WACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB;WAC/B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,kBAAkB,IAAI,sBAAsB,CAAC;IAC5F,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC;IAEpD,oEAAoE;IACpE,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IAE5C,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;QACjD,oBAAoB,EAAE,QAA+B;QACrD,iBAAiB,EAAE,KAA0B;QAC7C,qBAAqB,EAAE,GAAG;QAC1B,kBAAkB,EAAE,OAAO;KAC5B,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEjB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACzH,MAAM,MAAM,GAAqB;YAC/B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;YACnD,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,OAAO;YACP,SAAS,EAAE,MAAM,EAAE;SACpB,CAAC;QACF,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE7B,MAAM,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE;YACpC,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,UAAU;YACxB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,aAAa,EAAE,MAAM,CAAC,qBAAqB;YAC3C,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,cAAc;YAC/B,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC;QACd,GAAG,MAAM;QACT,YAAY,EAAE,UAAU;QACxB,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACnD,eAAe,EAAE,cAAc;KAChC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ServerContext } from '../context.js';
2
+ import type { DisclosureMode } from '../core/types.js';
3
+ export interface DiscloseClaimArgs {
4
+ claim_id: string;
5
+ requester_id?: string;
6
+ mode?: DisclosureMode;
7
+ }
8
+ export declare function handleDiscloseClaim(args: DiscloseClaimArgs, ctx: ServerContext): Promise<{
9
+ content: Array<{
10
+ type: "text";
11
+ text: string;
12
+ }>;
13
+ }>;
14
+ //# sourceMappingURL=disclose-claim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclose-claim.d.ts","sourceRoot":"","sources":["../../src/tools/disclose-claim.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa;;;;;GAyBpF"}
@@ -0,0 +1,23 @@
1
+ import { processDisclosure } from '../core/disclosure.js';
2
+ import { utcNow } from '../utils/timestamp.js';
3
+ export async function handleDiscloseClaim(args, ctx) {
4
+ const latest = await ctx.storage.getLatestEvent();
5
+ const result = processDisclosure({
6
+ requested_claim_id: args.claim_id,
7
+ requester_id: args.requester_id ?? 'anonymous',
8
+ mode: args.mode ?? 'REVEAL_MIN',
9
+ timestamp: utcNow(),
10
+ }, ctx.defaultClaims, ctx.claimValues, 1, latest?.sequence_number ?? 0, ctx.portalKP);
11
+ if (result.substitution_receipt) {
12
+ await ctx.appendToChain('SUBSTITUTION', result.substitution_receipt);
13
+ }
14
+ else {
15
+ await ctx.appendToChain('DISCLOSURE', {
16
+ claim_id: args.claim_id,
17
+ mode: args.mode ?? 'REVEAL_MIN',
18
+ permitted: result.permitted,
19
+ });
20
+ }
21
+ return ctx.json({ success: true, ...result });
22
+ }
23
+ //# sourceMappingURL=disclose-claim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclose-claim.js","sourceRoot":"","sources":["../../src/tools/disclose-claim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAU/C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAuB,EAAE,GAAkB;IACnF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,iBAAiB,CAC9B;QACE,kBAAkB,EAAE,IAAI,CAAC,QAAQ;QACjC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,WAAW;QAC9C,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,YAAY;QAC/B,SAAS,EAAE,MAAM,EAAE;KACpB,EACD,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,WAAW,EACf,CAAC,EACD,MAAM,EAAE,eAAe,IAAI,CAAC,EAC5B,GAAG,CAAC,QAAQ,CACb,CAAC;IACF,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,YAAY;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ServerContext } from '../context.js';
2
+ export declare function handleExportBundle(_args: Record<string, never>, ctx: ServerContext): Promise<{
3
+ content: Array<{
4
+ type: "text";
5
+ text: string;
6
+ }>;
7
+ }>;
8
+ //# sourceMappingURL=export-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-bundle.d.ts","sourceRoot":"","sources":["../../src/tools/export-bundle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,aAAa;;;;;GAkBxF"}
@@ -0,0 +1,25 @@
1
+ import { hashArtifact } from '../core/artifact.js';
2
+ import { eventInclusionProof } from '../core/checkpoint.js';
3
+ import { generateBundle } from '../core/bundle.js';
4
+ export async function handleExportBundle(_args, ctx) {
5
+ const artifact = await ctx.storage.getLatestArtifact();
6
+ if (!artifact)
7
+ return ctx.error('No artifact');
8
+ const cp = await ctx.storage.getLatestCheckpoint();
9
+ if (!cp)
10
+ return ctx.error('No checkpoint. Call aga_create_checkpoint first.');
11
+ const receipts = await ctx.storage.getReceiptsByArtifact(hashArtifact(artifact));
12
+ const batchEvents = await ctx.storage.getEvents(cp.batch_start_sequence, cp.batch_end_sequence);
13
+ const proofs = receipts
14
+ .filter(r => r.sequence_number >= cp.batch_start_sequence && r.sequence_number <= cp.batch_end_sequence)
15
+ .map(r => eventInclusionProof(batchEvents, r.sequence_number));
16
+ const bundle = generateBundle(artifact, receipts, proofs, cp, ctx.portalKP);
17
+ return ctx.json({
18
+ success: true,
19
+ bundle,
20
+ offline_verifiable: true,
21
+ receipt_count: receipts.length,
22
+ proof_count: proofs.length,
23
+ });
24
+ }
25
+ //# sourceMappingURL=export-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-bundle.js","sourceRoot":"","sources":["../../src/tools/export-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAA4B,EAAE,GAAkB;IACvF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IACnD,IAAI,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,oBAAoB,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,QAAQ;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,oBAAoB,IAAI,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,kBAAkB,CAAC;SACvG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5E,OAAO,GAAG,CAAC,IAAI,CAAC;QACd,OAAO,EAAE,IAAI;QACb,MAAM;QACN,kBAAkB,EAAE,IAAI;QACxB,aAAa,EAAE,QAAQ,CAAC,MAAM;QAC9B,WAAW,EAAE,MAAM,CAAC,MAAM;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { ServerContext } from '../context.js';
2
+ export interface FullLifecycleArgs {
3
+ subject_content?: string;
4
+ subject_metadata?: Record<string, string>;
5
+ scenario?: string;
6
+ include_drift?: boolean;
7
+ include_revocation?: boolean;
8
+ include_behavioral?: boolean;
9
+ }
10
+ export declare function handleFullLifecycle(args: FullLifecycleArgs, ctx: ServerContext): Promise<{
11
+ content: Array<{
12
+ type: "text";
13
+ text: string;
14
+ }>;
15
+ }>;
16
+ //# sourceMappingURL=full-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"full-lifecycle.d.ts","sourceRoot":"","sources":["../../src/tools/full-lifecycle.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAaD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa;;;;;GA6GpF"}
@@ -0,0 +1,121 @@
1
+ import { sha256Str } from '../crypto/hash.js';
2
+ import { pkToHex } from '../crypto/sign.js';
3
+ import { computeSubjectIdFromString } from '../core/subject.js';
4
+ import { performAttestation } from '../core/attestation.js';
5
+ import { generateArtifact, hashArtifact } from '../core/artifact.js';
6
+ import { generateReceipt } from '../core/receipt.js';
7
+ import { createCheckpoint, eventInclusionProof } from '../core/checkpoint.js';
8
+ import { generateBundle, verifyBundleOffline } from '../core/bundle.js';
9
+ import { initQuarantine, captureInput } from '../core/quarantine.js';
10
+ const SCENARIOS = {
11
+ drone: {
12
+ content: 'def monitor(): return sensors.read_all()',
13
+ metadata: { filename: 'drone_agent.py', version: '2.1.0', author: 'engineering' },
14
+ },
15
+ scada: {
16
+ content: 'def control(): return actuators.safe_position()',
17
+ metadata: { filename: 'scada_controller.py', version: '1.0.0', author: 'ops' },
18
+ },
19
+ };
20
+ export async function handleFullLifecycle(args, ctx) {
21
+ const scenario = SCENARIOS[args.scenario ?? ''] ?? {
22
+ content: args.subject_content ?? 'def agent(): return task.execute()',
23
+ metadata: args.subject_metadata ?? { filename: 'lifecycle-test' },
24
+ };
25
+ const content = scenario.content;
26
+ const meta = scenario.metadata;
27
+ const includeDrift = args.include_drift !== false;
28
+ const includeRevocation = args.include_revocation !== false;
29
+ const includeBehavioral = args.include_behavioral !== false;
30
+ const phases = {};
31
+ // Phase 1: Attestation
32
+ const subId = computeSubjectIdFromString(content, meta);
33
+ const policyRef = sha256Str(JSON.stringify(ctx.defaultEnforcement));
34
+ const att = performAttestation({ subject_identifier: subId, policy_reference: policyRef, evidence_items: [] });
35
+ if (!att.success || !att.sealed_hash || !att.seal_salt)
36
+ return ctx.error('Attestation failed');
37
+ const artifact = generateArtifact({
38
+ subject_identifier: subId, policy_reference: policyRef, policy_version: 1,
39
+ sealed_hash: att.sealed_hash, seal_salt: att.seal_salt,
40
+ enforcement_parameters: { ...ctx.defaultEnforcement, enforcement_triggers: ['QUARANTINE', 'TERMINATE'] },
41
+ disclosure_policy: ctx.defaultClaims,
42
+ evidence_commitments: att.evidence_commitments, issuer_keypair: ctx.issuerKP,
43
+ });
44
+ await ctx.storage.storeArtifact(artifact);
45
+ ctx.portal.reset();
46
+ ctx.portal.loadArtifact(artifact, pkToHex(ctx.issuerKP.publicKey));
47
+ ctx.activeArtifact = artifact;
48
+ await ctx.appendToChain('POLICY_ISSUANCE', { artifact_hash: hashArtifact(artifact) });
49
+ phases.attestation = { success: true, artifact_hash: hashArtifact(artifact), portal_state: ctx.portal.state };
50
+ // Phase 2: Clean monitoring
51
+ const result = ctx.portal.measure(new TextEncoder().encode(content), meta);
52
+ const artRef = hashArtifact(artifact);
53
+ const receipt = generateReceipt({
54
+ subjectId: subId, artifactRef: artRef,
55
+ currentHash: `${result.currentBytesHash}||${result.currentMetaHash}`,
56
+ sealedHash: `${result.expectedBytesHash}||${result.expectedMetaHash}`,
57
+ driftDetected: false, driftDescription: null, action: null,
58
+ measurementType: 'EXECUTABLE_IMAGE', seq: ctx.portal.sequenceCounter + 1,
59
+ prevLeaf: ctx.portal.lastLeafHash, portalKP: ctx.portalKP,
60
+ });
61
+ await ctx.storage.storeReceipt(receipt);
62
+ await ctx.appendToChain('INTERACTION_RECEIPT', { receipt_id: receipt.receipt_id });
63
+ phases.monitoring = { match: result.match, receipt_id: receipt.receipt_id };
64
+ // Phase 3: Drift detection
65
+ if (includeDrift) {
66
+ const injected = content.replace('return', 'return attacker.exfiltrate(') + ')';
67
+ const driftResult = ctx.portal.measure(new TextEncoder().encode(injected), meta);
68
+ ctx.portal.enforce('QUARANTINE');
69
+ ctx.quarantine = initQuarantine();
70
+ captureInput(ctx.quarantine, 'attacker_command', 'exfiltrate data');
71
+ const driftReceipt = generateReceipt({
72
+ subjectId: subId, artifactRef: artRef,
73
+ currentHash: `${driftResult.currentBytesHash}||${driftResult.currentMetaHash}`,
74
+ sealedHash: `${driftResult.expectedBytesHash}||${driftResult.expectedMetaHash}`,
75
+ driftDetected: true, driftDescription: 'Binary modification detected', action: 'QUARANTINE',
76
+ measurementType: 'EXECUTABLE_IMAGE', seq: ctx.portal.sequenceCounter + 1,
77
+ prevLeaf: ctx.portal.lastLeafHash, portalKP: ctx.portalKP,
78
+ });
79
+ await ctx.storage.storeReceipt(driftReceipt);
80
+ await ctx.appendToChain('INTERACTION_RECEIPT', { receipt_id: driftReceipt.receipt_id, drift_detected: true });
81
+ phases.drift_detection = { drift_detected: true, enforcement: 'QUARANTINE', portal_state: ctx.portal.state };
82
+ }
83
+ // Phase 3b: Behavioral drift
84
+ if (includeBehavioral) {
85
+ ctx.behavioralMonitor.setBaseline({
86
+ permitted_tools: ['survey', 'report'], rate_limits: { survey: 10 },
87
+ forbidden_sequences: [['exfiltrate', 'transmit_external']], window_ms: 60000,
88
+ });
89
+ ctx.behavioralMonitor.recordInvocation('exfiltrate', sha256Str('exfil'));
90
+ const bm = ctx.behavioralMonitor.measure();
91
+ if (bm.drift_detected) {
92
+ await ctx.appendToChain('BEHAVIORAL_DRIFT', { violations: bm.violations, behavioral_hash: bm.behavioral_hash });
93
+ }
94
+ phases.behavioral_drift = { drift_detected: bm.drift_detected, violations: bm.violations.length };
95
+ }
96
+ // Phase 3c: Revocation
97
+ if (includeRevocation) {
98
+ ctx.portal.revoke(artifact.sealed_hash);
99
+ await ctx.appendToChain('REVOCATION', { artifact_sealed_hash: artifact.sealed_hash, reason: 'Compromise detected' });
100
+ phases.revocation = { revoked: true, portal_state: ctx.portal.state };
101
+ }
102
+ // Phase 4: Evidence bundle
103
+ const allEvents = await ctx.storage.getAllEvents();
104
+ const { checkpoint } = createCheckpoint(allEvents);
105
+ await ctx.storage.storeCheckpoint(checkpoint);
106
+ await ctx.appendToChain('ANCHOR_BATCH', { merkle_root: checkpoint.merkle_root, leaf_count: allEvents.length });
107
+ const allReceipts = await ctx.storage.getAllReceipts();
108
+ const batchEvents = await ctx.storage.getEvents(checkpoint.batch_start_sequence, checkpoint.batch_end_sequence);
109
+ const proofs = batchEvents.length > 1 ? [eventInclusionProof(batchEvents, batchEvents[1].sequence_number)] : [];
110
+ const bundle = generateBundle(artifact, allReceipts, proofs, checkpoint, ctx.portalKP);
111
+ const verification = verifyBundleOffline(bundle, pkToHex(ctx.issuerKP.publicKey));
112
+ phases.evidence_bundle = { verification, receipt_count: allReceipts.length };
113
+ return ctx.json({
114
+ success: true,
115
+ scenario: args.scenario ?? 'default',
116
+ phases,
117
+ final_verdict: verification.overall ? 'PASS' : 'FAIL',
118
+ portal_state: ctx.portal.state,
119
+ });
120
+ }
121
+ //# sourceMappingURL=full-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"full-lifecycle.js","sourceRoot":"","sources":["../../src/tools/full-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ServerContext } from '../context.js';
2
+ export interface GenerateReceiptArgs {
3
+ subject_content?: string;
4
+ drift_detected?: boolean;
5
+ drift_description?: string;
6
+ measurement_type?: string;
7
+ action_type?: string;
8
+ action_detail?: string;
9
+ }
10
+ export declare function handleGenerateReceipt(args: GenerateReceiptArgs, ctx: ServerContext): Promise<{
11
+ content: Array<{
12
+ type: "text";
13
+ text: string;
14
+ }>;
15
+ }>;
16
+ //# sourceMappingURL=generate-receipt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-receipt.d.ts","sourceRoot":"","sources":["../../src/tools/generate-receipt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,aAAa;;;;;GA6BxF"}
@@ -0,0 +1,31 @@
1
+ import { hashArtifact } from '../core/artifact.js';
2
+ import { generateReceipt } from '../core/receipt.js';
3
+ export async function handleGenerateReceipt(args, ctx) {
4
+ if (!ctx.portal.artifact)
5
+ return ctx.error('No artifact loaded.');
6
+ const artRef = hashArtifact(ctx.portal.artifact);
7
+ const mType = args.action_type ?? args.measurement_type ?? 'FILE_SYSTEM_STATE';
8
+ const driftDesc = args.action_detail ?? args.drift_description ?? null;
9
+ const receipt = generateReceipt({
10
+ subjectId: ctx.portal.artifact.subject_identifier,
11
+ artifactRef: artRef,
12
+ currentHash: args.subject_content ?? artRef,
13
+ sealedHash: ctx.portal.artifact.sealed_hash,
14
+ driftDetected: args.drift_detected ?? false,
15
+ driftDescription: driftDesc,
16
+ action: null,
17
+ measurementType: mType,
18
+ seq: ctx.portal.sequenceCounter + 1,
19
+ prevLeaf: ctx.portal.lastLeafHash,
20
+ portalKP: ctx.portalKP,
21
+ });
22
+ await ctx.storage.storeReceipt(receipt);
23
+ await ctx.appendToChain('INTERACTION_RECEIPT', {
24
+ receipt_id: receipt.receipt_id,
25
+ drift_detected: args.drift_detected ?? false,
26
+ action_type: args.action_type,
27
+ action_detail: args.action_detail,
28
+ });
29
+ return ctx.json({ success: true, receipt_id: receipt.receipt_id, receipt });
30
+ }
31
+ //# sourceMappingURL=generate-receipt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-receipt.js","sourceRoot":"","sources":["../../src/tools/generate-receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAYrD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAyB,EAAE,GAAkB;IACvF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAElE,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,IAAI,mBAAmB,CAAC;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC;IAEvE,MAAM,OAAO,GAAG,eAAe,CAAC;QAC9B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB;QACjD,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,IAAI,CAAC,eAAe,IAAI,MAAM;QAC3C,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW;QAC3C,aAAa,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;QAC3C,gBAAgB,EAAE,SAAS;QAC3B,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,KAAK;QACtB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC;QACnC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC,CAAC;IACH,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,aAAa,CAAC,qBAAqB,EAAE;QAC7C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;QAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ServerContext } from '../context.js';
2
+ export interface GetChainArgs {
3
+ start_seq?: number;
4
+ end_seq?: number;
5
+ verify?: boolean;
6
+ filter_type?: string;
7
+ }
8
+ export declare function handleGetChain(args: GetChainArgs, ctx: ServerContext): Promise<{
9
+ content: Array<{
10
+ type: "text";
11
+ text: string;
12
+ }>;
13
+ }>;
14
+ //# sourceMappingURL=get-chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-chain.d.ts","sourceRoot":"","sources":["../../src/tools/get-chain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAYD,wBAAsB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa;;;;;GAqC1E"}