@dsh-enhanced/assistant-recovery 0.1.12
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 +178 -0
- package/cordis.patch.yml +14 -0
- package/lib/attestation.d.ts +18 -0
- package/lib/attestation.d.ts.map +1 -0
- package/lib/attestation.js +80 -0
- package/lib/attestation.js.map +1 -0
- package/lib/automation-executor.d.ts +21 -0
- package/lib/automation-executor.d.ts.map +1 -0
- package/lib/automation-executor.js +141 -0
- package/lib/automation-executor.js.map +1 -0
- package/lib/catalog.d.ts +16 -0
- package/lib/catalog.d.ts.map +1 -0
- package/lib/catalog.js +49 -0
- package/lib/catalog.js.map +1 -0
- package/lib/config.d.ts +34 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +101 -0
- package/lib/config.js.map +1 -0
- package/lib/executor.d.ts +50 -0
- package/lib/executor.d.ts.map +1 -0
- package/lib/executor.js +413 -0
- package/lib/executor.js.map +1 -0
- package/lib/index.d.ts +21 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +26 -0
- package/lib/index.js.map +1 -0
- package/lib/port.d.ts +125 -0
- package/lib/port.d.ts.map +1 -0
- package/lib/port.js +706 -0
- package/lib/port.js.map +1 -0
- package/lib/service.d.ts +46 -0
- package/lib/service.d.ts.map +1 -0
- package/lib/service.js +549 -0
- package/lib/service.js.map +1 -0
- package/lib/sqlite.d.ts +9 -0
- package/lib/sqlite.d.ts.map +1 -0
- package/lib/sqlite.js +247 -0
- package/lib/sqlite.js.map +1 -0
- package/lib/store.d.ts +79 -0
- package/lib/store.d.ts.map +1 -0
- package/lib/store.js +806 -0
- package/lib/store.js.map +1 -0
- package/lib/types.d.ts +157 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +3 -0
- package/lib/types.js.map +1 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/package.json +96 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAStD,OAAO,EACL,kCAAkC,EAClC,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EACL,YAAY,EACZ,uBAAuB,GAIxB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GAEtB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GAGzB,MAAM,YAAY,CAAA;AAQnB,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC1B;IAArB,YAAqB,IAAgC,EAAE,OAAe;QACpE,KAAK,CAAC,OAAO,CAAC,CAAA;QADK,SAAI,GAAJ,IAAI,CAA4B;QAEnD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAMD,MAAM,UAAU,GAAG,0BAA0B,CAAA;AAE7C,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,YAAY,KAAK,EAAE,CAAA;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,GAA0B;IAC7C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/F,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAA;IACvF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IAC1E,MAAM,MAAM,GAAG,KAAgC,CAAA;IAC/C,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;AACvH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxE,CAAC;AAED,SAAS,SAAS,CAAC,iBAAyB;IAC1C,6EAA6E;IAC7E,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,GAAG,EAAE,GAAG,0BAA0B,CAAC,CAAA;AAClF,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,4BAA4B,CAC1C,GAA0B,EAC1B,iBAAyB,EACzB,IAA8B;IAE9B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,uBAAuB,GAAG,CAAC,EAAE,EAAE;QACrC,QAAQ,EAAE,IAAI,KAAK,SAAS;YAC1B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAa,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;YACxD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC1F,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,MAAM;QACvB,SAAS,EAAE,SAAS,CAAC,iBAAiB,CAAC;QACvC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC;QACnD,OAAO,EAAE,MAAM;QACf,0EAA0E;QAC1E,0EAA0E;QAC1E,WAAW,EAAE,YAAY;QACzB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,CAAC,YAAa,EAAE,CAAC;QAClG,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,MAAe;YACrB,UAAU,EAAE,oBAAoB;YAChC,uBAAuB,EAAE,kCAAkC;YAC3D,SAAS,EAAE,mBAAmB;YAC9B,cAAc,EAAE,wBAAwB;YACxC,aAAa,EAAE,uBAAuB;YACtC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;YAC5E,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC;YAC7B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;SACrC,CAAC;KACH,CAAC,CAAA;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,4BAA4B,CAC1C,GAA0B,EAC1B,iBAAyB,EACzB,aAAqB;IAErB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,EACrB,uEAAuE,CACxE,CAAA;IACH,CAAC;IACD,OAAO,YAAY,CAAC;QAClB,QAAQ,EAAE,kCAAkC;QAC5C,KAAK,EAAE,qBAAqB;QAC5B,YAAY,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,aAAa;QACb,iBAAiB;QACjB,oBAAoB,EAAE,4BAA4B,CAAC,GAAG,EAAE,iBAAiB,EAAE,YAAY,CAAC;KACzF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,GAA0B,EAC1B,QAA0C;IAE1C,MAAM,OAAO,GAAG,QAAQ,CAAC,kBAAkB,CAAC;QAC1C,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,WAAW,EAAE,GAAG,CAAC,SAAS;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,MAAM;KACxB,CAAC,CAAA;IACF,IAAI,OAAO,CAAC,cAAc,KAAK,CAAC;WAC3B,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,YAAY;WACxC,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,SAAS;WACrC,OAAO,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS;WACnC,OAAO,CAAC,WAAW,KAAK,GAAG,CAAC,MAAM;WAClC,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ;WAC7C,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,iBAAiB;WAC/E,OAAO,CAAC,iBAAiB,KAAK,EAAE;WAChC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,GAAG;WAC1D,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC;WAC/E,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ;WACzC,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;WAC7C,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC;WAC3E,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,EACrB,kCAAkC,GAAG,CAAC,YAAY,8BAA8B,CACjF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAC,aAAa,CAAA;AAC9B,CAAC;AAED,SAAS,eAAe,CAAI,GAAY,EAAE,IAAY;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,IAAa,CAAkB,CAAA;IACvD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,EAAE,+BAA+B,IAAI,EAAE,CAAC,CAAA;IAChG,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAgB,EAChB,OAAgB,EAChB,OAA0B;IAE1B,MAAM,KAAK,GAAG,OAAkC,CAAA;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAA;IAC3E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,EACrB,+BAA+B,QAAQ,IAAI,OAAO,EAAE,CACrD,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,QAAgB;IACvD,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;QACzE,CAAC,CAAE,KAA4B,CAAC,IAAI;QACpC,CAAC,CAAC,SAAS,CAAA;IACb,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7D,OAAO,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC7E,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,OAAO;IACnD,MAAM,CAAC,MAAM,GAAG,YAAY,CAAA;IAC5B,MAAM,CAAC,MAAM,GAAG;QACd,sBAAsB;QACtB,mBAAmB;QACnB,qBAAqB;QACrB,oBAAoB;QACpB,6BAA6B;QAC7B,iBAAiB;KAClB,CAAA;IAEgB,MAAM,CAAkB;IACxB,KAAK,CAAe;IACpB,WAAW,CAA6B;IACxC,qBAAqB,CAA6B;IAClD,kBAAkB,CAA4B;IAC9C,kBAAkB,CAAY;IAC9B,SAAS,CAAe;IACjC,MAAM,GAAG,IAAI,CAAA;IAErB,YAAY,GAAY,EAAE,KAAqB;QAC7C,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YAC9B,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAChD,eAAe,EAAE,0BAA0B;SAC5C,CAAC,CAAA;QACF,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;oBAC/B,gBAAgB,EAAE,KAAK;oBACvB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;iBAChC,CAAC,CAAC,UAAU,CAAA;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;gBAClB,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,2EAA2E;QAC3E,6EAA6E;QAC7E,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,eAAe,CAA8B,GAAG,EAAE,sBAAsB,CAAC,CAAA;YAC5F,MAAM,QAAQ,GAAG,eAAe,CAAmC,GAAG,EAAE,mBAAmB,CAAC,CAAA;YAC5F,MAAM,UAAU,GAAG,eAAe,CAA6B,GAAG,EAAE,qBAAqB,CAAC,CAAA;YAC1F,MAAM,SAAS,GAAG,eAAe,CAA4B,GAAG,EAAE,oBAAoB,CAAC,CAAA;YACvF,MAAM,UAAU,GAAG,eAAe,CAChC,GAAG,EACH,6BAA6B,CAC9B,CAAA;YACD,MAAM,MAAM,GAAG,eAAe,CAAyB,GAAG,EAAE,iBAAiB,CAAC,CAAA;YAC9E,gBAAgB,CAAC,sBAAsB,EAAE,IAAI,CAAC,WAAW,EAAE;gBACzD,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB;gBAC3D,+BAA+B,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc;aAC3F,CAAC,CAAA;YACF,gBAAgB,CAAC,mBAAmB,EAAE,QAAQ,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAA;YACvE,gBAAgB,CAAC,qBAAqB,EAAE,UAAU,EAAE;gBAClD,QAAQ,EAAE,uBAAuB,EAAE,qBAAqB;aACzD,CAAC,CAAA;YACF,gBAAgB,CAAC,oBAAoB,EAAE,SAAS,EAAE;gBAChD,gBAAgB,EAAE,eAAe,EAAE,iBAAiB;aACrD,CAAC,CAAA;YACF,gBAAgB,CAAC,6BAA6B,EAAE,UAAU,EAAE;gBAC1D,QAAQ,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,iBAAiB;gBACzE,gBAAgB,EAAE,YAAY;aAC/B,CAAC,CAAA;YACF,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAA;YACnE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;YACjD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,eAAe,CAAC,GAAG,CACjB,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,EAC5B,0BAA0B,CAAC,GAAG,EAAE,QAAQ,CAAC,CAC1C,CAAA;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;oBAC5B,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;YACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC9D,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACjD,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBACvD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,EACrB,0BAA0B,GAAG,CAAC,EAAE,2CAA2C,CAC5E,CAAA;gBACH,CAAC;gBACD,OAAO;oBACL,YAAY;oBACZ,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC;iBAChF,CAAA;YACH,CAAC,CAAC,CAAC,CAAA;YACH,MAAM,qBAAqB,GACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC1C,YAAY,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,oBAAoB,EAAE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAE;aACpF,CAAC,CAAC,CAAA;YACL,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;gBACzB,kBAAkB,EAAE,mBAAmB;gBACvC,YAAY,EAAE,qBAAqB;aACpC,CAAC,CAAA;YACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,GAAG,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC3E,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;oBAC5B,MAAM,IAAI,sBAAsB,CAC9B,iBAAiB,EACjB,0BAA0B,GAAG,CAAC,EAAE,kDAAkD,CACnF,CAAA;gBACH,CAAC;YACH,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;YACtF,MAAM,OAAO,GAAyB;gBACpC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM;aACnF,CAAA;YACD,MAAM,WAAW,GAAG,IAAI,uBAAuB,CAC7C,IAAI,EACJ,OAAO,EACP,IAAI,CAAC,qBAAqB,EAC1B,eAAe,CAChB,CAAA;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,0BAA0B,CACtD,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAC5E,CAAC,KAAkC,EAAE,EAAE;gBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;gBAChE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,EAAE,mCAAmC,CAAC,CAAA;gBAC9F,CAAC;gBACD,OAAO,KAAK,CAAA;YACd,CAAC,CACF,CAAA;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YACxF,MAAM,WAAW,GAA4B,EAAE,CAAA;YAC/C,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;gBAC3C,kEAAkE;gBAClE,wEAAwE;gBACxE,8DAA8D;gBAC9D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;wBACtC,kEAAkE;wBAClE,iEAAiE;wBACjE,6DAA6D;wBAC7D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAA;wBAChC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBACvB,CAAC;;wBAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;gBAC3D,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,kBAAkB,EAAE,CAAA;gBACzB,MAAM,KAAK,CAAA;YACb,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;oBAC3B,kBAAkB,EAAE,mBAAmB;oBACvC,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAA;YACJ,CAAC,EAAE,CAAC,KAAc,EAAE,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;oBAC3B,kBAAkB,EAAE,mBAAmB;oBACvC,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,eAAe,CAAC,KAAK,EAAE,0BAA0B,CAAC;iBAChE,CAAC,CAAA;gBACF,MAAM,KAAK,CAAA;YACb,CAAC,CAAC,CAAA;YACF,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC3C,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,eAAe,CAAC,KAAK,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAA;YAChH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;oBAC3B,kBAAkB,EAAE,mBAAmB;oBACvC,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,eAAe,CAAC,KAAK,EAAE,0BAA0B,CAAC;iBAChE,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,qEAAqE;YACvE,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;YAClB,MAAM,KAAK,CAAA;QACb,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnB,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;YAC1C,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAA;YACxC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC,EAAE,4BAA4B,CAAC,CAAA;IAClC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,MAAM,IAAI,CAAC,SAAS,CAAA;QACpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAA;IAC1C,CAAC;IAEO,UAAU,CAAC,GAA0B;QAC3C,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACzF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,EACrB,0BAA0B,GAAG,CAAC,EAAE,yBAAyB,CAC1D,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;YACtC,YAAY,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;YAC7D,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,oBAAoB;YACpB,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAsC;QAC9D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,sBAAsB,CAAC,UAAU,EAAE,wCAAwC,CAAC,CAAA;YACxG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,GAA0B,EAAE,KAA0B;QAChF,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAA;QACjG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,cAAc,EAAE,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC;YAClF,aAAa,EAAE,KAAK;YACpB,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IAEO,sBAAsB,CAAC,GAA0B;QACvD,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;QAC9F,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,cAAc,EAAE,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,CAAC;YACzF,aAAa,EAAE,QAAQ;YACvB,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IAEO,gBAAgB,CAAC,oBAAyC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAClG,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,EACrB,iFAAiF,CAClF,CAAA;QACH,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,gBAAgB,KAAK,QAAQ;gBAAE,SAAQ;YACrG,MAAM,WAAW,GAAG,sBAAsB,YAAY,CAAC;gBACrD,KAAK,EAAE,qBAAqB;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,eAAe,EAAE,OAAO,CAAC,iBAAiB;aAC3C,CAAC,EAAE,CAAA;YACJ,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;gBAChD,KAAK,EAAE,qBAAqB;gBAC5B,WAAW;gBACX,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,eAAe,EAAE,OAAO,CAAC,iBAAiB;aAC3C,CAAC,CAAA;YACF,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW;mBAClC,OAAO,CAAC,KAAK,KAAK,qBAAqB;mBACvC,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY;mBAC7C,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc;mBACjD,OAAO,CAAC,eAAe,KAAK,OAAO,CAAC,iBAAiB;mBACrD,OAAO,CAAC,iBAAiB,KAAK,OAAO,CAAC,iBAAiB,GAAG,CAAC;mBAC3D,OAAO,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,EACrB,kEAAkE,CACnE,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,GAA0B;QACnD,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,OAAsE,CAAA;QAC1E,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAA;QAC/F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,WAAW;gBAAE,OAAM;YACpE,MAAM,KAAK,CAAA;QACb,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,QAAQ;YAAE,OAAM;QACjD,MAAM,WAAW,GAAG,0BAA0B,YAAY,CAAC;YACzD,KAAK,EAAE,qBAAqB;YAC5B,YAAY;YACZ,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,eAAe,EAAE,OAAO,CAAC,iBAAiB;SAC3C,CAAC,EAAE,CAAA;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;YAChD,KAAK,EAAE,qBAAqB;YAC5B,WAAW;YACX,YAAY;YACZ,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,eAAe,EAAE,OAAO,CAAC,iBAAiB;SAC3C,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW;eAClC,OAAO,CAAC,KAAK,KAAK,qBAAqB;eACvC,OAAO,CAAC,YAAY,KAAK,YAAY;eACrC,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc;eACjD,OAAO,CAAC,eAAe,KAAK,OAAO,CAAC,iBAAiB;eACrD,OAAO,CAAC,iBAAiB,KAAK,OAAO,CAAC,iBAAiB,GAAG,CAAC;eAC3D,OAAO,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,IAAI,sBAAsB,CAC9B,qBAAqB,EACrB,qEAAqE,CACtE,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAA0B;QACjD,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,4BAA4B,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;QAC9F,IAAI,mBAAmB,GAAG,KAAK,CAAA;QAC/B,IAAI,OAAqD,CAAA;QACzD,IAAI,CAAC;YACH,mBAAmB,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;gBAC/B,KAAK,EAAE,qBAAqB;gBAC5B,YAAY;gBACZ,cAAc,EAAE,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,CAAC;gBACzF,aAAa,EAAE,QAAQ;gBACvB,UAAU;aACX,CAAC,CAAA;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAA;YACtG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;gBACjD,KAAK,EAAE,qBAAqB;gBAC5B,YAAY;gBACZ,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,cAAc,EAAE,oBAAoB,GAAG,CAAC,eAAe,IAAI,UAAU,CAAC,cAAc,EAAE;aACvF,CAAC,CAAA;YACF,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS;mBAC1E,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACnF,MAAM,IAAI,sBAAsB,CAC9B,gBAAgB,EAChB,8BAA8B,GAAG,CAAC,EAAE,gBAAgB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CACxE,CAAA;YACH,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,IAAI,sBAAsB,CAC9B,gBAAgB,EAChB,8BAA8B,GAAG,CAAC,EAAE,6CAA6C,CAClF,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,0BAA0B,CAAC,EAAE,CAAA;YAC7E,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;oBAC/B,KAAK,EAAE,qBAAqB;oBAC5B,YAAY;oBACZ,cAAc,EAAE,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,CAAC;oBACzF,aAAa,EAAE,QAAQ;oBACvB,UAAU;iBACX,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,EAAE,CAAA;oBACzE,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,OAAO,CAAC,KAAK,CAAA;IAChD,CAAC;IAEO,oBAAoB,CAC1B,GAA0B,EAC1B,aAAuC,EACvC,UAAkB;QAElB,IAAI,CAAC;YACH,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YACzF,IAAI,oBAAoB,KAAK,SAAS;gBAAE,OAAM;YAC9C,MAAM,UAAU,GAAG,4BAA4B,CAC7C,GAAG,EACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAC7B,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CACvD,CAAA;YACD,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;YAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC9B,YAAY,EAAE,oBAAoB,YAAY,CAAC;oBAC7C,YAAY,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1C,aAAa;oBACb,UAAU;oBACV,oBAAoB;iBACrB,CAAC,EAAE;gBACJ,YAAY,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,cAAc;gBACd,aAAa;gBACb,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;gBAC7D,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,oBAAoB;gBACpB,aAAa,EAAE,GAAG,CAAC,aAAa;aACjC,CAAC,CAAC,GAAG,CAAA;YACN,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;oBACrB,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,eAAe,EAAE,GAAG,CAAC,OAAO;oBAC5B,MAAM,EAAE,QAAQ;oBAChB,UAAU;iBACX,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,0EAA0E;QAC5E,CAAC;IACH,CAAC;IAEO,uBAAuB,CAC7B,GAA0B,EAC1B,aAAkC,EAClC,UAAoC,EACpC,KAAyD;QAEzD,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjD,IAAI,OAA0C,CAAA;QAC9C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,CAAA;YACtG,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;gBACtB,MAAM,EAAE,UAAU,CAAC,gBAAgB;gBACnC,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;aAChD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,WAAW;gBAAE,MAAM,KAAK,CAAA;YACzE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,yBAAyB,YAAY,CAAC;YAC3C,KAAK;YACL,KAAK,EAAE,qBAAqB;YAC5B,YAAY;YACZ,aAAa;YACb,UAAU;YACV,OAAO;SACR,CAAC,EAAE,CAAA;IACN,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,sBAAsB,CAAC,UAAU,EAAE,wCAAwC,CAAC,CAAA;IAC1G,CAAC;;AAGH,MAAM,CAAC,MAAM,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAA"}
|
package/lib/sqlite.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
+
export { EMPTY_BOOTSTRAP_ATTESTATION_SET_DIGEST } from './attestation.js';
|
|
3
|
+
export declare const recoverySchemaVersion = 4;
|
|
4
|
+
export declare class RecoveryDatabaseError extends Error {
|
|
5
|
+
readonly code: 'invalid-path' | 'schema-too-new' | 'unsafe-file';
|
|
6
|
+
constructor(code: 'invalid-path' | 'schema-too-new' | 'unsafe-file', message: string);
|
|
7
|
+
}
|
|
8
|
+
export declare function openRecoveryDatabase(path: string): DatabaseSync;
|
|
9
|
+
//# sourceMappingURL=sqlite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,sCAAsC,EAAE,MAAM,kBAAkB,CAAA;AAEzE,eAAO,MAAM,qBAAqB,IAAI,CAAA;AAQtC,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,GAAG,aAAa;gBAAvD,IAAI,EAAE,cAAc,GAAG,gBAAgB,GAAG,aAAa,EAChE,OAAO,EAAE,MAAM;CAKlB;AAmMD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA6C/D"}
|
package/lib/sqlite.js
ADDED
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { chmodSync, closeSync, constants, existsSync, lstatSync, mkdirSync, openSync, } from 'node:fs';
|
|
2
|
+
import { dirname, isAbsolute } from 'node:path';
|
|
3
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
4
|
+
import { EMPTY_BOOTSTRAP_ATTESTATION_SET_DIGEST } from './attestation.js';
|
|
5
|
+
export { EMPTY_BOOTSTRAP_ATTESTATION_SET_DIGEST } from './attestation.js';
|
|
6
|
+
export const recoverySchemaVersion = 4;
|
|
7
|
+
// Existing v1 rows deliberately receive a digest that no current activation
|
|
8
|
+
// plan can produce. They remain auditable, but cannot attest a new schedule.
|
|
9
|
+
const LEGACY_ACTIVATION_PLAN_DIGEST = '2eb6dc66ca160135a7eb00a7c9a5217be11e45814929fa20863b0d0e0407a6c5';
|
|
10
|
+
const LEGACY_RUN_DEADLINE_MS = 850_000;
|
|
11
|
+
const LEGACY_STEP_DEADLINE_MS = 70_000;
|
|
12
|
+
export class RecoveryDatabaseError extends Error {
|
|
13
|
+
code;
|
|
14
|
+
constructor(code, message) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.code = code;
|
|
17
|
+
this.name = 'RecoveryDatabaseError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function assertSafeFile(path) {
|
|
21
|
+
const stat = lstatSync(path);
|
|
22
|
+
if (!stat.isFile() || stat.isSymbolicLink() || stat.nlink !== 1) {
|
|
23
|
+
throw new RecoveryDatabaseError('unsafe-file', 'assistant-recovery database must be one regular, unlinked file');
|
|
24
|
+
}
|
|
25
|
+
if ((stat.mode & 0o077) !== 0) {
|
|
26
|
+
throw new RecoveryDatabaseError('unsafe-file', 'assistant-recovery database permissions must not allow group or other access');
|
|
27
|
+
}
|
|
28
|
+
const uid = process.getuid?.();
|
|
29
|
+
if (uid !== undefined && stat.uid !== uid) {
|
|
30
|
+
throw new RecoveryDatabaseError('unsafe-file', 'assistant-recovery database must be owned by the current OS user');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function preparePrivateFile(path) {
|
|
34
|
+
mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
|
|
35
|
+
if (!existsSync(path)) {
|
|
36
|
+
const descriptor = openSync(path, constants.O_CREAT | constants.O_EXCL | constants.O_RDWR, 0o600);
|
|
37
|
+
closeSync(descriptor);
|
|
38
|
+
}
|
|
39
|
+
assertSafeFile(path);
|
|
40
|
+
}
|
|
41
|
+
function createSchema(database) {
|
|
42
|
+
database.exec(`
|
|
43
|
+
CREATE TABLE recovery_runs (
|
|
44
|
+
id TEXT PRIMARY KEY,
|
|
45
|
+
occurrence_id TEXT NOT NULL UNIQUE,
|
|
46
|
+
automation_id TEXT NOT NULL,
|
|
47
|
+
definition_hash TEXT NOT NULL CHECK (length(definition_hash) = 64),
|
|
48
|
+
execution_mode TEXT NOT NULL CHECK (execution_mode IN ('preview', 'production')),
|
|
49
|
+
target_workspace TEXT NOT NULL,
|
|
50
|
+
target_preset TEXT NOT NULL,
|
|
51
|
+
principal TEXT NOT NULL,
|
|
52
|
+
owner_route_id TEXT NOT NULL,
|
|
53
|
+
activation_nonce TEXT NOT NULL,
|
|
54
|
+
activation_plan_digest TEXT NOT NULL CHECK (length(activation_plan_digest) = 64),
|
|
55
|
+
catalog_digest TEXT NOT NULL CHECK (length(catalog_digest) = 64),
|
|
56
|
+
status TEXT NOT NULL CHECK (status IN ('failed', 'running', 'succeeded', 'unknown')),
|
|
57
|
+
result_code TEXT,
|
|
58
|
+
started_at INTEGER NOT NULL,
|
|
59
|
+
deadline_at INTEGER NOT NULL CHECK (deadline_at >= started_at),
|
|
60
|
+
finished_at INTEGER,
|
|
61
|
+
version INTEGER NOT NULL CHECK (version >= 1),
|
|
62
|
+
CHECK ((status = 'running') = (finished_at IS NULL AND result_code IS NULL))
|
|
63
|
+
) STRICT;
|
|
64
|
+
|
|
65
|
+
CREATE INDEX recovery_runs_status
|
|
66
|
+
ON recovery_runs(status, started_at, id);
|
|
67
|
+
|
|
68
|
+
CREATE TABLE recovery_steps (
|
|
69
|
+
run_id TEXT NOT NULL,
|
|
70
|
+
step_id TEXT NOT NULL CHECK (step_id IN (
|
|
71
|
+
'authority-admission',
|
|
72
|
+
'ledger-reconcile',
|
|
73
|
+
'retention-maintenance',
|
|
74
|
+
't1-effects',
|
|
75
|
+
'regression-rollback',
|
|
76
|
+
'incident-review',
|
|
77
|
+
'verification'
|
|
78
|
+
)),
|
|
79
|
+
step_index INTEGER NOT NULL CHECK (step_index >= 0 AND step_index < 7),
|
|
80
|
+
idempotency_key TEXT NOT NULL UNIQUE,
|
|
81
|
+
action_json TEXT NOT NULL CHECK (
|
|
82
|
+
json_valid(action_json) AND json_type(action_json) = 'object' AND length(action_json) <= 2048),
|
|
83
|
+
action_digest TEXT NOT NULL CHECK (length(action_digest) = 64),
|
|
84
|
+
status TEXT NOT NULL CHECK (status IN ('failed', 'noop', 'started', 'succeeded', 'unknown')),
|
|
85
|
+
before_digest TEXT NOT NULL CHECK (length(before_digest) = 64),
|
|
86
|
+
after_digest TEXT CHECK (after_digest IS NULL OR length(after_digest) = 64),
|
|
87
|
+
result_code TEXT,
|
|
88
|
+
started_at INTEGER NOT NULL,
|
|
89
|
+
deadline_at INTEGER NOT NULL CHECK (deadline_at >= started_at),
|
|
90
|
+
finished_at INTEGER,
|
|
91
|
+
version INTEGER NOT NULL CHECK (version >= 1),
|
|
92
|
+
PRIMARY KEY(run_id, step_id),
|
|
93
|
+
UNIQUE(run_id, step_index),
|
|
94
|
+
FOREIGN KEY(run_id) REFERENCES recovery_runs(id) ON DELETE RESTRICT,
|
|
95
|
+
CHECK ((status = 'started') = (
|
|
96
|
+
finished_at IS NULL
|
|
97
|
+
AND after_digest IS NULL
|
|
98
|
+
AND result_code IS NULL
|
|
99
|
+
)),
|
|
100
|
+
CHECK (status = 'started' OR (
|
|
101
|
+
finished_at IS NOT NULL AND after_digest IS NOT NULL AND result_code IS NOT NULL
|
|
102
|
+
))
|
|
103
|
+
) STRICT, WITHOUT ROWID;
|
|
104
|
+
|
|
105
|
+
CREATE INDEX recovery_steps_incomplete
|
|
106
|
+
ON recovery_steps(status, started_at, run_id);
|
|
107
|
+
|
|
108
|
+
CREATE TABLE recovery_runtime_state (
|
|
109
|
+
singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
|
|
110
|
+
bootstrap_status TEXT NOT NULL CHECK (
|
|
111
|
+
bootstrap_status IN ('failed', 'idle', 'running', 'succeeded')),
|
|
112
|
+
bootstrap_failure_code TEXT,
|
|
113
|
+
bootstrap_generation INTEGER NOT NULL CHECK (bootstrap_generation >= 0),
|
|
114
|
+
bootstrap_attestation_valid INTEGER NOT NULL CHECK (bootstrap_attestation_valid IN (0, 1)),
|
|
115
|
+
bootstrap_attestations_json TEXT NOT NULL CHECK (
|
|
116
|
+
json_valid(bootstrap_attestations_json)
|
|
117
|
+
AND json_type(bootstrap_attestations_json) = 'array'
|
|
118
|
+
AND length(bootstrap_attestations_json) <= 131072),
|
|
119
|
+
bootstrap_attestation_set_digest TEXT NOT NULL CHECK (
|
|
120
|
+
length(bootstrap_attestation_set_digest) = 64),
|
|
121
|
+
updated_at INTEGER NOT NULL CHECK (updated_at >= 0),
|
|
122
|
+
CHECK ((bootstrap_status = 'failed') = (bootstrap_failure_code IS NOT NULL))
|
|
123
|
+
) STRICT;
|
|
124
|
+
|
|
125
|
+
INSERT INTO recovery_runtime_state (
|
|
126
|
+
singleton, bootstrap_status, bootstrap_failure_code, bootstrap_generation,
|
|
127
|
+
bootstrap_attestation_valid, bootstrap_attestations_json,
|
|
128
|
+
bootstrap_attestation_set_digest, updated_at
|
|
129
|
+
) VALUES (
|
|
130
|
+
1, 'idle', NULL, 0, 0, '[]', '${EMPTY_BOOTSTRAP_ATTESTATION_SET_DIGEST}', 0
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
PRAGMA user_version = 4;
|
|
134
|
+
`);
|
|
135
|
+
}
|
|
136
|
+
function migrateV3ToV4(database) {
|
|
137
|
+
database.exec(`
|
|
138
|
+
ALTER TABLE recovery_runtime_state ADD COLUMN bootstrap_generation
|
|
139
|
+
INTEGER NOT NULL DEFAULT 0 CHECK (bootstrap_generation >= 0);
|
|
140
|
+
ALTER TABLE recovery_runtime_state ADD COLUMN bootstrap_attestation_valid
|
|
141
|
+
INTEGER NOT NULL DEFAULT 0 CHECK (bootstrap_attestation_valid IN (0, 1));
|
|
142
|
+
ALTER TABLE recovery_runtime_state ADD COLUMN bootstrap_attestations_json
|
|
143
|
+
TEXT NOT NULL DEFAULT '[]' CHECK (
|
|
144
|
+
json_valid(bootstrap_attestations_json)
|
|
145
|
+
AND json_type(bootstrap_attestations_json) = 'array'
|
|
146
|
+
AND length(bootstrap_attestations_json) <= 131072);
|
|
147
|
+
ALTER TABLE recovery_runtime_state ADD COLUMN bootstrap_attestation_set_digest
|
|
148
|
+
TEXT NOT NULL DEFAULT '${EMPTY_BOOTSTRAP_ATTESTATION_SET_DIGEST}' CHECK (
|
|
149
|
+
length(bootstrap_attestation_set_digest) = 64);
|
|
150
|
+
|
|
151
|
+
-- A pre-v4 timestamp-only success cannot attest an exact activation
|
|
152
|
+
-- generation. Reset it so the next service start must establish v4 proof.
|
|
153
|
+
UPDATE recovery_runtime_state
|
|
154
|
+
SET bootstrap_status = 'idle', bootstrap_failure_code = NULL,
|
|
155
|
+
bootstrap_generation = 0, bootstrap_attestation_valid = 0,
|
|
156
|
+
bootstrap_attestations_json = '[]',
|
|
157
|
+
bootstrap_attestation_set_digest = '${EMPTY_BOOTSTRAP_ATTESTATION_SET_DIGEST}',
|
|
158
|
+
updated_at = 0
|
|
159
|
+
WHERE singleton = 1;
|
|
160
|
+
|
|
161
|
+
PRAGMA user_version = 4;
|
|
162
|
+
`);
|
|
163
|
+
}
|
|
164
|
+
function migrateV2ToV3(database) {
|
|
165
|
+
database.exec(`
|
|
166
|
+
ALTER TABLE recovery_runs ADD COLUMN deadline_at INTEGER NOT NULL DEFAULT 0;
|
|
167
|
+
UPDATE recovery_runs
|
|
168
|
+
SET deadline_at = started_at + ${LEGACY_RUN_DEADLINE_MS};
|
|
169
|
+
|
|
170
|
+
ALTER TABLE recovery_steps ADD COLUMN deadline_at INTEGER NOT NULL DEFAULT 0;
|
|
171
|
+
UPDATE recovery_steps
|
|
172
|
+
SET deadline_at = started_at + ${LEGACY_STEP_DEADLINE_MS};
|
|
173
|
+
|
|
174
|
+
PRAGMA user_version = 3;
|
|
175
|
+
`);
|
|
176
|
+
}
|
|
177
|
+
function migrateV1ToV2(database) {
|
|
178
|
+
database.exec(`
|
|
179
|
+
ALTER TABLE recovery_runs ADD COLUMN activation_plan_digest TEXT NOT NULL
|
|
180
|
+
DEFAULT '${LEGACY_ACTIVATION_PLAN_DIGEST}' CHECK (length(activation_plan_digest) = 64);
|
|
181
|
+
|
|
182
|
+
CREATE TABLE recovery_runtime_state (
|
|
183
|
+
singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
|
|
184
|
+
bootstrap_status TEXT NOT NULL CHECK (
|
|
185
|
+
bootstrap_status IN ('failed', 'idle', 'running', 'succeeded')),
|
|
186
|
+
bootstrap_failure_code TEXT,
|
|
187
|
+
updated_at INTEGER NOT NULL CHECK (updated_at >= 0),
|
|
188
|
+
CHECK ((bootstrap_status = 'failed') = (bootstrap_failure_code IS NOT NULL))
|
|
189
|
+
) STRICT;
|
|
190
|
+
|
|
191
|
+
INSERT INTO recovery_runtime_state (
|
|
192
|
+
singleton, bootstrap_status, bootstrap_failure_code, updated_at
|
|
193
|
+
) VALUES (1, 'idle', NULL, 0);
|
|
194
|
+
|
|
195
|
+
PRAGMA user_version = 2;
|
|
196
|
+
`);
|
|
197
|
+
}
|
|
198
|
+
export function openRecoveryDatabase(path) {
|
|
199
|
+
if (!isAbsolute(path)) {
|
|
200
|
+
throw new RecoveryDatabaseError('invalid-path', 'assistant-recovery databasePath must be absolute');
|
|
201
|
+
}
|
|
202
|
+
preparePrivateFile(path);
|
|
203
|
+
const database = new DatabaseSync(path);
|
|
204
|
+
database.exec(`
|
|
205
|
+
PRAGMA foreign_keys = ON;
|
|
206
|
+
PRAGMA busy_timeout = 5000;
|
|
207
|
+
PRAGMA synchronous = FULL;
|
|
208
|
+
PRAGMA journal_mode = WAL;
|
|
209
|
+
`);
|
|
210
|
+
const version = database.prepare('PRAGMA user_version').get().user_version;
|
|
211
|
+
if (version > recoverySchemaVersion) {
|
|
212
|
+
database.close();
|
|
213
|
+
throw new RecoveryDatabaseError('schema-too-new', `recovery schema ${version} is newer than supported schema ${recoverySchemaVersion}`);
|
|
214
|
+
}
|
|
215
|
+
if (version === 0) {
|
|
216
|
+
database.exec('BEGIN IMMEDIATE');
|
|
217
|
+
try {
|
|
218
|
+
createSchema(database);
|
|
219
|
+
database.exec('COMMIT');
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
database.exec('ROLLBACK');
|
|
223
|
+
database.close();
|
|
224
|
+
throw error;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
else if (version < recoverySchemaVersion) {
|
|
228
|
+
database.exec('BEGIN IMMEDIATE');
|
|
229
|
+
try {
|
|
230
|
+
if (version === 1)
|
|
231
|
+
migrateV1ToV2(database);
|
|
232
|
+
if (version <= 2)
|
|
233
|
+
migrateV2ToV3(database);
|
|
234
|
+
if (version <= 3)
|
|
235
|
+
migrateV3ToV4(database);
|
|
236
|
+
database.exec('COMMIT');
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
database.exec('ROLLBACK');
|
|
240
|
+
database.close();
|
|
241
|
+
throw error;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
chmodSync(path, 0o600);
|
|
245
|
+
return database;
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=sqlite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../src/sqlite.ts"],"names":[],"mappings":"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"}
|
package/lib/store.d.ts
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { type BeginRecoveryStepInput, type CompleteRecoveryStepInput, type RecoveryBootstrapAttestation, type RecoveryBootstrapState, type RecoveryHealth, type RecoveryRunInput, type RecoveryRunStatus, type StoredRecoveryRun, type StoredRecoveryStep } from './types.js';
|
|
2
|
+
export type RecoveryStoreErrorCode = 'deadline-expired' | 'idempotency-conflict' | 'invalid-input' | 'invalid-state' | 'not-found' | 'version-conflict';
|
|
3
|
+
export declare class RecoveryStoreError extends Error {
|
|
4
|
+
readonly code: RecoveryStoreErrorCode;
|
|
5
|
+
constructor(code: RecoveryStoreErrorCode, message: string);
|
|
6
|
+
}
|
|
7
|
+
export interface RecoveryStoreOptions {
|
|
8
|
+
path: string;
|
|
9
|
+
now?: () => number;
|
|
10
|
+
maxStepDurationMs?: number;
|
|
11
|
+
deadlineGraceMs?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const RECOVERY_DEADLINE_GRACE_MS = 10000;
|
|
14
|
+
export interface BeginRecoveryBootstrapInput {
|
|
15
|
+
attestationValid: boolean;
|
|
16
|
+
attestations: readonly RecoveryBootstrapAttestation[];
|
|
17
|
+
}
|
|
18
|
+
export interface AttestRecoveryBootstrapInput {
|
|
19
|
+
expectedGeneration: number;
|
|
20
|
+
attestations: readonly RecoveryBootstrapAttestation[];
|
|
21
|
+
}
|
|
22
|
+
export interface CompleteRecoveryBootstrapInput {
|
|
23
|
+
expectedGeneration: number;
|
|
24
|
+
status: 'failed' | 'succeeded';
|
|
25
|
+
failureCode?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare class RecoveryStore {
|
|
28
|
+
private readonly database;
|
|
29
|
+
private readonly now;
|
|
30
|
+
private readonly maxStepDurationMs;
|
|
31
|
+
private readonly deadlineGraceMs;
|
|
32
|
+
constructor(options: RecoveryStoreOptions);
|
|
33
|
+
beginRun(raw: RecoveryRunInput): {
|
|
34
|
+
run: StoredRecoveryRun;
|
|
35
|
+
replayed: boolean;
|
|
36
|
+
};
|
|
37
|
+
beginStep(raw: BeginRecoveryStepInput): {
|
|
38
|
+
step: StoredRecoveryStep;
|
|
39
|
+
replayed: boolean;
|
|
40
|
+
};
|
|
41
|
+
completeStep(raw: CompleteRecoveryStepInput): StoredRecoveryStep;
|
|
42
|
+
completeRun(input: {
|
|
43
|
+
runId: string;
|
|
44
|
+
expectedVersion: number;
|
|
45
|
+
status: Exclude<RecoveryRunStatus, 'running'>;
|
|
46
|
+
resultCode: string;
|
|
47
|
+
}): StoredRecoveryRun;
|
|
48
|
+
getRunByOccurrence(occurrenceId: string): StoredRecoveryRun | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Exact activation attestation used before a production schedule is enabled.
|
|
51
|
+
* The preview definition hash may differ only because its schedule is pinned
|
|
52
|
+
* to a far-future one-shot; all authority-bearing fields must match exactly.
|
|
53
|
+
*/
|
|
54
|
+
findSuccessfulPreview(input: {
|
|
55
|
+
automationId: string;
|
|
56
|
+
targetScope: RecoveryRunInput['targetScope'];
|
|
57
|
+
principal: string;
|
|
58
|
+
ownerRouteId: string;
|
|
59
|
+
activationNonce: string;
|
|
60
|
+
activationPlanDigest: string;
|
|
61
|
+
catalogDigest: string;
|
|
62
|
+
}): StoredRecoveryRun | undefined;
|
|
63
|
+
getStep(runId: string, stepId: StoredRecoveryStep['stepId']): StoredRecoveryStep | undefined;
|
|
64
|
+
listSteps(runId: string): StoredRecoveryStep[];
|
|
65
|
+
/** Remaining time from the Store clock to an immutable persisted deadline. */
|
|
66
|
+
deadlineRemainingMs(deadlineAt: number): number;
|
|
67
|
+
/** Start a new durable bootstrap generation and invalidate all prior proof. */
|
|
68
|
+
beginBootstrap(input: BeginRecoveryBootstrapInput): RecoveryBootstrapState;
|
|
69
|
+
/** Bind the exact plan set to the still-running bootstrap generation. */
|
|
70
|
+
attestBootstrap(input: AttestRecoveryBootstrapInput): RecoveryBootstrapState;
|
|
71
|
+
/** Complete exactly one generation; stale async completions fail closed. */
|
|
72
|
+
completeBootstrap(input: CompleteRecoveryBootstrapInput): RecoveryBootstrapState;
|
|
73
|
+
health(): RecoveryHealth;
|
|
74
|
+
private bootstrapNow;
|
|
75
|
+
private readBootstrapState;
|
|
76
|
+
targetScopeDigest(scope: RecoveryRunInput['targetScope']): string;
|
|
77
|
+
close(): void;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAGtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAA;AAEnB,MAAM,MAAM,sBAAsB,GAC9B,kBAAkB,GAClB,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,WAAW,GACX,kBAAkB,CAAA;AAEtB,qBAAa,kBAAmB,SAAQ,KAAK;IAC/B,QAAQ,CAAC,IAAI,EAAE,sBAAsB;gBAA5B,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM;CAInE;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,0BAA0B,QAAS,CAAA;AAiDhD,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,EAAE,OAAO,CAAA;IACzB,YAAY,EAAE,SAAS,4BAA4B,EAAE,CAAA;CACtD;AAED,MAAM,WAAW,4BAA4B;IAC3C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,SAAS,4BAA4B,EAAE,CAAA;CACtD;AAED,MAAM,WAAW,8BAA8B;IAC7C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA0UD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAE5B,OAAO,EAAE,oBAAoB;IAiBzC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG;QAAE,GAAG,EAAE,iBAAiB,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;IA2E9E,SAAS,CAAC,GAAG,EAAE,sBAAsB,GAAG;QAAE,IAAI,EAAE,kBAAkB,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;IAoEvF,YAAY,CAAC,GAAG,EAAE,yBAAyB,GAAG,kBAAkB;IA6ChE,WAAW,CAAC,KAAK,EAAE;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,eAAe,EAAE,MAAM,CAAA;QACvB,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;QAC7C,UAAU,EAAE,MAAM,CAAA;KACnB,GAAG,iBAAiB;IAqDrB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAOvE;;;;OAIG;IACH,qBAAqB,CAAC,KAAK,EAAE;QAC3B,YAAY,EAAE,MAAM,CAAA;QACpB,WAAW,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAC5C,SAAS,EAAE,MAAM,CAAA;QACjB,YAAY,EAAE,MAAM,CAAA;QACpB,eAAe,EAAE,MAAM,CAAA;QACvB,oBAAoB,EAAE,MAAM,CAAA;QAC5B,aAAa,EAAE,MAAM,CAAA;KACtB,GAAG,iBAAiB,GAAG,SAAS;IAgCjC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,GAAG,SAAS;IAY5F,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAS9C,8EAA8E;IAC9E,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAW/C,+EAA+E;IAC/E,cAAc,CAAC,KAAK,EAAE,2BAA2B,GAAG,sBAAsB;IA8C1E,yEAAyE;IACzE,eAAe,CAAC,KAAK,EAAE,4BAA4B,GAAG,sBAAsB;IAoC5E,4EAA4E;IAC5E,iBAAiB,CAAC,KAAK,EAAE,8BAA8B,GAAG,sBAAsB;IA+ChF,MAAM,IAAI,cAAc;IAgExB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,kBAAkB;IAa1B,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAAG,MAAM;IAWjE,KAAK,IAAI,IAAI;CAGd"}
|