oh-my-codex 0.10.2 → 0.10.4

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 (293) hide show
  1. package/Cargo.lock +2 -2
  2. package/Cargo.toml +1 -1
  3. package/README.de.md +4 -4
  4. package/README.es.md +4 -4
  5. package/README.fr.md +4 -4
  6. package/README.it.md +4 -4
  7. package/README.ja.md +4 -4
  8. package/README.ko.md +4 -4
  9. package/README.md +13 -7
  10. package/README.pt.md +4 -4
  11. package/README.ru.md +4 -4
  12. package/README.tr.md +4 -4
  13. package/README.vi.md +4 -4
  14. package/README.zh-TW.md +4 -4
  15. package/README.zh.md +4 -4
  16. package/dist/agents/__tests__/native-config.test.js +37 -33
  17. package/dist/agents/__tests__/native-config.test.js.map +1 -1
  18. package/dist/agents/native-config.d.ts +18 -6
  19. package/dist/agents/native-config.d.ts.map +1 -1
  20. package/dist/agents/native-config.js +109 -92
  21. package/dist/agents/native-config.js.map +1 -1
  22. package/dist/autoresearch/__tests__/contracts.test.js +37 -1
  23. package/dist/autoresearch/__tests__/contracts.test.js.map +1 -1
  24. package/dist/autoresearch/__tests__/runtime-parity-extra.test.js +10 -10
  25. package/dist/autoresearch/__tests__/runtime-parity-extra.test.js.map +1 -1
  26. package/dist/autoresearch/__tests__/runtime.test.js +2 -2
  27. package/dist/autoresearch/__tests__/runtime.test.js.map +1 -1
  28. package/dist/autoresearch/contracts.d.ts.map +1 -1
  29. package/dist/autoresearch/contracts.js +17 -10
  30. package/dist/autoresearch/contracts.js.map +1 -1
  31. package/dist/autoresearch/runtime.d.ts.map +1 -1
  32. package/dist/autoresearch/runtime.js +84 -96
  33. package/dist/autoresearch/runtime.js.map +1 -1
  34. package/dist/cli/__tests__/agents-init.test.js +2 -0
  35. package/dist/cli/__tests__/agents-init.test.js.map +1 -1
  36. package/dist/cli/__tests__/agents.test.d.ts +2 -0
  37. package/dist/cli/__tests__/agents.test.d.ts.map +1 -0
  38. package/dist/cli/__tests__/agents.test.js +114 -0
  39. package/dist/cli/__tests__/agents.test.js.map +1 -0
  40. package/dist/cli/__tests__/autoresearch-guided.test.js +156 -1
  41. package/dist/cli/__tests__/autoresearch-guided.test.js.map +1 -1
  42. package/dist/cli/__tests__/autoresearch.test.js +483 -25
  43. package/dist/cli/__tests__/autoresearch.test.js.map +1 -1
  44. package/dist/cli/__tests__/cleanup.test.d.ts +2 -0
  45. package/dist/cli/__tests__/cleanup.test.d.ts.map +1 -0
  46. package/dist/cli/__tests__/cleanup.test.js +213 -0
  47. package/dist/cli/__tests__/cleanup.test.js.map +1 -0
  48. package/dist/cli/__tests__/error-handling-warnings.test.js +1 -1
  49. package/dist/cli/__tests__/error-handling-warnings.test.js.map +1 -1
  50. package/dist/cli/__tests__/explore.test.js +3 -3
  51. package/dist/cli/__tests__/explore.test.js.map +1 -1
  52. package/dist/cli/__tests__/index.test.js +530 -401
  53. package/dist/cli/__tests__/index.test.js.map +1 -1
  54. package/dist/cli/__tests__/native-assets.test.js +72 -9
  55. package/dist/cli/__tests__/native-assets.test.js.map +1 -1
  56. package/dist/cli/__tests__/ralph-deslop-contract.test.d.ts +2 -0
  57. package/dist/cli/__tests__/ralph-deslop-contract.test.d.ts.map +1 -0
  58. package/dist/cli/__tests__/ralph-deslop-contract.test.js +28 -0
  59. package/dist/cli/__tests__/ralph-deslop-contract.test.js.map +1 -0
  60. package/dist/cli/__tests__/ralph-prd-deep-interview.test.js +4 -0
  61. package/dist/cli/__tests__/ralph-prd-deep-interview.test.js.map +1 -1
  62. package/dist/cli/__tests__/ralphthon.test.d.ts +2 -0
  63. package/dist/cli/__tests__/ralphthon.test.d.ts.map +1 -0
  64. package/dist/cli/__tests__/ralphthon.test.js +28 -0
  65. package/dist/cli/__tests__/ralphthon.test.js.map +1 -0
  66. package/dist/cli/__tests__/setup-agents-overwrite.test.js +36 -1
  67. package/dist/cli/__tests__/setup-agents-overwrite.test.js.map +1 -1
  68. package/dist/cli/__tests__/setup-prompts-overwrite.test.js +35 -5
  69. package/dist/cli/__tests__/setup-prompts-overwrite.test.js.map +1 -1
  70. package/dist/cli/__tests__/setup-refresh.test.js +2 -2
  71. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  72. package/dist/cli/__tests__/setup-scope.test.js +131 -161
  73. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  74. package/dist/cli/__tests__/setup-skills-overwrite.test.js +10 -10
  75. package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
  76. package/dist/cli/__tests__/sparkshell-cli.test.js +28 -2
  77. package/dist/cli/__tests__/sparkshell-cli.test.js.map +1 -1
  78. package/dist/cli/__tests__/team.test.js +1 -112
  79. package/dist/cli/__tests__/team.test.js.map +1 -1
  80. package/dist/cli/__tests__/uninstall.test.js +7 -20
  81. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  82. package/dist/cli/agents-init.d.ts.map +1 -1
  83. package/dist/cli/agents-init.js +99 -95
  84. package/dist/cli/agents-init.js.map +1 -1
  85. package/dist/cli/agents.d.ts +14 -0
  86. package/dist/cli/agents.d.ts.map +1 -0
  87. package/dist/cli/agents.js +261 -0
  88. package/dist/cli/agents.js.map +1 -0
  89. package/dist/cli/autoresearch-guided.d.ts +8 -0
  90. package/dist/cli/autoresearch-guided.d.ts.map +1 -1
  91. package/dist/cli/autoresearch-guided.js +104 -37
  92. package/dist/cli/autoresearch-guided.js.map +1 -1
  93. package/dist/cli/autoresearch-intake.d.ts +62 -0
  94. package/dist/cli/autoresearch-intake.d.ts.map +1 -0
  95. package/dist/cli/autoresearch-intake.js +336 -0
  96. package/dist/cli/autoresearch-intake.js.map +1 -0
  97. package/dist/cli/autoresearch.d.ts +4 -1
  98. package/dist/cli/autoresearch.d.ts.map +1 -1
  99. package/dist/cli/autoresearch.js +181 -32
  100. package/dist/cli/autoresearch.js.map +1 -1
  101. package/dist/cli/cleanup.d.ts +52 -0
  102. package/dist/cli/cleanup.d.ts.map +1 -0
  103. package/dist/cli/cleanup.js +302 -0
  104. package/dist/cli/cleanup.js.map +1 -0
  105. package/dist/cli/doctor.d.ts.map +1 -1
  106. package/dist/cli/doctor.js +9 -37
  107. package/dist/cli/doctor.js.map +1 -1
  108. package/dist/cli/explore.d.ts.map +1 -1
  109. package/dist/cli/explore.js +5 -4
  110. package/dist/cli/explore.js.map +1 -1
  111. package/dist/cli/index.d.ts +5 -7
  112. package/dist/cli/index.d.ts.map +1 -1
  113. package/dist/cli/index.js +623 -451
  114. package/dist/cli/index.js.map +1 -1
  115. package/dist/cli/native-assets.d.ts +15 -1
  116. package/dist/cli/native-assets.d.ts.map +1 -1
  117. package/dist/cli/native-assets.js +134 -32
  118. package/dist/cli/native-assets.js.map +1 -1
  119. package/dist/cli/ralph.d.ts.map +1 -1
  120. package/dist/cli/ralph.js +38 -1
  121. package/dist/cli/ralph.js.map +1 -1
  122. package/dist/cli/ralphthon.d.ts +14 -0
  123. package/dist/cli/ralphthon.d.ts.map +1 -0
  124. package/dist/cli/ralphthon.js +234 -0
  125. package/dist/cli/ralphthon.js.map +1 -0
  126. package/dist/cli/setup.d.ts +1 -4
  127. package/dist/cli/setup.d.ts.map +1 -1
  128. package/dist/cli/setup.js +111 -76
  129. package/dist/cli/setup.js.map +1 -1
  130. package/dist/cli/sparkshell.d.ts +3 -1
  131. package/dist/cli/sparkshell.d.ts.map +1 -1
  132. package/dist/cli/sparkshell.js +35 -16
  133. package/dist/cli/sparkshell.js.map +1 -1
  134. package/dist/cli/team.d.ts.map +1 -1
  135. package/dist/cli/team.js +1 -0
  136. package/dist/cli/team.js.map +1 -1
  137. package/dist/cli/uninstall.d.ts +1 -1
  138. package/dist/cli/uninstall.d.ts.map +1 -1
  139. package/dist/cli/uninstall.js +82 -64
  140. package/dist/cli/uninstall.js.map +1 -1
  141. package/dist/config/__tests__/generator-idempotent.test.js +10 -10
  142. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  143. package/dist/config/__tests__/generator-notify.test.js +15 -0
  144. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  145. package/dist/config/generator.d.ts +0 -1
  146. package/dist/config/generator.d.ts.map +1 -1
  147. package/dist/config/generator.js +53 -42
  148. package/dist/config/generator.js.map +1 -1
  149. package/dist/hooks/__tests__/agents-overlay.test.js +295 -230
  150. package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
  151. package/dist/hooks/__tests__/anti-slop-workflow.test.js +3 -0
  152. package/dist/hooks/__tests__/anti-slop-workflow.test.js.map +1 -1
  153. package/dist/hooks/__tests__/deep-interview-contract.test.js +49 -24
  154. package/dist/hooks/__tests__/deep-interview-contract.test.js.map +1 -1
  155. package/dist/hooks/__tests__/notify-fallback-watcher-ralphthon.test.d.ts +2 -0
  156. package/dist/hooks/__tests__/notify-fallback-watcher-ralphthon.test.d.ts.map +1 -0
  157. package/dist/hooks/__tests__/notify-fallback-watcher-ralphthon.test.js +193 -0
  158. package/dist/hooks/__tests__/notify-fallback-watcher-ralphthon.test.js.map +1 -0
  159. package/dist/hooks/agents-overlay.d.ts +1 -1
  160. package/dist/hooks/agents-overlay.d.ts.map +1 -1
  161. package/dist/hooks/agents-overlay.js +109 -106
  162. package/dist/hooks/agents-overlay.js.map +1 -1
  163. package/dist/hud/constants.d.ts +1 -1
  164. package/dist/hud/constants.js +1 -1
  165. package/dist/modes/base.d.ts +1 -1
  166. package/dist/modes/base.d.ts.map +1 -1
  167. package/dist/modes/base.js +1 -1
  168. package/dist/modes/base.js.map +1 -1
  169. package/dist/notifications/__tests__/formatter.test.js +36 -2
  170. package/dist/notifications/__tests__/formatter.test.js.map +1 -1
  171. package/dist/notifications/formatter.d.ts +3 -2
  172. package/dist/notifications/formatter.d.ts.map +1 -1
  173. package/dist/notifications/formatter.js +33 -9
  174. package/dist/notifications/formatter.js.map +1 -1
  175. package/dist/ralphthon/__tests__/bootstrap.test.d.ts +2 -0
  176. package/dist/ralphthon/__tests__/bootstrap.test.d.ts.map +1 -0
  177. package/dist/ralphthon/__tests__/bootstrap.test.js +23 -0
  178. package/dist/ralphthon/__tests__/bootstrap.test.js.map +1 -0
  179. package/dist/ralphthon/__tests__/orchestrator.test.d.ts +2 -0
  180. package/dist/ralphthon/__tests__/orchestrator.test.d.ts.map +1 -0
  181. package/dist/ralphthon/__tests__/orchestrator.test.js +309 -0
  182. package/dist/ralphthon/__tests__/orchestrator.test.js.map +1 -0
  183. package/dist/ralphthon/__tests__/prd.test.d.ts +2 -0
  184. package/dist/ralphthon/__tests__/prd.test.d.ts.map +1 -0
  185. package/dist/ralphthon/__tests__/prd.test.js +133 -0
  186. package/dist/ralphthon/__tests__/prd.test.js.map +1 -0
  187. package/dist/ralphthon/bootstrap.d.ts +3 -0
  188. package/dist/ralphthon/bootstrap.d.ts.map +1 -0
  189. package/dist/ralphthon/bootstrap.js +84 -0
  190. package/dist/ralphthon/bootstrap.js.map +1 -0
  191. package/dist/ralphthon/orchestrator.d.ts +50 -0
  192. package/dist/ralphthon/orchestrator.d.ts.map +1 -0
  193. package/dist/ralphthon/orchestrator.js +362 -0
  194. package/dist/ralphthon/orchestrator.js.map +1 -0
  195. package/dist/ralphthon/prd.d.ts +191 -0
  196. package/dist/ralphthon/prd.d.ts.map +1 -0
  197. package/dist/ralphthon/prd.js +359 -0
  198. package/dist/ralphthon/prd.js.map +1 -0
  199. package/dist/ralphthon/runtime.d.ts +31 -0
  200. package/dist/ralphthon/runtime.d.ts.map +1 -0
  201. package/dist/ralphthon/runtime.js +108 -0
  202. package/dist/ralphthon/runtime.js.map +1 -0
  203. package/dist/ralphthon/tmux.d.ts +3 -0
  204. package/dist/ralphthon/tmux.d.ts.map +1 -0
  205. package/dist/ralphthon/tmux.js +39 -0
  206. package/dist/ralphthon/tmux.js.map +1 -0
  207. package/dist/subagents/__tests__/tracker.test.d.ts +2 -0
  208. package/dist/subagents/__tests__/tracker.test.d.ts.map +1 -0
  209. package/dist/subagents/__tests__/tracker.test.js +47 -0
  210. package/dist/subagents/__tests__/tracker.test.js.map +1 -0
  211. package/dist/subagents/tracker.d.ts +52 -0
  212. package/dist/subagents/tracker.d.ts.map +1 -0
  213. package/dist/subagents/tracker.js +175 -0
  214. package/dist/subagents/tracker.js.map +1 -0
  215. package/dist/team/__tests__/runtime.test.js +2 -2
  216. package/dist/team/__tests__/runtime.test.js.map +1 -1
  217. package/dist/team/__tests__/tmux-session.test.js +34 -0
  218. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  219. package/dist/team/__tests__/worker-bootstrap.test.js +189 -163
  220. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  221. package/dist/team/__tests__/worktree.test.js +1 -1
  222. package/dist/team/__tests__/worktree.test.js.map +1 -1
  223. package/dist/team/tmux-session.d.ts +4 -4
  224. package/dist/team/tmux-session.d.ts.map +1 -1
  225. package/dist/team/tmux-session.js +48 -15
  226. package/dist/team/tmux-session.js.map +1 -1
  227. package/dist/team/worker-bootstrap.d.ts +1 -1
  228. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  229. package/dist/team/worker-bootstrap.js +58 -63
  230. package/dist/team/worker-bootstrap.js.map +1 -1
  231. package/dist/team/worktree.js +1 -1
  232. package/dist/team/worktree.js.map +1 -1
  233. package/dist/utils/__tests__/agents-md.test.d.ts +2 -0
  234. package/dist/utils/__tests__/agents-md.test.d.ts.map +1 -0
  235. package/dist/utils/__tests__/agents-md.test.js +32 -0
  236. package/dist/utils/__tests__/agents-md.test.js.map +1 -0
  237. package/dist/utils/__tests__/agents-model-table.test.d.ts +2 -0
  238. package/dist/utils/__tests__/agents-model-table.test.d.ts.map +1 -0
  239. package/dist/utils/__tests__/agents-model-table.test.js +84 -0
  240. package/dist/utils/__tests__/agents-model-table.test.js.map +1 -0
  241. package/dist/utils/__tests__/paths.test.js +78 -83
  242. package/dist/utils/__tests__/paths.test.js.map +1 -1
  243. package/dist/utils/agents-md.d.ts.map +1 -1
  244. package/dist/utils/agents-md.js +10 -0
  245. package/dist/utils/agents-md.js.map +1 -1
  246. package/dist/utils/agents-model-table.d.ts +16 -0
  247. package/dist/utils/agents-model-table.d.ts.map +1 -0
  248. package/dist/utils/agents-model-table.js +83 -0
  249. package/dist/utils/agents-model-table.js.map +1 -0
  250. package/dist/utils/paths.d.ts +6 -6
  251. package/dist/utils/paths.d.ts.map +1 -1
  252. package/dist/utils/paths.js +31 -31
  253. package/dist/utils/paths.js.map +1 -1
  254. package/dist/verification/__tests__/explore-harness-release-workflow.test.js +21 -3
  255. package/dist/verification/__tests__/explore-harness-release-workflow.test.js.map +1 -1
  256. package/dist/verification/__tests__/native-release-manifest.test.d.ts +2 -0
  257. package/dist/verification/__tests__/native-release-manifest.test.d.ts.map +1 -0
  258. package/dist/verification/__tests__/native-release-manifest.test.js +80 -0
  259. package/dist/verification/__tests__/native-release-manifest.test.js.map +1 -0
  260. package/package.json +1 -1
  261. package/prompts/executor.md +15 -0
  262. package/scripts/__tests__/smoke-packed-install.test.mjs +137 -8
  263. package/scripts/eval-adaptive-sort-optimization.py +24 -0
  264. package/scripts/eval-in-action-cat-shellout-demo.js +31 -0
  265. package/scripts/eval-ml-kaggle-model-optimization.py +29 -0
  266. package/scripts/eval-noisy-bayesopt-highdim.py +44 -0
  267. package/scripts/eval-noisy-latent-subspace-discovery.py +44 -0
  268. package/scripts/generate-native-release-manifest.mjs +14 -3
  269. package/scripts/notify-fallback-watcher.js +308 -6
  270. package/scripts/notify-hook.js +20 -0
  271. package/scripts/run-autoresearch-showcase.sh +75 -0
  272. package/scripts/smoke-packed-install.mjs +142 -10
  273. package/skills/ai-slop-cleaner/SKILL.md +7 -0
  274. package/skills/deep-interview/SKILL.md +30 -1
  275. package/skills/omx-setup/SKILL.md +2 -2
  276. package/skills/ralph/SKILL.md +15 -0
  277. package/skills/skill/SKILL.md +32 -32
  278. package/skills/team/SKILL.md +6 -0
  279. package/skills/worker/SKILL.md +2 -2
  280. package/templates/AGENTS.md +97 -16
  281. package/dist/cli/__tests__/runtime-native-resolution.test.d.ts +0 -2
  282. package/dist/cli/__tests__/runtime-native-resolution.test.d.ts.map +0 -1
  283. package/dist/cli/__tests__/runtime-native-resolution.test.js.map +0 -1
  284. package/dist/cli/__tests__/runtime-native.test.d.ts +0 -2
  285. package/dist/cli/__tests__/runtime-native.test.d.ts.map +0 -1
  286. package/dist/cli/__tests__/runtime-native.test.js.map +0 -1
  287. package/dist/cli/runtime-native.d.ts +0 -23
  288. package/dist/cli/runtime-native.d.ts.map +0 -1
  289. package/dist/cli/runtime-native.js +0 -86
  290. package/dist/cli/runtime-native.js.map +0 -1
  291. package/dist/mcp/__tests__/runtime-run-native-cutover.test.d.ts +0 -2
  292. package/dist/mcp/__tests__/runtime-run-native-cutover.test.d.ts.map +0 -1
  293. package/dist/mcp/__tests__/runtime-run-native-cutover.test.js.map +0 -1
package/dist/cli/setup.js CHANGED
@@ -8,7 +8,7 @@ import { existsSync } from "fs";
8
8
  import { spawnSync } from "child_process";
9
9
  import { createInterface } from "readline/promises";
10
10
  import { homedir } from "os";
11
- import { codexHome, codexConfigPath, codexPromptsDir, userSkillsDir, legacyUserSkillsDir, omxStateDir, omxPlansDir, omxLogsDir, omxAgentsConfigDir, } from "../utils/paths.js";
11
+ import { codexHome, codexConfigPath, codexPromptsDir, codexAgentsDir, userSkillsDir, omxStateDir, omxPlansDir, omxLogsDir, } from "../utils/paths.js";
12
12
  import { buildMergedConfig, getRootModelName } from "../config/generator.js";
13
13
  import { getUnifiedMcpRegistryCandidates, loadUnifiedMcpRegistry, planClaudeCodeMcpSettingsSync, } from "../config/mcp-registry.js";
14
14
  import { generateAgentToml } from "../agents/native-config.js";
@@ -19,6 +19,7 @@ import { getCatalogHeadlineCounts } from "./catalog-contract.js";
19
19
  import { tryReadCatalogManifest } from "../catalog/reader.js";
20
20
  import { DEFAULT_FRONTIER_MODEL } from "../config/models.js";
21
21
  import { addGeneratedAgentsMarker, isOmxGeneratedAgentsMd, } from "../utils/agents-md.js";
22
+ import { resolveAgentsModelTableContext, upsertAgentsModelTable, } from "../utils/agents-model-table.js";
22
23
  /**
23
24
  * Legacy scope values that may appear in persisted setup-scope.json files.
24
25
  * Both 'project-local' (renamed) and old 'project' (minimal, removed) are
@@ -28,17 +29,11 @@ const LEGACY_SCOPE_MIGRATION = {
28
29
  "project-local": "project",
29
30
  };
30
31
  export const SETUP_SCOPES = ["user", "project"];
31
- export const SETUP_SKILL_TARGETS = ["codex-home", "agents"];
32
32
  const PROJECT_OMX_GITIGNORE_ENTRY = ".omx/";
33
33
  function applyScopePathRewritesToAgentsTemplate(content, scope) {
34
- if (scope === "user") {
35
- return content.replaceAll("~/.agents/skills", "~/.codex/skills");
36
- }
37
34
  if (scope !== "project")
38
35
  return content;
39
- return content
40
- .replaceAll("~/.codex", "./.codex")
41
- .replaceAll("~/.agents", "./.agents");
36
+ return content.replaceAll("~/.codex", "./.codex");
42
37
  }
43
38
  const REQUIRED_TEAM_CLI_API_MARKERS = [
44
39
  "if (subcommand === 'api')",
@@ -46,9 +41,9 @@ const REQUIRED_TEAM_CLI_API_MARKERS = [
46
41
  "TEAM_API_OPERATIONS",
47
42
  ];
48
43
  const DEFAULT_SETUP_SCOPE = "user";
49
- const DEFAULT_SETUP_SKILL_TARGET = "codex-home";
50
44
  const LEGACY_SETUP_MODEL = "gpt-5.3-codex";
51
45
  const DEFAULT_SETUP_MODEL = DEFAULT_FRONTIER_MODEL;
46
+ const OBSOLETE_NATIVE_AGENT_FIELD = ["skill", "ref"].join("_");
52
47
  function createEmptyCategorySummary() {
53
48
  return {
54
49
  updated: 0,
@@ -106,6 +101,10 @@ async function filesDiffer(src, dst) {
106
101
  ]);
107
102
  return srcContent !== dstContent;
108
103
  }
104
+ function containsTomlKey(content, key) {
105
+ const escapedKey = key.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
106
+ return new RegExp(`^\\s*${escapedKey}\\s*=`, "m").test(content);
107
+ }
109
108
  function parseSkillFrontmatterScalar(value, key, filePath) {
110
109
  const trimmed = value.trim();
111
110
  if (!trimmed) {
@@ -181,26 +180,23 @@ function isSetupScope(value) {
181
180
  function getScopeFilePath(projectRoot) {
182
181
  return join(projectRoot, ".omx", "setup-scope.json");
183
182
  }
184
- function isSetupSkillTarget(value) {
185
- return SETUP_SKILL_TARGETS.includes(value);
186
- }
187
- export function resolveScopeDirectories(scope, projectRoot, skillTarget = DEFAULT_SETUP_SKILL_TARGET) {
183
+ export function resolveScopeDirectories(scope, projectRoot) {
188
184
  if (scope === "project") {
189
185
  const codexHomeDir = join(projectRoot, ".codex");
190
186
  return {
191
187
  codexConfigFile: join(codexHomeDir, "config.toml"),
192
188
  codexHomeDir,
193
- nativeAgentsDir: join(projectRoot, ".omx", "agents"),
189
+ nativeAgentsDir: join(codexHomeDir, "agents"),
194
190
  promptsDir: join(codexHomeDir, "prompts"),
195
- skillsDir: join(projectRoot, ".agents", "skills"),
191
+ skillsDir: join(codexHomeDir, "skills"),
196
192
  };
197
193
  }
198
194
  return {
199
195
  codexConfigFile: codexConfigPath(),
200
196
  codexHomeDir: codexHome(),
201
- nativeAgentsDir: omxAgentsConfigDir(),
197
+ nativeAgentsDir: codexAgentsDir(),
202
198
  promptsDir: codexPromptsDir(),
203
- skillsDir: skillTarget === "agents" ? legacyUserSkillsDir() : userSkillsDir(),
199
+ skillsDir: userSkillsDir(),
204
200
  };
205
201
  }
206
202
  async function readPersistedSetupPreferences(projectRoot) {
@@ -224,9 +220,6 @@ async function readPersistedSetupPreferences(projectRoot) {
224
220
  persisted.scope = migrated;
225
221
  }
226
222
  }
227
- if (parsed && typeof parsed.skillTarget === "string" && isSetupSkillTarget(parsed.skillTarget)) {
228
- persisted.skillTarget = parsed.skillTarget;
229
- }
230
223
  return Object.keys(persisted).length > 0 ? persisted : undefined;
231
224
  }
232
225
  catch {
@@ -245,7 +238,7 @@ async function promptForSetupScope(defaultScope) {
245
238
  try {
246
239
  console.log("Select setup scope:");
247
240
  console.log(` 1) user (default) — installs to ~/.codex (skills default to ~/.codex/skills)`);
248
- console.log(" 2) project — installs to ./.codex, ./.agents (local to project)");
241
+ console.log(" 2) project — installs to ./.codex (local to project)");
249
242
  const answer = (await rl.question("Scope [1-2] (default: 1): "))
250
243
  .trim()
251
244
  .toLowerCase();
@@ -307,19 +300,6 @@ async function resolveSetupScope(projectRoot, requestedScope) {
307
300
  }
308
301
  return { scope: DEFAULT_SETUP_SCOPE, source: "default" };
309
302
  }
310
- async function resolveSetupSkillTarget(projectRoot, scope, requestedSkillTarget) {
311
- if (requestedSkillTarget) {
312
- return { target: requestedSkillTarget, source: "cli" };
313
- }
314
- if (scope !== "user") {
315
- return { target: DEFAULT_SETUP_SKILL_TARGET, source: "default" };
316
- }
317
- const persisted = await readPersistedSetupPreferences(projectRoot);
318
- if (persisted?.skillTarget) {
319
- return { target: persisted.skillTarget, source: "persisted" };
320
- }
321
- return { target: DEFAULT_SETUP_SKILL_TARGET, source: "default" };
322
- }
323
303
  function hasGitignoreEntry(content, entry) {
324
304
  return content
325
305
  .split(/\r?\n/)
@@ -329,7 +309,9 @@ function hasGitignoreEntry(content, entry) {
329
309
  async function ensureProjectOmxGitignore(projectRoot, backupContext, options) {
330
310
  const gitignorePath = join(projectRoot, ".gitignore");
331
311
  const destinationExists = existsSync(gitignorePath);
332
- const existing = destinationExists ? await readFile(gitignorePath, "utf-8") : "";
312
+ const existing = destinationExists
313
+ ? await readFile(gitignorePath, "utf-8")
314
+ : "";
333
315
  if (hasGitignoreEntry(existing, PROJECT_OMX_GITIGNORE_ENTRY)) {
334
316
  return "unchanged";
335
317
  }
@@ -347,7 +329,7 @@ async function ensureProjectOmxGitignore(projectRoot, backupContext, options) {
347
329
  }
348
330
  return destinationExists ? "updated" : "created";
349
331
  }
350
- async function persistSetupScope(projectRoot, scope, skillTarget, options) {
332
+ async function persistSetupScope(projectRoot, scope, options) {
351
333
  const scopePath = getScopeFilePath(projectRoot);
352
334
  if (options.dryRun) {
353
335
  if (options.verbose)
@@ -355,27 +337,22 @@ async function persistSetupScope(projectRoot, scope, skillTarget, options) {
355
337
  return;
356
338
  }
357
339
  await mkdir(dirname(scopePath), { recursive: true });
358
- const payload = { scope, skillTarget };
340
+ const payload = { scope };
359
341
  await writeFile(scopePath, JSON.stringify(payload, null, 2) + "\n");
360
342
  if (options.verbose)
361
343
  console.log(` Wrote ${scopePath}`);
362
344
  }
363
345
  export async function setup(options = {}) {
364
- const { force = false, dryRun = false, scope: requestedScope, skillTarget: requestedSkillTarget, verbose = false, modelUpgradePrompt, } = options;
346
+ const { force = false, dryRun = false, scope: requestedScope, verbose = false, modelUpgradePrompt, } = options;
365
347
  const pkgRoot = getPackageRoot();
366
348
  const projectRoot = process.cwd();
367
349
  const resolvedScope = await resolveSetupScope(projectRoot, requestedScope);
368
- const resolvedSkillTarget = await resolveSetupSkillTarget(projectRoot, resolvedScope.scope, requestedSkillTarget);
369
- const scopeDirs = resolveScopeDirectories(resolvedScope.scope, projectRoot, resolvedSkillTarget.target);
350
+ const scopeDirs = resolveScopeDirectories(resolvedScope.scope, projectRoot);
370
351
  const scopeSourceMessage = resolvedScope.source === "persisted" ? " (from .omx/setup-scope.json)" : "";
371
- const skillTargetSourceMessage = resolvedSkillTarget.source === "persisted" ? " (from .omx/setup-scope.json)" : "";
372
352
  const backupContext = getBackupContext(resolvedScope.scope, projectRoot);
373
353
  console.log("oh-my-codex setup");
374
354
  console.log("=================\n");
375
355
  console.log(`Using setup scope: ${resolvedScope.scope}${scopeSourceMessage}\n`);
376
- if (resolvedScope.scope === "user") {
377
- console.log(`Using user skill target: ${resolvedSkillTarget.target}${skillTargetSourceMessage} (${scopeDirs.skillsDir})\n`);
378
- }
379
356
  // Step 1: Ensure directories exist
380
357
  console.log("[1/8] Creating directories...");
381
358
  const dirs = [
@@ -394,7 +371,7 @@ export async function setup(options = {}) {
394
371
  if (verbose)
395
372
  console.log(` mkdir ${dir}`);
396
373
  }
397
- await persistSetupScope(projectRoot, resolvedScope.scope, resolvedSkillTarget.target, {
374
+ await persistSetupScope(projectRoot, resolvedScope.scope, {
398
375
  dryRun,
399
376
  verbose,
400
377
  });
@@ -436,18 +413,8 @@ export async function setup(options = {}) {
436
413
  console.log(" Prompt refresh complete.\n");
437
414
  }
438
415
  }
439
- // Step 3: Install native agent configs
440
- console.log("[3/8] Installing native agent configs...");
441
- {
442
- summary.nativeAgents = await refreshNativeAgentConfigs(pkgRoot, scopeDirs.nativeAgentsDir, backupContext, {
443
- force,
444
- dryRun,
445
- verbose,
446
- });
447
- console.log(` Native agent refresh complete (${scopeDirs.nativeAgentsDir}).\n`);
448
- }
449
- // Step 4: Install skills
450
- console.log("[4/8] Installing skills...");
416
+ // Step 3: Install skills
417
+ console.log("[3/8] Installing skills...");
451
418
  {
452
419
  const skillsSrc = join(pkgRoot, "skills");
453
420
  const skillsDst = scopeDirs.skillsDir;
@@ -463,6 +430,16 @@ export async function setup(options = {}) {
463
430
  console.log(" Skill refresh complete.\n");
464
431
  }
465
432
  }
433
+ // Step 4: Install native agent configs
434
+ console.log("[4/8] Installing native agent configs...");
435
+ {
436
+ summary.nativeAgents = await refreshNativeAgentConfigs(pkgRoot, scopeDirs.nativeAgentsDir, backupContext, {
437
+ force,
438
+ dryRun,
439
+ verbose,
440
+ });
441
+ console.log(` Native agent refresh complete (${scopeDirs.nativeAgentsDir}).\n`);
442
+ }
466
443
  // Step 5: Update config.toml
467
444
  console.log("[5/8] Updating config.toml...");
468
445
  const registryCandidates = getUnifiedMcpRegistryCandidates();
@@ -483,7 +460,7 @@ export async function setup(options = {}) {
483
460
  for (const warning of sharedMcpRegistry.warnings) {
484
461
  console.log(` warning: ${warning}`);
485
462
  }
486
- await updateManagedConfig(scopeDirs.codexConfigFile, pkgRoot, scopeDirs.nativeAgentsDir, sharedMcpRegistry, summary.config, backupContext, { dryRun, verbose, modelUpgradePrompt });
463
+ const resolvedConfig = await updateManagedConfig(scopeDirs.codexConfigFile, pkgRoot, sharedMcpRegistry, summary.config, backupContext, { dryRun, verbose, modelUpgradePrompt });
487
464
  if (resolvedScope.scope === "user") {
488
465
  await syncClaudeCodeMcpSettings(sharedMcpRegistry, summary.config, backupContext, { dryRun, verbose });
489
466
  }
@@ -513,13 +490,25 @@ export async function setup(options = {}) {
513
490
  const sessionIsActive = activeSession && !isSessionStale(activeSession);
514
491
  if (existsSync(agentsMdSrc)) {
515
492
  const content = await readFile(agentsMdSrc, "utf-8");
516
- const rewritten = addGeneratedAgentsMarker(applyScopePathRewritesToAgentsTemplate(content, resolvedScope.scope));
493
+ const modelTableContext = resolveAgentsModelTableContext(resolvedConfig, {
494
+ codexHomeOverride: scopeDirs.codexHomeDir,
495
+ });
496
+ const rewritten = upsertAgentsModelTable(addGeneratedAgentsMarker(applyScopePathRewritesToAgentsTemplate(content, resolvedScope.scope)), modelTableContext);
517
497
  let changed = true;
498
+ let canApplyManagedModelRefresh = false;
499
+ let managedRefreshContent = "";
518
500
  if (agentsMdExists) {
519
501
  const existing = await readFile(agentsMdDst, "utf-8");
520
502
  changed = existing !== rewritten;
503
+ if (isOmxGeneratedAgentsMd(existing)) {
504
+ managedRefreshContent = upsertAgentsModelTable(existing, modelTableContext);
505
+ canApplyManagedModelRefresh = managedRefreshContent !== existing;
506
+ }
521
507
  }
522
- if (resolvedScope.scope === "project" && sessionIsActive && agentsMdExists && changed) {
508
+ if (resolvedScope.scope === "project" &&
509
+ sessionIsActive &&
510
+ agentsMdExists &&
511
+ changed) {
523
512
  summary.agentsMd.skipped += 1;
524
513
  console.log(" WARNING: Active omx session detected (pid " +
525
514
  activeSession?.pid +
@@ -527,6 +516,12 @@ export async function setup(options = {}) {
527
516
  console.log(" Skipping AGENTS.md overwrite to avoid corrupting runtime overlay.");
528
517
  console.log(" Stop the active session first, then re-run setup.");
529
518
  }
519
+ else if (canApplyManagedModelRefresh) {
520
+ await syncManagedContent(managedRefreshContent, agentsMdDst, summary.agentsMd, backupContext, { dryRun, verbose }, `AGENTS model table ${agentsMdDst}`);
521
+ console.log(resolvedScope.scope === "project"
522
+ ? " Refreshed AGENTS.md model capability table in project root."
523
+ : ` Refreshed AGENTS.md model capability table in ${scopeDirs.codexHomeDir}.`);
524
+ }
530
525
  else {
531
526
  const result = await syncManagedAgentsContent(rewritten, agentsMdDst, summary.agentsMd, backupContext, {
532
527
  agentsOverwritePrompt: options.agentsOverwritePrompt,
@@ -595,14 +590,14 @@ export async function setup(options = {}) {
595
590
  console.log(" 2. Use /prompts:architect, /prompts:executor, /prompts:planner as slash commands");
596
591
  console.log(" 3. Skills are available via /skills or implicit matching");
597
592
  console.log(" 4. The AGENTS.md orchestration brain is loaded automatically");
598
- console.log(" 5. Native agent roles registered in config.toml [agents.*]");
593
+ console.log(" 5. Native agent defaults configured in config.toml [agents] and TOML files written to .codex/agents/");
599
594
  console.log(' 6. "omx explore" and "omx sparkshell" can hydrate native release binaries on first use; source installs still allow repo-local fallbacks and OMX_EXPLORE_BIN / OMX_SPARKSHELL_BIN overrides');
600
595
  if (isGitHubCliConfigured()) {
601
596
  console.log("\nSupport the project: gh repo star Yeachan-Heo/oh-my-codex");
602
597
  }
603
598
  }
604
599
  function isLegacySkillPromptShim(content) {
605
- const marker = /Read and follow the full skill instructions at\s+~\/\.agents\/skills\/[^/\s]+\/SKILL\.md/i;
600
+ const marker = /Read and follow the full skill instructions at\s+.*\/skills\/[^/\s]+\/SKILL\.md/i;
606
601
  return marker.test(content);
607
602
  }
608
603
  async function cleanupLegacySkillPromptShims(promptsSrcDir, promptsDstDir, options) {
@@ -740,7 +735,7 @@ async function installPrompts(srcDir, dstDir, backupContext, options) {
740
735
  const files = await readdir(srcDir);
741
736
  const staleCandidatePromptNames = new Set(manifest?.agents.map((agent) => agent.name) ?? []);
742
737
  for (const file of files) {
743
- if (!file.endsWith('.md'))
738
+ if (!file.endsWith(".md"))
744
739
  continue;
745
740
  const promptName = file.slice(0, -3);
746
741
  staleCandidatePromptNames.add(promptName);
@@ -748,7 +743,7 @@ async function installPrompts(srcDir, dstDir, backupContext, options) {
748
743
  if (agentStatusByName && !isInstallableStatus(status)) {
749
744
  summary.skipped += 1;
750
745
  if (options.verbose) {
751
- const label = status ?? 'unlisted';
746
+ const label = status ?? "unlisted";
752
747
  console.log(` skipped ${file} (status: ${label})`);
753
748
  }
754
749
  continue;
@@ -763,7 +758,7 @@ async function installPrompts(srcDir, dstDir, backupContext, options) {
763
758
  if (options.force && manifest && existsSync(dstDir)) {
764
759
  const installedFiles = await readdir(dstDir);
765
760
  for (const file of installedFiles) {
766
- if (!file.endsWith('.md'))
761
+ if (!file.endsWith(".md"))
767
762
  continue;
768
763
  const promptName = file.slice(0, -3);
769
764
  const status = agentStatusByName?.get(promptName);
@@ -779,8 +774,10 @@ async function installPrompts(srcDir, dstDir, backupContext, options) {
779
774
  }
780
775
  summary.removed += 1;
781
776
  if (options.verbose) {
782
- const prefix = options.dryRun ? 'would remove stale prompt' : 'removed stale prompt';
783
- const label = status ?? 'unlisted';
777
+ const prefix = options.dryRun
778
+ ? "would remove stale prompt"
779
+ : "removed stale prompt";
780
+ const label = status ?? "unlisted";
784
781
  console.log(` ${prefix} ${file} (status: ${label})`);
785
782
  }
786
783
  }
@@ -818,16 +815,18 @@ async function refreshNativeAgentConfigs(pkgRoot, agentsDir, backupContext, opti
818
815
  const dst = join(agentsDir, `${name}.toml`);
819
816
  await syncManagedContent(toml, dst, summary, backupContext, options, `native agent ${name}.toml`);
820
817
  }
818
+ summary.removed += await cleanupObsoleteNativeAgents(agentsDir, backupContext, options);
821
819
  if (options.force && manifest && existsSync(agentsDir)) {
822
820
  const installedFiles = await readdir(agentsDir);
823
821
  for (const file of installedFiles) {
824
- if (!file.endsWith('.toml'))
822
+ if (!file.endsWith(".toml"))
825
823
  continue;
826
824
  const agentName = file.slice(0, -5);
827
- const status = agentStatusByName?.get(agentName);
828
- if (isInstallableStatus(status))
825
+ const agentStatus = agentStatusByName?.get(agentName);
826
+ if (isInstallableStatus(agentStatus))
829
827
  continue;
830
- if (!staleCandidateNativeAgentNames.has(agentName) && status === undefined)
828
+ if (!staleCandidateNativeAgentNames.has(agentName) &&
829
+ agentStatus === undefined)
831
830
  continue;
832
831
  const staleAgentPath = join(agentsDir, file);
833
832
  if (!existsSync(staleAgentPath))
@@ -837,14 +836,50 @@ async function refreshNativeAgentConfigs(pkgRoot, agentsDir, backupContext, opti
837
836
  }
838
837
  summary.removed += 1;
839
838
  if (options.verbose) {
840
- const prefix = options.dryRun ? 'would remove stale native agent' : 'removed stale native agent';
841
- const label = status ?? 'unlisted';
839
+ const prefix = options.dryRun
840
+ ? "would remove stale native agent"
841
+ : "removed stale native agent";
842
+ const label = agentStatus ?? "unlisted";
842
843
  console.log(` ${prefix} ${file} (status: ${label})`);
843
844
  }
844
845
  }
845
846
  }
846
847
  return summary;
847
848
  }
849
+ async function cleanupObsoleteNativeAgents(agentsDir, backupContext, options) {
850
+ if (!existsSync(agentsDir))
851
+ return 0;
852
+ const installedFiles = await readdir(agentsDir);
853
+ let removed = 0;
854
+ for (const file of installedFiles) {
855
+ if (!file.endsWith(".toml"))
856
+ continue;
857
+ const fullPath = join(agentsDir, file);
858
+ let content = "";
859
+ try {
860
+ content = await readFile(fullPath, "utf-8");
861
+ }
862
+ catch {
863
+ continue;
864
+ }
865
+ if (!containsTomlKey(content, OBSOLETE_NATIVE_AGENT_FIELD))
866
+ continue;
867
+ if (await ensureBackup(fullPath, true, backupContext, options)) {
868
+ // backup created for pre-existing obsolete native agent config
869
+ }
870
+ if (!options.dryRun) {
871
+ await rm(fullPath, { force: true });
872
+ }
873
+ if (options.verbose) {
874
+ const prefix = options.dryRun
875
+ ? "would remove stale obsolete native agent"
876
+ : "removed stale obsolete native agent";
877
+ console.log(` ${prefix} ${file}`);
878
+ }
879
+ removed += 1;
880
+ }
881
+ return removed;
882
+ }
848
883
  export async function installSkills(srcDir, dstDir, backupContext, options) {
849
884
  const summary = createEmptyCategorySummary();
850
885
  if (!existsSync(srcDir))
@@ -924,7 +959,7 @@ export async function installSkills(srcDir, dstDir, backupContext, options) {
924
959
  }
925
960
  return summary;
926
961
  }
927
- async function updateManagedConfig(configPath, pkgRoot, agentsConfigDir, sharedMcpRegistry, summary, backupContext, options) {
962
+ async function updateManagedConfig(configPath, pkgRoot, sharedMcpRegistry, summary, backupContext, options) {
928
963
  const existing = existsSync(configPath)
929
964
  ? await readFile(configPath, "utf-8")
930
965
  : "";
@@ -943,7 +978,6 @@ async function updateManagedConfig(configPath, pkgRoot, agentsConfigDir, sharedM
943
978
  }
944
979
  }
945
980
  const finalConfig = buildMergedConfig(existing, pkgRoot, {
946
- agentsConfigDir,
947
981
  modelOverride,
948
982
  sharedMcpServers: sharedMcpRegistry.servers,
949
983
  sharedMcpRegistrySource: sharedMcpRegistry.sourcePath,
@@ -952,7 +986,7 @@ async function updateManagedConfig(configPath, pkgRoot, agentsConfigDir, sharedM
952
986
  const changed = existing !== finalConfig;
953
987
  if (!changed) {
954
988
  summary.unchanged += 1;
955
- return;
989
+ return finalConfig;
956
990
  }
957
991
  if (await ensureBackup(configPath, existsSync(configPath), backupContext, options)) {
958
992
  summary.backedUp += 1;
@@ -970,6 +1004,7 @@ async function updateManagedConfig(configPath, pkgRoot, agentsConfigDir, sharedM
970
1004
  if (options.verbose) {
971
1005
  console.log(` ${options.dryRun ? "would update" : "updated"} config ${configPath}`);
972
1006
  }
1007
+ return finalConfig;
973
1008
  }
974
1009
  function getClaudeCodeSettingsPath(homeDir = homedir()) {
975
1010
  return join(homeDir, ".claude", "settings.json");
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface ResolveSparkShellBinaryPathOptions {
6
6
  packageRoot?: string;
7
7
  platform?: NodeJS.Platform;
8
8
  arch?: string;
9
+ linuxLibcPreference?: readonly ('musl' | 'glibc')[];
9
10
  exists?: (path: string) => boolean;
10
11
  }
11
12
  export interface RunSparkShellBinaryOptions {
@@ -14,7 +15,8 @@ export interface RunSparkShellBinaryOptions {
14
15
  spawnImpl?: typeof spawnSync;
15
16
  }
16
17
  export declare function sparkshellBinaryName(platform?: NodeJS.Platform): string;
17
- export declare function packagedSparkShellBinaryPath(packageRoot?: string, platform?: NodeJS.Platform, arch?: string): string;
18
+ export declare function packagedSparkShellBinaryPath(packageRoot?: string, platform?: NodeJS.Platform, arch?: string, libc?: 'musl' | 'glibc'): string;
19
+ export declare function packagedSparkShellBinaryCandidatePaths(packageRoot?: string, platform?: NodeJS.Platform, arch?: string, env?: NodeJS.ProcessEnv, linuxLibcPreference?: readonly ('musl' | 'glibc')[]): string[];
18
20
  export declare function repoLocalSparkShellBinaryPath(packageRoot?: string, platform?: NodeJS.Platform): string;
19
21
  export declare function nestedRepoLocalSparkShellBinaryPath(packageRoot?: string, platform?: NodeJS.Platform): string;
20
22
  export declare function resolveSparkShellBinaryPath(options?: ResolveSparkShellBinaryPathOptions): string;