@mnemonik/cli 7.109.3 → 7.111.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/dist/auth/credentials.js +297 -36
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1914 -19
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/machineName.d.ts +8 -0
- package/dist/auth/machineName.d.ts.map +1 -0
- package/dist/auth/machineName.js +23 -0
- package/dist/auth/machineName.js.map +1 -0
- package/dist/consent.d.ts +29 -0
- package/dist/consent.d.ts.map +1 -0
- package/dist/consent.js +87 -0
- package/dist/consent.js.map +1 -0
- package/dist/diagnostics.js +301 -40
- package/dist/digests.json +102 -90
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +59 -44
- package/dist/help.js.map +1 -1
- package/dist/humanReason.d.ts +8 -0
- package/dist/humanReason.d.ts.map +1 -1
- package/dist/humanReason.js +44 -16
- package/dist/humanReason.js.map +1 -1
- package/dist/identity/migrate.js +1835 -44
- package/dist/install/hosts.d.ts +2 -0
- package/dist/install/hosts.d.ts.map +1 -1
- package/dist/install/hosts.js +23 -14
- package/dist/install/hosts.js.map +1 -1
- package/dist/install/journal.js +124 -11
- package/dist/install/journey.d.ts +20 -0
- package/dist/install/journey.d.ts.map +1 -1
- package/dist/install/journey.js +1913 -82
- package/dist/install/journey.js.map +1 -1
- package/dist/install/ownership.d.ts.map +1 -1
- package/dist/install/ownership.js +1818 -10
- package/dist/install/ownership.js.map +1 -1
- package/dist/install/transaction.js +1913 -19
- package/dist/install/ui.js +1910 -15
- package/dist/installation.js +133 -10
- package/dist/launcher.js +108 -4
- package/dist/output.d.ts +3 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +11 -1
- package/dist/output.js.map +1 -1
- package/dist/preflight.d.ts +5 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +14 -12
- package/dist/preflight.js.map +1 -1
- package/dist/project/eligibility.js +1917 -22
- package/dist/project/records.js +121 -8
- package/dist/project.d.ts +15 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +229 -15
- package/dist/project.js.map +1 -1
- package/dist/router.d.ts +2 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +2164 -122
- package/dist/router.js.map +1 -1
- package/dist/runtime/releaseSource.d.ts +6 -0
- package/dist/runtime/releaseSource.d.ts.map +1 -1
- package/dist/runtime/releaseSource.js +1933 -32
- package/dist/runtime/releaseSource.js.map +1 -1
- package/dist/runtime/selfUpdate.js +1809 -8
- package/dist/runtime/signers.js +28 -9
- package/dist/runtime/store.js +18 -6
- package/dist/runtime/updateCheck.d.ts +4 -0
- package/dist/runtime/updateCheck.d.ts.map +1 -0
- package/dist/runtime/updateCheck.js +6695 -0
- package/dist/runtime/updateCheck.js.map +1 -0
- package/dist/sbom.json +21 -21
- package/dist/scanner/control.d.ts +27 -1
- package/dist/scanner/control.d.ts.map +1 -1
- package/dist/scanner/control.js +207 -36
- package/dist/scanner/control.js.map +1 -1
- package/dist/scanner/discover.d.ts +5 -0
- package/dist/scanner/discover.d.ts.map +1 -1
- package/dist/scanner/discover.js +16 -6
- package/dist/scanner/discover.js.map +1 -1
- package/dist/scanner/enable.d.ts +2 -0
- package/dist/scanner/enable.d.ts.map +1 -1
- package/dist/scanner/enable.js +152 -14
- package/dist/scanner/enable.js.map +1 -1
- package/dist/scanner/picker.d.ts.map +1 -1
- package/dist/scanner/picker.js +5 -6
- package/dist/scanner/picker.js.map +1 -1
- package/dist/scanner/service.d.ts +2 -0
- package/dist/scanner/service.d.ts.map +1 -1
- package/dist/scanner/service.js +279 -54
- package/dist/scanner/service.js.map +1 -1
- package/dist/scanner/update.d.ts +8 -0
- package/dist/scanner/update.d.ts.map +1 -1
- package/dist/scanner/update.js +254 -20
- package/dist/scanner/update.js.map +1 -1
- package/dist/scanner-release.json +35 -30
- package/dist/screens/journey.d.ts +6 -1
- package/dist/screens/journey.d.ts.map +1 -1
- package/dist/screens/journey.js +29 -8
- package/dist/screens/journey.js.map +1 -1
- package/dist/status.d.ts +21 -0
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +1993 -39
- package/dist/status.js.map +1 -1
- package/dist/vendor/local-setup.js +256 -29
- package/dist/vendor/shared/runtimeSigners.js +38 -11
- package/package.json +31 -31
package/dist/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GAEvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpE,OAAO,EACL,eAAe,EACf,kBAAkB,IAAI,aAAa,GAKpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,iBAAiB,GAKlB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAA6C,MAAM,eAAe,CAAC;AAE1F,MAAM,WAAW,GAAG;IAClB,CAAC,aAAa,EAAE,aAAa,EAAE,uBAAuB,EAAE,cAAc,CAAC;IACvE,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,CAAC;IAC7D,CAAC,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,EAAE,kBAAkB,CAAC;CACtD,CAAC;AAEX,MAAM,MAAM,GAAG,CAAC,KAAc,EAAoC,EAAE,CAClE,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEhE,SAAS,YAAY,CAAC,KAAc,EAAE,KAAa;IACjD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACtF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO;QACL,GAAG,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,KAAK,EAAE,CAAC;YAC1F,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YACjB,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC;QAChD,CAAC;QACD,MAAM,KAAK,GAAG,0CAA0C,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,KAAK;YAAE,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,gDAAgD;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAClD,OAAO,OAAO,CAAC,GAAG,CAChB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5B,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE,CACxE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC;QACJ,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,QAAQ,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;QACD,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,GAAG,CAAC;YACnB,CACE,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBACnC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;YAC/E,CAAC,CAAC,CACH,CACF,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,WAAoB,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YACvF,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;gBACtC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ;gBAC7B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;oBACzB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ;oBAC5B,CAAC,CAAC,SAAS,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;QACD,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,qEAAqE;YACrE,mEAAmE;YACnE,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC;YAClD,KAAK;YACL,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,WAAW,CAAC,OAAO,KAAK,KAAK,IAAI,WAAW,CAAC,QAAQ,KAAK,IAAI;oBAC9D,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,OAAO;SACd,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAoD;IAC9E,aAAa,EAAE,8DAA8D;IAC7E,KAAK,EAAE,kEAAkE;IACzE,MAAM,EAAE,+DAA+D;CACxE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAY,EACZ,QAAgB,EAChB,eAAiC;IAEjC,MAAM,UAAU,GAAyB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,MAAc,EAAE,SAAkB,EAAE,EAAE,CACnE,UAAU,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,2BAA2B;QACjC,MAAM;QACN,MAAM;QACN,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC,CAAC;IACL,IAAI,CAAC,MAAM,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM;QACrF,KAAK,CACH,kCAAkC,EAClC,wDAAwD,CACzD,CAAC;IACJ,MAAM,KAAK,GAAG,CAAC,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CACpD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CACzD,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,MAAM;QACjB,KAAK,CAAC,mCAAmC,EAAE,4CAA4C,CAAC,CAAC;IAC3F,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK;YACf,KAAK,CACH,GAAG,MAAM,CAAC,IAAI,qBAAqB,EACnC,4CAA4C,EAC5C,MAAM,CAAC,IAAI,CACZ,CAAC;QACJ,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO;YACxB,KAAK,CACH,GAAG,MAAM,CAAC,IAAI,kBAAkB,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,GAAG,EACvF,MAAM,CAAC,GAAG,KAAK,SAAS;gBACtB,CAAC,CAAC,0CAA0C;gBAC5C,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAChC,MAAM,CAAC,IAAI,CACZ,CAAC;IACN,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAiDD,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,KAAa,EAAW,EAAE;IAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,OAAO,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF,SAAS,iBAAiB,CACxB,sBAAqD,EACrD,WAAmB,EACnB,OAA6B;IAE7B,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAC5C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,sBAAsB,CACzD,CAAC;IACF,IAAI,UAAU;QAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,iBAAiB,CAAC;QAClF,OAAO;YACL;gBACE,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,qEAAqE;gBAC7E,MAAM,EAAE,gBAAgB,WAAW,EAAE;aACtC;SACF,CAAC;IACJ,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAChF,IAAI,QAAQ;QACV,OAAO;YACL;gBACE,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,gEAAgE;gBACxE,MAAM,EAAE,gBAAgB,WAAW,EAAE;aACtC;SACF,CAAC;IACJ,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACzE,OAAO;QACL;YACE,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,gCAAgC;YACxC,MAAM,EAAE,gBAAgB,WAAW,EAAE;SACtC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA0B;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,UAAU,GAAyB,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,YAAY,KAAK,aAAa;QACxC,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,2CAA2C;YACnD,MAAM,EAAE,2BAA2B,OAAO,CAAC,YAAY,EAAE;SAC1D,CAAC,CAAC;SACA,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;QAChC,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,iCAAiC;YACvC,8EAA8E;YAC9E,MAAM,EACJ,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAC3B,CAAC,CAAC,gCAAgC;gBAClC,CAAC,CAAC,uBAAuB,OAAO,CAAC,QAAQ,GAAG;YAChD,MAAM,EACJ,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBAC3B,CAAC,CAAC,gBAAgB,OAAO,CAAC,YAAY,EAAE;gBACxC,CAAC,CAAC,yBAAyB,OAAO,CAAC,YAAY,EAAE;SACtD,CAAC,CAAC;IACL,UAAU,CAAC,IAAI,CACb,GAAG,iBAAiB,CAAC,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,EAC7F,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CACvC,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAA0B;IAE1B,MAAM,kBAAkB,GACtB,KAAK,CAAC,aAAa;QACnB,KAAK,CAAC,eAAe;QACrB,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAC/B,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,SAAS,KAAK,SAAS;YACjC,+FAA+F,CAAC,IAAI,CAClG,SAAS,CAAC,MAAM,CACjB,CACJ;QACC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,kCAAkC;gBAC1C,MAAM,EAAE,4CAA4C;aACrD;SACF,CAAC;IACR,MAAM,gBAAgB,GAAyB,KAAK,CAAC,qBAAqB;QACxE,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,EAAE,mBAA4B;YAClC,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EAAE,qCAAqC;SAC9C,CAAC,CAAC,CAAC;IACR,MAAM,sBAAsB,GAAG;QAC7B,GAAG,KAAK,CAAC,sBAAsB;QAC/B,GAAG,kBAAkB;QACrB,GAAG,gBAAgB;KACpB,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC;IACpC,MAAM,UAAU,GAAG,iBAAiB,CAAC;QACnC,GAAG,KAAK;QACR,sBAAsB;QACtB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,gBAAgB;KACvE,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAChD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,iBAAiB,CACpD,CAAC;IACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,KAAK,CAAC,OAAO;QAChB,YAAY,EAAE,EAAE,UAAU,EAAE,sBAAsB,EAAE;QACpD,GAAG,CAAC,OAAO;YACT,CAAC,CAAC;gBACE,QAAQ,EAAE;oBACR;wBACE,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;wBAC3C,eAAe,EAAE,OAAO,CAAC,QAAQ;wBACjC,YAAY,EAAE,IAAI;wBAClB,OAAO,EAAE,EAAE,UAAU,EAAE;wBACvB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,IAAI;qBACzE;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,EAAE,KAAK,CAAC,aAAa;YAC1B,CAAC,CAAC;gBACE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK;gBAChC,WAAW,EAAE,KAAK,CAAC,gBAAgB,EAAE,EAAE,IAAI,IAAI;gBAC/C,OAAO,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,IAAI,IAAI;gBAChD,SAAS,EAAE,cAAc;oBACvB,CAAC,CAAC,eAAe,CAAC;wBACd,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,gCAAgC,EAAE;qBACtE,CAAC;oBACJ,CAAC,CAAC,IAAI;gBACR,yBAAyB,EAAE,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,IAAI,IAAI;aAC7E;YACH,CAAC,CAAC,IAAI;QACR,WAAW,EAAE,cAAc;YACzB,CAAC,CAAC;gBACE,eAAe,EAAE,gCAAgC;gBACjD,mBAAmB,EAAE,uBAAuB;aAC7C;YACH,CAAC,CAAC,IAAI;QACR,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,sBAAsB,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,MAAc,EAAE,OAA0B,EAAE,MAAe;IAC7E,IAAI,MAAM,KAAK,2BAA2B;QACxC,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACjF,IACE,mFAAmF,CAAC,IAAI,CAAC,MAAM,CAAC,EAChG,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,MAAM,CAAC,CAAC;QAClF,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CACtB,KAAa,EACb,OAAyB,EACzB,MAA4B,EAC5B,QAAqB,EACrB,UAAU,GAAkC,EAAE;IAE9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,UAAU,CACxB,MAAM,EACN,OAAO,CAAC,OAAO,EACf,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,MAAM,CACpD,CAAC;QACF,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACrD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7B,0EAA0E;QAC1E,IAAI,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,gFAAgF;IAChF,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO;IAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAIC,EACD,MAA4B,EAC5B,OAAO,GAA8B,EAAE;IAEvC,IAAI,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa;QAC/C,MAAM,CAAC,IAAI,CACT,yBAAyB,QAAQ,CAAC,aAAa,CAAC,KAAK,IAAI,SAAS,YAAY,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,CAC/G,CAAC;IACJ,IAAI,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE,MAAM;QACvD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,KAAK,GACT,QAAQ,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM;YACpC,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,KAAK,UAAU;gBAC1C,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,MAAM,GACV,QAAQ,CAAC,QAAQ,CAAC,SAAS,KAAK,UAAU;YACxC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAC9B,wCAAwC,EACxC,4CAA4C,CAC7C;YACH,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM;gBAClE,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjC,MAAM,CAAC,IAAI,CACT,aAAa,KAAK,eAAe,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtH,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,KAAK,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;;QAE7F,eAAe,CAAC,cAAc,EAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAChG,iEAAiE;IACjE,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAC/F,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CACnF,CAAC;IACF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CACT,cAAc,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACzF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;;YACrE,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAqF,EACrF,SAAS,GAAG,KAAK;IAEjB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkD,CAAC;IAC3E,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;QAC/E,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;QACrB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7D,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,OAAO,OAAO,yDAAyD;QACjH,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,MAA4B,EAC5B,SAAS,GAAG,KAAK;IAEjB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACjE,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAA2B;IACxD,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/F,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAA6B;IAE7B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,MAAM,MAAM,GAAa,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;IAC/D,MAAM,iBAAiB,CACrB;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,IAAI;QACV,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE,KAAK;QACZ,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,KAAK;KACf,EACD,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CACzC,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAwB,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAAyB;IAMnE,MAAM,cAAc,GAClB,KAAK,CAAC,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9E,IAAI,aAAa,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC;IAClD,IAAI,gBAAyD,CAAC;IAC9D,IAAI,aAA6C,CAAC;IAClD,MAAM,SAAS,GACb,CAAC,KAAK,CAAC,aAAa;QACpB,CAAC,MAAM,cAAc,CAAC;YACpB,QAAQ,EAAE,cAAc;YACxB,GAAG,KAAK,CAAC,eAAe;SACzB,CAAC;aACC,OAAO,EAAE;aACT,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAC5B,IAAI,CAAC,cAAc,EAAE,yCAAyC,CAAC,EAC/D,MAAM,CACP;SACE,IAAI,CACH,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAQd,CACJ;SACA,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;IAC5D,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,GAAG;QACL,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,MAAM,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAMhF,CAAC;QACT,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QACnC,MAAM,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC;QAClD,IAAI,QAAQ,EAAE,gBAAgB,IAAI,KAAK,EAAE,gBAAgB;YACvD,aAAa,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;QACjF,IAAI,QAAQ,EAAE,SAAS,CAAC,MAAM,KAAK,oBAAoB;YACrD,aAAa,GAAG;gBACd,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,oBAAoB;gBAC5B,MAAM,EAAE,kBAAkB;aAC3B,CAAC;aACC,IAAI,QAAQ,EAAE,SAAS,CAAC,KAAK,KAAK,QAAQ;YAC7C,aAAa,GAAG;gBACd,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,yBAAyB;aAClC,CAAC;QACJ,IACE,KAAK;YACL,KAAK;YACL,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG;YAC/B,CAAC,SAAS;YACV,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,EAAE,SAAS,CAAC,KAAK,KAAK,UAAU,CAAC;YACrF,SAAS;YACT,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,wBAAwB,EACjD,CAAC;YACD,aAAa,GAAG;gBACd,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;gBACzB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE;gBACzC,YAAY,EAAE,EAAE;aACjB,CAAC;YACF,gBAAgB,GAAG;gBACjB,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;gBACrC,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB,IAAI,IAAI;aAC5D,CAAC;QACJ,CAAC;QACD,IAAI,SAAS;YACX,aAAa,GAAG;gBACd,IAAI,EAAE,sBAAsB;gBAC5B,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,2BAA2B;gBACnC,MAAM,EAAE,sBAAsB;aAC/B,CAAC;IACN,CAAC;IACD,MAAM,sBAAsB,GAAyB;QACnD,GAAG,CAAC,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,OAAO;YACpC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,wEAAwE;gBACxE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS;oBAC5B,CAAC,CAAC;wBACE,IAAI,EAAE,oBAA6B;wBACnC,MAAM,EAAE,kDAAkD;wBAC1D,MAAM,EAAE,iEAAiE;qBAC1E;oBACH,CAAC,CAAC;wBACE,IAAI,EAAE,oBAA6B;wBACnC,MAAM,EAAE,QAAQ,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,iDAAiD;wBAC7F,MAAM,EAAE,sEAAsE;qBAC/E;aACN,CAAC;QACN,GAAG,CAAC,aAAa,EAAE,YAAY;aAC5B,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;aAC5C,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACpB,IAAI,EAAE,iBAA0B;YAChC,SAAS,EAAE,UAAU,CAAC,IAAI;YAC1B,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,oBAAoB;YAC9C,MAAM,EAAE,gBAAgB,UAAU,CAAC,IAAI,EAAE;SAC1C,CAAC,CAAC,IAAI,EAAE,CAAC;KACb,CAAC;IACF,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GACX,KAAK;YACL,qBAAqB,CACnB,OAAO,EACP,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ,EAAE,EAC9D,IAAI,CACL;YACD,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS;YACvB,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,wBAAwB,CAAC;QACrD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO;YAC5B,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,OAAO,CAAC,qBAAqB;gBAC7B,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,OAAO,CAAC,QAAQ;wBAChB,CAAC,CAAC,iCAAiC;wBACnC,CAAC,CAAC,SAAS;oBACb,CAAC,CAAC,OAAO,CAAC,aAAa;wBACrB,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,0BAA0B;4BACpD,CAAC,CAAC,sCAAsC;4BACxC,CAAC,CAAC,4BAA4B;wBAChC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,yBAAyB;4BAC3E,CAAC,CAAC,6BAA6B;4BAC/B,CAAC,CAAC,iCAAiC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1D,sBAAsB,CAAC,IAAI,CAAC;gBAC1B,IAAI,EACF,MAAM,KAAK,4BAA4B;oBACrC,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,MAAM,KAAK,6BAA6B,IAAI,MAAM,KAAK,iBAAiB;wBACxE,CAAC,CAAC,sBAAsB;wBACxB,CAAC,CAAC,2BAA2B;gBACnC,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM;gBAChD,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACrC,iFAAiF;IACjF,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,SAAS,GACb,CAAC,CAAC,QAAQ;QACV,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CACnD,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;YACF,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,MAAM,OAAO,GAAG,aAAa;QAC3B,CAAC,CAAC,MAAM,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QACvE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,eAAe,GAAyB,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,6CAA6C;QACrD,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC,CAAC,CAAC;IACJ,sBAAsB,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,CACZ,KAAK,CAAC,eAAe;QACrB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC5F,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,SAAS,CAAC,QAAQ,CAAC,IAAkC,CAAC,CACvB,CAAC;IAClC,MAAM,cAAc,GAClB,KAAK,CAAC,qBAAqB;QAC3B,CAAC,MAAM,oBAAoB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACpE,sBAAsB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,mBAAmB,CAAC;QACnC,sBAAsB;QACtB,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,eAAe,EAAE,OAAO,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW,KAAK,QAAQ;QAC5E,qBAAqB,EAAE,cAAc;QACrC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,OAAO;QACP,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,CAAC;IACH,OAAO;QACL,GAAG,QAAQ;QACX,QAAQ,EAAE,MAAM,cAAc,CAAC;YAC7B,QAAQ,EAAE,cAAc;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,KAAK,CAAC,QAAQ;SAClB,CAAC;QACF,aAAa,EAAE,MAAM,mBAAmB,CAAC;YACvC,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAyB,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -502,7 +502,9 @@ var require_ignore = __commonJS({
|
|
|
502
502
|
});
|
|
503
503
|
|
|
504
504
|
// packages/shared/dist/runtimeSigners.js
|
|
505
|
+
import { lstatSync, mkdirSync, readFileSync, writeFileSync, renameSync, unlinkSync } from "node:fs";
|
|
505
506
|
import { basename, dirname as dirname2, join as join2, resolve, sep, win32 } from "node:path";
|
|
507
|
+
import { createHash, createPublicKey, randomUUID, timingSafeEqual, verify as verifySignature } from "node:crypto";
|
|
506
508
|
import { execFile, execFileSync } from "node:child_process";
|
|
507
509
|
function windowsCommand(file) {
|
|
508
510
|
const root = process.env.SystemRoot;
|
|
@@ -510,14 +512,44 @@ function windowsCommand(file) {
|
|
|
510
512
|
throw new Error("acl_system_root_unavailable");
|
|
511
513
|
return win32.join(root, "System32", file);
|
|
512
514
|
}
|
|
513
|
-
function readIdentity(
|
|
514
|
-
const match = /^"([^"\r\n]+)","(S-1-(?:\d+-)+\d+)"$/.exec(
|
|
515
|
-
if (!match?.[1] || !match[2] ||
|
|
515
|
+
function readIdentity(stdout2) {
|
|
516
|
+
const match = /^"([^"\r\n]+)","(S-1-(?:\d+-)+\d+)"$/.exec(stdout2.trim());
|
|
517
|
+
if (!match?.[1] || !match[2] || stdout2.includes("\uFFFD"))
|
|
516
518
|
throw new Error("acl_identity_unavailable");
|
|
517
519
|
return { name: match[1], sid: match[2] };
|
|
518
520
|
}
|
|
521
|
+
function* readWindowsIdentity() {
|
|
522
|
+
const user = readIdentity(yield [windowsCommand("whoami.exe"), identityArgs]);
|
|
523
|
+
if (!ADMINISTRATOR_RID.test(user.sid))
|
|
524
|
+
return user;
|
|
525
|
+
const groups = yield [windowsCommand("whoami.exe"), groupArgs];
|
|
526
|
+
const local = /^"[^"\r\n]*","[^"\r\n]*","S-1-5-113",/m.test(groups);
|
|
527
|
+
return {
|
|
528
|
+
...user,
|
|
529
|
+
localAdministratorSid: local ? `${user.sid.slice(0, user.sid.lastIndexOf("-"))}-500` : null
|
|
530
|
+
};
|
|
531
|
+
}
|
|
519
532
|
function windowsCurrentAccountSync() {
|
|
520
|
-
|
|
533
|
+
if (currentIdentity)
|
|
534
|
+
return currentIdentity;
|
|
535
|
+
const commands = readWindowsIdentity();
|
|
536
|
+
let step2 = commands.next();
|
|
537
|
+
while (!step2.done)
|
|
538
|
+
step2 = commands.next(hookExecuteSync(...step2.value));
|
|
539
|
+
return currentIdentity = step2.value;
|
|
540
|
+
}
|
|
541
|
+
async function windowsIdentity(run2) {
|
|
542
|
+
if (currentIdentity)
|
|
543
|
+
return currentIdentity;
|
|
544
|
+
identityPending ??= drive(readWindowsIdentity(), run2).then((identity) => currentIdentity = identity).finally(() => {
|
|
545
|
+
identityPending = void 0;
|
|
546
|
+
});
|
|
547
|
+
return identityPending;
|
|
548
|
+
}
|
|
549
|
+
async function verifyWindowsAcl(path, run2 = hookExecute, state) {
|
|
550
|
+
const user = await windowsIdentity(run2);
|
|
551
|
+
if (!privateEntries((await drive(saveAcl(path, false, [path], state), run2)).get(path), user, false))
|
|
552
|
+
throw new Error("acl_permissions");
|
|
521
553
|
}
|
|
522
554
|
function hookInvocation(file, args2) {
|
|
523
555
|
if (win32.basename(file) === "whoami.exe") {
|
|
@@ -537,12 +569,112 @@ function hookExecuteSync(file, args2, input) {
|
|
|
537
569
|
[file, args2] = hookInvocation(file, args2);
|
|
538
570
|
return execFileSync(file, args2, { ...hookOptions(file, args2), input });
|
|
539
571
|
}
|
|
540
|
-
|
|
572
|
+
function aclRecords(output, root, paths, onLookup) {
|
|
573
|
+
const records = /* @__PURE__ */ new Map();
|
|
574
|
+
const wanted = new Set(paths);
|
|
575
|
+
const lines = output.replace(/^\uFEFF/, "").trimEnd().split(/\r?\n/);
|
|
576
|
+
if (lines.length % 2)
|
|
577
|
+
throw new Error("acl_unavailable");
|
|
578
|
+
for (let index = 0; index < lines.length; index += 2) {
|
|
579
|
+
onLookup?.();
|
|
580
|
+
const relativePath = lines[index];
|
|
581
|
+
const descriptor = lines[index + 1];
|
|
582
|
+
if (relativePath === void 0 || descriptor === void 0)
|
|
583
|
+
throw new Error("acl_unavailable");
|
|
584
|
+
const path = resolve(dirname2(root), relativePath.replaceAll("\\", sep));
|
|
585
|
+
if (!wanted.has(path))
|
|
586
|
+
continue;
|
|
587
|
+
if (records.has(path))
|
|
588
|
+
throw new Error("acl_unavailable");
|
|
589
|
+
const dacl = /^D:(?:P|AI|AR)*((?:\([^()]*\))*)$/.exec(descriptor);
|
|
590
|
+
records.set(path, dacl?.[1]?.match(/\([^()]*\)/g) ?? []);
|
|
591
|
+
}
|
|
592
|
+
return records;
|
|
593
|
+
}
|
|
594
|
+
function privateEntries(entries, user, directory) {
|
|
595
|
+
if (!entries?.length)
|
|
596
|
+
throw new Error("acl_unavailable");
|
|
597
|
+
return entries.every((line) => {
|
|
598
|
+
const ace = /^\(([AD]);((?:OI|CI|NP|IO|ID|SA|FA)*);[A-Za-z0-9]+;;;((?:S-1-(?:\d+-)+\d+)|[A-Z]{2})\)$/.exec(line);
|
|
599
|
+
if (!ace)
|
|
600
|
+
throw new Error("acl_unavailable");
|
|
601
|
+
const sid = ace[3] === "LA" ? user.localAdministratorSid : ace[3];
|
|
602
|
+
return (!directory || !ace[2]?.includes("ID")) && (ace[1] === "D" || sid === user.sid);
|
|
603
|
+
});
|
|
604
|
+
}
|
|
605
|
+
function* prepareAclDirectory(state) {
|
|
606
|
+
const directory = join2(state, "audit-tmp");
|
|
607
|
+
if (auditDirectories.has(directory)) {
|
|
608
|
+
const stat2 = lstatSync(directory);
|
|
609
|
+
if (!stat2.isDirectory() || stat2.isSymbolicLink())
|
|
610
|
+
throw new Error("acl_permissions");
|
|
611
|
+
return directory;
|
|
612
|
+
}
|
|
613
|
+
let created = false;
|
|
614
|
+
try {
|
|
615
|
+
mkdirSync(directory, { mode: 448 });
|
|
616
|
+
created = true;
|
|
617
|
+
} catch (error) {
|
|
618
|
+
if (error.code !== "EEXIST")
|
|
619
|
+
throw error;
|
|
620
|
+
}
|
|
621
|
+
const stat = lstatSync(directory);
|
|
622
|
+
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
623
|
+
throw new Error("acl_permissions");
|
|
624
|
+
if (!auditDirectories.has(directory)) {
|
|
625
|
+
currentIdentity ??= yield* readWindowsIdentity();
|
|
626
|
+
yield [windowsCommand("icacls.exe"), aclArgs(directory, currentIdentity.sid, created)];
|
|
627
|
+
if (!created) {
|
|
628
|
+
const temp = join2(directory, `.acl-${randomUUID()}.tmp`);
|
|
629
|
+
writeFileSync(temp, "", { flag: "wx", mode: 384 });
|
|
630
|
+
try {
|
|
631
|
+
yield [windowsCommand("icacls.exe"), [directory, "/save", temp, "/l"]];
|
|
632
|
+
if (!privateEntries(aclRecords(readFileSync(temp, "utf16le"), directory, [directory]).get(directory), currentIdentity, true))
|
|
633
|
+
throw new Error("acl_permissions");
|
|
634
|
+
} finally {
|
|
635
|
+
unlinkSync(temp);
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
auditDirectories.add(directory);
|
|
639
|
+
}
|
|
640
|
+
return directory;
|
|
641
|
+
}
|
|
642
|
+
function* saveAcl(path, recursive, paths = [path], state = lstatSync(path).isDirectory() ? path : dirname2(path)) {
|
|
643
|
+
const directory = yield* prepareAclDirectory(state);
|
|
644
|
+
const temp = join2(directory, `.acl-${randomUUID()}.tmp`);
|
|
645
|
+
writeFileSync(temp, "", { flag: "wx", mode: 384 });
|
|
646
|
+
try {
|
|
647
|
+
yield [windowsCommand("icacls.exe"), [path, "/save", temp, ...recursive ? ["/t"] : [], "/l"]];
|
|
648
|
+
return aclRecords(readFileSync(temp, "utf16le"), path, paths.filter((item) => item !== directory && !item.startsWith(directory + sep)));
|
|
649
|
+
} finally {
|
|
650
|
+
unlinkSync(temp);
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
async function drive(commands, run2) {
|
|
654
|
+
try {
|
|
655
|
+
let step2 = commands.next();
|
|
656
|
+
while (!step2.done)
|
|
657
|
+
step2 = commands.next(stdout(await run2(...step2.value)));
|
|
658
|
+
return step2.value;
|
|
659
|
+
} finally {
|
|
660
|
+
commands.return(void 0);
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
var identityArgs, groupArgs, ADMINISTRATOR_RID, currentIdentity, ttl, identityPending, aclArgs, hookOptions, hookExecute, stdout, auditDirectories;
|
|
541
664
|
var init_runtimeSigners = __esm({
|
|
542
665
|
"packages/shared/dist/runtimeSigners.js"() {
|
|
543
666
|
"use strict";
|
|
544
667
|
identityArgs = ["/user", "/fo", "csv", "/nh"];
|
|
668
|
+
groupArgs = ["/groups", "/fo", "csv", "/nh"];
|
|
669
|
+
ADMINISTRATOR_RID = /^S-1-5-21-\d+-\d+-\d+-500$/;
|
|
545
670
|
ttl = 10 * 6e4;
|
|
671
|
+
aclArgs = (path, sid, created = false) => [
|
|
672
|
+
path,
|
|
673
|
+
"/inheritance:r",
|
|
674
|
+
"/grant:r",
|
|
675
|
+
`*${sid}:(OI)(CI)F`,
|
|
676
|
+
...created ? ["/remove:g", "*S-1-5-32-544", "*S-1-5-18"] : []
|
|
677
|
+
];
|
|
546
678
|
hookOptions = (file, args2) => ({
|
|
547
679
|
encoding: args2.includes("/u") ? "utf16le" : "utf8",
|
|
548
680
|
timeout: win32.basename(file) === "powershell.exe" ? 3e4 : 5e3,
|
|
@@ -550,6 +682,22 @@ var init_runtimeSigners = __esm({
|
|
|
550
682
|
maxBuffer: 16 * 1024 * 1024,
|
|
551
683
|
windowsVerbatimArguments: win32.basename(file) === "cmd.exe"
|
|
552
684
|
});
|
|
685
|
+
hookExecute = (file, args2, input) => {
|
|
686
|
+
const treeListing = win32.basename(file) === "icacls.exe" && args2.includes("/t") || win32.basename(file) === "cmd.exe" && args2.some((arg) => arg.startsWith("dir /q /a /s "));
|
|
687
|
+
[file, args2] = hookInvocation(file, args2);
|
|
688
|
+
const options = hookOptions(file, args2);
|
|
689
|
+
if (treeListing)
|
|
690
|
+
options.timeout = 3e4;
|
|
691
|
+
return new Promise((resolve2, reject) => {
|
|
692
|
+
const child = execFile(file, args2, options, (error, stdout2) => error ? reject(error) : resolve2({ stdout: stdout2 }));
|
|
693
|
+
if (input !== void 0) {
|
|
694
|
+
child.stdin?.on("error", reject);
|
|
695
|
+
child.stdin?.end(input);
|
|
696
|
+
}
|
|
697
|
+
});
|
|
698
|
+
};
|
|
699
|
+
stdout = (value) => value.stdout;
|
|
700
|
+
auditDirectories = /* @__PURE__ */ new Set();
|
|
553
701
|
}
|
|
554
702
|
});
|
|
555
703
|
|
|
@@ -2200,7 +2348,7 @@ var require_proper_lockfile = __commonJS({
|
|
|
2200
2348
|
});
|
|
2201
2349
|
|
|
2202
2350
|
// packages/local-setup/src/index.ts
|
|
2203
|
-
import { randomUUID as
|
|
2351
|
+
import { randomUUID as randomUUID3 } from "node:crypto";
|
|
2204
2352
|
|
|
2205
2353
|
// packages/shared/dist/instructions.js
|
|
2206
2354
|
var INSTRUCTIONS_CONTENT = `Mnemonik provides persistent project memory: decisions, rationale, tasks, and policies across sessions. If no block begins "PROJECT_CONTEXT schemaVersion=", session_bootstrap({ cwd }) loads project context when cwd is the real absolute path of the project root; a placeholder or relative path fails. With that block, context is loaded and no session_bootstrap call is needed. Code and docs show current artifacts, git shows changes, and memory carries the why; memory_search recalls rationale or intent, then Grep or Read verifies current source.
|
|
@@ -6406,7 +6554,7 @@ var actionRequired = (state) => ({
|
|
|
6406
6554
|
// packages/local-setup/src/storage.ts
|
|
6407
6555
|
init_hookRuntime();
|
|
6408
6556
|
init_hookRuntime();
|
|
6409
|
-
import { createHash, randomUUID } from "node:crypto";
|
|
6557
|
+
import { createHash as createHash2, randomUUID as randomUUID2 } from "node:crypto";
|
|
6410
6558
|
import { execFile as nodeExecFile } from "node:child_process";
|
|
6411
6559
|
import fs2 from "node:fs";
|
|
6412
6560
|
import {
|
|
@@ -6430,7 +6578,7 @@ function sharedLockfile() {
|
|
|
6430
6578
|
(module2) => module2.default
|
|
6431
6579
|
);
|
|
6432
6580
|
}
|
|
6433
|
-
var hash2 = (bytes) =>
|
|
6581
|
+
var hash2 = (bytes) => createHash2("sha256").update(bytes).digest("hex");
|
|
6434
6582
|
var codeIs = (error, code) => error.code === code;
|
|
6435
6583
|
function stateDirectory(platform = process.platform, env = process.env, home = homedir()) {
|
|
6436
6584
|
if (env.MNEMONIK_STATE_DIR) return env.MNEMONIK_STATE_DIR;
|
|
@@ -6480,6 +6628,9 @@ async function windowsCurrentUserAcl(path, directory = false, options = {}, crea
|
|
|
6480
6628
|
);
|
|
6481
6629
|
});
|
|
6482
6630
|
}
|
|
6631
|
+
async function verifyWindowsCurrentUserOnly(path, state, run2) {
|
|
6632
|
+
await verifyWindowsAcl(path, run2, state);
|
|
6633
|
+
}
|
|
6483
6634
|
async function protectStateFile(path, platform = process.platform, aclOptions) {
|
|
6484
6635
|
if (platform === "win32") await windowsCurrentUserAcl(path, false, aclOptions);
|
|
6485
6636
|
else await chmod(path, 384);
|
|
@@ -6487,7 +6638,7 @@ async function protectStateFile(path, platform = process.platform, aclOptions) {
|
|
|
6487
6638
|
}
|
|
6488
6639
|
async function atomicWrite(path, bytes, fault, assertOwned) {
|
|
6489
6640
|
await assertOwned?.();
|
|
6490
|
-
const temp = `${path}.${
|
|
6641
|
+
const temp = `${path}.${randomUUID2()}.tmp`;
|
|
6491
6642
|
const fd = await open(temp, "wx", 384);
|
|
6492
6643
|
let permissionStatus;
|
|
6493
6644
|
try {
|
|
@@ -6509,7 +6660,7 @@ async function atomicWrite(path, bytes, fault, assertOwned) {
|
|
|
6509
6660
|
async function withLock(path, waitMs, work) {
|
|
6510
6661
|
const lockfile = await sharedLockfile();
|
|
6511
6662
|
await mkdir(dirname3(path), { recursive: true, mode: 448 });
|
|
6512
|
-
const generation =
|
|
6663
|
+
const generation = randomUUID2();
|
|
6513
6664
|
const owner = join3(`${path}.lock`, "owner");
|
|
6514
6665
|
let compromised = false;
|
|
6515
6666
|
let acquired = false;
|
|
@@ -6630,7 +6781,7 @@ ${script}`,
|
|
|
6630
6781
|
"utf16le"
|
|
6631
6782
|
).toString("base64")
|
|
6632
6783
|
],
|
|
6633
|
-
(error,
|
|
6784
|
+
(error, stdout2) => error ? reject(error) : resolve2(stdout2)
|
|
6634
6785
|
);
|
|
6635
6786
|
});
|
|
6636
6787
|
}
|
|
@@ -6672,9 +6823,11 @@ $result = [UIntPtr]::Zero
|
|
|
6672
6823
|
|
|
6673
6824
|
// packages/local-setup/src/automaticUpdate.ts
|
|
6674
6825
|
import { spawn as nodeSpawn } from "node:child_process";
|
|
6826
|
+
import { realpathSync } from "node:fs";
|
|
6675
6827
|
import { stat as nodeStat, utimes } from "node:fs/promises";
|
|
6676
6828
|
import { homedir as homedir2 } from "node:os";
|
|
6677
6829
|
import { join as join4 } from "node:path";
|
|
6830
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
6678
6831
|
var DAY_MS = 864e5;
|
|
6679
6832
|
var statePath = (stateDir) => join4(stateDir, "automatic-update.json");
|
|
6680
6833
|
function cliLauncherPath(options = {}) {
|
|
@@ -6754,21 +6907,38 @@ async function maybeStartAutomaticUpdate(options = {}) {
|
|
|
6754
6907
|
return false;
|
|
6755
6908
|
}
|
|
6756
6909
|
}
|
|
6757
|
-
|
|
6758
|
-
|
|
6910
|
+
var HELPER_FLAG = "--mnemonik-automatic-update";
|
|
6911
|
+
async function startAutomaticUpdateForSession(options = {}) {
|
|
6759
6912
|
try {
|
|
6760
|
-
|
|
6761
|
-
|
|
6762
|
-
|
|
6763
|
-
|
|
6764
|
-
|
|
6765
|
-
|
|
6766
|
-
|
|
6913
|
+
const stateDir = options.stateDir ?? stateDirectory(options.platform, options.env, options.home);
|
|
6914
|
+
const now = (options.now ?? Date.now)();
|
|
6915
|
+
const stat = options.stat ?? nodeStat;
|
|
6916
|
+
try {
|
|
6917
|
+
if (now - (await stat(statePath(stateDir))).mtimeMs < DAY_MS) return;
|
|
6918
|
+
} catch (error) {
|
|
6919
|
+
if (error.code !== "ENOENT") return;
|
|
6920
|
+
}
|
|
6921
|
+
if (!(await stat(cliLauncherPath(options))).isFile()) return;
|
|
6922
|
+
const child = (options.spawnHelper ?? nodeSpawn)(
|
|
6923
|
+
process.execPath,
|
|
6924
|
+
[fileURLToPath2(import.meta.url), HELPER_FLAG, stateDir],
|
|
6925
|
+
{ detached: true, stdio: "ignore", windowsHide: true }
|
|
6926
|
+
);
|
|
6927
|
+
child.once("error", () => {
|
|
6928
|
+
});
|
|
6929
|
+
child.unref();
|
|
6767
6930
|
} catch {
|
|
6768
|
-
} finally {
|
|
6769
|
-
if (timer) clearTimeout(timer);
|
|
6770
6931
|
}
|
|
6771
6932
|
}
|
|
6933
|
+
function isHelperInvocation() {
|
|
6934
|
+
if (process.argv[2] !== HELPER_FLAG || !process.argv[3] || !process.argv[1]) return false;
|
|
6935
|
+
try {
|
|
6936
|
+
return realpathSync(process.argv[1]) === realpathSync(fileURLToPath2(import.meta.url));
|
|
6937
|
+
} catch {
|
|
6938
|
+
return false;
|
|
6939
|
+
}
|
|
6940
|
+
}
|
|
6941
|
+
if (isHelperInvocation()) void maybeStartAutomaticUpdate({ stateDir: process.argv[3] });
|
|
6772
6942
|
|
|
6773
6943
|
// packages/local-setup/src/index.ts
|
|
6774
6944
|
var MAX_ORIGINAL_BYTES = 64 * 1024;
|
|
@@ -6782,6 +6952,7 @@ var accessResponseHash = (response) => hash2(
|
|
|
6782
6952
|
candidates: response.candidates
|
|
6783
6953
|
})
|
|
6784
6954
|
);
|
|
6955
|
+
var pristine = (record, diskHash) => !record.remote && !record.staged && !record.steps.remote.started && !record.steps.identity.started && !record.steps.rollback.started && diskHash === record.before.hash;
|
|
6785
6956
|
var step = (beforeHash) => ({
|
|
6786
6957
|
complete: false,
|
|
6787
6958
|
beforeHash,
|
|
@@ -6816,7 +6987,7 @@ function createProjectSetupExecutor(deps) {
|
|
|
6816
6987
|
const saved = await readBytes(path);
|
|
6817
6988
|
const freshRecord = () => ({
|
|
6818
6989
|
schemaVersion: 1,
|
|
6819
|
-
operationId:
|
|
6990
|
+
operationId: randomUUID3(),
|
|
6820
6991
|
root,
|
|
6821
6992
|
scopeKey: hash2(deps.scopeKey),
|
|
6822
6993
|
owner: options.owner,
|
|
@@ -6839,14 +7010,13 @@ function createProjectSetupExecutor(deps) {
|
|
|
6839
7010
|
return actionRequired("record_invalid");
|
|
6840
7011
|
if (record.before.base64 !== null && record.before.hash !== hash2(Buffer.from(record.before.base64, "base64")) || record.before.base64 !== null && Buffer.from(record.before.base64, "base64").length > MAX_ORIGINAL_BYTES || record.staged && hash2(record.staged.content) !== record.staged.hash || record.remote && hash2(JSON.stringify(record.remote)) !== record.steps.remote.afterHash)
|
|
6841
7012
|
return actionRequired("record_invalid");
|
|
6842
|
-
if (mode === "stage" &&
|
|
7013
|
+
if (mode === "stage" && (record.steps.identity.complete && !record.steps.rollback.started && resolution.kind === "ok" && resolution.identity.projectId === record.remote?.projectId && (!options.intent || options.intent.projectId === record.remote.projectId) || record.steps.rollback.complete && diskHash === record.before.hash)) {
|
|
6843
7014
|
record = freshRecord();
|
|
6844
7015
|
recordIsNew = true;
|
|
6845
7016
|
}
|
|
6846
7017
|
const settled = record.steps.identity.complete && !record.steps.rollback.started && resolution.kind === "ok" && resolution.identity.projectId === record.remote?.projectId && (!options.intent || options.intent.projectId === record.remote?.projectId);
|
|
6847
7018
|
if (record.scopeKey !== hash2(deps.scopeKey) || options.owner !== void 0 && JSON.stringify(record.owner) !== JSON.stringify(options.owner) || !settled && JSON.stringify(record.intent) !== JSON.stringify(options.intent)) {
|
|
6848
|
-
|
|
6849
|
-
if (replaceable) {
|
|
7019
|
+
if (pristine(record, diskHash)) {
|
|
6850
7020
|
record = freshRecord();
|
|
6851
7021
|
recordIsNew = true;
|
|
6852
7022
|
} else {
|
|
@@ -6960,9 +7130,13 @@ function createProjectSetupExecutor(deps) {
|
|
|
6960
7130
|
}
|
|
6961
7131
|
if (!resumingWithoutIdentity && record.steps.identity.complete && diskHash !== record.staged?.hash)
|
|
6962
7132
|
return actionRequired("identity_changed");
|
|
7133
|
+
if (record.evidence && JSON.stringify(record.evidence) !== JSON.stringify(evidence)) {
|
|
7134
|
+
if (!pristine(record, diskHash)) return actionRequired("operation_context_changed");
|
|
7135
|
+
const ignored = record.ignored;
|
|
7136
|
+
record = { ...freshRecord(), ...ignored ? { ignored } : {} };
|
|
7137
|
+
recordIsNew = true;
|
|
7138
|
+
}
|
|
6963
7139
|
if (recordIsNew) await save();
|
|
6964
|
-
if (record.evidence && JSON.stringify(record.evidence) !== JSON.stringify(evidence))
|
|
6965
|
-
return actionRequired("operation_context_changed");
|
|
6966
7140
|
if (record.steps.identity.complete && mode === "ensure" && record.remote) {
|
|
6967
7141
|
const validated = await deps.transport.issueSetupRequest({
|
|
6968
7142
|
...evidence,
|
|
@@ -7062,13 +7236,65 @@ function createProjectSetupExecutor(deps) {
|
|
|
7062
7236
|
ensureProject: (options) => execute(options, "ensure"),
|
|
7063
7237
|
stage: (options) => execute(options, "stage"),
|
|
7064
7238
|
apply: (options) => execute(options, "apply"),
|
|
7065
|
-
rollback: (options) => execute(options, "rollback")
|
|
7239
|
+
rollback: (options) => execute(options, "rollback"),
|
|
7240
|
+
cancel: async (options) => {
|
|
7241
|
+
const resolution = await deps.resolver.resolveProjectIdentity(options.cwd, options);
|
|
7242
|
+
return cancelProjectSetup(
|
|
7243
|
+
"root" in resolution ? resolution.root : options.cwd,
|
|
7244
|
+
deps.stateDir,
|
|
7245
|
+
deps.waitMs
|
|
7246
|
+
);
|
|
7247
|
+
}
|
|
7066
7248
|
};
|
|
7067
7249
|
}
|
|
7250
|
+
async function cancelProjectSetup(folder, stateDir, waitMs = 6e4) {
|
|
7251
|
+
const root = await realpath(folder);
|
|
7252
|
+
const path = recordPath(root, stateDir);
|
|
7253
|
+
return withLock(path, waitMs, async (assertOwned) => {
|
|
7254
|
+
const saved = await readBytes(path);
|
|
7255
|
+
if (!saved) return { status: "cancelled", root, cleared: false, restored: false };
|
|
7256
|
+
let record = null;
|
|
7257
|
+
try {
|
|
7258
|
+
record = JSON.parse(saved.toString());
|
|
7259
|
+
} catch {
|
|
7260
|
+
}
|
|
7261
|
+
let restored = false;
|
|
7262
|
+
const staged = record?.staged;
|
|
7263
|
+
const before = record?.before;
|
|
7264
|
+
const settled = !!record?.steps?.identity?.complete && !record.steps.rollback?.started;
|
|
7265
|
+
if (!settled && staged && before && typeof staged.hash === "string" && staged.hash !== before.hash) {
|
|
7266
|
+
const file = join5(root, ".mnemonik.json");
|
|
7267
|
+
const earlier = typeof before.base64 === "string" ? Buffer.from(before.base64, "base64") : null;
|
|
7268
|
+
if (digest(await readBytes(file)) === staged.hash && (earlier ? hash2(earlier) === before.hash : before.hash === null)) {
|
|
7269
|
+
await assertOwned();
|
|
7270
|
+
if (earlier) await atomicWrite(file, earlier, void 0, assertOwned);
|
|
7271
|
+
else {
|
|
7272
|
+
await unlink2(file);
|
|
7273
|
+
await syncDirectory(root);
|
|
7274
|
+
}
|
|
7275
|
+
restored = true;
|
|
7276
|
+
}
|
|
7277
|
+
}
|
|
7278
|
+
await assertOwned();
|
|
7279
|
+
await unlink2(path).catch((error) => {
|
|
7280
|
+
if (error.code !== "ENOENT") throw error;
|
|
7281
|
+
});
|
|
7282
|
+
await syncDirectory(dirname4(path));
|
|
7283
|
+
const remote = record?.remote?.projectId;
|
|
7284
|
+
return {
|
|
7285
|
+
status: "cancelled",
|
|
7286
|
+
root,
|
|
7287
|
+
cleared: true,
|
|
7288
|
+
restored,
|
|
7289
|
+
...typeof remote === "string" ? { retainedRemoteUUID: remote } : {}
|
|
7290
|
+
};
|
|
7291
|
+
});
|
|
7292
|
+
}
|
|
7068
7293
|
export {
|
|
7069
7294
|
actionRequired,
|
|
7070
7295
|
appendWindowsPath,
|
|
7071
7296
|
atomicWrite,
|
|
7297
|
+
cancelProjectSetup,
|
|
7072
7298
|
cliLauncherPath,
|
|
7073
7299
|
createProjectSetupExecutor,
|
|
7074
7300
|
maybeStartAutomaticUpdate,
|
|
@@ -7078,6 +7304,7 @@ export {
|
|
|
7078
7304
|
removeWindowsPathEntry,
|
|
7079
7305
|
startAutomaticUpdateForSession,
|
|
7080
7306
|
stateDirectory,
|
|
7307
|
+
verifyWindowsCurrentUserOnly,
|
|
7081
7308
|
windowsCurrentAccount,
|
|
7082
7309
|
windowsCurrentUserAcl,
|
|
7083
7310
|
windowsPathIncludes,
|
|
@@ -4,7 +4,6 @@ import { basename, dirname, join, resolve, sep, win32 } from 'node:path';
|
|
|
4
4
|
import { createHash, createPublicKey, randomUUID, timingSafeEqual, verify as verifySignature, } from 'node:crypto';
|
|
5
5
|
import { execFile, execFileSync } from 'node:child_process';
|
|
6
6
|
import { promisify } from 'node:util';
|
|
7
|
-
import { hostname } from 'node:os';
|
|
8
7
|
export const execute = (file, args, input) => {
|
|
9
8
|
const result = promisify(execFile)(file, args);
|
|
10
9
|
if (input === undefined)
|
|
@@ -105,6 +104,9 @@ export async function verifyWindowsPermission(path, run = hookExecute, state) {
|
|
|
105
104
|
throw new Error('acl_permissions');
|
|
106
105
|
}
|
|
107
106
|
const identityArgs = ['/user', '/fo', 'csv', '/nh'];
|
|
107
|
+
const groupArgs = ['/groups', '/fo', 'csv', '/nh'];
|
|
108
|
+
/** A RID-500 account: some account domain's built-in Administrator. */
|
|
109
|
+
const ADMINISTRATOR_RID = /^S-1-5-21-\d+-\d+-\d+-500$/;
|
|
108
110
|
function windowsCommand(file) {
|
|
109
111
|
const root = process.env.SystemRoot;
|
|
110
112
|
if (!root || !win32.isAbsolute(root))
|
|
@@ -121,15 +123,38 @@ function readIdentity(stdout) {
|
|
|
121
123
|
throw new Error('acl_identity_unavailable');
|
|
122
124
|
return { name: match[1], sid: match[2] };
|
|
123
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* The token's user and, for a RID-500 token, the SID of `LA`. Every local
|
|
128
|
+
* account's token carries S-1-5-113 (NT AUTHORITY\Local account), so its
|
|
129
|
+
* account domain is this machine's and LA is `<that domain>-500`: its own SID.
|
|
130
|
+
* Decided by SIDs alone; names and the host name play no part.
|
|
131
|
+
*/
|
|
132
|
+
function* readWindowsIdentity() {
|
|
133
|
+
const user = readIdentity(yield [windowsCommand('whoami.exe'), identityArgs]);
|
|
134
|
+
if (!ADMINISTRATOR_RID.test(user.sid))
|
|
135
|
+
return user;
|
|
136
|
+
const groups = yield [windowsCommand('whoami.exe'), groupArgs];
|
|
137
|
+
const local = /^"[^"\r\n]*","[^"\r\n]*","S-1-5-113",/m.test(groups);
|
|
138
|
+
return {
|
|
139
|
+
...user,
|
|
140
|
+
localAdministratorSid: local ? `${user.sid.slice(0, user.sid.lastIndexOf('-'))}-500` : null,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
124
143
|
export function windowsCurrentAccountSync() {
|
|
125
|
-
|
|
144
|
+
if (currentIdentity)
|
|
145
|
+
return currentIdentity;
|
|
146
|
+
const commands = readWindowsIdentity();
|
|
147
|
+
let step = commands.next();
|
|
148
|
+
while (!step.done)
|
|
149
|
+
step = commands.next(hookExecuteSync(...step.value));
|
|
150
|
+
return (currentIdentity = step.value);
|
|
126
151
|
}
|
|
127
152
|
let identityPending;
|
|
128
153
|
async function windowsIdentity(run) {
|
|
129
154
|
if (currentIdentity)
|
|
130
155
|
return currentIdentity;
|
|
131
|
-
identityPending ??=
|
|
132
|
-
.then((
|
|
156
|
+
identityPending ??= drive(readWindowsIdentity(), run)
|
|
157
|
+
.then((identity) => (currentIdentity = identity))
|
|
133
158
|
.finally(() => {
|
|
134
159
|
identityPending = undefined;
|
|
135
160
|
});
|
|
@@ -225,10 +250,9 @@ function privateEntries(entries, user, directory) {
|
|
|
225
250
|
const ace = /^\(([AD]);((?:OI|CI|NP|IO|ID|SA|FA)*);[A-Za-z0-9]+;;;((?:S-1-(?:\d+-)+\d+)|[A-Z]{2})\)$/.exec(line);
|
|
226
251
|
if (!ace)
|
|
227
252
|
throw new Error('acl_unavailable');
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
return ((!directory || !ace[2]?.includes('ID')) && (ace[1] === 'D' || ace[3] === user.sid || ownAlias));
|
|
253
|
+
// SDDL writes this machine's RID-500 account as LA, never as its SID.
|
|
254
|
+
const sid = ace[3] === 'LA' ? user.localAdministratorSid : ace[3];
|
|
255
|
+
return (!directory || !ace[2]?.includes('ID')) && (ace[1] === 'D' || sid === user.sid);
|
|
232
256
|
});
|
|
233
257
|
}
|
|
234
258
|
const auditDirectories = new Set();
|
|
@@ -253,7 +277,7 @@ function* prepareAclDirectory(state) {
|
|
|
253
277
|
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
254
278
|
throw new Error('acl_permissions');
|
|
255
279
|
if (!auditDirectories.has(directory)) {
|
|
256
|
-
currentIdentity ??=
|
|
280
|
+
currentIdentity ??= yield* readWindowsIdentity();
|
|
257
281
|
yield [windowsCommand('icacls.exe'), aclArgs(directory, currentIdentity.sid, created)];
|
|
258
282
|
if (!created) {
|
|
259
283
|
const temp = join(directory, `.acl-${randomUUID()}.tmp`);
|
|
@@ -375,7 +399,10 @@ function* hookPermission(path, created, session, directory = true) {
|
|
|
375
399
|
!receipt.paths ||
|
|
376
400
|
!receipt.identity ||
|
|
377
401
|
!/^S-1-(?:\d+-)+\d+$/.test(receipt.identity.sid) ||
|
|
378
|
-
typeof receipt.identity.name !== 'string'
|
|
402
|
+
typeof receipt.identity.name !== 'string' ||
|
|
403
|
+
// Written before LA was resolved by SID: re-read the token instead.
|
|
404
|
+
(ADMINISTRATOR_RID.test(receipt.identity.sid) &&
|
|
405
|
+
receipt.identity.localAdministratorSid === undefined))
|
|
379
406
|
receipt = undefined;
|
|
380
407
|
}
|
|
381
408
|
catch {
|
|
@@ -389,7 +416,7 @@ function* hookPermission(path, created, session, directory = true) {
|
|
|
389
416
|
receipts.set(session, receipt);
|
|
390
417
|
return;
|
|
391
418
|
}
|
|
392
|
-
currentIdentity ??=
|
|
419
|
+
currentIdentity ??= yield* readWindowsIdentity();
|
|
393
420
|
const user = currentIdentity;
|
|
394
421
|
if (receipt && receipt.identity.sid !== user.sid)
|
|
395
422
|
receipt = undefined;
|