@cotal-ai/auth 0.89.0 → 0.90.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.
- package/README.md +11 -0
- package/dist/authority-client.d.ts +8 -1
- package/dist/authority-client.d.ts.map +1 -1
- package/dist/authority-client.js +11 -9
- package/dist/authority-client.js.map +1 -1
- package/dist/callout.d.ts +3 -0
- package/dist/callout.d.ts.map +1 -1
- package/dist/callout.js +24 -2
- package/dist/callout.js.map +1 -1
- package/dist/connect-reader.d.ts +7 -0
- package/dist/connect-reader.d.ts.map +1 -1
- package/dist/connect-reader.js +16 -1
- package/dist/connect-reader.js.map +1 -1
- package/dist/credential-ledger.d.ts.map +1 -1
- package/dist/credential-ledger.js +7 -1
- package/dist/credential-ledger.js.map +1 -1
- package/dist/idp.d.ts.map +1 -1
- package/dist/idp.js +2 -0
- package/dist/idp.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/issuer.d.ts +11 -0
- package/dist/issuer.d.ts.map +1 -1
- package/dist/issuer.js +29 -1
- package/dist/issuer.js.map +1 -1
- package/dist/lifecycle-registry.d.ts +6 -0
- package/dist/lifecycle-registry.d.ts.map +1 -1
- package/dist/lifecycle-registry.js +13 -1
- package/dist/lifecycle-registry.js.map +1 -1
- package/dist/native-issuance.d.ts +13 -1
- package/dist/native-issuance.d.ts.map +1 -1
- package/dist/native-issuance.js +76 -10
- package/dist/native-issuance.js.map +1 -1
- package/dist/native-service-callout.d.ts +38 -0
- package/dist/native-service-callout.d.ts.map +1 -0
- package/dist/native-service-callout.js +71 -0
- package/dist/native-service-callout.js.map +1 -0
- package/dist/native-service-gate.d.ts +72 -0
- package/dist/native-service-gate.d.ts.map +1 -0
- package/dist/native-service-gate.js +219 -0
- package/dist/native-service-gate.js.map +1 -0
- package/dist/native-service-name.d.ts +17 -0
- package/dist/native-service-name.d.ts.map +1 -0
- package/dist/native-service-name.js +77 -0
- package/dist/native-service-name.js.map +1 -0
- package/dist/permissions.js +2 -0
- package/dist/permissions.js.map +1 -1
- package/dist/plane-claim.d.ts +8 -0
- package/dist/plane-claim.d.ts.map +1 -1
- package/dist/plane-claim.js +11 -1
- package/dist/plane-claim.js.map +1 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +48 -4
- package/dist/provider.js.map +1 -1
- package/dist/retirement-barrier.d.ts.map +1 -1
- package/dist/retirement-barrier.js +2 -1
- package/dist/retirement-barrier.js.map +1 -1
- package/dist/root-credential.d.ts.map +1 -1
- package/dist/root-credential.js +2 -1
- package/dist/root-credential.js.map +1 -1
- package/dist/service-authority-client.d.ts +19 -0
- package/dist/service-authority-client.d.ts.map +1 -0
- package/dist/service-authority-client.js +152 -0
- package/dist/service-authority-client.js.map +1 -0
- package/dist/service-caller-policy.d.ts +32 -0
- package/dist/service-caller-policy.d.ts.map +1 -0
- package/dist/service-caller-policy.js +218 -0
- package/dist/service-caller-policy.js.map +1 -0
- package/dist/service-custody-shapes.d.ts +109 -0
- package/dist/service-custody-shapes.d.ts.map +1 -0
- package/dist/service-custody-shapes.js +138 -0
- package/dist/service-custody-shapes.js.map +1 -0
- package/dist/service-custody.d.ts +96 -0
- package/dist/service-custody.d.ts.map +1 -0
- package/dist/service-custody.js +667 -0
- package/dist/service-custody.js.map +1 -0
- package/dist/service-host-contract.d.ts +312 -0
- package/dist/service-host-contract.d.ts.map +1 -0
- package/dist/service-host-contract.js +176 -0
- package/dist/service-host-contract.js.map +1 -0
- package/dist/service-renewal.d.ts +23 -0
- package/dist/service-renewal.d.ts.map +1 -0
- package/dist/service-renewal.js +51 -0
- package/dist/service-renewal.js.map +1 -0
- package/dist/service-root-reader.d.ts +16 -0
- package/dist/service-root-reader.d.ts.map +1 -0
- package/dist/service-root-reader.js +93 -0
- package/dist/service-root-reader.js.map +1 -0
- package/dist/session-ledger.d.ts.map +1 -1
- package/dist/session-ledger.js +8 -2
- package/dist/session-ledger.js.map +1 -1
- package/dist/store.d.ts +2 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +2 -0
- package/dist/store.js.map +1 -1
- package/dist/token.d.ts +11 -1
- package/dist/token.d.ts.map +1 -1
- package/dist/token.js +31 -3
- package/dist/token.js.map +1 -1
- package/dist/tool-result-prerequisites.d.ts +55 -0
- package/dist/tool-result-prerequisites.d.ts.map +1 -0
- package/dist/tool-result-prerequisites.js +352 -0
- package/dist/tool-result-prerequisites.js.map +1 -0
- package/package.json +7 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retirement-barrier.js","sourceRoot":"","sources":["../src/retirement-barrier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,OAAO,EAAE,SAAS,EAA+C,MAAM,oBAAoB,CAAC;AAE5F,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,yBAAyB,EACzB,mBAAmB,GAIpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,UAAU,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,mCAAmC,GAEpC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,GAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAC9B,MAAM,KAAK,GAAG,CAAC,CAAU,EAAgC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACrH,MAAM,IAAI,GAAG,CAAC,CAAU,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AA2BrG,SAAS,qBAAqB,CAAC,CAAU,EAAE,IAAY,EAAE,KAAa;IACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAC7E,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,GAAG,IAAI,yDAAyD,CAAC,CAAC;IACrH,gGAAgG;IAChG,6FAA6F;IAC7F,kGAAkG;IAClG,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,CAAa;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACjB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,oFAAoF,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5N,OAAO,CAAa,CAAC;AACvB,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAe,EAAE,GAAW,EAAE,KAAa;IACxE,IAAI,CAAU,CAAC;IACf,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,wBAAwB,GAAG,0BAA0B,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,wBAAwB,GAAG,mBAAmB,CAAC,CAAC;IACrG,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACzG,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,wBAAwB,GAAG,+BAA+B,CAAC,8BAA8B,CAAC,CAAC;IACtL,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACpH,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC;QACxG,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,wBAAwB,GAAG,uDAAuD,CAAC,CAAC;IAC5H,IAAI,CAAC;QACH,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACrC,qBAAqB,CAAC,CAAC,CAAC,eAAe,EAAE,UAAU,GAAG,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,wBAAwB,GAAG,mCAAoC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9H,CAAC;IACD,OAAO,CAAgC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,MAAU,EAAE,IAAY,EAAE,KAAa;IACzE,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;QAC3B,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,wBAAwB,GAAG,cAAc,KAAK,CAAC,SAAS,8EAA8E,CAAC,CAAC;IAC3L,OAAO,qBAAqB,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AA+ED;;+FAE+F;AAC/F,SAAS,SAAS,CAAC,KAAa,EAAE,QAAgB,EAAE,IAAY,EAAE,OAAe;IAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACvH,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,8BAA8B,OAAO,gDAAiD,CAAW,CAAC,OAAO,cAAc,CAAC,CAAC;IACjK,CAAC;IACD,IAAI,OAAO,KAAK,OAAO;QACrB,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,8BAA8B,OAAO,sDAAsD,OAAO,sEAAsE,CAAC,CAAC;IAClN,OAAO,GAAG,CAAC;AACb,CAAC;AAED;4CAC4C;AAC5C,KAAK,UAAU,OAAO,CAAC,CAAqC,EAAE,OAAe;IAC3E,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI;QAC7B,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,yBAAyB,OAAO,mHAAmH,CAAC,CAAC;AAClM,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAqB,EACrB,IAQC;IAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC;IAC/C,IAAI,SAAS,GAAG,KAAK;QACnB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,kBAAkB,SAAS,oFAAoF,CAAC,CAAC;IACpK,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;IAE/C,yFAAyF;IACzF,4FAA4F;IAC5F,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,wDAAwD,OAAO,OAAO,MAAM,6FAA8F,CAAW,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClQ,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC,cAAc;QAC9C,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,oBAAoB,OAAO,YAAY,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,oDAAoD,CAAC,CAAC;IACxN,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,GAAG,CAAC,eAAe,KAAK,EAAE;QACjE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,oBAAoB,OAAO,mEAAmE,CAAC,CAAC;IACnJ,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,QAAQ;QACvC,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,oBAAoB,OAAO,mBAAmB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,mEAAmE,CAAC,CAAC;IAC5L,IAAI,GAAG,CAAC,WAAW,KAAK,CAAC,CAAC;QACxB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,oBAAoB,OAAO,qBAAqB,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,6GAA6G,CAAC,CAAC;IAEzO,MAAM,MAAM,GAAoB,EAAE,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;IAC3F,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,sCAAsC;IACrF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,SAAS,CAAC;QACR,0FAA0F;QAC1F,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACxE,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5E,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;YACjF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,6CAA6C;gBAChG,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5B,MAAM,CAAC,aAAa,EAAE,CAAC;gBAAC,UAAU,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YACD,sFAAsF;YACtF,yFAAyF;YACzF,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3I,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;YAC9E,IAAI,MAAM,KAAK,SAAS;gBACtB,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,OAAO,iHAAiH,CAAC,CAAC;YACrL,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU;gBAC9B,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,OAAO,+GAA+G,CAAC,CAAC;YACnL,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAC/B,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,OAAO,+IAA+I,CAAC,CAAC;YACnN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC1F,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;gBACpF,IAAI,WAAW,KAAK,SAAS;oBAC3B,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,OAAO,oBAAoB,WAAW,yEAAyE,CAAC,CAAC;gBACnL,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACtE,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;oBACtD,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,gBAAgB,WAAW,sGAAsG,CAAC,CAAC;gBAC3K,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5B,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;oBAAE,MAAM,CAAC,cAAc,EAAE,CAAC;qBAC3D,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;oBAAE,MAAM,CAAC,cAAc,EAAE,CAAC;;oBAChE,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC5B,UAAU,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACxE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC1F,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;gBACpF,IAAI,WAAW,KAAK,SAAS;oBAC3B,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,OAAO,oBAAoB,WAAW,yEAAyE,CAAC,CAAC;gBACnL,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;gBACtE,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;oBACtD,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,gBAAgB,WAAW,sGAAsG,CAAC,CAAC;gBAC3K,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5B,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;oBAAE,MAAM,CAAC,cAAc,EAAE,CAAC;qBAC3D,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;oBAAE,MAAM,CAAC,cAAc,EAAE,CAAC;;oBAChE,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC5B,UAAU,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YACD,0FAA0F;YAC1F,sFAAsF;YACtF,4CAA4C;YAC5C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACzH,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,EAAE,OAAO,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1F,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,YAAY,OAAO,0CAA0C,KAAK,CAAC,WAAW,iBAAiB,KAAK,CAAC,eAAe,UAAU,UAAU,mBAAmB,QAAQ,CAAC,CAAC,CAAC,kEAAkE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,0EAA0E,CAAC,CAAC;QAC9W,CAAC;IACH,CAAC;AACH,CAAC;AAUD,SAAS,aAAa,CAAC,GAAY,EAAE,GAAW;IAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,uBAAuB,GAAG,+BAA+B,CAAC,CAAC;IAClH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,uBAAuB,GAAG,+BAA+B,CAAC,8BAA8B,CAAC,CAAC;IACvL,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QAC3F,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,uBAAuB,GAAG,gCAAgC,CAAC,CAAC;IACpG,OAAO,GAAgC,CAAC;AAC1C,CAAC;AAmBD;;;;;;;gBAOgB;AAChB,MAAM,UAAU,mBAAmB,CACjC,IAAqB,EACrB,MAAwB,EACxB,IAAwB,EACxB,KAAa,EACb,IAAY,EACZ,GAAiB;IAEjB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;QAC/C,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAC/D,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,+BAA+B,IAAI,CAAC,QAAQ,iBAAiB,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,2GAA2G,CAAC,CAAC;QACnP,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/I,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;QAC9E,IAAI,MAAM,KAAK,SAAS;YACtB,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,4DAA4D,UAAU,uEAAuE,CAAC,CAAC;QACvL,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YACpG,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,mCAAmC,UAAU,gDAAgD,GAAG,CAAC,IAAI,mBAAmB,CAAC,CAAC;QAC3K,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;QACpB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU;gBACzB,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,uDAAuD,UAAU,+BAA+B,IAAI,CAAC,UAAU,oBAAoB,KAAK,GAAG,CAAC,CAAC;YAC9L,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3G,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC;gBACtB,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,qCAAqC,UAAU,+BAA+B,OAAO,CAAC,KAAK,4CAA4C,CAAC,CAAC;YACjL,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;YACvI,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,6CAA6C,UAAU,kFAAkF,CAAC,CAAC;QAC5L,OAAO,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE;YACjC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK;SACnF,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAaD;;;;;;;;;;4FAU4F;AAC5F,KAAK,UAAU,kBAAkB,CAAC,IAAoB,EAAE,KAAqB;IAC3E,MAAM,cAAc,GAA2C,EAAE,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAc,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;gBAC3B,aAAa,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,aAAa,EAAE,2DAA2D,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,SAAS,YAAY,GAAG,CAAC,MAAM,eAAe,GAAG,CAAC,SAAS,kBAAkB,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,yCAAyC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC;QAC1U,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,SAAS,sNAAuN,CAAW,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7U,CAAC;AACH,CAAC;AAED;;;;gDAIgD;AAChD,KAAK,UAAU,kBAAkB,CAC/B,MAAwB,EACxB,IAAwB,EACxB,KAAa,EACb,IAAY,EACZ,IAAoB,EACpB,OAAwC;IAExC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/F,MAAM,WAAW,GAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;IACnI,IAAI,IAA4B,CAAC;IACjC,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sFAAsF;QACtF,yFAAyF;QACzF,MAAM,kBAAkB,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,CAAC;IACV,CAAC;IACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACvF,IAAI,YAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE;gBACpE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY;gBAChF,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB;aAC9G,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,YAAY,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,kBAAkB,CAAC,IAAI,EAAE;QAC7B,WAAW;QACX,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;KACnG,CAAC,CAAC;IACH,IAAI,YAAY,KAAK,SAAS;QAAE,MAAM,YAAY,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAsB,EACtB,IAGC,EACD,IAAoB;IAEpB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,eAAe,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAE9E,uFAAuF;IACvF,oFAAoF;IACpF,IAAI,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;YACzG,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,wBAAwB,cAAc,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,WAAW,IAAI,CAAC,YAAY,MAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,wDAAwD,CAAC,CAAC;IACjS,CAAC;SAAM,CAAC;QACN,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,6BAA6B,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY;YAC1G,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,mBAAmB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,oCAAoC,IAAI,CAAC,YAAY,WAAW,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACtQ,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS;YACrB,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,aAAa,IAAI,CAAC,YAAY,sDAAsD,CAAC,CAAC;QACzI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC;YACxD,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,yBAAyB,IAAI,CAAC,YAAY,QAAQ,KAAK,CAAC,GAAG,CAAC,KAAK,mBAAmB,KAAK,CAAC,GAAG,CAAC,UAAU,gGAAgG,CAAC,CAAC;QAC7P,MAAM,KAAK,GAAqB;YAC9B,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK;YACzF,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe;SAC5E,CAAC;QACF,MAAM,uBAAuB,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,wBAAwB,cAAc,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACzJ,CAAC;IAED,wFAAwF;IACxF,wFAAwF;IACxF,6EAA6E;IAC7E,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,IAAI,KAAK,SAAS;YACpB,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,yBAAyB,MAAM,CAAC,YAAY,2EAA2E,CAAC,CAAC;QACjK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI;gBAC3B,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,yBAAyB,MAAM,CAAC,YAAY,2BAA2B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,IAAI,qCAAqC,CAAC,CAAC;YAC9L,MAAM,CAAC,2DAA2D;QACpE,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI;gBAC3B,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,yBAAyB,MAAM,CAAC,YAAY,kCAAkC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,IAAI,cAAc,CAAC,CAAC;YAC5K,mFAAmF;YACnF,qFAAqF;YACrF,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,KAAK,KAAK;gBAC/B,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,gBAAgB,MAAM,CAAC,YAAY,kBAAkB,IAAI,4BAA4B,WAAW,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,SAAS,SAAS,mEAAmE,CAAC,CAAC;YAC/P,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC9E,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;gBACzE,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,uBAAuB,WAAW,yBAAyB,QAAQ,CAAC,IAAI,SAAS,IAAI,0BAA0B,CAAC,CAAC;YACzJ,MAAM,IAAI,GAAG,MAAM,6BAA6B,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAClF,IAAI,IAAI,KAAK,SAAS;gBACpB,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,iBAAiB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,6DAA6D,CAAC,CAAC;YACpJ,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;gBACnD,MAAM,mCAAmC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACxI,sFAAsF;YACtF,sDAAsD;YACtD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5J,CAAC;QACD,OAAO;QACP,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,cAAc;YAC/C,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,yBAAyB,MAAM,CAAC,YAAY,0BAA0B,IAAI,CAAC,GAAG,CAAC,UAAU,+CAA+C,MAAM,CAAC,cAAc,kHAAkH,CAAC,CAAC;QACzT,yFAAyF;QACzF,uCAAuC;QACvC,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACrF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;YACrH,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,iBAAiB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,QAAQ,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,mGAAmG,CAAC,CAAC;QACnS,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACxH,MAAM;QACR,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,GAAG,CAAC;gBAAE,SAAS;YACnF,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,4FAA4F;IAC5F,MAAM,gCAAgC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnI,6FAA6F;IAC7F,kDAAkD;IAClD,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,sBAAsB,CACrE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,CAClH,CAAC;IAEF,6FAA6F;IAC7F,8FAA8F;IAC9F,4FAA4F;IAC5F,mDAAmD;IACnD,8FAA8F;IAC9F,6FAA6F;IAC7F,4FAA4F;IAC5F,2FAA2F;IAC3F,4FAA4F;IAC5F,iFAAiF;IACjF,4FAA4F;IAC5F,8FAA8F;IAC9F,6FAA6F;IAC7F,6DAA6D;IAC7D,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;QAC1G,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;QACpG,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC7J,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,6EAA6E;QACnH,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,IAAI,IAAI,GAAG,CAAC;YACV,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,4BAA4B,MAAM,CAAC,YAAY,gCAAgC,IAAI,GAAG,CAAC,YAAY,YAAY,CAAC,MAAM,sCAAsC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,4CAA4C,CAAC,CAAC;QACzQ,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9D,KAAK,MAAM,CAAC,IAAI,WAAW;gBACzB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK;oBACtF,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,0FAA0F;IAC1F,2FAA2F;IAC3F,sFAAsF;IACtF,gGAAgG;IAChG,kGAAkG;IAClG,kGAAkG;IAClG,iGAAiG;IACjG,+FAA+F;IAC/F,yFAAyF;IACzF,6FAA6F;IAC7F,8FAA8F;IAC9F,kGAAkG;IAClG,4FAA4F;IAC5F,6FAA6F;IAC7F,8FAA8F;IAC9F,6FAA6F;IAC7F,2BAA2B;IAC3B,MAAM,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KAC7D,CAAC,CAAC,CAAC,CAAC;IAEL,iGAAiG;IACjG,gGAAgG;IAChG,oGAAoG;IACpG,iGAAiG;IACjG,kGAAkG;IAClG,kGAAkG;IAClG,gGAAgG;IAChG,oGAAoG;IACpG,oGAAoG;IACpG,mGAAmG;IACnG,kGAAkG;IAClG,+FAA+F;IAC/F,qFAAqF;IACrF,kGAAkG;IAClG,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IACpD,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,IAAY,EAAQ,EAAE;QACvD,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,MAAM,uBAAuB,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;QAC7G,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,SAAS;QACtI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,gBAAgB,GAAyB,CAAC,GAAG,YAAY,CAAC;SAC7D,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SACpE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExD,4FAA4F;IAC5F,2FAA2F;IAC3F,iGAAiG;IACjG,2FAA2F;IAC3F,MAAM,OAAO,GAAoC,EAAE,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED,yFAAyF;IACzF,wEAAwE;IACxE,IAAI,SAAiC,CAAC;IACtC,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAChE,IAAI,gBAAgB,CAAC,SAAS,KAAK,KAAK;YACtC,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,uBAAuB,WAAW,cAAc,gBAAgB,CAAC,SAAS,+DAA+D,CAAC,CAAC;QAC9L,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC1F,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;YACrE,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,uBAAuB,WAAW,yBAAyB,MAAM,CAAC,IAAI,iEAAiE,CAAC,CAAC;QAC1L,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,EAAE,CAAC;QACf,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACzD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,4CAA4C,MAAM,yFAA0F,CAAW,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpO,CAAC;YACD,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,MAAM,MAAM,GAAmB,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAC/F,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,kFAAkF;YAClF,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;gBAAE,MAAM,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC/E,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;gBACrE,MAAM,IAAI,eAAe,CAAC,mBAAmB,EAAE,uBAAuB,WAAW,6BAA6B,MAAM,CAAC,IAAI,iEAAiE,CAAC,CAAC;YAC9L,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,SAAS;QACvB,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,yBAAyB,MAAM,CAAC,YAAY,wDAAwD,CAAC,CAAC;IAC9I,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/F,6FAA6F;IAC7F,4DAA4D;IAC5D,MAAM,mCAAmC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtI,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC3H,CAAC;AAED;;8BAE8B;AAC9B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAsB,EAAE,IAAY,EAAE,IAAoB;IACpG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACrF,IAAI,MAAM,KAAK,SAAS;QACtB,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,iCAAiC,cAAc,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC1I,OAAO,yBAAyB,CAAC,GAAG,EAAE;QACpC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,IAAI;QACjF,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"retirement-barrier.js","sourceRoot":"","sources":["../src/retirement-barrier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-credential.d.ts","sourceRoot":"","sources":["../src/root-credential.ts"],"names":[],"mappings":"AAmCA,OAAO,
|
|
1
|
+
{"version":3,"file":"root-credential.d.ts","sourceRoot":"","sources":["../src/root-credential.ts"],"names":[],"mappings":"AAmCA,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAUjC;;;;yFAIyF;AACzF,eAAO,MAAM,sBAAsB,QAA2B,CAAC;AAe/D;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,GACxG,OAAO,CAAC,MAAM,CAAC,CAgDjB"}
|
package/dist/root-credential.js
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
* never-exported row). Rotation of the incarnation's root remains exclusively a barrier's job.
|
|
34
34
|
*/
|
|
35
35
|
import { EpEnvelopeError, mintLifecycleUid } from "@cotal-ai/core";
|
|
36
|
-
import { activateLifecycleAtUid, readLifecycleHeadForOperation, registryStores, setCurrentRootCredential, } from "./lifecycle-registry.js";
|
|
36
|
+
import { assertOrdinaryRegistryMutation, activateLifecycleAtUid, readLifecycleHeadForOperation, registryStores, setCurrentRootCredential, } from "./lifecycle-registry.js";
|
|
37
37
|
import { credRowKey, finalizeAgentMint, markLedgerRowRevoked, parseLedgerRow, stageAgentMint, } from "./credential-ledger.js";
|
|
38
38
|
/** Root-credential row lifetime (ms — ledger-row `exp` rides milliseconds). LONG by design: a
|
|
39
39
|
* root credential lives with its incarnation, and its ROTATION is a family-revoke barrier
|
|
@@ -66,6 +66,7 @@ async function readCredRow(reg, lifecycleUid, credentialId) {
|
|
|
66
66
|
* - any garbled trusted-path state.
|
|
67
67
|
*/
|
|
68
68
|
export async function ensureRootCredential(reg, args) {
|
|
69
|
+
await assertOrdinaryRegistryMutation(reg, args);
|
|
69
70
|
const now = args.now ?? Date.now;
|
|
70
71
|
const { owner, actor, lifecycleUid } = args;
|
|
71
72
|
const holder = `${owner}.${actor}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-credential.js","sourceRoot":"","sources":["../src/root-credential.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"root-credential.js","sourceRoot":"","sources":["../src/root-credential.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ServiceAuthorityEnvelope, type ServiceAuthorityInfo, type ServiceAuthorityResult, type ServiceAuthorityRequest } from "@cotal-ai/core";
|
|
2
|
+
export interface ServiceAuthorityCallOptions {
|
|
3
|
+
timeoutMs?: number;
|
|
4
|
+
signal?: AbortSignal;
|
|
5
|
+
}
|
|
6
|
+
interface ServiceAuthorityBudget {
|
|
7
|
+
signal: AbortSignal;
|
|
8
|
+
check(): void;
|
|
9
|
+
remainingMs(): number;
|
|
10
|
+
}
|
|
11
|
+
/** One original local deadline covers preparation, fetch, body and response validation. */
|
|
12
|
+
export declare function withServiceAuthorityBudget<T>(operation: ServiceAuthorityRequest["operation"], options: ServiceAuthorityCallOptions, work: (budget: ServiceAuthorityBudget) => Promise<T>, startedAt?: number): Promise<T>;
|
|
13
|
+
export declare function assertServiceViewFreshness(result: ServiceAuthorityResult, startedAt: number): void;
|
|
14
|
+
/** Derive the protocol's fixed sibling from the protected exchange base. */
|
|
15
|
+
export declare function serviceAuthorityUrl(base: string): string;
|
|
16
|
+
export declare function readRemoteServiceAuthorityInfo(base: string, space: string): Promise<ServiceAuthorityInfo>;
|
|
17
|
+
export declare function postRemoteServiceAuthority(base: string, raw: ServiceAuthorityEnvelope, options?: ServiceAuthorityCallOptions): Promise<ServiceAuthorityResult>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=service-authority-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-authority-client.d.ts","sourceRoot":"","sources":["../src/service-authority-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,KAAK,uBAAuB,EACpH,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,2BAA2B;IAAG,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE;AACzF,UAAU,sBAAsB;IAAG,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,IAAI,IAAI,CAAC;IAAC,WAAW,IAAI,MAAM,CAAA;CAAE;AAG9F,2FAA2F;AAC3F,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,2BAA2B,EACvI,IAAI,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,SAAoB,GAAG,OAAO,CAAC,CAAC,CAAC,CA4BjG;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAGlG;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUxD;AAuCD,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAQ/G;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,wBAAwB,EAAE,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA8BxK"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { SERVICE_AUTHORITY_MAX_BYTES, SERVICE_DESCRIBE_QUERY_BUDGET_MS, ServiceAuthorityTransportError, parseServiceAuthorityEnvelope, parseServiceAuthorityInfo, parseServiceAuthorityResult, } from "@cotal-ai/core";
|
|
2
|
+
import { assertPinnedFetchUrl } from "@cotal-ai/workspace";
|
|
3
|
+
const isMutation = (operation) => operation !== "status" && operation !== "describe-view";
|
|
4
|
+
/** One original local deadline covers preparation, fetch, body and response validation. */
|
|
5
|
+
export async function withServiceAuthorityBudget(operation, options, work, startedAt = performance.now()) {
|
|
6
|
+
const signal = options.signal;
|
|
7
|
+
const cap = operation === "describe-view" ? SERVICE_DESCRIBE_QUERY_BUDGET_MS : 30_000;
|
|
8
|
+
const requested = options.timeoutMs ?? cap;
|
|
9
|
+
if (typeof requested !== "number" || !Number.isFinite(requested) || requested <= 0)
|
|
10
|
+
throw new Error("service authority budget must be a positive finite duration");
|
|
11
|
+
const deadline = startedAt + Math.min(cap, requested), controller = new AbortController();
|
|
12
|
+
const failure = () => new ServiceAuthorityTransportError("service authority deadline expired or request was cancelled", isMutation(operation) ? "unknown" : "not-executed");
|
|
13
|
+
const abort = () => controller.abort();
|
|
14
|
+
const timer = setTimeout(abort, Math.max(1, Math.ceil(deadline - performance.now())));
|
|
15
|
+
timer.unref();
|
|
16
|
+
signal?.addEventListener("abort", abort, { once: true });
|
|
17
|
+
if (signal?.aborted)
|
|
18
|
+
abort();
|
|
19
|
+
let rejectOnAbort;
|
|
20
|
+
const aborted = new Promise((_, reject) => {
|
|
21
|
+
rejectOnAbort = () => reject(failure());
|
|
22
|
+
controller.signal.addEventListener("abort", rejectOnAbort, { once: true });
|
|
23
|
+
if (controller.signal.aborted)
|
|
24
|
+
rejectOnAbort();
|
|
25
|
+
});
|
|
26
|
+
const budget = { signal: controller.signal,
|
|
27
|
+
remainingMs: () => Math.max(0, deadline - performance.now()),
|
|
28
|
+
check: () => { if (controller.signal.aborted || performance.now() >= deadline)
|
|
29
|
+
throw failure(); },
|
|
30
|
+
};
|
|
31
|
+
try {
|
|
32
|
+
return await Promise.race([Promise.resolve().then(async () => { budget.check(); const result = await work(budget); budget.check(); return result; }), aborted]);
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
clearTimeout(timer);
|
|
36
|
+
signal?.removeEventListener("abort", abort);
|
|
37
|
+
controller.signal.removeEventListener("abort", rejectOnAbort);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export function assertServiceViewFreshness(result, startedAt) {
|
|
41
|
+
if (result.state === "view" && result.validForMs <= performance.now() - startedAt)
|
|
42
|
+
throw new ServiceAuthorityTransportError("service Describe view expired during the full query roundtrip", "not-executed");
|
|
43
|
+
}
|
|
44
|
+
/** Derive the protocol's fixed sibling from the protected exchange base. */
|
|
45
|
+
export function serviceAuthorityUrl(base) {
|
|
46
|
+
let url;
|
|
47
|
+
try {
|
|
48
|
+
url = new URL(base);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
throw new Error("service authority requires a valid pinned exchange URL");
|
|
52
|
+
}
|
|
53
|
+
if (url.username || url.password)
|
|
54
|
+
throw new Error("service authority URL must not carry user credentials");
|
|
55
|
+
const refusal = assertPinnedFetchUrl(url, "service authority");
|
|
56
|
+
if (refusal)
|
|
57
|
+
throw new Error(refusal);
|
|
58
|
+
url.pathname = `${url.pathname.replace(/\/$/, "")}/service-endpoint-authority`;
|
|
59
|
+
url.search = "";
|
|
60
|
+
url.hash = "";
|
|
61
|
+
return url.toString();
|
|
62
|
+
}
|
|
63
|
+
async function readBoundedJson(response) {
|
|
64
|
+
if (!response.body)
|
|
65
|
+
throw new Error("empty authority response");
|
|
66
|
+
const reader = response.body.getReader();
|
|
67
|
+
const parts = [];
|
|
68
|
+
let length = 0;
|
|
69
|
+
try {
|
|
70
|
+
for (;;) {
|
|
71
|
+
const { done, value } = await reader.read();
|
|
72
|
+
if (done)
|
|
73
|
+
break;
|
|
74
|
+
length += value.byteLength;
|
|
75
|
+
if (length > SERVICE_AUTHORITY_MAX_BYTES)
|
|
76
|
+
throw new Error("authority response exceeds its byte limit");
|
|
77
|
+
parts.push(value);
|
|
78
|
+
}
|
|
79
|
+
const bytes = new Uint8Array(length);
|
|
80
|
+
let offset = 0;
|
|
81
|
+
for (const part of parts) {
|
|
82
|
+
bytes.set(part, offset);
|
|
83
|
+
offset += part.byteLength;
|
|
84
|
+
}
|
|
85
|
+
return JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
await reader.cancel().catch(() => { });
|
|
89
|
+
reader.releaseLock();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async function send(url, init, mutation) {
|
|
93
|
+
let response;
|
|
94
|
+
try {
|
|
95
|
+
response = await fetch(url, { ...init, redirect: "manual", signal: init.signal ?? AbortSignal.timeout(30_000) });
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
throw new ServiceAuthorityTransportError("service authority did not return a response; retain the existing request identity", mutation ? "unknown" : "not-executed");
|
|
99
|
+
}
|
|
100
|
+
if (response.status >= 300 && response.status < 400) {
|
|
101
|
+
await response.body?.cancel().catch(() => { });
|
|
102
|
+
throw new ServiceAuthorityTransportError("service authority redirects are refused", mutation ? "unknown" : "not-executed", response.status);
|
|
103
|
+
}
|
|
104
|
+
return response;
|
|
105
|
+
}
|
|
106
|
+
export async function readRemoteServiceAuthorityInfo(base, space) {
|
|
107
|
+
const response = await send(serviceAuthorityUrl(base), { method: "GET", headers: { "cache-control": "no-store" } }, false);
|
|
108
|
+
if (!response.ok) {
|
|
109
|
+
await response.body?.cancel().catch(() => { });
|
|
110
|
+
throw new ServiceAuthorityTransportError("service authority account metadata request failed", "not-executed", response.status);
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
return parseServiceAuthorityInfo(await readBoundedJson(response), space);
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
throw new ServiceAuthorityTransportError("service authority returned invalid account metadata", "not-executed", response.status);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
export async function postRemoteServiceAuthority(base, raw, options = {}) {
|
|
120
|
+
const startedAt = performance.now();
|
|
121
|
+
const envelope = parseServiceAuthorityEnvelope(raw);
|
|
122
|
+
const url = serviceAuthorityUrl(base);
|
|
123
|
+
return withServiceAuthorityBudget(envelope.request.operation, options, async (budget) => {
|
|
124
|
+
const mutation = isMutation(envelope.request.operation);
|
|
125
|
+
const response = await send(url, {
|
|
126
|
+
method: "POST", headers: { "content-type": "application/json", "cache-control": "no-store" }, body: JSON.stringify(envelope), signal: budget.signal,
|
|
127
|
+
}, mutation);
|
|
128
|
+
if (response.status >= 500) {
|
|
129
|
+
await response.body?.cancel().catch(() => { });
|
|
130
|
+
throw new ServiceAuthorityTransportError("service authority HTTP failure leaves the request unconfirmed; retain the existing request identity", mutation ? "unknown" : "not-executed", response.status);
|
|
131
|
+
}
|
|
132
|
+
if (envelope.request.operation === "describe-view" && !(response.headers.get("cache-control") ?? "").split(",").some((p) => p.trim().toLowerCase() === "no-store")) {
|
|
133
|
+
await response.body?.cancel().catch(() => { });
|
|
134
|
+
throw new ServiceAuthorityTransportError("service Describe response must forbid storage", "not-executed", response.status);
|
|
135
|
+
}
|
|
136
|
+
let result;
|
|
137
|
+
try {
|
|
138
|
+
result = parseServiceAuthorityResult(await readBoundedJson(response), envelope.request);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
throw new ServiceAuthorityTransportError("service authority returned an unconfirmed response; retain the existing request identity", mutation ? "unknown" : "not-executed", response.status);
|
|
142
|
+
}
|
|
143
|
+
if (!response.ok && result.state !== "denied")
|
|
144
|
+
throw new ServiceAuthorityTransportError("service authority HTTP status disagrees with its result", mutation ? "unknown" : "not-executed", response.status);
|
|
145
|
+
if (result.state === "approval-required" && result.approvalUrl !== undefined && new URL(result.approvalUrl).origin !== new URL(url).origin)
|
|
146
|
+
throw new ServiceAuthorityTransportError("service approval URL leaves the pinned authority origin", mutation ? "unknown" : "not-executed", response.status);
|
|
147
|
+
budget.check();
|
|
148
|
+
assertServiceViewFreshness(result, startedAt);
|
|
149
|
+
return result;
|
|
150
|
+
}, startedAt);
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=service-authority-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-authority-client.js","sourceRoot":"","sources":["../src/service-authority-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ServicePrincipal } from "@cotal-ai/core";
|
|
2
|
+
import { type LifecycleRegistry } from "./lifecycle-registry.js";
|
|
3
|
+
import type { ServiceCallerGrant } from "./service-host-contract.js";
|
|
4
|
+
export interface ServiceCallerPolicyBinding {
|
|
5
|
+
accountPublicKey: string;
|
|
6
|
+
space: string;
|
|
7
|
+
grantee: ServicePrincipal;
|
|
8
|
+
}
|
|
9
|
+
export interface NativeServiceCallerPolicy extends ServiceCallerPolicyBinding {
|
|
10
|
+
v: 1;
|
|
11
|
+
grants: ServiceCallerGrant[];
|
|
12
|
+
}
|
|
13
|
+
export interface NativeServiceCallerPolicyRead {
|
|
14
|
+
row: NativeServiceCallerPolicy;
|
|
15
|
+
revision: number;
|
|
16
|
+
}
|
|
17
|
+
/** Stored syntax only. Eligibility, ancestry and native capability containment are host checks. */
|
|
18
|
+
export declare function parseNativeServiceCallerPolicy(raw: unknown): NativeServiceCallerPolicy;
|
|
19
|
+
/** Internal leader-served read. Deleted or corrupt records are not an absent/empty policy. */
|
|
20
|
+
export declare function readNativeServiceCallerPolicy(reg: LifecycleRegistry, binding: ServiceCallerPolicyBinding): Promise<NativeServiceCallerPolicyRead | undefined>;
|
|
21
|
+
/** Storage commit only, after trusted host eligibility checks. Never replaces an existing grant. */
|
|
22
|
+
export declare function appendNativeServiceCallerGrant(reg: LifecycleRegistry, binding: ServiceCallerPolicyBinding, args: {
|
|
23
|
+
expectedRevision: number;
|
|
24
|
+
grant: ServiceCallerGrant;
|
|
25
|
+
}): Promise<NativeServiceCallerPolicyRead>;
|
|
26
|
+
/** Monotonic deny-new intent only. Cutoff, descendant invalidation and live retirement remain host work. */
|
|
27
|
+
export declare function beginNativeServiceCallerRevocation(reg: LifecycleRegistry, binding: ServiceCallerPolicyBinding, args: {
|
|
28
|
+
expectedRevision: number;
|
|
29
|
+
grantId: string;
|
|
30
|
+
operationId: string;
|
|
31
|
+
}): Promise<NativeServiceCallerPolicyRead>;
|
|
32
|
+
//# sourceMappingURL=service-caller-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-caller-policy.d.ts","sourceRoot":"","sources":["../src/service-caller-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAGmC,KAAK,gBAAgB,EAC9D,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAA4E,MAAM,4BAA4B,CAAC;AAE/I,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AACD,MAAM,WAAW,yBAA0B,SAAQ,0BAA0B;IAC3E,CAAC,EAAE,CAAC,CAAC;IACL,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AACD,MAAM,WAAW,6BAA6B;IAAG,GAAG,EAAE,yBAAyB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAuFnG,mGAAmG;AACnG,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,yBAAyB,CAYtF;AAQD,8FAA8F;AAC9F,wBAAsB,6BAA6B,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,6BAA6B,GAAG,SAAS,CAAC,CAQnK;AA0BD,oGAAoG;AACpG,wBAAsB,8BAA8B,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE;IACtH,gBAAgB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,kBAAkB,CAAC;CACrD,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAgBzC;AAED,4GAA4G;AAC5G,wBAAsB,kCAAkC,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE;IAC1H,gBAAgB,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;CAChE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAezC"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { EpEnvelopeError, SERVICE_AUTHORITY_MAX_BYTES, assertBoundedOwner, assertDerivedOwnerToken, assertLifecycleToken, canonicalJson, endpointToken, isAccountNkey, isCasLoss, isContractDigest, parseEndpointCapabilities, spacePrefix, } from "@cotal-ai/core";
|
|
2
|
+
import { registryStores } from "./lifecycle-registry.js";
|
|
3
|
+
const enc = new TextEncoder(), dec = new TextDecoder("utf-8", { fatal: true });
|
|
4
|
+
const compare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
5
|
+
function bad() { throw new EpEnvelopeError("bad-request", "invalid native service caller policy"); }
|
|
6
|
+
function conflict(message) { throw new EpEnvelopeError("conflict", message); }
|
|
7
|
+
function object(raw, fields) {
|
|
8
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
9
|
+
bad();
|
|
10
|
+
const proto = Object.getPrototypeOf(raw);
|
|
11
|
+
if (proto !== Object.prototype && proto !== null)
|
|
12
|
+
bad();
|
|
13
|
+
if (fields.some((k) => !Object.hasOwn(raw, k)) || Reflect.ownKeys(raw).some((k) => typeof k !== "string" || !fields.includes(k)))
|
|
14
|
+
bad();
|
|
15
|
+
return raw;
|
|
16
|
+
}
|
|
17
|
+
function id(raw) {
|
|
18
|
+
if (typeof raw !== "string" || !/^[0-9a-f]{32}$/.test(raw))
|
|
19
|
+
bad();
|
|
20
|
+
return raw;
|
|
21
|
+
}
|
|
22
|
+
function uint(raw, positive = false) {
|
|
23
|
+
if (typeof raw !== "number" || !Number.isSafeInteger(raw) || raw < (positive ? 1 : 0))
|
|
24
|
+
bad();
|
|
25
|
+
return raw;
|
|
26
|
+
}
|
|
27
|
+
function digest(raw) { if (typeof raw !== "string" || !isContractDigest(raw))
|
|
28
|
+
bad(); return raw; }
|
|
29
|
+
function lifecycle(raw) { if (typeof raw !== "string")
|
|
30
|
+
bad(); return assertLifecycleToken(raw, "policy lifecycle"); }
|
|
31
|
+
function principal(raw) {
|
|
32
|
+
const o = object(raw, ["owner", "actor", "lifecycleUid"]);
|
|
33
|
+
if (typeof o.owner !== "string" || typeof o.actor !== "string")
|
|
34
|
+
bad();
|
|
35
|
+
return { owner: assertDerivedOwnerToken(o.owner), actor: assertBoundedOwner(o.actor, "policy actor"), lifecycleUid: lifecycle(o.lifecycleUid) };
|
|
36
|
+
}
|
|
37
|
+
function refs(raw) {
|
|
38
|
+
if (!Array.isArray(raw) || raw.length === 0)
|
|
39
|
+
bad();
|
|
40
|
+
const seen = new Set();
|
|
41
|
+
const result = raw.map((r) => {
|
|
42
|
+
const o = object(r, ["granteeUid", "grantId"]), ref = { granteeUid: lifecycle(o.granteeUid), grantId: id(o.grantId) };
|
|
43
|
+
const key = canonicalJson(ref);
|
|
44
|
+
if (seen.has(key))
|
|
45
|
+
bad();
|
|
46
|
+
seen.add(key);
|
|
47
|
+
return ref;
|
|
48
|
+
});
|
|
49
|
+
return result.sort((a, b) => compare(canonicalJson(a), canonicalJson(b)));
|
|
50
|
+
}
|
|
51
|
+
function source(raw) {
|
|
52
|
+
const kind = raw && typeof raw === "object" ? raw.kind : undefined;
|
|
53
|
+
if (kind === "service-owner") {
|
|
54
|
+
const o = object(raw, ["kind", "owner", "approvalDigest", "nameAuthorityRevision"]);
|
|
55
|
+
if (typeof o.owner !== "string")
|
|
56
|
+
bad();
|
|
57
|
+
return { kind, owner: assertDerivedOwnerToken(o.owner), approvalDigest: digest(o.approvalDigest), nameAuthorityRevision: uint(o.nameAuthorityRevision, true) };
|
|
58
|
+
}
|
|
59
|
+
if (kind === "delegated") {
|
|
60
|
+
const o = object(raw, ["kind", "principal", "grants"]), holder = principal(o.principal), grants = refs(o.grants);
|
|
61
|
+
if (grants.some((g) => g.granteeUid !== holder.lifecycleUid))
|
|
62
|
+
bad();
|
|
63
|
+
return { kind, principal: holder, grants };
|
|
64
|
+
}
|
|
65
|
+
return bad();
|
|
66
|
+
}
|
|
67
|
+
function state(raw) {
|
|
68
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
69
|
+
bad();
|
|
70
|
+
const s = raw;
|
|
71
|
+
if (s.state === "active") {
|
|
72
|
+
object(s, ["state"]);
|
|
73
|
+
return { state: "active" };
|
|
74
|
+
}
|
|
75
|
+
if (s.state === "revoking" && s.phase === "cutoff-required") {
|
|
76
|
+
object(s, ["state", "operationId", "phase"]);
|
|
77
|
+
return { state: "revoking", operationId: id(s.operationId), phase: "cutoff-required" };
|
|
78
|
+
}
|
|
79
|
+
if (s.state === "revoking") {
|
|
80
|
+
object(s, ["state", "operationId", "markerKey", "markerRevision", "notBefore"]);
|
|
81
|
+
if (typeof s.markerKey !== "string" || !/^[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)*$/.test(s.markerKey) || s.markerKey.length > 512)
|
|
82
|
+
bad();
|
|
83
|
+
return { state: "revoking", operationId: id(s.operationId), markerKey: s.markerKey,
|
|
84
|
+
markerRevision: uint(s.markerRevision, true), notBefore: uint(s.notBefore, true) };
|
|
85
|
+
}
|
|
86
|
+
if (s.state === "revoked") {
|
|
87
|
+
object(s, ["state", "operationId", "verifiedAt"]);
|
|
88
|
+
return { state: "revoked", operationId: id(s.operationId), verifiedAt: uint(s.verifiedAt, true) };
|
|
89
|
+
}
|
|
90
|
+
return bad();
|
|
91
|
+
}
|
|
92
|
+
function grant(raw) {
|
|
93
|
+
const o = object(raw, ["grantId", "endpoint", "instanceId", "serviceApprovalDigest", "capabilities", "source", "parentRefs", "status"]);
|
|
94
|
+
if (typeof o.endpoint !== "string" || !Array.isArray(o.parentRefs))
|
|
95
|
+
bad();
|
|
96
|
+
endpointToken(o.endpoint);
|
|
97
|
+
const seen = new Set();
|
|
98
|
+
const parents = o.parentRefs.map((p) => {
|
|
99
|
+
const ref = object(p, ["principal", "grants"]), holder = principal(ref.principal), grants = refs(ref.grants);
|
|
100
|
+
if (seen.has(holder.lifecycleUid) || grants.some((g) => g.granteeUid !== holder.lifecycleUid))
|
|
101
|
+
bad();
|
|
102
|
+
seen.add(holder.lifecycleUid);
|
|
103
|
+
return { principal: holder, grants };
|
|
104
|
+
});
|
|
105
|
+
parents.sort((a, b) => compare(a.principal.lifecycleUid, b.principal.lifecycleUid));
|
|
106
|
+
const capabilities = parseEndpointCapabilities(o.capabilities), provenance = source(o.source), approvalDigest = digest(o.serviceApprovalDigest);
|
|
107
|
+
if (capabilities.some((c) => c.endpoint !== o.endpoint) || (provenance.kind === "service-owner" && provenance.approvalDigest !== approvalDigest))
|
|
108
|
+
bad();
|
|
109
|
+
return { grantId: id(o.grantId), endpoint: o.endpoint, instanceId: lifecycle(o.instanceId), serviceApprovalDigest: approvalDigest,
|
|
110
|
+
capabilities, source: provenance, parentRefs: parents, status: state(o.status) };
|
|
111
|
+
}
|
|
112
|
+
/** Stored syntax only. Eligibility, ancestry and native capability containment are host checks. */
|
|
113
|
+
export function parseNativeServiceCallerPolicy(raw) {
|
|
114
|
+
const o = object(raw, ["v", "accountPublicKey", "space", "grantee", "grants"]);
|
|
115
|
+
if (o.v !== 1 || typeof o.accountPublicKey !== "string" || !isAccountNkey(o.accountPublicKey)
|
|
116
|
+
|| typeof o.space !== "string" || !Array.isArray(o.grants))
|
|
117
|
+
bad();
|
|
118
|
+
spacePrefix(o.space);
|
|
119
|
+
if (Buffer.byteLength(canonicalJson(o), "utf8") > SERVICE_AUTHORITY_MAX_BYTES)
|
|
120
|
+
throw new EpEnvelopeError("resource-exhausted", "native service caller policy exceeds its byte bound");
|
|
121
|
+
const grantee = principal(o.grantee), seen = new Set();
|
|
122
|
+
const grants = o.grants.map((g) => {
|
|
123
|
+
const parsed = grant(g);
|
|
124
|
+
if (seen.has(parsed.grantId))
|
|
125
|
+
bad();
|
|
126
|
+
seen.add(parsed.grantId);
|
|
127
|
+
return parsed;
|
|
128
|
+
});
|
|
129
|
+
return { v: 1, accountPublicKey: o.accountPublicKey, space: o.space, grantee, grants };
|
|
130
|
+
}
|
|
131
|
+
function context(reg, binding) {
|
|
132
|
+
const stores = registryStores(reg);
|
|
133
|
+
const expected = parseNativeServiceCallerPolicy({ v: 1, ...binding, grants: [] });
|
|
134
|
+
if (stores.space !== expected.space)
|
|
135
|
+
throw new EpEnvelopeError("permission-denied", "caller policy belongs to another registry space");
|
|
136
|
+
return { kv: stores.authKv, key: `servicepolicy.${expected.grantee.lifecycleUid}`, expected };
|
|
137
|
+
}
|
|
138
|
+
/** Internal leader-served read. Deleted or corrupt records are not an absent/empty policy. */
|
|
139
|
+
export async function readNativeServiceCallerPolicy(reg, binding) {
|
|
140
|
+
const { kv, key, expected } = context(reg, binding), entry = await kv.get(key);
|
|
141
|
+
if (!entry)
|
|
142
|
+
return undefined;
|
|
143
|
+
if (entry.operation !== "PUT")
|
|
144
|
+
throw new EpEnvelopeError("failed-precondition", "native caller policy carries a deletion marker");
|
|
145
|
+
const row = parseNativeServiceCallerPolicy(JSON.parse(dec.decode(entry.value)));
|
|
146
|
+
if (row.accountPublicKey !== expected.accountPublicKey || row.space !== expected.space || canonicalJson(row.grantee) !== canonicalJson(expected.grantee))
|
|
147
|
+
conflict("native caller policy belongs to another immutable grantee binding");
|
|
148
|
+
return { row, revision: entry.revision };
|
|
149
|
+
}
|
|
150
|
+
async function write(reg, binding, row, revision) {
|
|
151
|
+
const { kv, key } = context(reg, binding), parsed = parseNativeServiceCallerPolicy(row), bytes = enc.encode(canonicalJson(parsed));
|
|
152
|
+
try {
|
|
153
|
+
return { row: parsed, revision: revision === 0 ? await kv.put(key, bytes, { previousSeq: 0 }) : await kv.update(key, bytes, revision) };
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
if (isCasLoss(error))
|
|
157
|
+
conflict("native caller policy changed; re-read before another mutation");
|
|
158
|
+
throw new EpEnvelopeError("unavailable", "native caller policy write outcome is unknown; retain the operation identity");
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
const byteSize = (value) => Buffer.byteLength(canonicalJson(value), "utf8");
|
|
162
|
+
// Exact closed status syntax bounds. Reserve for all grants simultaneously, not just the
|
|
163
|
+
// newly appended grant or the first cutoff intent. No cap increase or old-row rewriting.
|
|
164
|
+
const maxStatusBytes = Math.max(...[
|
|
165
|
+
{ state: "active" },
|
|
166
|
+
{ state: "revoking", operationId: "f".repeat(32), phase: "cutoff-required" },
|
|
167
|
+
{ state: "revoking", operationId: "f".repeat(32), markerKey: "m".repeat(512),
|
|
168
|
+
markerRevision: Number.MAX_SAFE_INTEGER, notBefore: Number.MAX_SAFE_INTEGER },
|
|
169
|
+
{ state: "revoked", operationId: "f".repeat(32), verifiedAt: Number.MAX_SAFE_INTEGER },
|
|
170
|
+
].map(byteSize));
|
|
171
|
+
function assertRevocationHeadroom(row) {
|
|
172
|
+
const worstBytes = byteSize(row) + row.grants.reduce((sum, g) => sum + Math.max(0, maxStatusBytes - byteSize(g.status)), 0);
|
|
173
|
+
if (worstBytes > SERVICE_AUTHORITY_MAX_BYTES)
|
|
174
|
+
throw new EpEnvelopeError("resource-exhausted", "native service caller policy lacks all-grant revocation status headroom");
|
|
175
|
+
}
|
|
176
|
+
/** Storage commit only, after trusted host eligibility checks. Never replaces an existing grant. */
|
|
177
|
+
export async function appendNativeServiceCallerGrant(reg, binding, args) {
|
|
178
|
+
const revision = uint(args.expectedRevision);
|
|
179
|
+
const { accountPublicKey, space, grantee } = context(reg, binding).expected;
|
|
180
|
+
binding = { accountPublicKey, space, grantee };
|
|
181
|
+
const candidate = parseNativeServiceCallerPolicy({ v: 1, ...binding, grants: [args.grant] }).grants[0];
|
|
182
|
+
if (candidate.status.state !== "active")
|
|
183
|
+
bad();
|
|
184
|
+
const found = await readNativeServiceCallerPolicy(reg, binding), existing = found?.row.grants.find((g) => g.grantId === candidate.grantId);
|
|
185
|
+
if (existing) {
|
|
186
|
+
if (canonicalJson(existing) !== canonicalJson(candidate))
|
|
187
|
+
conflict("grant id is immutable and cannot be rebound or reactivated");
|
|
188
|
+
return found;
|
|
189
|
+
}
|
|
190
|
+
if ((found?.revision ?? 0) !== revision)
|
|
191
|
+
conflict("native caller policy revision changed");
|
|
192
|
+
const row = found?.row ?? context(reg, binding).expected;
|
|
193
|
+
const next = { ...row, grants: [...row.grants, candidate] };
|
|
194
|
+
assertRevocationHeadroom(next);
|
|
195
|
+
return write(reg, binding, next, revision);
|
|
196
|
+
}
|
|
197
|
+
/** Monotonic deny-new intent only. Cutoff, descendant invalidation and live retirement remain host work. */
|
|
198
|
+
export async function beginNativeServiceCallerRevocation(reg, binding, args) {
|
|
199
|
+
const revision = uint(args.expectedRevision), grantId = id(args.grantId), operationId = id(args.operationId);
|
|
200
|
+
const { accountPublicKey, space, grantee } = context(reg, binding).expected;
|
|
201
|
+
binding = { accountPublicKey, space, grantee };
|
|
202
|
+
const found = await readNativeServiceCallerPolicy(reg, binding);
|
|
203
|
+
if (!found)
|
|
204
|
+
throw new EpEnvelopeError("not-found", "native caller policy is absent");
|
|
205
|
+
const existing = found.row.grants.find((g) => g.grantId === grantId);
|
|
206
|
+
if (!existing)
|
|
207
|
+
throw new EpEnvelopeError("not-found", "native caller grant is absent");
|
|
208
|
+
if (existing.status.state !== "active") {
|
|
209
|
+
if (existing.status.operationId !== operationId)
|
|
210
|
+
conflict("caller grant is already bound to another revocation operation");
|
|
211
|
+
return found;
|
|
212
|
+
}
|
|
213
|
+
if (found.revision !== revision)
|
|
214
|
+
conflict("native caller policy revision changed");
|
|
215
|
+
return write(reg, binding, { ...found.row, grants: found.row.grants.map((g) => g.grantId === grantId
|
|
216
|
+
? { ...g, status: { state: "revoking", operationId, phase: "cutoff-required" } } : g) }, found.revision);
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=service-caller-policy.js.map
|