oh-my-codex 0.21.20 → 0.21.22
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/Cargo.lock +20 -20
- package/Cargo.toml +1 -1
- package/dist/cli/__tests__/plugin-cache-live-pin-3790.test.js +3 -1
- package/dist/cli/__tests__/plugin-cache-live-pin-3790.test.js.map +1 -1
- package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.js +1 -1
- package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +91 -31
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-reasoning-preserve.test.js +18 -0
- package/dist/cli/__tests__/setup-reasoning-preserve.test.js.map +1 -1
- package/dist/cli/__tests__/uninstall.test.js +33 -22
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +14 -4
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/uninstall.js +2 -2
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/config/codex-hooks.d.ts +7 -0
- package/dist/config/codex-hooks.d.ts.map +1 -1
- package/dist/config/codex-hooks.js +13 -0
- package/dist/config/codex-hooks.js.map +1 -1
- package/package.json +1 -1
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
|
@@ -219,7 +219,7 @@ describe("issue 3558 launcher provenance", () => {
|
|
|
219
219
|
await setup({ scope: "user", installMode: "plugin" });
|
|
220
220
|
});
|
|
221
221
|
assert.doesNotMatch(output, /already exposes/);
|
|
222
|
-
assert.match(output, /
|
|
222
|
+
assert.match(output, /incompatible launcher provenance/);
|
|
223
223
|
assert.match(output, /provenance mismatch/);
|
|
224
224
|
const packaged = await resolvePackagedOmxMarketplace(packageRoot);
|
|
225
225
|
assert.ok(packaged);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-launcher-provenance-3558.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/plugin-launcher-provenance-3558.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-launcher-provenance-3558.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/plugin-launcher-provenance-3558.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,EAAE,EACF,KAAK,EACL,OAAO,EACP,QAAQ,EACR,EAAE,EACF,SAAS,EACT,OAAO,GAER,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,sCAAsC,EACtC,qBAAqB,EACrB,6BAA6B,EAE7B,qCAAqC,EACrC,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAClC,IAAI,eAAe,GAAkB,IAAI,CAAC;AAC1C,IAAI,YAAgC,CAAC;AAErC,MAAM,CAAC,KAAK,IAAI,EAAE;IAChB,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAChC,eAAe,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,SAAS,CACb,aAAa,EACb;QACE,qBAAqB;QACrB,qEAAqE;QACrE,mFAAmF;QACnF,mFAAmF;QACnF,mFAAmF;QACnF,oBAAoB;QACpB,GAAG;QACH,8EAA8E;QAC9E,qCAAqC;QACrC,oBAAoB;QACpB,GAAG;QACH,kBAAkB;QAClB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACF,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3F,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,KAAK,IAAI,EAAE;IACf,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;IACrC,IAAI,eAAe;QACjB,MAAM,EAAE,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,oBAAoB,CACjC,EAAU,EACV,EAAwC;IAExC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,YAAY,CAAC;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;;YACzD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;;YACjE,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACrC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,EAAU,EAAE,EAAuB;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,EAAuB;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC;QACtB,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,YAAoB;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,MAAM,QAAQ,CACZ,IAAI,CACF,WAAW,EACX,SAAS,EACT,aAAa,EACb,eAAe,EACf,aAAa,CACd,EACD,OAAO,CACR,CAGF,CAAC;IACF,OAAO,IAAI,CACT,YAAY,EACZ,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,QAAQ,CAAC,OAAO,CACjB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,YAAoB;IACrD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE;QAC9D,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,IAAI,CAAC,SAAS,CACZ;QACE,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,UAAU,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;KACzD,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;IACzF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,QAAgB;IACzD,MAAM,WAAW,GAAG,MAAM,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAY,EACZ,KAAa;IAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;QAChE,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,EAAE,CACN,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC,EAC3D,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC,CACzD,CAAC;IACF,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EACvC,eAAe,KAAK,IAAI,EACxB,OAAO,CACR,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,gIAAgI,EAAE,KAAK,IAAI,EAAE;QAC9I,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAClE,MAAM,cAAc,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAC;YACpE,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;YAC1B,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBACpD,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC/B,uEAAuE;oBACvE,MAAM,EAAE,GAAG,MAAM,iCAAiC,CAChD,YAAY,EACZ,cAAc,CACf,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;oBACxC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,QAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBACrE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CACO,CAAC;oBAC/C,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC5D,qEAAqE;oBACrE,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAClE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC1D,6FAA6F;oBAC7F,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,IAAI,EAAE;wBACnD,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CACO,CAAC;oBAC/C,kCAAkC;oBAClC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC;oBACjE,MAAM,CAAC,KAAK,CACV,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,OAA4B,CACvC,CAAC;oBACF,yBAAyB;oBACzB,MAAM,CAAC,YAAY,CACjB,MAAM,EACN,8DAA8D,CAC/D,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;oBACnD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACvC,MAAM,CAAC,KAAK,CACV,MAAM,EACN,0CAA0C,CAC3C,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,WAAW,CAAC,CAAC;oBAClE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACpB,MAAM,EAAE,GAAG,MAAM,iCAAiC,CAChD,YAAY,EACZ,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBAC1C,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAO,EAAE,gBAAgB,CAAC,CAAC;oBAC3C,MAAM,CAAC,KAAK,CACV,EAAE,CAAC,QAAQ,EACX,YAAY,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CACpD,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBACpD,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC/B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,IAAI,EAAE;wBACnD,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CACV,MAAM,EACN,8DAA8D,CAC/D,CAAC;oBACF,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;oBACrD,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,WAAW,CAAC,CAAC;oBAClE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACpB,MAAM,CAAC,GAAG,MAAM,iCAAiC,CAC/C,YAAY,EACZ,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;oBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,MAAM,QAAQ,CACZ,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,OAAO,CACR,CAGF,CAAC;oBACF,MAAM,CAAC,KAAK,CACV,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EACtB,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAC3C,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC1D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qGAAqG,EAAE,KAAK,IAAI,EAAE;QACnH,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YACvE,MAAM,eAAe,GAAG,MAAM,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YACtE,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YAC3B,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBACpD,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC/B,2BAA2B;oBAC3B,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;oBAC5D,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE;wBAC3D,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,IAAI,CAAC,SAAS,CACZ;wBACE,OAAO,EAAE,OAAO,CAAC,QAAQ;wBACzB,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;qBACtD,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;oBACF,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;oBAC3C,MAAM,CAAC,KAAK,CACV,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EACnD,IAAI,CACL,CAAC;oBACF,wGAAwG;oBACxG,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,IAAI,EAAE;wBACnD,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;oBAC/C,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;oBACzD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;oBAC5C,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,WAAW,CAAC,CAAC;oBAClE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACpB,MAAM,CAAC,GAAG,MAAM,iCAAiC,CAC/C,YAAY,EACZ,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAO,EAAE,qBAAqB,CAAC,CAAC;oBAC/C,kBAAkB;oBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,MAAM,QAAQ,CACZ,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,OAAO,CACR,CAGF,CAAC;oBACF,MAAM,CAAC,KAAK,CACV,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EACtB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CACxC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,+FAA+F,EAAE,KAAK,IAAI,EAAE;QAC7G,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACpB,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC/D,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBACpD,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC/B,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;oBAC5D,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE;wBAC3D,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,MAAM,iBAAiB,GAAG;wBACxB,OAAO,EAAE,OAAO,CAAC,QAAQ;wBACzB,UAAU,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,iBAAiB,CAAC;qBAC1D,CAAC;oBACF,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAClD,CAAC;oBACF,MAAM,eAAe,GAAG,MAAM,sCAAsC,CAClE,QAAQ,EACR,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;oBAC5E,MAAM,eAAe,GAAG,MAAM,iCAAiC,CAC7D,YAAY,EACZ,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACvD,MAAM,CAAC,SAAS,CACd,IAAI,CAAC,KAAK,CACR,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC,CACrE,EACD,iBAAiB,CAClB,CAAC;oBAEF,MAAM,iBAAiB,GAAG;wBACxB,OAAO,EAAE,OAAO,CAAC,QAAQ;wBACzB,UAAU,EAAE,CAAC,cAAc,CAAC;wBAC5B,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;qBACzB,CAAC;oBACF,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAClD,CAAC;oBACF,MAAM,eAAe,GAAG,MAAM,sCAAsC,CAClE,QAAQ,EACR,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;oBAC3B,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;oBAC3D,MAAM,eAAe,GAAG,MAAM,iCAAiC,CAC7D,YAAY,EACZ,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACvD,MAAM,CAAC,SAAS,CACd,IAAI,CAAC,KAAK,CACR,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC,CACrE,EACD,iBAAiB,CAClB,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBACpD,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC/B,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;oBAC5D,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE;wBAC9D,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,IAAI,CAAC,SAAS,CACZ,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,EACzD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;oBACF,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;oBAC7D,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;oBAC3C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,OAAO,CACR,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,WAAW,CAAC,CAAC;oBAClE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACpB,MAAM,CAAC,GAAG,MAAM,iCAAiC,CAC/C,YAAY,EACZ,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAO,EAAE,gBAAgB,CAAC,CAAC;oBAC1C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAC1B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,OAAO,CACR,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBAC5B,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBAChE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,KAAK,IAAI,EAAE;wBACnD,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;oBAC/C,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBACpD,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC/B,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,WAAW,CAAC,CAAC;oBAClE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACpB,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;oBAE5D,iBAAiB;oBACjB,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1D,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAClE,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,EAC9C,MAAM,QAAQ,CACZ,IAAI,CACF,WAAW,EACX,SAAS,EACT,aAAa,EACb,eAAe,EACf,aAAa,CACd,EACD,OAAO,CACR,CACF,CAAC;oBACF,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3D,MAAM,EAAE,CACN,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,EAClE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CACtC,CAAC;oBACF,MAAM,EAAE,CACN,IAAI,CACF,WAAW,EACX,SAAS,EACT,aAAa,EACb,OAAO,EACP,uBAAuB,CACxB,EACD,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,uBAAuB,CAAC,CACjD,CAAC;oBACF,wBAAwB;oBACxB,MAAM,EAAE,CACN,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,EACrD,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACxB,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;oBACF,MAAM,EAAE,CACN,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,EACxD,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAC3B,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;oBACF,MAAM,EAAE,CACN,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,EACxD,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAC5B,CAAC;oBACF,MAAM,EAAE,CACN,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,EACxD,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAC5B,CAAC;oBACF,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,aAAa,EACb,OAAO,CACR,CAAC;oBACF,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;oBAC3C,IAAI,GAAG,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;oBAChD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAM,EAAE,WAAW,CAAC,CAAC;oBACtC,IAAI,CAAC,GAAG,MAAM,iCAAiC,CAC7C,YAAY,EACZ,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAO,EAAE,WAAW,CAAC,CAAC;oBACrC,MAAM,CAAC,KAAK,CACV,CAAC,CAAC,MAAO,EACT,IAAI,MAAM,CACR,6BAA6B,CAAC,OAAO,CACnC,qBAAqB,EACrB,MAAM,CACP,CACF,CACF,CAAC;oBAEF,mBAAmB;oBACnB,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE;wBACpD,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC;oBACH,GAAG,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;oBAC5C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC5B,CAAC,GAAG,MAAM,iCAAiC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBACpE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAO,EAAE,yBAAyB,CAAC,CAAC;oBAEnD,YAAY;oBACZ,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAChF,GAAG,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;oBAC5C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAM,EAAE,WAAW,CAAC,CAAC;oBACtC,CAAC,GAAG,MAAM,iCAAiC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBACpE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAO,EAAE,WAAW,CAAC,CAAC;oBACrC,0CAA0C;oBAC1C,MAAM,UAAU,GAAG,MAAM,sCAAsC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACpF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;oBAEtB,aAAa;oBACb,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC9E,CAAC,GAAG,MAAM,iCAAiC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBACpE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAO,EAAE,WAAW,CAAC,CAAC;oBAErC,sFAAsF;oBACtF,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,IAAI,CAAC,SAAS,CAAC;wBACb,OAAO,EAAE,aAAa;wBACtB,UAAU,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;qBACzD,CAAC,GAAG,IAAI,CACV,CAAC;oBACF,CAAC,GAAG,MAAM,iCAAiC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBACpE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAO,EAAE,qDAAqD,CAAC,CAAC;oBAE/E,sBAAsB;oBACtB,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,IAAI,CAAC,SAAS,CAAC;wBACb,OAAO,EAAE,OAAO,CAAC,QAAQ;wBACzB,UAAU,EAAE,CAAC,sBAAsB,CAAC;qBACrC,CAAC,GAAG,IAAI,CACV,CAAC;oBACF,CAAC,GAAG,MAAM,iCAAiC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBACpE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAO,EAAE,cAAc,CAAC,CAAC;oBAExC,mFAAmF;oBACnF,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;oBACzC,MAAM,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;oBACnE,uEAAuE;oBACvE,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,IAAI,CAAC,SAAS,CAAC;wBACb,OAAO,EAAE,OAAO,CAAC,QAAQ;wBACzB,UAAU,EAAE,CAAC,iBAAiB,CAAC;qBAChC,CAAC,GAAG,IAAI,CACV,CAAC;oBACF,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;oBAC3C,+BAA+B;oBAC/B,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC;oBAClD,MAAM,QAAQ,GAAG,MAAM,sCAAsC,CAC3D,QAAQ,EACR,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAC;oBACnE,CAAC,GAAG,MAAM,iCAAiC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBACpE,MAAM,CAAC,KAAK,CACV,CAAC,CAAC,MAAM,EACR,WAAW,EACX,6DAA6D,CAC9D,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBACpD,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC/B,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;oBAC5D,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE;wBAC9D,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAC3C,IAAI,CAAC,SAAS,CACZ,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,EACzD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CACT,CAAC;oBACF,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;oBAC3C,2GAA2G;oBAC3G,uGAAuG;oBACvG,oHAAoH;oBACpH,sIAAsI;oBACtI,iCAAiC;oBACjC,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,WAAW,CAAC,CAAC;oBAClE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACpB,MAAM,CAAC,GAAG,MAAM,iCAAiC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBAC1E,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACzC,MAAM,QAAQ,GAAG,MAAM,sCAAsC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAClF,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,QAAS,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;oBAC3E,uFAAuF;oBACvF,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnD,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;oBACjJ,0FAA0F;oBAC1F,uHAAuH;oBACvH,iGAAiG;oBACjG,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;oBAChC,MAAM,IAAI,GAAa,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC5E,IAAI,CAAC;wBACH,wIAAwI;wBACxI,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;wBACrD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;wBAClE,MAAM,EAAE,oCAAoC,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;wBAC1F,IAAI,GAAG,GAAG,qCAAqC,CAAC;wBAChD,GAAG,GAAG,qCAAqC,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;wBACnE,GAAG,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAC;wBAC1C,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;wBAC1C,wBAAwB;wBACxB,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC/D,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;oBACnB,CAAC;oBAAC,MAAM,CAAC;wBACP,kDAAkD;oBACpD,CAAC;4BAAS,CAAC;wBACT,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;oBAC5B,CAAC;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;oBACrC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;oBACrC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBACpD,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;oBAC/B,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;oBAC5D,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACrF,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvE,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;oBAC3C,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,WAAW,CAAC,CAAC;oBAClE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACpB,MAAM,QAAQ,GAAG,MAAM,sCAAsC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAClF,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,QAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;oBAC1D,MAAM,CAAC,KAAK,CAAC,QAAS,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;oBAC3E,MAAM,CAAC,GAAG,MAAM,iCAAiC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBAC1E,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBACzC,8IAA8I;oBAC9I,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;oBAClE,MAAM,EAAE,oCAAoC,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;oBAC1F,IAAI,IAAI,GAAG,EAAE,CAAC;oBACZ,IAAI,GAAG,qCAAqC,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;oBACrE,IAAI,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,GAAG,qCAAqC,GAAG,IAAI,CAAC;oBACpD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;oBACpE,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/D,MAAM,IAAI,GAAa,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;oBAC5B,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC5E,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;oBACnB,CAAC;4BAAS,CAAC;wBACT,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC;oBACxB,CAAC;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;oBACrC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;oBACrD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;oBACjE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -11,7 +11,7 @@ import { resolveSetupRefreshArgs } from "../update.js";
|
|
|
11
11
|
import { uninstall } from "../uninstall.js";
|
|
12
12
|
import { OMX_DEVELOPER_INSTRUCTIONS, OMX_PLUGIN_DEVELOPER_INSTRUCTIONS, } from "../../config/generator.js";
|
|
13
13
|
import { materializePackagedOmxPluginCache, registerOmxPluginCacheLivePin, resolvePackagedOmxMarketplace, computeOmxPluginCacheClaimDigest, } from "../plugin-marketplace.js";
|
|
14
|
-
import { buildManagedCodexHookTrustState, buildManagedCodexHooksConfig, buildManagedCodexNativeHookWindowsShimContent, buildManagedCodexNativeHookWindowsShimPath, } from "../../config/codex-hooks.js";
|
|
14
|
+
import { buildManagedCodexHookTrustState, buildManagedCodexHooksConfig, buildManagedCodexNativeHookWindowsShimContent, buildManagedCodexNativeHookWindowsShimPath, buildManagedCodexNativeHookWindowsShimPathForFilesystem, } from "../../config/codex-hooks.js";
|
|
15
15
|
const packageRoot = process.cwd();
|
|
16
16
|
async function writeBoundCompletionMarker(cacheDir) {
|
|
17
17
|
const claimDigest = await computeOmxPluginCacheClaimDigest(cacheDir);
|
|
@@ -1104,14 +1104,16 @@ describe("omx setup install mode behavior", () => {
|
|
|
1104
1104
|
const output = await captureConsoleOutput(async () => {
|
|
1105
1105
|
await setup({ scope: "user", installMode: "plugin" });
|
|
1106
1106
|
});
|
|
1107
|
+
// This scenario has a missing launcher command (does not exist), not a provenance mismatch
|
|
1107
1108
|
const launcher = JSON.parse(await readFile(join(cacheDir, "hooks", "omx-command.json"), "utf-8"));
|
|
1108
|
-
// Immutable snapshot is preserved in place; setup must not report current when launcher is dead
|
|
1109
|
+
// Immutable snapshot is preserved in place; setup must not report current when launcher is dead or provenance-incompatible
|
|
1109
1110
|
assert.equal(launcher.command, "/stale/node");
|
|
1110
1111
|
assert.deepEqual(launcher.argsPrefix, ["/stale/omx.js"]);
|
|
1111
1112
|
assert.doesNotMatch(output, /Invalidated .* stale Codex plugin discovery cache/);
|
|
1112
1113
|
assert.doesNotMatch(output, /Local Codex plugin cache already exposes packaged OMX skills/);
|
|
1113
|
-
assert.match(output, /not safe to use as current/);
|
|
1114
|
-
assert.match(output, /
|
|
1114
|
+
assert.match(output, /is not safe to use as current/);
|
|
1115
|
+
assert.match(output, /pinned launcher command does not exist/);
|
|
1116
|
+
assert.match(output, /codex plugin remove oh-my-codex@oh-my-codex-local --json/);
|
|
1115
1117
|
const packagedMarketplace = await resolvePackagedOmxMarketplace(packageRoot);
|
|
1116
1118
|
assert.ok(packagedMarketplace);
|
|
1117
1119
|
const materialized = await materializePackagedOmxPluginCache(codexHomeDir, packagedMarketplace);
|
|
@@ -1156,6 +1158,8 @@ describe("omx setup install mode behavior", () => {
|
|
|
1156
1158
|
});
|
|
1157
1159
|
});
|
|
1158
1160
|
assert.match(pinnedOutput, /pinned by a live Codex session/);
|
|
1161
|
+
assert.doesNotMatch(pinnedOutput, /codex plugin remove/);
|
|
1162
|
+
assert.match(pinnedOutput, /close that session before repairing it/);
|
|
1159
1163
|
assert.equal(JSON.parse(await readFile(launcherPath, "utf-8")).command, "/stale/node");
|
|
1160
1164
|
await rm(join(cacheDir, ".omx-live-pin"), { recursive: true, force: true });
|
|
1161
1165
|
const repairedOutput = await captureConsoleOutput(async () => {
|
|
@@ -2106,7 +2110,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2106
2110
|
await withTempCwd(wd, async () => {
|
|
2107
2111
|
const configPath = join(codexHomeDir, "config.toml");
|
|
2108
2112
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2109
|
-
const shimPath =
|
|
2113
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2110
2114
|
const metadataPath = join(codexHomeDir, ".omx", "notify-dispatch.json");
|
|
2111
2115
|
const hooks = `${JSON.stringify(buildManagedCodexHooksConfig(packageRoot, {
|
|
2112
2116
|
platform: "win32",
|
|
@@ -2136,6 +2140,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2136
2140
|
const metadata = Buffer.from('{"managedBy":"foreign"}\n', "utf-8");
|
|
2137
2141
|
const shim = Buffer.from(buildManagedCodexNativeHookWindowsShimContent(packageRoot), "utf-8");
|
|
2138
2142
|
await mkdir(dirname(metadataPath), { recursive: true });
|
|
2143
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2139
2144
|
await writeFile(configPath, config);
|
|
2140
2145
|
await writeFile(hooksPath, hooks);
|
|
2141
2146
|
await writeFile(shimPath, shim);
|
|
@@ -2188,7 +2193,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2188
2193
|
await withTempCwd(wd, async () => {
|
|
2189
2194
|
const configPath = join(codexHomeDir, "config.toml");
|
|
2190
2195
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2191
|
-
const shimPath =
|
|
2196
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2192
2197
|
const metadataPath = join(codexHomeDir, ".omx", "notify-dispatch.json");
|
|
2193
2198
|
const config = [
|
|
2194
2199
|
'model = "foreign"',
|
|
@@ -2208,6 +2213,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2208
2213
|
const shim = Buffer.from(buildManagedCodexNativeHookWindowsShimContent(packageRoot), "utf-8");
|
|
2209
2214
|
const metadata = Buffer.from('{"managedBy":"foreign"}\n', "utf-8");
|
|
2210
2215
|
await mkdir(dirname(metadataPath), { recursive: true });
|
|
2216
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2211
2217
|
await writeFile(configPath, config);
|
|
2212
2218
|
if (fixture.hooks !== null)
|
|
2213
2219
|
await writeFile(hooksPath, fixture.hooks);
|
|
@@ -2325,7 +2331,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2325
2331
|
await withTempCwd(wd, async () => {
|
|
2326
2332
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2327
2333
|
const configPath = join(codexHomeDir, "config.toml");
|
|
2328
|
-
const shimPath =
|
|
2334
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2329
2335
|
const managed = buildManagedCodexHooksConfig(packageRoot, {
|
|
2330
2336
|
platform: "win32",
|
|
2331
2337
|
codexHomeDir,
|
|
@@ -2341,6 +2347,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2341
2347
|
}, null, 2)}\n`, "utf-8");
|
|
2342
2348
|
const foreignShim = Buffer.from(`# concurrent ${mutationKind} shim replacement\n`, "utf-8");
|
|
2343
2349
|
await writeFile(hooksPath, hooksBefore);
|
|
2350
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2344
2351
|
await writeFile(shimPath, buildManagedCodexNativeHookWindowsShimContent(packageRoot));
|
|
2345
2352
|
let injected = false;
|
|
2346
2353
|
resetFailureInjector = setNativeHookTransactionFailureInjectorForTest((stage, target) => {
|
|
@@ -2385,7 +2392,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2385
2392
|
await withTempCwd(wd, async () => {
|
|
2386
2393
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2387
2394
|
const configPath = join(codexHomeDir, "config.toml");
|
|
2388
|
-
const shimPath =
|
|
2395
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2389
2396
|
const managed = buildManagedCodexHooksConfig(packageRoot, {
|
|
2390
2397
|
platform: "win32",
|
|
2391
2398
|
codexHomeDir,
|
|
@@ -2401,6 +2408,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2401
2408
|
}, null, 2)}\n`, "utf-8");
|
|
2402
2409
|
const foreignShim = Buffer.from("# concurrent finalization shim replacement\n", "utf-8");
|
|
2403
2410
|
await writeFile(hooksPath, hooksBefore);
|
|
2411
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2404
2412
|
await writeFile(shimPath, buildManagedCodexNativeHookWindowsShimContent(packageRoot));
|
|
2405
2413
|
let injected = false;
|
|
2406
2414
|
resetFailureInjector = setNativeHookTransactionFailureInjectorForTest((stage) => {
|
|
@@ -2437,7 +2445,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2437
2445
|
await withDriveQualifiedWindowsCodexHome(wd, async (codexHomeDir) => {
|
|
2438
2446
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2439
2447
|
const configPath = join(codexHomeDir, "config.toml");
|
|
2440
|
-
const shimPath =
|
|
2448
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2441
2449
|
const managed = buildManagedCodexHooksConfig(packageRoot, {
|
|
2442
2450
|
platform: "win32",
|
|
2443
2451
|
codexHomeDir,
|
|
@@ -2463,6 +2471,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2463
2471
|
codexFeaturesProbe: () => "hooks stable true\nplugin_hooks experimental true\n",
|
|
2464
2472
|
});
|
|
2465
2473
|
await writeFile(hooksPath, futureHooks);
|
|
2474
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2466
2475
|
await writeFile(shimPath, buildManagedCodexNativeHookWindowsShimContent(packageRoot));
|
|
2467
2476
|
await pluginSetup();
|
|
2468
2477
|
assert.equal(existsSync(shimPath), true);
|
|
@@ -2499,7 +2508,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2499
2508
|
await withIsolatedUserHome(wd, async (codexHomeDir) => {
|
|
2500
2509
|
await withTempCwd(wd, async () => {
|
|
2501
2510
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2502
|
-
const shimPath =
|
|
2511
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2503
2512
|
const managed = buildManagedCodexHooksConfig(packageRoot, {
|
|
2504
2513
|
platform: "win32",
|
|
2505
2514
|
codexHomeDir,
|
|
@@ -2513,6 +2522,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2513
2522
|
},
|
|
2514
2523
|
}, null, 2).replace(JSON.stringify(sentinel), JSON.stringify(`& 'C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe' -NoProfile -ExecutionPolicy Bypass -File '${shimPath}'`).replace(/\\\\/g, "\\u005c")) + "\n";
|
|
2515
2524
|
await writeFile(hooksPath, futureHooks);
|
|
2525
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2516
2526
|
await writeFile(shimPath, buildManagedCodexNativeHookWindowsShimContent(packageRoot));
|
|
2517
2527
|
await setup({
|
|
2518
2528
|
scope: "user",
|
|
@@ -2541,11 +2551,12 @@ describe("omx setup install mode behavior", () => {
|
|
|
2541
2551
|
await withIsolatedUserHome(wd, async (codexHomeDir) => {
|
|
2542
2552
|
await withTempCwd(wd, async () => {
|
|
2543
2553
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2544
|
-
const shimPath =
|
|
2545
|
-
const
|
|
2546
|
-
|
|
2547
|
-
.replace(/
|
|
2548
|
-
.replace(
|
|
2554
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2555
|
+
const shimPathWindows = buildManagedCodexNativeHookWindowsShimPath(codexHomeDir);
|
|
2556
|
+
const shimAlias = shimPathWindows
|
|
2557
|
+
.replace(/[\\\\/]+hooks[\\\\/]+/i, "\\hooks\\\\.\\")
|
|
2558
|
+
.replace(/omx-native-hook-windows-shim\\.ps1$/i, "OMX-NATIVE-HOOK-WINDOWS-SHIM.PS1")
|
|
2559
|
+
.replace(/\\\\/g, "/");
|
|
2549
2560
|
const managed = buildManagedCodexHooksConfig(packageRoot, {
|
|
2550
2561
|
platform: "win32",
|
|
2551
2562
|
codexHomeDir,
|
|
@@ -2562,6 +2573,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2562
2573
|
}],
|
|
2563
2574
|
},
|
|
2564
2575
|
}, null, 2) + "\n");
|
|
2576
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2565
2577
|
await writeFile(shimPath, buildManagedCodexNativeHookWindowsShimContent(packageRoot));
|
|
2566
2578
|
await setup({
|
|
2567
2579
|
scope: "user",
|
|
@@ -2587,7 +2599,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2587
2599
|
await withIsolatedUserHome(wd, async (codexHomeDir) => {
|
|
2588
2600
|
await withTempCwd(wd, async () => {
|
|
2589
2601
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2590
|
-
const shimPath =
|
|
2602
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2591
2603
|
const managed = buildManagedCodexHooksConfig(packageRoot, {
|
|
2592
2604
|
platform: "win32",
|
|
2593
2605
|
codexHomeDir,
|
|
@@ -2604,6 +2616,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2604
2616
|
}],
|
|
2605
2617
|
},
|
|
2606
2618
|
}, null, 2) + "\n");
|
|
2619
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2607
2620
|
await writeFile(shimPath, buildManagedCodexNativeHookWindowsShimContent(packageRoot));
|
|
2608
2621
|
await setup({
|
|
2609
2622
|
scope: "user",
|
|
@@ -2629,7 +2642,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2629
2642
|
await withIsolatedUserHome(wd, async (codexHomeDir) => {
|
|
2630
2643
|
await withTempCwd(wd, async () => {
|
|
2631
2644
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2632
|
-
const shimPath =
|
|
2645
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2633
2646
|
const managed = buildManagedCodexHooksConfig(packageRoot, {
|
|
2634
2647
|
platform: "win32",
|
|
2635
2648
|
codexHomeDir,
|
|
@@ -2646,6 +2659,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2646
2659
|
],
|
|
2647
2660
|
},
|
|
2648
2661
|
}, null, 2) + "\n");
|
|
2662
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
2649
2663
|
await writeFile(shimPath, buildManagedCodexNativeHookWindowsShimContent(packageRoot));
|
|
2650
2664
|
await setup({
|
|
2651
2665
|
scope: "user",
|
|
@@ -2689,7 +2703,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2689
2703
|
});
|
|
2690
2704
|
assert.ok(syncCalls > 0);
|
|
2691
2705
|
assert.equal(existsSync(join(codexHomeDir, "hooks.json")), true);
|
|
2692
|
-
assert.equal(existsSync(
|
|
2706
|
+
assert.equal(existsSync(buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir)), true);
|
|
2693
2707
|
assert.equal(existsSync(join(codexHomeDir, "config.toml")), true);
|
|
2694
2708
|
});
|
|
2695
2709
|
assert.equal(stderr.filter((line) => line.includes("native-hook setup")).length, 1);
|
|
@@ -2728,7 +2742,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2728
2742
|
await setup({ scope: "user", installMode: "legacy", skipNativeAgentRefresh: true });
|
|
2729
2743
|
assert.ok(directorySyncCalls > 0);
|
|
2730
2744
|
assert.equal(existsSync(join(codexHomeDir, "hooks.json")), true);
|
|
2731
|
-
assert.equal(existsSync(
|
|
2745
|
+
assert.equal(existsSync(buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir)), true);
|
|
2732
2746
|
assert.equal(existsSync(join(codexHomeDir, "config.toml")), true);
|
|
2733
2747
|
});
|
|
2734
2748
|
assert.deepEqual(stderr.filter((line) => line.includes("native-hook setup")), ["[omx] warning: Windows EPERM directory fsync unsupported in native-hook setup; operation succeeded with degraded durability.\n"]);
|
|
@@ -2890,7 +2904,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2890
2904
|
skipNativeAgentRefresh: true,
|
|
2891
2905
|
});
|
|
2892
2906
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2893
|
-
const shimPath =
|
|
2907
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2894
2908
|
assert.equal(existsSync(hooksPath), true);
|
|
2895
2909
|
assert.equal(existsSync(shimPath), true);
|
|
2896
2910
|
resetFailureInjector = setNativeHookTransactionFailureInjectorForTest((stage, artifact) => {
|
|
@@ -2937,7 +2951,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2937
2951
|
skipNativeAgentRefresh: true,
|
|
2938
2952
|
});
|
|
2939
2953
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2940
|
-
const shimPath =
|
|
2954
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2941
2955
|
assert.equal(existsSync(shimPath), true);
|
|
2942
2956
|
assert.equal(existsSync(hooksPath), true);
|
|
2943
2957
|
await setup({
|
|
@@ -2975,7 +2989,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
2975
2989
|
skipNativeAgentRefresh: true,
|
|
2976
2990
|
});
|
|
2977
2991
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
2978
|
-
const shimPath =
|
|
2992
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
2979
2993
|
const hooksBefore = await readFile(hooksPath);
|
|
2980
2994
|
const shimBefore = await readFile(shimPath);
|
|
2981
2995
|
const configBefore = await readFile(join(codexHomeDir, "config.toml"));
|
|
@@ -3723,8 +3737,9 @@ describe("omx setup install mode behavior", () => {
|
|
|
3723
3737
|
try {
|
|
3724
3738
|
await withIsolatedUserHome(wd, async (codexHomeDir) => {
|
|
3725
3739
|
await withTempCwd(wd, async () => {
|
|
3726
|
-
const shimPath =
|
|
3740
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
3727
3741
|
const modifiedShim = "# modified by user\n";
|
|
3742
|
+
await mkdir(dirname(shimPath), { recursive: true });
|
|
3728
3743
|
await writeFile(shimPath, modifiedShim);
|
|
3729
3744
|
await assert.rejects(() => setup({
|
|
3730
3745
|
scope: "user",
|
|
@@ -3792,7 +3807,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
3792
3807
|
await withIsolatedUserHome(wd, async (codexHomeDir) => {
|
|
3793
3808
|
await withTempCwd(wd, async () => {
|
|
3794
3809
|
await writeFile(join(codexHomeDir, "config.toml"), 'notify = ["node", "/tmp/user-notify.js"]\n');
|
|
3795
|
-
const shimPath =
|
|
3810
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
3796
3811
|
await assert.rejects(() => setup({
|
|
3797
3812
|
scope: "user",
|
|
3798
3813
|
installMode: "legacy",
|
|
@@ -3953,7 +3968,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
3953
3968
|
codexFeaturesProbe: () => null,
|
|
3954
3969
|
codexVersionProbe: () => null,
|
|
3955
3970
|
});
|
|
3956
|
-
const shimPath =
|
|
3971
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
3957
3972
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
3958
3973
|
const configPath = join(codexHomeDir, "config.toml");
|
|
3959
3974
|
const configBefore = await readFile(configPath);
|
|
@@ -4075,7 +4090,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
4075
4090
|
try {
|
|
4076
4091
|
await withIsolatedUserHome(wd, async (codexHomeDir) => {
|
|
4077
4092
|
await withTempCwd(wd, async () => {
|
|
4078
|
-
const shimPath =
|
|
4093
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
4079
4094
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
4080
4095
|
const configPath = join(codexHomeDir, "config.toml");
|
|
4081
4096
|
const shimBefore = Buffer.from(buildManagedCodexNativeHookWindowsShimContent("", {
|
|
@@ -4340,7 +4355,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
4340
4355
|
installMode: "legacy",
|
|
4341
4356
|
skipNativeAgentRefresh: true,
|
|
4342
4357
|
});
|
|
4343
|
-
const shimPath =
|
|
4358
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
4344
4359
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
4345
4360
|
const configPath = join(codexHomeDir, "config.toml");
|
|
4346
4361
|
const stagedDeletionPath = join(codexHomeDir, ".hooks-delete-owned");
|
|
@@ -4541,7 +4556,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
4541
4556
|
installMode: "legacy",
|
|
4542
4557
|
skipNativeAgentRefresh: true,
|
|
4543
4558
|
});
|
|
4544
|
-
const shimPath =
|
|
4559
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
4545
4560
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
4546
4561
|
const configPath = join(codexHomeDir, "config.toml");
|
|
4547
4562
|
const stagedDeletionPath = (path, purpose) => join(dirname(path), `.${basename(path)}.cleanup-${purpose}`);
|
|
@@ -4618,7 +4633,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
4618
4633
|
installMode: "legacy",
|
|
4619
4634
|
skipNativeAgentRefresh: true,
|
|
4620
4635
|
});
|
|
4621
|
-
const shimPath =
|
|
4636
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
4622
4637
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
4623
4638
|
const configPath = join(codexHomeDir, "config.toml");
|
|
4624
4639
|
const before = {
|
|
@@ -4726,7 +4741,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
4726
4741
|
await withTempCwd(wd, async () => {
|
|
4727
4742
|
await setup({ scope: "user", installMode: "legacy", skipNativeAgentRefresh: true });
|
|
4728
4743
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
4729
|
-
const shimPath =
|
|
4744
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
4730
4745
|
const configPath = join(codexHomeDir, "config.toml");
|
|
4731
4746
|
const configBefore = await readFile(configPath);
|
|
4732
4747
|
const stagedHooksPath = join(codexHomeDir, ".hooks-preflight-recovery");
|
|
@@ -4769,7 +4784,7 @@ describe("omx setup install mode behavior", () => {
|
|
|
4769
4784
|
await withTempCwd(wd, async () => {
|
|
4770
4785
|
await setup({ scope: "user", installMode: "legacy", skipNativeAgentRefresh: true });
|
|
4771
4786
|
const hooksPath = join(codexHomeDir, "hooks.json");
|
|
4772
|
-
const shimPath =
|
|
4787
|
+
const shimPath = buildManagedCodexNativeHookWindowsShimPathForFilesystem(codexHomeDir);
|
|
4773
4788
|
const configPath = join(codexHomeDir, "config.toml");
|
|
4774
4789
|
const configBefore = await readFile(configPath);
|
|
4775
4790
|
let injectedFailure = false;
|
|
@@ -4921,6 +4936,51 @@ describe("omx setup install mode behavior", () => {
|
|
|
4921
4936
|
await rm(wd, { recursive: true, force: true });
|
|
4922
4937
|
}
|
|
4923
4938
|
});
|
|
4939
|
+
it("preserves fail-closed cache recovery guidance for symlink/untrusted stale launcher", async () => {
|
|
4940
|
+
const wd = await mkdtemp(join(tmpdir(), "omx-setup-untrusted-cache-"));
|
|
4941
|
+
try {
|
|
4942
|
+
await withIsolatedUserHome(wd, async (codexHomeDir) => {
|
|
4943
|
+
await withTempCwd(wd, async () => {
|
|
4944
|
+
const cacheBaseDir = await packagedPluginCacheDir(codexHomeDir);
|
|
4945
|
+
await mkdir(dirname(cacheBaseDir), { recursive: true });
|
|
4946
|
+
// Create a symlink to an external directory instead of a real cache
|
|
4947
|
+
const externalCacheDir = join(wd, "external-cache");
|
|
4948
|
+
await mkdir(externalCacheDir, { recursive: true });
|
|
4949
|
+
await symlink(externalCacheDir, cacheBaseDir);
|
|
4950
|
+
const output = await captureConsoleOutput(async () => {
|
|
4951
|
+
await setup({ scope: "user", installMode: "plugin" });
|
|
4952
|
+
});
|
|
4953
|
+
// For symlink/untrusted cases, should NOT suggest codex plugin remove
|
|
4954
|
+
assert.match(output, /symlink or non-directory entry/);
|
|
4955
|
+
assert.doesNotMatch(output, /codex plugin remove/);
|
|
4956
|
+
// Should preserve the specific recovery guidance for untrusted entries
|
|
4957
|
+
assert.match(output, /remove only the cache entry at .* itself without following symlinks/);
|
|
4958
|
+
});
|
|
4959
|
+
});
|
|
4960
|
+
}
|
|
4961
|
+
finally {
|
|
4962
|
+
await rm(wd, { recursive: true, force: true });
|
|
4963
|
+
}
|
|
4964
|
+
});
|
|
4965
|
+
it("includes codex plugin remove guidance for dead launcher stale-launcher result", async () => {
|
|
4966
|
+
const wd = await mkdtemp(join(tmpdir(), "omx-setup-dead-launcher-"));
|
|
4967
|
+
try {
|
|
4968
|
+
await withIsolatedUserHome(wd, async (codexHomeDir) => {
|
|
4969
|
+
await withTempCwd(wd, async () => {
|
|
4970
|
+
const cacheDir = await seedSameVersionPluginCacheWithStaleLauncher(codexHomeDir);
|
|
4971
|
+
const output = await captureConsoleOutput(async () => {
|
|
4972
|
+
await setup({ scope: "user", installMode: "plugin" });
|
|
4973
|
+
});
|
|
4974
|
+
// For dead launcher, should suggest codex plugin remove
|
|
4975
|
+
assert.match(output, /pinned launcher command does not exist/);
|
|
4976
|
+
assert.match(output, /codex plugin remove oh-my-codex@oh-my-codex-local --json/);
|
|
4977
|
+
});
|
|
4978
|
+
});
|
|
4979
|
+
}
|
|
4980
|
+
finally {
|
|
4981
|
+
await rm(wd, { recursive: true, force: true });
|
|
4982
|
+
}
|
|
4983
|
+
});
|
|
4924
4984
|
});
|
|
4925
4985
|
describe("late setup failure transaction boundary", () => {
|
|
4926
4986
|
it("does not commit config or hooks when a later setup phase fails", async () => {
|