@vaultysclaw/agent-runtime 0.0.1
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.
- package/LICENSE +21 -0
- package/README.md +38 -0
- package/dist/base-agent.d.ts +182 -0
- package/dist/base-agent.d.ts.map +1 -0
- package/dist/base-agent.js +1003 -0
- package/dist/base-agent.js.map +1 -0
- package/dist/config.d.ts +13 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/intent-verify.d.ts +30 -0
- package/dist/intent-verify.d.ts.map +1 -0
- package/dist/intent-verify.js +55 -0
- package/dist/intent-verify.js.map +1 -0
- package/dist/peer-grant-verify.d.ts +16 -0
- package/dist/peer-grant-verify.d.ts.map +1 -0
- package/dist/peer-grant-verify.js +39 -0
- package/dist/peer-grant-verify.js.map +1 -0
- package/dist/peer-manager.d.ts +63 -0
- package/dist/peer-manager.d.ts.map +1 -0
- package/dist/peer-manager.js +448 -0
- package/dist/peer-manager.js.map +1 -0
- package/package.json +42 -0
- package/src/base-agent.ts +1332 -0
- package/src/config.ts +13 -0
- package/src/index.ts +8 -0
- package/src/intent-verify.ts +72 -0
- package/src/peer-grant-verify.ts +58 -0
- package/src/peer-manager.ts +696 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,8DAA8D;AAC9D,MAAM,MAAM,GAA0C,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA0B5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAyC7B,wBAAwB;AAExB,MAAM,UAAU;IAEd,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;QADhC,QAAG,GAAQ,EAAE,CAAC;IACsB,CAAC;IAC7C,IAAI,CAAC,IAAO;QACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;IACD,OAAO;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;CACF;AAED,6BAA6B;AAE7B,MAAM,OAAgB,gBAAiB,SAAQ,YAAY;IAsDzD,YAAY,MAA0B;QACpC,KAAK,EAAE,CAAC;QApDV,WAAW;QACD,cAAS,GAAqB,IAAI,CAAC;QAE7C,aAAa;QACH,OAAE,GAAqB,IAAI,CAAC;QACtC,sFAAsF;QAC5E,eAAU,GAA2C,IAAI,CAAC;QACpE,uEAAuE;QAC/D,eAAU,GAAiC,IAAI,CAAC;QAChD,mBAAc,GAA0C,IAAI,CAAC;QAC7D,mBAAc,GAAyC,IAAI,CAAC;QAC1D,YAAO,GAAG,KAAK,CAAC;QAC1B,2EAA2E;QACnE,sBAAiB,GAAG,CAAC,CAAC;QAE9B,SAAS;QACC,YAAO,GAAgB,cAAc,CAAC;QACtC,OAAE,GAAW,EAAE,CAAC;QAChB,iBAAY,GAAsB,EAAE,CAAC;QACvC,cAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,kBAAa,GAAgB,IAAI,CAAC;QAE5C,uBAAuB;QACf,mBAAc,GAAsB,IAAI,CAAC;QACzC,kBAAa,GAAkB,IAAI,CAAC;QACpC,kBAAa,GAAG,KAAK,CAAC;QAE9B,sEAAsE;QAC5D,oBAAe,GAAkB,IAAI,CAAC;QAEhD,mCAAmC;QACzB,gBAAW,GAAuB,IAAI,CAAC;QACvC,gBAAW,GAAqB,EAAE,CAAC;QACnC,yBAAoB,GAAG,KAAK,CAAC;QAEvC,eAAe;QACL,cAAS,GAAG,IAAI,UAAU,CAAW,GAAG,CAAC,CAAC;QAC1C,iBAAY,GAAG,IAAI,UAAU,CAAc,GAAG,CAAC,CAAC;QAE1D,0EAA0E;QAChE,6BAAwB,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;QACpE,qBAAgB,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;QAEtE,kFAAkF;QACxE,mBAAc,GAA0B,IAAI,CAAC;QAC7C,aAAQ,GAAkB,IAAI,CAAC;QAC/B,oBAAe,GAAkB,IAAI,CAAC;QAEhD,yEAAyE;QAC/D,sBAAiB,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAIvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACnD,CAAC;IAsBD,oDAAoD;IAE1C,2BAA2B;QAInC,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;IAClD,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,QAA+B,IACd,CAAC;IAEV,KAAK,CAAC,kBAAkB,CAChC,QAAmC,IAClB,CAAC;IAEV,KAAK,CAAC,oBAAoB,CAClC,OAAyB,IACR,CAAC;IAEV,KAAK,CAAC,WAAW,CAAC,OAA2B,IAAmB,CAAC;IAEjE,KAAK,CAAC,cAAc,CAC5B,QAA+B,IACd,CAAC;IAEV,KAAK,CAAC,kBAAkB,CAAC,QAAmB,IAAmB,CAAC;IAEhE,KAAK,CAAC,qBAAqB,CAAC,IAAe,IAAmB,CAAC;IAE/D,KAAK,CAAC,oBAAoB,CAAC,IAAe,IAAmB,CAAC;IAE9D,KAAK,CAAC,0BAA0B,CAAC,IAAe,IAAmB,CAAC;IAEpE,KAAK,CAAC,iBAAiB,CAAC,IAAe,IAAmB,CAAC;IAE3D,KAAK,CAAC,oBAAoB,CAAC,IAAe,IAAmB,CAAC;IAE9D,KAAK,CAAC,oBAAoB,CAAC,IAAe,IAAmB,CAAC;IAE9D,KAAK,CAAC,mBAAmB,CAAC,IAAe,IAAmB,CAAC;IAEvE,uBAAuB;IAEvB,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAE7D,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,0BAA0B,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAE1E,2DAA2D;QAC3D,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC5D,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,OAAO;QACL,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YACxD,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,IAAI;YACxD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YACpC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;SAC3C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,kFAAkF;IAClF,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CACd,SAAiB,EACjB,MAAc,EACd,SAAkC,EAAE;QAEpC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,aAAa,CAAC,KAAK,GAAG,GAAG;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAC,KAAK,GAAG,GAAG;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,4BAA4B;IAElB,SAAS,CAAC,CAAc;QAChC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,GAAG,CACX,KAAwB,EACxB,OAAe,EACf,IAAc;QAEd,MAAM,KAAK,GAAa;YACtB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,KAAK;YACL,OAAO;YACP,IAAI;SACL,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,YAAoB;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CACN,MAAM,EACN,4CAA4C,YAAY,EAAE,CAC3D,CAAC;YACF,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,OAAO,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,sCAAsC,YAAY,EAAE,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;QAC9C,EAAE,CAAC,aAAa,CACd,YAAY,EACZ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EACpC,OAAO,CACR,CAAC;QACF,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,iCAAiC;IAEvB,OAAO;QACf,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACrC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,iBAAiB;QACvB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAK,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,KAAM,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CACN,MAAM,EACN,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,iBAAiB,GAAG,CACpF,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAqB,CAAC;QAC7D,IAAI,CAAC,GAAG,CACN,MAAM,EACN,gDAAgD,kBAAkB,EAAE,CACrE,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAE7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,6CAA6C;QAC7C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,yCAAyC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAC9C,MAAM,WAAW,GAAiC,SAAS;YACzD,CAAC,CAAC,CAAC,GAAG,EAAE;gBACN,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;oBAClC,OAAO;wBACL,IAAI,EAAE,MAAM,CAAC,QAAQ;wBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACf,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;4BAC3B,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;gCAC5B,CAAC,CAAC,GAAG;gCACL,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG;wBAC5B,MAAM,EAAE,MAAM,CAAC,QAAQ,KAAK,QAAQ;wBACpC,KAAK,EAAE,CAAC;qBACT,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBACrD,CAAC;YACH,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAE3E,4EAA4E;QAC5E,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YACD,6EAA6E;YAC7E,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YACD,IAAI,CAAC,GAAG,CACN,MAAM,EACN,yBAAyB,IAAI,CAAC,EAAE,iCAAiC,CAClE,CAAC;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACnB,IAAI,CAAC,GAAG,CACN,MAAM,EACN,sDAAsD,CACvD,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAY,EAAE,EAAE;gBAC/B,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACjE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAY,EAAE,EAAE;gBAChC,IAAI,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACzB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;oBAAE,OAAO,CAAC,QAAQ;gBAC9C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,yBAAyB,EAAE,GAAG,CAAC,CAAC;gBAClD,yEAAyE;gBACzE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,IAAI,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACzB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;oBAAE,OAAO,CAAC,mBAAmB;gBACzD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;gBAC7C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAY,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;gBAAE,OAAO,CAAC,aAAa;YACnD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;YAC5C,6EAA6E;YAC7E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YAC3B,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI;gBAAE,OAAO,CAAC,sBAAsB;YAC5D,6EAA6E;YAC7E,6EAA6E;YAC7E,0EAA0E;YAC1E,EAAE;YACF,gEAAgE;YAChE,0EAA0E;YAC1E,6EAA6E;YAC7E,+EAA+E;YAC/E,IAAI,CAAC,GAAG,CACN,MAAM,EACN,6DAA6D,CAC9D,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,iEAAiE;YACjF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IAEzB,YAAY;QAClB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,qBAAqB,CAAC;QACrE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,gCAAgC,KAAK,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAE7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,IAAI,EAAa,CAAC;QAClB,IAAI,CAAC;YACH,2EAA2E;YAC3E,gFAAgF;YAChF,wEAAwE;YACxE,8EAA8E;YAC9E,sEAAsE;YACtE,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,2CAA2C,EAAE,GAAG,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;YACf,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,sDAAsD,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;YACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE;YAChB,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,0EAA0E;YAC1E,0EAA0E;YAC1E,iFAAiF;YACjF,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;gBAAE,OAAO;YAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC;IAES,IAAI,CAAC,OAAkB;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,+BAA+B,EAAE,GAAG,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAES,aAAa;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEjD,MAAM,GAAG,GAAc;YACrB,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE;YACpC,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;gBACxB,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;gBAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,UAAU,EAAE;oBACV,KAAK,EAAE,IAAI,CAAC,gBAAgB;oBAC5B,aAAa,EAAE,IAAI,CAAC,wBAAwB;oBAC5C,KAAK;iBACN;aACF;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;QAEhC,4CAA4C;QAC5C,IAAI,CAAC,wBAAwB,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;QAEzE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAES,UAAU,CAAC,QAAgB,EAAE,MAAuB;QAC5D,IAAI,CAAC,IAAI,CAAC;YACR,SAAS,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE;YACjC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAES,OAAO,CACf,SAAiB,EACjB,OAAgB,EAChB,MAAe;QAEf,IAAI,CAAC,IAAI,CAAC;YACR,SAAS,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;YAC9B,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;YACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B;IAElB,aAAa,CAAC,IAAY;QAClC,IAAI,CAAC;YACH,MAAM,OAAO,GAAc,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,gBAAgB;oBACnB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAClD,CAAC;oBACF,MAAM;gBACR,KAAK,eAAe;oBAClB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,CACjD,CAAC;oBACF,MAAM;gBACR,KAAK,aAAa;oBAChB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,sBAAsB;oBACzB,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,uBAAuB;oBAC1B,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,uBAAuB;oBAC1B,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,qBAAqB;oBACxB,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBACvC,MAAM;gBACR,KAAK,mBAAmB;oBACtB,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,oBAAoB;oBACvB,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBACrC,MAAM;gBACR,KAAK,YAAY;oBACf,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAA6B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAClE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAC1C,CAAC;oBACF,MAAM;gBACR,KAAK,eAAe;oBAClB,IAAI,CAAC,cAAc,CACjB,OAAO,CAAC,OAAgC,CACzC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC7D,MAAM;gBACR,KAAK,wBAAwB;oBAC3B,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC,CACzD,CAAC;oBACF,MAAM;gBACR,KAAK,cAAc;oBACjB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAChD,CAAC;oBACF,MAAM;gBACR,KAAK,iBAAiB;oBACpB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC,CACnD,CAAC;oBACF,MAAM;gBACR,KAAK,iBAAiB;oBACpB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC,CACnD,CAAC;oBACF,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;wBACjC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAC;wBAC3D,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC3B,MAAM;gBACR,KAAK,cAAc;oBACjB,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;wBACjC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,8CAA8C,CAAC,CAAC;wBACjE,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;oBACxC,MAAM;gBACR,KAAK,mBAAmB;oBACtB,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC,CACpD,CAAC;oBACF,MAAM;gBACR,KAAK,kBAAkB;oBACrB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC,CACnD,CAAC;oBACF,MAAM;gBACR,KAAK,eAAe;oBAClB,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;wBACjC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAC;wBAC3D,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACjC,MAAM;gBACR,KAAK,gBAAgB;oBACnB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAClD,CAAC;oBACF,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC/D,MAAM;gBACR;oBACE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,yBAAyB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,iBAAiB;IAET,KAAK,CAAC,mBAAmB,CAAC,OAAkB;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAiC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAChE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;gBACvC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC;oBACR,SAAS,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE;oBACnC,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;oBACrD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;gBACvC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACvD,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;gBAClD,IAAI,CAAC,IAAI,CAAC;oBACR,SAAS,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;oBAC/B,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE;wBACP,SAAS,EAAE,IAAI,CAAC,aAAa;wBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;wBACtB,YAAY,EAAE,IAAI,CAAC,YAAY;qBAChC;oBACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC;YACR,SAAS,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE;gBACP,SAAS,EAAE,IAAI,CAAC,aAAa;gBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,OAAkB;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAgC,CAAC;QAEzD,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAE1B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAiC,CAAC;QAChE,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,CAAC;gBACjD,0EAA0E;gBAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACzB,IAAI,CAAC,YAAY,GAAG,QAA6B,CAAC;qBAC/C,IAAI,OAAO,QAAQ,KAAK,QAAQ;oBACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,mBAAmB;YACrB,CAAC;QACH,CAAC;QAED,kFAAkF;QAClF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;gBAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC;gBAC9B,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC,cAAc;wBAChB,GAAG,CAAC,cAAoD,IAAI,IAAI,CAAC;oBACpE,IAAI,CAAC,QAAQ,GAAI,GAAG,CAAC,QAAsC,IAAI,IAAI,CAAC;oBACpE,IAAI,CAAC,eAAe;wBACjB,GAAG,CAAC,eAA6C,IAAI,IAAI,CAAC;oBAC7D,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACzC,IAAI,CAAC,GAAG,CACN,MAAM,EACN,kCAAkC,IAAI,CAAC,QAAQ,IAAI,MAAM,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAC5G,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,oFAAoF;QACpF,6FAA6F;QAC7F,oFAAoF;QACpF,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;gBACrD,MAAM,YAAY,GAAG,UAAU,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBAChE,IAAI,YAAY,EAAE,GAAG,EAAE,CAAC;oBACtB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAC9B,CAAC;oBACvB,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;oBACrC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,aAAsC,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CACN,MAAM,EACN,6BAA6B,IAAI,CAAC,EAAE,UAAU,OAAO,CAAC,GAAG,EAAE,CAC5D,CAAC;QAEF,qDAAqD;QACrD,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,8BAA8B,EAAE,GAAG,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,cAAc;YAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,6DAA6D;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC;YACtD,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;YACvC,IAAI,MAAM,IAAI,MAAM;gBAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7C,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,iEAAiE;QACjE,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEO,gBAAgB,CAAC,OAAkB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,OAA8B,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAEO,yBAAyB,CAAC,OAAkB;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAuC,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CACN,MAAM,EACN,6BAA6B,OAAO,CAAC,cAAc,MAAM,OAAO,CAAC,OAAO,EAAE,CAC3E,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAAC,OAAkB;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAwC,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAiC,CAAC;QAC9D,IAAI,CAAC,GAAG,CACN,MAAM,EACN,yCAAyC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3E,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAAC,OAAkB;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAwC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAEO,wBAAwB,CAAC,OAAkB;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAsC,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAiC,CAAC;QAE9D,qFAAqF;QACrF,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;YACtC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;QACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC3C,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YACvC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;QAEzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,GAAG,CACN,MAAM,EACN,yBAAyB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAC7E,CAAC;IACJ,CAAC;IAED,4BAA4B;IAEpB,YAAY,CAAC,OAAkB;QACrC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAInC,CAAC;QAEF,2DAA2D;QAC3D,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CACN,OAAO,EACP,oCAAoC,SAAS,KAAK,MAAM,GAAG,CAC5D,CAAC;YACF,MAAM,MAAM,GAAoB;gBAC9B,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,sCAAsC;gBAC7C,UAAU,EAAE,IAAI,IAAI,EAAE;aACvB,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,sCAAsC,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAgB;YACzB,QAAQ,EAAE,SAAS;YACnB,MAAM;YACN,MAAM;YACN,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtE,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,MAAM,KAAK,SAAS,GAAG,CAAC,CAAC;gBAE9D,uDAAuD;gBACvD,MAAM,eAAe,GACnB,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAkC,CAAC,EAAE,CAAC;oBACpE,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,eAAe,CAAC,CAAC;gBACxD,CAAC;gBAED,+BAA+B;gBAE/B,gDAAgD;gBAChD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;oBACxD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;wBAC1C,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,CAAC,QAAQ,IAAI,SAAS,gCAAgC,CACtE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,mDAAmD;gBACnD,IAAI,IAAI,CAAC,cAAc,EAAE,eAAe,IAAI,IAAI,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;oBACjD,MAAM,SAAS,GACb,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC,CAAC,CAAC;oBAC9D,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;wBACrD,MAAM,IAAI,KAAK,CACb,sCAAsC,SAAS,YAAY,IAAI,CAAC,cAAc,CAAC,eAAe,GAAG,CAClG,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,mDAAmD;gBACnD,IAAI,IAAI,CAAC,cAAc,EAAE,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;oBAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;wBACpD,8BAA8B;wBAC9B,IAAI,CAAC,iBAAiB,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;oBACxD,CAAC;oBACD,IACE,IAAI,CAAC,iBAAiB,CAAC,KAAK;wBAC5B,IAAI,CAAC,cAAc,CAAC,kBAAkB,EACtC,CAAC;wBACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CACzD,CAAC;wBACF,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,cAAc,CAAC,kBAAkB,uBAAuB,OAAO,GAAG,CACzG,CAAC;oBACJ,CAAC;oBACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBACjC,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACxC,OAAO,EACP,eAAe,CAChB,CAAC;oBACF,IAAI,CAAC,EAAE;wBACL,MAAM,IAAI,KAAK,CACb,SAAS,OAAO,kCAAkC,MAAM,GAAG,CAC5D,CAAC;oBACJ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CACrC,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAS,CACV,CAAC;gBAEF,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;gBACzB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACtB,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAE7C,MAAM,MAAM,GAAoB;oBAC9B,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,SAAS;oBACjB,MAAM;oBACN,UAAU,EAAE,IAAI,IAAI,EAAE;iBACvB,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;oBACzB,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,SAAS;oBACjB,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzD,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACxB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBACrB,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAE7C,MAAM,MAAM,GAAoB;oBAC9B,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,MAAM;oBACb,UAAU,EAAE,IAAI,IAAI,EAAE;iBACvB,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;oBACzB,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,SAAS,YAAY,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED,oCAAoC;IAE5B,yBAAyB,CAAC,OAAkB;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,OAA+B,CAAC;QACxD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAE7C,IAAI,CAAC,GAAG,CACN,MAAM,EACN,gBAAgB,cAAc,KAAK,QAAQ,CAAC,MAAM,YAAY,CAC/D,CAAC;QAEF,MAAM,SAAS,GAAG,CAChB,KAAa,EACb,IAAc,EACd,OAAiB,EACjB,SAAyB,EACzB,EAAE;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC;oBACR,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE;oBACpC,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,OAAO,EAAE;wBACP,cAAc;wBACd,KAAK,EAAE,KAAK;wBACZ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnC,IAAI,EAAE,IAAI;qBACqB;oBACjC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC;oBACR,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE;oBACpC,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAkC;oBACvE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC;oBACR,SAAS,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE;oBACpC,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,IAAI,CAAC,EAAE;oBAChB,OAAO,EAAE;wBACP,cAAc;wBACd,KAAK;wBACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACA;oBACjC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAClE,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,cAAc,YAAY,MAAM,EAAE,CAAC,CAAC;YAC9D,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;IAEhB,yBAAyB,CAAC,OAAkB;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAoC,CAAC;QAC7D,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,CACjD,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,OAAkB;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAoC,CAAC;YAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAElC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAE3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,yBAAyB,KAAK,CAAC,MAAM,gBAAgB,CAAC,CAAC;YAExE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC,CACnD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,mCAAmC,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,OAAkB;QAC9C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CACN,MAAM,EACN,gEAAgE,CACjE,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,CACN,MAAM,EACN,4CAA4C,OAAO,CAAC,SAAS,EAAE,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,oBAAoB,CAClC,OAAe,EACf,UAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CACN,MAAM,EACN,4DAA4D,CAC7D,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sFAAsF;QACtF,KAAK,OAAO,CAAC;QACb,KAAK,UAAU,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mBAAmB;IAEnB;;OAEG;IACK,kBAAkB,CAAC,OAAkB;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,GAAG,CACN,MAAM,EACN,wFAAwF,CACzF,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,qCAAqC;IAE3B,kBAAkB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;IAC1C,CAAC;CACF"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AgentCapability } from "@vaultysclaw/shared";
|
|
2
|
+
export interface AgentRuntimeConfig {
|
|
3
|
+
name: string;
|
|
4
|
+
controlPlaneUrl: string;
|
|
5
|
+
controlPlaneWsUrl?: string;
|
|
6
|
+
peerjsControlPlaneId?: string;
|
|
7
|
+
peerjsServerUrl?: string;
|
|
8
|
+
peerjsServer?: string;
|
|
9
|
+
vaultysIdPath: string;
|
|
10
|
+
requestedCapabilities: AgentCapability[];
|
|
11
|
+
workspaceRoot?: string;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,eAAe,EAAE,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { BaseAgentRuntime } from "./base-agent.js";
|
|
2
|
+
export type { AgentRuntimeConfig } from "./config.js";
|
|
3
|
+
export type { AgentStatus, LogEntry, IntentEntry, AgentInfo } from "./base-agent.js";
|
|
4
|
+
export { PeerManager, peerIdForDid } from "./peer-manager.js";
|
|
5
|
+
export { verifyIntentMessage } from "./intent-verify.js";
|
|
6
|
+
export type { IntentSigningBody } from "./intent-verify.js";
|
|
7
|
+
export { verifyPeerGrant } from "./peer-grant-verify.js";
|
|
8
|
+
export type { PeerGrantPayload } from "./peer-grant-verify.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { BaseAgentRuntime } from "./base-agent.js";
|
|
2
|
+
export { PeerManager, peerIdForDid } from "./peer-manager.js";
|
|
3
|
+
export { verifyIntentMessage } from "./intent-verify.js";
|
|
4
|
+
export { verifyPeerGrant } from "./peer-grant-verify.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent signature verification for the agent controller.
|
|
3
|
+
*
|
|
4
|
+
* Agents call verifyIntentMessage() on every incoming intent to confirm it was
|
|
5
|
+
* signed by the control plane they authenticated against.
|
|
6
|
+
*
|
|
7
|
+
* Wire format (identical to delegation certs produced by control-plane):
|
|
8
|
+
* base64( 4-byte-LE-bodyLen | msgpack(body) | raw-signature )
|
|
9
|
+
*
|
|
10
|
+
* Body:
|
|
11
|
+
* { type: "intent", id: string, action: string, agentId: string, timestamp: number }
|
|
12
|
+
*/
|
|
13
|
+
import type { WSMessage } from "@vaultysclaw/shared";
|
|
14
|
+
export interface IntentSigningBody {
|
|
15
|
+
type: string;
|
|
16
|
+
id: string;
|
|
17
|
+
action: string;
|
|
18
|
+
agentId: string;
|
|
19
|
+
timestamp: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Verify a signed WSMessage of type "intent".
|
|
23
|
+
*
|
|
24
|
+
* @param message The incoming WSMessage (must have `.signature`).
|
|
25
|
+
* @param serverPublicKey Raw public key bytes from the Challenger auth cert (pk1).
|
|
26
|
+
* @returns `true` if the signature is valid and the body matches the envelope,
|
|
27
|
+
* `false` otherwise.
|
|
28
|
+
*/
|
|
29
|
+
export declare function verifyIntentMessage(message: WSMessage, serverPublicKey: Buffer): boolean;
|
|
30
|
+
//# sourceMappingURL=intent-verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-verify.d.ts","sourceRoot":"","sources":["../src/intent-verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,EAClB,eAAe,EAAE,MAAM,GACtB,OAAO,CAiCT"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent signature verification for the agent controller.
|
|
3
|
+
*
|
|
4
|
+
* Agents call verifyIntentMessage() on every incoming intent to confirm it was
|
|
5
|
+
* signed by the control plane they authenticated against.
|
|
6
|
+
*
|
|
7
|
+
* Wire format (identical to delegation certs produced by control-plane):
|
|
8
|
+
* base64( 4-byte-LE-bodyLen | msgpack(body) | raw-signature )
|
|
9
|
+
*
|
|
10
|
+
* Body:
|
|
11
|
+
* { type: "intent", id: string, action: string, agentId: string, timestamp: number }
|
|
12
|
+
*/
|
|
13
|
+
import { VaultysId, crypto } from "@vaultys/id";
|
|
14
|
+
import { decode as msgpackDecode } from "@msgpack/msgpack";
|
|
15
|
+
const Buf = crypto.Buffer;
|
|
16
|
+
/**
|
|
17
|
+
* Verify a signed WSMessage of type "intent".
|
|
18
|
+
*
|
|
19
|
+
* @param message The incoming WSMessage (must have `.signature`).
|
|
20
|
+
* @param serverPublicKey Raw public key bytes from the Challenger auth cert (pk1).
|
|
21
|
+
* @returns `true` if the signature is valid and the body matches the envelope,
|
|
22
|
+
* `false` otherwise.
|
|
23
|
+
*/
|
|
24
|
+
export function verifyIntentMessage(message, serverPublicKey) {
|
|
25
|
+
console.log("boom");
|
|
26
|
+
if (!message.signature)
|
|
27
|
+
return false;
|
|
28
|
+
try {
|
|
29
|
+
const combined = Buf.from(message.signature, "base64");
|
|
30
|
+
if (combined.length < 5)
|
|
31
|
+
return false;
|
|
32
|
+
const bodyLen = combined.readUInt32LE(0);
|
|
33
|
+
if (combined.length < 4 + bodyLen)
|
|
34
|
+
return false;
|
|
35
|
+
const body = combined.subarray(4, 4 + bodyLen);
|
|
36
|
+
const sig = combined.subarray(4 + bodyLen);
|
|
37
|
+
const serverVid = VaultysId.fromId(serverPublicKey);
|
|
38
|
+
console.log("Verifying intent signature with server public key:", serverVid.did);
|
|
39
|
+
const valid = serverVid.verifyChallenge(Buf.from(body), Buf.from(sig), false);
|
|
40
|
+
if (!valid)
|
|
41
|
+
return false;
|
|
42
|
+
const payload = msgpackDecode(body);
|
|
43
|
+
if (payload.type !== "intent")
|
|
44
|
+
return false;
|
|
45
|
+
if (payload.id !== message.messageId)
|
|
46
|
+
return false;
|
|
47
|
+
if (payload.agentId !== message.agentId)
|
|
48
|
+
return false;
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=intent-verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-verify.js","sourceRoot":"","sources":["../src/intent-verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG3D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;AAU1B;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAkB,EAClB,eAAuB;IAEvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAEtC,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO;YAAE,OAAO,KAAK,CAAC;QAEhD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAG3C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,oDAAoD,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CACrC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EACd,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EACb,KAAK,CACN,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAsB,CAAC;QACzD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QACnD,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAEtD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface PeerGrantPayload {
|
|
2
|
+
type: "peer_grant";
|
|
3
|
+
sourceDid: string;
|
|
4
|
+
targetDid: string;
|
|
5
|
+
targetName: string;
|
|
6
|
+
skillDescription: string;
|
|
7
|
+
capabilities: string[];
|
|
8
|
+
issuedAt: number;
|
|
9
|
+
expiresAt?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Verify a peer grant certificate using the server's raw public key bytes.
|
|
13
|
+
* Returns the decoded payload if valid and not expired, null otherwise.
|
|
14
|
+
*/
|
|
15
|
+
export declare function verifyPeerGrant(cert: string, serverPublicKey: Buffer): Promise<PeerGrantPayload | null>;
|
|
16
|
+
//# sourceMappingURL=peer-grant-verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-grant-verify.d.ts","sourceRoot":"","sources":["../src/peer-grant-verify.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA4BlC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Peer grant certificate verification for the agent controller.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the control-plane's peer-grant.ts but uses only the agent's
|
|
5
|
+
* available imports (no server-side dependencies).
|
|
6
|
+
*/
|
|
7
|
+
import { decode as msgpackDecode } from "@msgpack/msgpack";
|
|
8
|
+
import { VaultysId, crypto } from "@vaultys/id";
|
|
9
|
+
const Buffer = crypto.Buffer;
|
|
10
|
+
/**
|
|
11
|
+
* Verify a peer grant certificate using the server's raw public key bytes.
|
|
12
|
+
* Returns the decoded payload if valid and not expired, null otherwise.
|
|
13
|
+
*/
|
|
14
|
+
export async function verifyPeerGrant(cert, serverPublicKey) {
|
|
15
|
+
try {
|
|
16
|
+
const combined = Buffer.from(cert, "base64");
|
|
17
|
+
if (combined.length < 5)
|
|
18
|
+
return null;
|
|
19
|
+
const bodyLen = combined.readUInt32LE(0);
|
|
20
|
+
if (combined.length < 4 + bodyLen)
|
|
21
|
+
return null;
|
|
22
|
+
const body = combined.subarray(4, 4 + bodyLen);
|
|
23
|
+
const signature = combined.subarray(4 + bodyLen);
|
|
24
|
+
const serverVid = VaultysId.fromId(serverPublicKey);
|
|
25
|
+
const valid = serverVid.verifyChallenge(Buffer.from(body), Buffer.from(signature), false);
|
|
26
|
+
if (!valid)
|
|
27
|
+
return null;
|
|
28
|
+
const payload = msgpackDecode(body);
|
|
29
|
+
if (payload.type !== "peer_grant")
|
|
30
|
+
return null;
|
|
31
|
+
if (payload.expiresAt && payload.expiresAt < Date.now())
|
|
32
|
+
return null;
|
|
33
|
+
return payload;
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=peer-grant-verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-grant-verify.js","sourceRoot":"","sources":["../src/peer-grant-verify.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAa7B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,eAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO;YAAE,OAAO,IAAI,CAAC;QAE/C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAEjD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACjB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EACtB,KAAK,CACN,CAAC;QACF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAqB,CAAC;QACxD,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAE/C,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAErE,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PeerManager — lazy WebRTC peer-to-peer channel manager.
|
|
3
|
+
*
|
|
4
|
+
* Each agent has a deterministic PeerJS ID derived as sha256(did), so peers
|
|
5
|
+
* can discover each other without a registry. Connections are opened on
|
|
6
|
+
* demand (first invoke) and kept alive for reuse.
|
|
7
|
+
*
|
|
8
|
+
* Security model:
|
|
9
|
+
* Every new data-channel connection runs a full Challenger SRP exchange
|
|
10
|
+
* (same 4-round pattern as the control-plane WebSocket auth) before any
|
|
11
|
+
* payload is exchanged. After auth the remote DID is verified against the
|
|
12
|
+
* local peer catalog (signed by the control plane) before accepting.
|
|
13
|
+
*/
|
|
14
|
+
import { VaultysId } from "@vaultys/id";
|
|
15
|
+
import type { AgentPeerGrant } from "@vaultysclaw/shared";
|
|
16
|
+
/** Compute the deterministic PeerJS peer ID for a given DID. */
|
|
17
|
+
export declare function peerIdForDid(did: string): string;
|
|
18
|
+
export declare class PeerManager {
|
|
19
|
+
private readonly ownVaultysId;
|
|
20
|
+
/** Server's raw public key bytes — used to verify peer grant certificates. */
|
|
21
|
+
private serverPublicKey;
|
|
22
|
+
/** Peer catalog pushed by the control plane. */
|
|
23
|
+
private peerCatalog;
|
|
24
|
+
/** Active authenticated connections keyed by remote DID. */
|
|
25
|
+
private connections;
|
|
26
|
+
/** In-flight connect() promises (dedup concurrent connect attempts). */
|
|
27
|
+
private connecting;
|
|
28
|
+
/** Called when a remote agent invokes a skill on us. */
|
|
29
|
+
private invokeHandler;
|
|
30
|
+
/** The listener channel waiting for incoming connections. */
|
|
31
|
+
private listenerChannel;
|
|
32
|
+
constructor(vaultysId: VaultysId);
|
|
33
|
+
/** Set the server public key after first auth, for certificate verification. */
|
|
34
|
+
setServerPublicKey(key: Uint8Array): void;
|
|
35
|
+
/** Replace the peer catalog with a fresh one from the control plane. */
|
|
36
|
+
updatePeerCatalog(catalog: AgentPeerGrant[]): void;
|
|
37
|
+
/** Register the function that handles incoming skill invocations. */
|
|
38
|
+
onInvoke(handler: (remoteDid: string, action: string, params: Record<string, unknown>) => Promise<unknown>): void;
|
|
39
|
+
/**
|
|
40
|
+
* Start listening for incoming connections under our deterministic PeerJS ID.
|
|
41
|
+
* Should be called once after startup and server-key is known.
|
|
42
|
+
*/
|
|
43
|
+
startListening(): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Invoke a skill on a remote agent.
|
|
46
|
+
* Lazy: opens a connection if none exists.
|
|
47
|
+
*/
|
|
48
|
+
invoke(targetDid: string, action: string, params?: Record<string, unknown>): Promise<unknown>;
|
|
49
|
+
/** Close all connections and stop listening. */
|
|
50
|
+
shutdown(): Promise<void>;
|
|
51
|
+
/** Return a cached connection or establish a new one. */
|
|
52
|
+
private getOrConnect;
|
|
53
|
+
private findGrant;
|
|
54
|
+
private connectToAgent;
|
|
55
|
+
/** Accept incoming connections in a loop. */
|
|
56
|
+
private acceptLoop;
|
|
57
|
+
private handleIncoming;
|
|
58
|
+
/** Check if a remote agent is authorized to call us (reverse direction grant). */
|
|
59
|
+
private isIncomingAuthorized;
|
|
60
|
+
private pipeMessages;
|
|
61
|
+
private handleRemoteInvoke;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=peer-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-manager.d.ts","sourceRoot":"","sources":["../src/peer-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAc,SAAS,EAAqB,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAiD1D,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAMD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAY;IACzC,8EAA8E;IAE9E,OAAO,CAAC,eAAe,CAAa;IACpC,gDAAgD;IAChD,OAAO,CAAC,WAAW,CAAwB;IAC3C,4DAA4D;IAC5D,OAAO,CAAC,WAAW,CAA0C;IAC7D,wEAAwE;IACxE,OAAO,CAAC,UAAU,CAAmD;IACrE,wDAAwD;IACxD,OAAO,CAAC,aAAa,CAML;IAChB,6DAA6D;IAC7D,OAAO,CAAC,eAAe,CAEP;gBAEJ,SAAS,EAAE,SAAS;IAQhC,gFAAgF;IAChF,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAKzC,wEAAwE;IACxE,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI;IAIlD,qEAAqE;IACrE,QAAQ,CACN,OAAO,EAAE,CACP,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,OAAO,CAAC,GACpB,IAAI;IAIP;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBrC;;;OAGG;IACG,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACnC,OAAO,CAAC,OAAO,CAAC;IA6BnB,gDAAgD;IAC1C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAe/B,yDAAyD;YAC3C,YAAY;IAuC1B,OAAO,CAAC,SAAS;YAIH,cAAc;IAyJ5B,6CAA6C;YAC/B,UAAU;YAoBV,cAAc;IAwI5B,kFAAkF;YACpE,oBAAoB;YAkCpB,YAAY;YAyCZ,kBAAkB;CAoCjC"}
|