oh-my-codex 0.20.0 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/Cargo.lock +6 -6
  2. package/Cargo.toml +1 -1
  3. package/dist/cli/__tests__/codex-plugin-layout.test.js +27 -0
  4. package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
  5. package/dist/cli/__tests__/doctor-context-window-warning.test.js +83 -78
  6. package/dist/cli/__tests__/doctor-context-window-warning.test.js.map +1 -1
  7. package/dist/cli/__tests__/doctor-invalid-config.test.js +9 -0
  8. package/dist/cli/__tests__/doctor-invalid-config.test.js.map +1 -1
  9. package/dist/cli/__tests__/doctor-warning-copy.test.js +87 -1
  10. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  11. package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js +54 -2
  12. package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js.map +1 -1
  13. package/dist/cli/__tests__/setup-install-mode.test.js +3 -3
  14. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  15. package/dist/cli/__tests__/setup-refresh.test.js +137 -5
  16. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  17. package/dist/cli/__tests__/setup-scope.test.js +27 -3
  18. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  19. package/dist/cli/__tests__/uninstall.test.js +297 -3
  20. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  21. package/dist/cli/doctor.d.ts +2 -0
  22. package/dist/cli/doctor.d.ts.map +1 -1
  23. package/dist/cli/doctor.js +42 -31
  24. package/dist/cli/doctor.js.map +1 -1
  25. package/dist/cli/setup.js +2 -2
  26. package/dist/cli/setup.js.map +1 -1
  27. package/dist/cli/uninstall.d.ts.map +1 -1
  28. package/dist/cli/uninstall.js +3 -4
  29. package/dist/cli/uninstall.js.map +1 -1
  30. package/dist/config/__tests__/generator-idempotent.test.js +200 -104
  31. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  32. package/dist/config/__tests__/generator-notify.test.js +22 -48
  33. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  34. package/dist/config/generator.d.ts +19 -10
  35. package/dist/config/generator.d.ts.map +1 -1
  36. package/dist/config/generator.js +169 -152
  37. package/dist/config/generator.js.map +1 -1
  38. package/dist/leader/__tests__/contract.test.js +43 -1
  39. package/dist/leader/__tests__/contract.test.js.map +1 -1
  40. package/dist/leader/contract.d.ts.map +1 -1
  41. package/dist/leader/contract.js +23 -5
  42. package/dist/leader/contract.js.map +1 -1
  43. package/dist/scripts/__tests__/codex-native-hook.test.js +1104 -20
  44. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  45. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  46. package/dist/scripts/codex-native-hook.js +139 -19
  47. package/dist/scripts/codex-native-hook.js.map +1 -1
  48. package/dist/utils/__tests__/agents-md.test.js +16 -0
  49. package/dist/utils/__tests__/agents-md.test.js.map +1 -1
  50. package/dist/utils/agents-md.d.ts.map +1 -1
  51. package/dist/utils/agents-md.js +4 -3
  52. package/dist/utils/agents-md.js.map +1 -1
  53. package/package.json +1 -1
  54. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  55. package/src/scripts/__tests__/codex-native-hook.test.ts +1281 -53
  56. package/src/scripts/codex-native-hook.ts +142 -16
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/cli/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/cli/uninstall.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,6BAA6B,EAC7B,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oCAAoC,EACpC,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAmB,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AA4BpF,SAAS,wBAAwB,CAAC,MAAc;IAQ9C,MAAM,aAAa,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACrE,IAAI,MAAM,CAAC,oBAAoB,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACvD,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5E,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACrC,eAAe,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GACjB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IAErD,MAAM,eAAe,GACnB,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,iCAAiC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9C,8CAA8C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9D,MAAM,eAAe,GACnB,iCAAiC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9C,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1C,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,oBAAoB,GAAG,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEzE,OAAO;QACL,aAAa;QACb,eAAe;QACf,aAAa;QACb,eAAe;QACf,eAAe;QACf,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAC7C,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAClC,CAAC;IACF,IAAI,aAAa,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEpC,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,UAAU,GAAG,CAAC,CAAC;YACf,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,KAAK;SACT,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,UAAU,CAAC;SACpC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,aAAqB;IAErB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,oCAAoC,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,IAAY;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACpD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CACzB,CAAC;IACF,MAAM,QAAQ,GAAG,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IACvE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,iCAAiC,CAC9C,UAAkB,EAClB,cAAsB,EACtB,cAAsB;IAEtB,MAAM,aAAa,GAAG,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACjE,IACE,CAAC,yBAAyB,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC;QAC3D,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/C,EACD,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAEhE,CAAC;QACF,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC/C,IACE,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;YAC7B,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EACxD,CAAC;YACD,MAAM,uBAAuB,GAAG,6BAA6B,CAC3D,cAAc,EACd,cAAc,EAAE,CACjB,CAAC;YACF,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,OAAO,iBAAiB,CACtB,cAAc,EACd,YAAY,qBAAqB,CAAC,uBAAuB,CAAC,EAAE,CAC7D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mFAAmF;IACrF,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,UAAkB,EAClB,OAKC;IAYD,MAAM,MAAM,GAAG;QACb,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,EAAc;QACjC,mBAAmB,EAAE,CAAC;QACtB,iBAAiB,EAAE,KAAK;QACxB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;KAC3B,CAAC;IAEF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,6BAA6B,GACjC,OAAO,CAAC,wBAAwB,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAE1E,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC;IAClD,MAAM,CAAC,mBAAmB,GAAG,QAAQ,CAAC,eAAe,CAAC;IACtD,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC;IAClD,MAAM,CAAC,mBAAmB,GAAG,QAAQ,CAAC,eAAe,CAAC;IACtD,MAAM,CAAC,mBAAmB,GAAG,QAAQ,CAAC,eAAe,CAAC;IAEtD,oDAAoD;IACpD,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,GAAG,OAAO,CAAC;IAEjB,yEAAyE;IACzE,8CAA8C;IAC9C,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,GAAG,MAAM,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/E,+EAA+E;IAC/E,MAAM,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAElD,sBAAsB;IACtB,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,6BAA6B,EAAE,CAAC;QAClC,MAAM,GAAG,2BAA2B,CAClC,MAAM,EACN,iCAAiC,CAAC;YAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC,CACH,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAErC,gCAAgC;IAChC,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAEjC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,UAAU,EAAE,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,UAAkB,EAClB,OAAe,EACf,OAAqD;IAErD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,CAAC,CAAC;IAEpE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAEjD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAErC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO;YACjB,OAAO,CAAC,GAAG,CACT,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,YAAY,IAAI,EAAE,CACnE,CAAC;QACJ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,SAAiB,EACjB,OAAe,EACf,OAAqD;IAErD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC;IAElE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3E,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QAErC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,OAAO,CAAC,OAAO;YACjB,OAAO,CAAC,GAAG,CACT,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,WAAW,KAAK,CAAC,IAAI,GAAG,CACzE,CAAC;QACJ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,SAAiB,EACjB,OAAqD;IAErD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC;IAErC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAS;QAEtC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO;YACjB,OAAO,CAAC,GAAG,CACT,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,kBAAkB,IAAI,OAAO,CAC9E,CAAC;QACJ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,IAAI,OAAO,CAAC,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,YAAoB,EACpB,OAAqD;IAErD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,OAAO;gBACjB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,OAAO;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,aAAqB,EACrB,OAAqD;IAErD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,oBAAoB,GACxB,MAAM,KAAK,IAAI;QACf,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC;IAE3D,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,oBAAoB;QAAE,OAAO,KAAK,CAAC;IAE9D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,WAAW,KAAK,IAAI,IAAI,oBAAoB,EAAE,CAAC;YACjD,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CACT,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,IAAI,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE,CACxI,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,WAAmB,EACnB,OAAqD;IAErD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,OAAO;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,KAAiB;IAEjB,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,OAAO,GAAG,MAAM,4BAA4B,EAAE,CAAC;IACrD,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,CACL,yCAAyC,OAAO,CAAC,gBAAgB,YAAY;YAC7E,oEAAoE;YACpE,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GACnB,OAAO,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,KAAK,OAAO,CAAC,oBAAoB,CAAC,MAAM,6BAA6B;QACvE,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,CACL,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,0CAA0C;QACjF,GAAG,OAAO,CAAC,YAAY,QAAQ,OAAO,CAAC,SAAS,GAAG,eAAe,IAAI;QACtE,8DAA8D;QAC9D,oEAAoE,CACrE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAAyB,EAAE,MAAe;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEpC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,2CAA2C,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CACT,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CACT,iGAAiG,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,2CAA2C,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,cAAc,kBAAkB,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,OAAO,CAAC,aAAa,WAAW,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,IAAI,OAAO,CAAC,mBAAmB,yBAAyB,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,YAAY,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,wBAAwB,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,YAAY,GAChB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,cAAc;QACtB,OAAO,CAAC,aAAa;QACrB,OAAO,CAAC,mBAAmB;QAC3B,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1C,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CACT,mEAAmE,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAA4B,EAAE;IAC5D,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,GACd,GAAG,OAAO,CAAC;IAEZ,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,6DAA6D;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,uBAAuB,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC;IAC9E,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAE9D,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAqB;QAChC,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE,CAAC;QACtB,iBAAiB,EAAE,KAAK;QACxB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAC1B,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,CAAC;QACjB,aAAa,EAAE,CAAC;QAChB,mBAAmB,EAAE,CAAC;QACtB,eAAe,EAAE,KAAK;QACtB,qBAAqB,EAAE,KAAK;QAC5B,sBAAsB,EAAE,IAAI;KAC7B,CAAC;IAEF,OAAO,CAAC,sBAAsB,GAAG,MAAM,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC3E,MAAM,wBAAwB,GAAG,MAAM,8BAA8B,CACnE,SAAS,CAAC,cAAc,CACzB,CAAC;IAEF,4BAA4B;IAC5B,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,eAAe,EAAE;YAChE,MAAM;YACN,OAAO;YACP,wBAAwB;YACxB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,gBAAgB,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,cAAc,EAAE;QACzE,MAAM;QACN,OAAO;KACR,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CACjG,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,cAAc,GAAG,MAAM,sBAAsB,CACnD,SAAS,CAAC,UAAU,EACpB,OAAO,EACP,EAAE,MAAM,EAAE,OAAO,EAAE,CACpB,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,aAAa,CAChF,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,mBAAmB,GAAG,MAAM,kBAAkB,CACpD,SAAS,CAAC,eAAe,EACzB,EAAE,MAAM,EAAE,OAAO,EAAE,CACpB,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,mBAAmB,mBAAmB,CAC3F,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,kCAAkC;IAClC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,aAAa,GAAG,MAAM,qBAAqB,CACjD,SAAS,CAAC,SAAS,EACnB,OAAO,EACP,EAAE,MAAM,EAAE,OAAO,EAAE,CACpB,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,aAAa,YAAY,CAC9E,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,gEAAgE;IAChE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,YAAY,GAChB,KAAK,KAAK,SAAS;QACjB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAChD,OAAO,CAAC,eAAe,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE;QAC3D,MAAM;QACN,OAAO;KACR,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,qBAAqB,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE;YACtE,MAAM;YACN,OAAO;SACR,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,uDAAuD;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;YACvC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM;oBAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,IAAI,OAAO;oBACT,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAC1D,CAAC;YACN,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE9B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACT,mEAAmE,CACpE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
@@ -8,7 +8,7 @@ import { mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
8
8
  import { tmpdir } from "node:os";
9
9
  import { isAbsolute, join } from "node:path";
10
10
  import TOML from "@iarna/toml";
11
- import { buildMergedConfig, cleanCodexModelAvailabilityNuxIfNeeded, mergeConfig, repairConfigIfNeeded, stripManagedCodexHookTrustState, upsertManagedCodexHookTrustState, } from "../generator.js";
11
+ import { analyzeLegacyMultiAgentConfig, buildMergedConfig, cleanCodexModelAvailabilityNuxIfNeeded, hasExactOmxSeededBehavioralDefaultsPair, mergeConfig, repairConfigIfNeeded, stripManagedCodexHookTrustState, stripOmxFeatureFlags, upsertManagedCodexHookTrustState, stripOmxSeededBehavioralDefaults, } from "../generator.js";
12
12
  import { buildManagedCodexHookTrustState } from "../codex-hooks.js";
13
13
  import { OMX_FIRST_PARTY_MCP_SERVER_NAMES } from "../omx-first-party-mcp.js";
14
14
  /** Count occurrences of a pattern in text */
@@ -133,15 +133,75 @@ describe("config generator idempotency (#384)", () => {
133
133
  await mergeConfig(configPath, wd);
134
134
  const toml = await readFile(configPath, "utf-8");
135
135
  assertSingleOmxBlock(toml);
136
- assert.match(toml, /^multi_agent = true$/m);
136
+ assert.doesNotMatch(toml, /^multi_agent\s*=/m);
137
137
  assert.match(toml, /^child_agents_md = true$/m);
138
138
  assert.match(toml, /^hooks = true$/m);
139
139
  assert.match(toml, /^goals = true$/m);
140
+ assert.doesNotMatch(toml, /^\[agents\]$/m);
141
+ assert.doesNotMatch(toml, /^max_threads\s*=/m);
142
+ assert.doesNotMatch(toml, /^max_depth\s*=/m);
140
143
  }
141
144
  finally {
142
145
  await rm(wd, { recursive: true, force: true });
143
146
  }
144
147
  });
148
+ it("classifies legacy multi-agent keys without mutating config", () => {
149
+ const absent = analyzeLegacyMultiAgentConfig("");
150
+ assert.equal(absent.assessments["features.multi_agent"].state, "absent");
151
+ const legacy = analyzeLegacyMultiAgentConfig([
152
+ "[features]",
153
+ "multi_agent = true",
154
+ "",
155
+ "[agents]",
156
+ "max_threads = 6",
157
+ "max_depth = 2",
158
+ ].join("\n"));
159
+ assert.equal(legacy.assessments["features.multi_agent"].state, "retained-legacy");
160
+ assert.equal(legacy.assessments["agents.max_threads"].state, "retained-legacy");
161
+ assert.equal(legacy.assessments["agents.max_depth"].state, "retained-legacy");
162
+ const custom = analyzeLegacyMultiAgentConfig("[features]\nmulti_agent = false\n\n[agents]\nmax_threads = 8\nmax_depth = 3\n");
163
+ assert.equal(custom.assessments["features.multi_agent"].state, "custom");
164
+ assert.equal(custom.assessments["agents.max_threads"].state, "custom");
165
+ assert.equal(custom.assessments["agents.max_depth"].state, "custom");
166
+ const invalid = analyzeLegacyMultiAgentConfig("[features\nmulti_agent = true");
167
+ assert.equal(invalid.assessments["features.multi_agent"].state, "invalid/duplicate");
168
+ const duplicate = analyzeLegacyMultiAgentConfig("[features]\nmulti_agent = true\nmulti_agent = false\n");
169
+ assert.equal(duplicate.assessments["features.multi_agent"].state, "invalid/duplicate");
170
+ assert.equal(duplicate.assessments["features.multi_agent"].reasonCode, "toml-duplicate-key");
171
+ });
172
+ it("preserves legacy multi-agent values and all role tables across fixed-point merges", () => {
173
+ const existing = [
174
+ "[features]",
175
+ "multi_agent = false",
176
+ "",
177
+ "[agents]",
178
+ "max_threads = 8",
179
+ "max_depth = 3",
180
+ "",
181
+ "[agents.executor]",
182
+ 'config_file = "/custom/executor.toml"',
183
+ "",
184
+ '[agents."review bot"]',
185
+ 'config_file = "/custom/review.toml"',
186
+ "",
187
+ ].join("\n");
188
+ const merged = buildMergedConfig(existing, "/tmp/omx");
189
+ assert.match(merged, /^multi_agent = false$/m);
190
+ assert.match(merged, /^max_threads = 8$/m);
191
+ assert.match(merged, /^max_depth = 3$/m);
192
+ assert.match(merged, /^\[agents\.executor\]$/m);
193
+ assert.match(merged, /^\[agents\."review bot"\]$/m);
194
+ assert.match(merged, /^config_file = "\/custom\/executor\.toml"$/m);
195
+ assert.match(merged, /^config_file = "\/custom\/review\.toml"$/m);
196
+ const parsed = TOML.parse(merged);
197
+ assert.equal(parsed.agents?.executor?.config_file, "/custom/executor.toml");
198
+ assert.equal(parsed.agents?.["review bot"]?.config_file, "/custom/review.toml");
199
+ assert.equal(buildMergedConfig(merged, "/tmp/omx"), merged);
200
+ });
201
+ it("can preserve multi_agent while stripping other OMX feature flags", () => {
202
+ const stripped = stripOmxFeatureFlags("[features]\nmulti_agent = false\nchild_agents_md = true\nhooks = true\ngoals = true\n", { preserveMultiAgent: true });
203
+ assert.equal(stripped, "[features]\nmulti_agent = false\n");
204
+ });
145
205
  it("emits first-party MCP blocks only when explicitly enabled", () => {
146
206
  const toml = buildMergedConfig("", "/tmp/omx", {
147
207
  includeFirstPartyMcp: true,
@@ -354,11 +414,10 @@ describe("config generator idempotency (#384)", () => {
354
414
  assertSingleOmxBlock(toml);
355
415
  assert.match(toml, /^\[user\.custom\]$/m, "user section preserved");
356
416
  assert.match(toml, /^name = "kept"$/m, "user key preserved");
357
- assert.match(toml, /^\[agents\]$/m, "global agents settings added");
358
- assert.match(toml, /^max_threads = 6$/m, "global agents max_threads seeded");
359
- assert.match(toml, /^max_depth = 2$/m, "global agents max_depth seeded");
360
- assert.doesNotMatch(toml, /^\[agents\.executor\]$/m, "legacy OMX agent entry removed");
361
- assert.doesNotMatch(toml, /^\[agents\.explore\]$/m, "legacy OMX agent entry removed");
417
+ assert.match(toml, /^\[agents\.executor\]$/m, "known agent table preserved");
418
+ assert.match(toml, /^\[agents\.explore\]$/m, "known agent table preserved");
419
+ assert.match(toml, /^config_file = "\/old\/path\/executor\.toml"$/m);
420
+ assert.match(toml, /^config_file = "\/old\/path\/explore\.toml"$/m);
362
421
  }
363
422
  finally {
364
423
  await rm(wd, { recursive: true, force: true });
@@ -518,128 +577,165 @@ describe("config generator idempotency (#384)", () => {
518
577
  await rm(wd, { recursive: true, force: true });
519
578
  }
520
579
  });
521
- it("seeds context keys when root model is missing and both context keys are absent", async () => {
580
+ it("does not seed context defaults and preserves explicit context settings", async () => {
522
581
  const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
523
582
  try {
524
583
  const configPath = join(wd, "config.toml");
525
- await writeFile(configPath, 'approval_policy = "on-failure"\n');
584
+ await writeFile(configPath, ['model = "gpt-5.6-sol"', "model_context_window = 640000", ""].join("\n"));
526
585
  await mergeConfig(configPath, wd);
527
586
  const toml = await readFile(configPath, "utf-8");
528
- assert.match(toml, /^model = "gpt-5.6-sol"$/m);
529
- assert.match(toml, /^# oh-my-codex seeded behavioral defaults \(uninstall removes unchanged defaults\)$/m);
530
- assert.match(toml, /^model_context_window = 250000$/m);
531
- assert.match(toml, /^model_auto_compact_token_limit = 200000$/m);
532
- assert.match(toml, /^# End oh-my-codex seeded behavioral defaults$/m);
587
+ assert.match(toml, /^model_context_window = 640000$/m);
588
+ assert.doesNotMatch(toml, /^model_auto_compact_token_limit\s*=/m);
589
+ assert.doesNotMatch(toml, /seeded behavioral defaults/);
590
+ await mergeConfig(configPath, wd);
591
+ const repeated = await readFile(configPath, "utf-8");
592
+ assert.equal(repeated, toml);
593
+ assert.doesNotMatch(repeated, /^model_auto_compact_token_limit\s*=/m);
594
+ assert.doesNotMatch(repeated, /seeded behavioral defaults/);
533
595
  }
534
596
  finally {
535
597
  await rm(wd, { recursive: true, force: true });
536
598
  }
537
599
  });
538
- it("can override gpt-5.6-terra to gpt-5.6-sol and seed 250k context defaults", async () => {
539
- const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
540
- try {
541
- const toml = buildMergedConfig('model = \"gpt-5.6-terra\"\n', wd, {
542
- modelOverride: "gpt-5.6-sol",
543
- });
544
- assert.match(toml, /^model = "gpt-5\.6-sol"$/m);
545
- assert.doesNotMatch(toml, /^model = "gpt-5\.6-terra"$/m);
546
- assert.match(toml, /^# oh-my-codex seeded behavioral defaults \(uninstall removes unchanged defaults\)$/m);
547
- assert.match(toml, /^model_context_window = 250000$/m);
548
- assert.match(toml, /^model_auto_compact_token_limit = 200000$/m);
549
- assert.match(toml, /^# End oh-my-codex seeded behavioral defaults$/m);
550
- }
551
- finally {
552
- await rm(wd, { recursive: true, force: true });
600
+ it("removes exact legacy source spans with LF, CRLF, and EOF variants", () => {
601
+ const start = "# oh-my-codex seeded behavioral defaults (uninstall removes unchanged defaults)";
602
+ const end = "# End oh-my-codex seeded behavioral defaults";
603
+ const fixtures = [
604
+ {
605
+ input: `before\n${start}\nmodel_context_window = 250000\nmodel_auto_compact_token_limit = 200000\n${end}\nafter`,
606
+ expected: "before\nafter",
607
+ },
608
+ {
609
+ input: `model_auto_compact_token_limit=123\r\n${start}\r\nmodel_context_window = 250000\r\n${end}\r\n[features]\r\nweb_search = true`,
610
+ expected: "model_auto_compact_token_limit=123\r\n[features]\r\nweb_search = true",
611
+ },
612
+ {
613
+ input: `model_context_window = [\n 1,\n]\n${start}\nmodel_auto_compact_token_limit = 200000\n${end}`,
614
+ expected: "model_context_window = [\n 1,\n]\n",
615
+ },
616
+ ];
617
+ for (const { input, expected } of fixtures) {
618
+ const stripped = stripOmxSeededBehavioralDefaults(input);
619
+ assert.equal(stripped, expected);
620
+ assert.equal(stripOmxSeededBehavioralDefaults(stripped), stripped);
553
621
  }
554
622
  });
555
- it("does not seed 250k context defaults for non-gpt-5.6-sol models", async () => {
556
- const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
557
- try {
558
- const configPath = join(wd, "config.toml");
559
- await writeFile(configPath, 'model = "o3"\n');
560
- await mergeConfig(configPath, wd);
561
- const toml = await readFile(configPath, "utf-8");
562
- assert.match(toml, /^model = "o3"$/m, "user model preserved");
563
- assert.doesNotMatch(toml, /^model_context_window = 250000$/m);
564
- assert.doesNotMatch(toml, /^model_auto_compact_token_limit = 200000$/m);
565
- }
566
- finally {
567
- await rm(wd, { recursive: true, force: true });
568
- }
623
+ it("strips bounded customized or siblingless singleton markers and preserves ambiguity", () => {
624
+ const start = "# oh-my-codex seeded behavioral defaults (uninstall removes unchanged defaults)";
625
+ const end = "# End oh-my-codex seeded behavioral defaults";
626
+ const customized = `before\r\n${start}\r\nmodel_context_window = 123\r\n${end}\r\nafter`;
627
+ assert.equal(stripOmxSeededBehavioralDefaults(customized), "before\r\nmodel_context_window = 123\r\nafter");
628
+ const siblingless = `${start}\nmodel_context_window = 250000\n${end}\n[features]\nmodel_auto_compact_token_limit = 999`;
629
+ assert.equal(stripOmxSeededBehavioralDefaults(siblingless), "model_context_window = 250000\n[features]\nmodel_auto_compact_token_limit = 999");
630
+ const ambiguous = `${start}\nmodel_context_window = 250000\n${end}\nmodel_auto_compact_token_limit = 1\nmodel_auto_compact_token_limit = 2`;
631
+ assert.equal(stripOmxSeededBehavioralDefaults(ambiguous), ambiguous);
632
+ const sameKeyOutside = `model_context_window = 1\n${start}\nmodel_context_window = 250000\n${end}\nmodel_auto_compact_token_limit = 2`;
633
+ assert.equal(stripOmxSeededBehavioralDefaults(sameKeyOutside), sameKeyOutside);
634
+ const malformed = `${start}\nmodel_context_window = 250000`;
635
+ assert.equal(stripOmxSeededBehavioralDefaults(malformed), malformed);
569
636
  });
570
- it("seeds missing auto compact limit without overwriting an existing context window", async () => {
571
- const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
572
- try {
573
- const configPath = join(wd, "config.toml");
574
- await writeFile(configPath, ['model = "gpt-5.6-sol"', "model_context_window = 640000", ""].join("\n"));
575
- await mergeConfig(configPath, wd);
576
- const toml = await readFile(configPath, "utf-8");
577
- assert.match(toml, /^model = "gpt-5\.6-sol"$/m);
578
- assert.match(toml, /^model_context_window = 640000$/m);
579
- assert.match(toml, /^model_auto_compact_token_limit = 200000$/m);
580
- }
581
- finally {
582
- await rm(wd, { recursive: true, force: true });
637
+ it("preserves every byte inside noncanonical bounded blocks", () => {
638
+ const start = "# oh-my-codex seeded behavioral defaults (uninstall removes unchanged defaults)";
639
+ const end = "# End oh-my-codex seeded behavioral defaults";
640
+ const bodies = [
641
+ ["model_context_window = 250000", "# user comment", "model_auto_compact_token_limit = 200000"],
642
+ ["model_context_window = 250000", "", "model_auto_compact_token_limit = 200000"],
643
+ [" model_context_window = 250000", "model_auto_compact_token_limit = 200000"],
644
+ ["model_context_window = 250000", "model_auto_compact_token_limit = 200000 "],
645
+ ["model_auto_compact_token_limit = 200000", "model_context_window = 250000"],
646
+ ["model_context_window = 250000", "model_context_window = 250000", "model_auto_compact_token_limit = 200000"],
647
+ ["model_context_window = 250000", "unexpected = true", "model_auto_compact_token_limit = 200000"],
648
+ ["model_context_window = 250_000", "model_auto_compact_token_limit = 200000"],
649
+ ["", "model_context_window = 250000", "model_auto_compact_token_limit = 200000", ""],
650
+ ];
651
+ for (const body of bodies) {
652
+ const input = ["before", start, ...body, end, "after"].join("\n");
653
+ const expected = ["before", ...body, "after"].join("\n");
654
+ const stripped = stripOmxSeededBehavioralDefaults(input);
655
+ assert.equal(stripped, expected);
656
+ assert.equal(stripOmxSeededBehavioralDefaults(stripped), stripped);
583
657
  }
584
658
  });
585
- it("seeds missing context window without overwriting an existing auto compact limit", async () => {
586
- const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
587
- try {
588
- const configPath = join(wd, "config.toml");
589
- await writeFile(configPath, ['model = "gpt-5.6-sol"', "model_auto_compact_token_limit = 150000", ""].join("\n"));
590
- await mergeConfig(configPath, wd);
591
- const toml = await readFile(configPath, "utf-8");
592
- assert.match(toml, /^model = "gpt-5\.6-sol"$/m);
593
- assert.match(toml, /^model_context_window = 250000$/m);
594
- assert.match(toml, /^model_auto_compact_token_limit = 150000$/m);
595
- }
596
- finally {
597
- await rm(wd, { recursive: true, force: true });
659
+ it("fails closed for duplicate assignments and malformed marker topologies", () => {
660
+ const start = "# oh-my-codex seeded behavioral defaults (uninstall removes unchanged defaults)";
661
+ const end = "# End oh-my-codex seeded behavioral defaults";
662
+ const pair = [start, "model_context_window = 250000", "model_auto_compact_token_limit = 200000", end];
663
+ const unchanged = [
664
+ ["model_context_window = 999", ...pair, "after"].join("\n"),
665
+ [...pair, "model_auto_compact_token_limit = 999", "after"].join("\n"),
666
+ [start, start, "model_context_window = 250000", "model_auto_compact_token_limit = 200000", end, end].join("\n"),
667
+ [...pair, ...pair].join("\n"),
668
+ ];
669
+ for (const input of unchanged) {
670
+ assert.equal(stripOmxSeededBehavioralDefaults(input), input);
671
+ assert.equal(hasExactOmxSeededBehavioralDefaultsPair(input), false);
598
672
  }
673
+ const invalidSuffix = ["before", ...pair, "invalid = [", ""].join("\n");
674
+ const expected = "before\ninvalid = [\n";
675
+ assert.equal(stripOmxSeededBehavioralDefaults(invalidSuffix), expected);
676
+ assert.equal(stripOmxSeededBehavioralDefaults(expected), expected);
599
677
  });
600
- it("does not duplicate independently seeded defaults across reruns", async () => {
601
- const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
602
- try {
603
- const configPath = join(wd, "config.toml");
604
- await writeFile(configPath, ['model = "gpt-5.6-sol"', "model_context_window = 640000", ""].join("\n"));
605
- await mergeConfig(configPath, wd);
606
- await mergeConfig(configPath, wd);
607
- const toml = await readFile(configPath, "utf-8");
608
- assert.equal(count(toml, /^model_context_window = 640000$/gm), 1);
609
- assert.equal(count(toml, /^model_auto_compact_token_limit = 200000$/gm), 1);
610
- assert.doesNotMatch(toml, /^model_context_window = 250000$/m);
611
- }
612
- finally {
613
- await rm(wd, { recursive: true, force: true });
614
- }
678
+ it("ignores marker-shaped text inside TOML values and fails closed on stray markers", () => {
679
+ const start = "# oh-my-codex seeded behavioral defaults (uninstall removes unchanged defaults)";
680
+ const end = "# End oh-my-codex seeded behavioral defaults";
681
+ const stringContent = [
682
+ 'developer_instructions = """',
683
+ start,
684
+ "model_context_window = 250000",
685
+ "model_auto_compact_token_limit = 200000",
686
+ end,
687
+ '"""',
688
+ "",
689
+ ].join("\n");
690
+ assert.equal(stripOmxSeededBehavioralDefaults(stringContent), stringContent);
691
+ assert.equal(hasExactOmxSeededBehavioralDefaultsPair(stringContent), false);
692
+ const duplicateAfterTable = [
693
+ start,
694
+ "model_context_window = 250000",
695
+ "model_auto_compact_token_limit = 200000",
696
+ end,
697
+ "[tui]",
698
+ start,
699
+ "",
700
+ ].join("\n");
701
+ assert.equal(stripOmxSeededBehavioralDefaults(duplicateAfterTable), duplicateAfterTable);
702
+ assert.equal(hasExactOmxSeededBehavioralDefaultsPair(duplicateAfterTable), false);
615
703
  });
616
- it("does not duplicate seeded model defaults across reruns", async () => {
617
- const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
618
- try {
619
- const configPath = join(wd, "config.toml");
620
- await mergeConfig(configPath, wd);
621
- await mergeConfig(configPath, wd);
622
- const toml = await readFile(configPath, "utf-8");
623
- assert.equal(count(toml, /^model = "gpt-5\.6-sol"$/gm), 1, "seeded model should appear once");
624
- assert.equal(count(toml, /^model_context_window = 250000$/gm), 1, "seeded context window should appear once");
625
- assert.equal(count(toml, /^model_auto_compact_token_limit = 200000$/gm), 1, "seeded auto compact limit should appear once");
626
- assert.equal(count(toml, /^# oh-my-codex seeded behavioral defaults \(uninstall removes unchanged defaults\)$/gm), 1, "seeded defaults start marker should appear once");
627
- assert.equal(count(toml, /^# End oh-my-codex seeded behavioral defaults$/gm), 1, "seeded defaults end marker should appear once");
628
- }
629
- finally {
630
- await rm(wd, { recursive: true, force: true });
704
+ it("migrates before reconstruction without incremental normalization", () => {
705
+ const start = "# oh-my-codex seeded behavioral defaults (uninstall removes unchanged defaults)";
706
+ const end = "# End oh-my-codex seeded behavioral defaults";
707
+ const fixtures = [
708
+ {
709
+ baseline: 'approval_policy = "on-failure"\n[features]\nweb_search = true\n',
710
+ migrated: `approval_policy = "on-failure"\n${start}\nmodel_context_window = 250000\nmodel_auto_compact_token_limit = 200000\n${end}\n[features]\nweb_search = true\n`,
711
+ },
712
+ {
713
+ baseline: "model_auto_compact_token_limit = [\n 999,\n]\n[features]\nweb_search = true\n",
714
+ migrated: `model_auto_compact_token_limit = [\n 999,\n]\n${start}\nmodel_context_window = 250000\n${end}\n[features]\nweb_search = true\n`,
715
+ },
716
+ {
717
+ baseline: "# explicit sibling\nmodel_context_window = 640000\n[features]\nweb_search = true\n",
718
+ migrated: `# explicit sibling\nmodel_context_window = 640000\n${start}\nmodel_auto_compact_token_limit = 200000\n${end}\n[features]\nweb_search = true\n`,
719
+ },
720
+ ];
721
+ for (const fixture of fixtures) {
722
+ const baseline = buildMergedConfig(fixture.baseline, "/tmp/omx");
723
+ const migrated = buildMergedConfig(fixture.migrated, "/tmp/omx");
724
+ assert.equal(migrated, baseline);
725
+ assert.equal(buildMergedConfig(migrated, "/tmp/omx"), migrated);
726
+ assert.doesNotMatch(migrated, /seeded behavioral defaults/);
727
+ assert.doesNotThrow(() => TOML.parse(migrated));
631
728
  }
632
729
  });
633
- it("writes only the global [agents] defaults into config", async () => {
730
+ it("does not write retired global [agents] defaults", async () => {
634
731
  const wd = await mkdtemp(join(tmpdir(), "omx-idem-"));
635
732
  try {
636
733
  const configPath = join(wd, "config.toml");
637
734
  await mergeConfig(configPath, wd);
638
735
  const toml = await readFile(configPath, "utf-8");
639
- assert.match(toml, /^\[agents\]$/m, "global [agents] section present");
640
- assert.match(toml, /^max_threads = 6$/m, "max_threads default written");
641
- assert.match(toml, /^max_depth = 2$/m, "max_depth default written");
642
- assert.doesNotMatch(toml, /^\[agents\.[^\]]+\]$/m, "legacy per-agent config_file entries omitted");
736
+ assert.doesNotMatch(toml, /^\[agents\]$/m);
737
+ assert.doesNotMatch(toml, /^max_threads\s*=/m);
738
+ assert.doesNotMatch(toml, /^max_depth\s*=/m);
643
739
  }
644
740
  finally {
645
741
  await rm(wd, { recursive: true, force: true });