oh-my-codex 0.21.6 → 0.21.8

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 (227) hide show
  1. package/Cargo.lock +6 -6
  2. package/Cargo.toml +1 -1
  3. package/README.md +14 -0
  4. package/dist/agents/__tests__/native-config.test.js +16 -0
  5. package/dist/agents/__tests__/native-config.test.js.map +1 -1
  6. package/dist/catalog/__tests__/plugin-bundle-ssot.test.js +4 -0
  7. package/dist/catalog/__tests__/plugin-bundle-ssot.test.js.map +1 -1
  8. package/dist/cli/__tests__/codex-plugin-layout.test.js +97 -0
  9. package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
  10. package/dist/cli/__tests__/detached-leader-teardown.test.js +268 -0
  11. package/dist/cli/__tests__/detached-leader-teardown.test.js.map +1 -1
  12. package/dist/cli/__tests__/doctor-missing-config.test.d.ts +2 -0
  13. package/dist/cli/__tests__/doctor-missing-config.test.d.ts.map +1 -0
  14. package/dist/cli/__tests__/doctor-missing-config.test.js +75 -0
  15. package/dist/cli/__tests__/doctor-missing-config.test.js.map +1 -0
  16. package/dist/cli/__tests__/doctor-state-root-binding.test.js +79 -2
  17. package/dist/cli/__tests__/doctor-state-root-binding.test.js.map +1 -1
  18. package/dist/cli/__tests__/doctor-warning-copy.test.js +88 -4
  19. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  20. package/dist/cli/__tests__/exec.test.js +128 -0
  21. package/dist/cli/__tests__/exec.test.js.map +1 -1
  22. package/dist/cli/__tests__/index.test.js +7 -5
  23. package/dist/cli/__tests__/index.test.js.map +1 -1
  24. package/dist/cli/__tests__/launch-fallback.test.js +5 -2
  25. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  26. package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.js +113 -0
  27. package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.js.map +1 -1
  28. package/dist/cli/__tests__/plugin-cache-team-mode-transition-3699.test.d.ts +2 -0
  29. package/dist/cli/__tests__/plugin-cache-team-mode-transition-3699.test.d.ts.map +1 -0
  30. package/dist/cli/__tests__/plugin-cache-team-mode-transition-3699.test.js +69 -0
  31. package/dist/cli/__tests__/plugin-cache-team-mode-transition-3699.test.js.map +1 -0
  32. package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.js +1 -0
  33. package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.js.map +1 -1
  34. package/dist/cli/__tests__/plugin-skill-contract-links.test.d.ts +2 -0
  35. package/dist/cli/__tests__/plugin-skill-contract-links.test.d.ts.map +1 -0
  36. package/dist/cli/__tests__/plugin-skill-contract-links.test.js +96 -0
  37. package/dist/cli/__tests__/plugin-skill-contract-links.test.js.map +1 -0
  38. package/dist/cli/__tests__/plugin-templates-provenance-3707.test.d.ts +2 -0
  39. package/dist/cli/__tests__/plugin-templates-provenance-3707.test.d.ts.map +1 -0
  40. package/dist/cli/__tests__/plugin-templates-provenance-3707.test.js +144 -0
  41. package/dist/cli/__tests__/plugin-templates-provenance-3707.test.js.map +1 -0
  42. package/dist/cli/__tests__/question.test.js +53 -0
  43. package/dist/cli/__tests__/question.test.js.map +1 -1
  44. package/dist/cli/__tests__/session-export.test.d.ts +2 -0
  45. package/dist/cli/__tests__/session-export.test.d.ts.map +1 -0
  46. package/dist/cli/__tests__/session-export.test.js +166 -0
  47. package/dist/cli/__tests__/session-export.test.js.map +1 -0
  48. package/dist/cli/__tests__/setup-hooks-trust-e2e.test.js +13 -15
  49. package/dist/cli/__tests__/setup-hooks-trust-e2e.test.js.map +1 -1
  50. package/dist/cli/__tests__/setup-install-mode.test.js +60 -1
  51. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  52. package/dist/cli/__tests__/team-mode-agents-template-3699.test.d.ts +2 -0
  53. package/dist/cli/__tests__/team-mode-agents-template-3699.test.d.ts.map +1 -0
  54. package/dist/cli/__tests__/team-mode-agents-template-3699.test.js +44 -0
  55. package/dist/cli/__tests__/team-mode-agents-template-3699.test.js.map +1 -0
  56. package/dist/cli/__tests__/uninstall.test.js +60 -12
  57. package/dist/cli/__tests__/uninstall.test.js.map +1 -1
  58. package/dist/cli/doctor.d.ts +1 -0
  59. package/dist/cli/doctor.d.ts.map +1 -1
  60. package/dist/cli/doctor.js +103 -20
  61. package/dist/cli/doctor.js.map +1 -1
  62. package/dist/cli/index.d.ts +1 -1
  63. package/dist/cli/index.d.ts.map +1 -1
  64. package/dist/cli/index.js +102 -5
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/cli/plugin-marketplace.d.ts.map +1 -1
  67. package/dist/cli/plugin-marketplace.js +78 -0
  68. package/dist/cli/plugin-marketplace.js.map +1 -1
  69. package/dist/cli/question.d.ts.map +1 -1
  70. package/dist/cli/question.js +6 -3
  71. package/dist/cli/question.js.map +1 -1
  72. package/dist/cli/session-export.d.ts +9 -0
  73. package/dist/cli/session-export.d.ts.map +1 -0
  74. package/dist/cli/session-export.js +76 -0
  75. package/dist/cli/session-export.js.map +1 -0
  76. package/dist/cli/session-search.d.ts.map +1 -1
  77. package/dist/cli/session-search.js +7 -0
  78. package/dist/cli/session-search.js.map +1 -1
  79. package/dist/cli/setup.d.ts +1 -0
  80. package/dist/cli/setup.d.ts.map +1 -1
  81. package/dist/cli/setup.js +103 -55
  82. package/dist/cli/setup.js.map +1 -1
  83. package/dist/cli/uninstall.d.ts.map +1 -1
  84. package/dist/cli/uninstall.js +32 -8
  85. package/dist/cli/uninstall.js.map +1 -1
  86. package/dist/config/__tests__/codex-hooks.test.js +174 -4
  87. package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
  88. package/dist/config/__tests__/generator-idempotent.test.js +2 -1
  89. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  90. package/dist/config/__tests__/generator-notify.test.js +2 -2
  91. package/dist/config/__tests__/generator-notify.test.js.map +1 -1
  92. package/dist/config/__tests__/models.test.js +16 -0
  93. package/dist/config/__tests__/models.test.js.map +1 -1
  94. package/dist/config/codex-hooks.d.ts +18 -0
  95. package/dist/config/codex-hooks.d.ts.map +1 -1
  96. package/dist/config/codex-hooks.js +92 -6
  97. package/dist/config/codex-hooks.js.map +1 -1
  98. package/dist/config/generator.d.ts +26 -2
  99. package/dist/config/generator.d.ts.map +1 -1
  100. package/dist/config/generator.js +112 -17
  101. package/dist/config/generator.js.map +1 -1
  102. package/dist/config/models.d.ts +4 -4
  103. package/dist/config/models.d.ts.map +1 -1
  104. package/dist/config/models.js +4 -4
  105. package/dist/config/models.js.map +1 -1
  106. package/dist/hooks/__tests__/ralplan-advisory-keyword.test.js +52 -0
  107. package/dist/hooks/__tests__/ralplan-advisory-keyword.test.js.map +1 -1
  108. package/dist/hud/__tests__/index.test.js +111 -12
  109. package/dist/hud/__tests__/index.test.js.map +1 -1
  110. package/dist/hud/__tests__/reconcile.test.js +48 -5
  111. package/dist/hud/__tests__/reconcile.test.js.map +1 -1
  112. package/dist/hud/__tests__/roster-height-realtmux.test.js +11 -9
  113. package/dist/hud/__tests__/roster-height-realtmux.test.js.map +1 -1
  114. package/dist/hud/__tests__/state.test.js +112 -1
  115. package/dist/hud/__tests__/state.test.js.map +1 -1
  116. package/dist/hud/__tests__/tmux-split-realtmux.test.js +330 -5
  117. package/dist/hud/__tests__/tmux-split-realtmux.test.js.map +1 -1
  118. package/dist/hud/__tests__/tmux.test.js +380 -23
  119. package/dist/hud/__tests__/tmux.test.js.map +1 -1
  120. package/dist/hud/__tests__/watch-detached.test.js +345 -0
  121. package/dist/hud/__tests__/watch-detached.test.js.map +1 -1
  122. package/dist/hud/__tests__/watch-realtmux.test.js +6 -3
  123. package/dist/hud/__tests__/watch-realtmux.test.js.map +1 -1
  124. package/dist/hud/index.d.ts +6 -2
  125. package/dist/hud/index.d.ts.map +1 -1
  126. package/dist/hud/index.js +192 -44
  127. package/dist/hud/index.js.map +1 -1
  128. package/dist/hud/reconcile.d.ts +14 -1
  129. package/dist/hud/reconcile.d.ts.map +1 -1
  130. package/dist/hud/reconcile.js +112 -16
  131. package/dist/hud/reconcile.js.map +1 -1
  132. package/dist/hud/state.d.ts +5 -0
  133. package/dist/hud/state.d.ts.map +1 -1
  134. package/dist/hud/state.js +49 -14
  135. package/dist/hud/state.js.map +1 -1
  136. package/dist/hud/tmux.d.ts +26 -3
  137. package/dist/hud/tmux.d.ts.map +1 -1
  138. package/dist/hud/tmux.js +335 -51
  139. package/dist/hud/tmux.js.map +1 -1
  140. package/dist/mcp/state-paths.d.ts +1 -0
  141. package/dist/mcp/state-paths.d.ts.map +1 -1
  142. package/dist/mcp/state-paths.js +1 -1
  143. package/dist/mcp/state-paths.js.map +1 -1
  144. package/dist/mcp/state-server.d.ts +4 -4
  145. package/dist/mcp/state-server.d.ts.map +1 -1
  146. package/dist/mcp/state-server.js +1 -0
  147. package/dist/mcp/state-server.js.map +1 -1
  148. package/dist/modes/base.d.ts.map +1 -1
  149. package/dist/modes/base.js +1 -0
  150. package/dist/modes/base.js.map +1 -1
  151. package/dist/notifications/__tests__/formatter.test.js +9 -0
  152. package/dist/notifications/__tests__/formatter.test.js.map +1 -1
  153. package/dist/notifications/__tests__/tmux.test.js +9 -0
  154. package/dist/notifications/__tests__/tmux.test.js.map +1 -1
  155. package/dist/notifications/formatter.js +2 -2
  156. package/dist/notifications/formatter.js.map +1 -1
  157. package/dist/notifications/tmux.js +1 -1
  158. package/dist/notifications/tmux.js.map +1 -1
  159. package/dist/question/__tests__/renderer.test.js +42 -0
  160. package/dist/question/__tests__/renderer.test.js.map +1 -1
  161. package/dist/question/renderer.d.ts +5 -0
  162. package/dist/question/renderer.d.ts.map +1 -1
  163. package/dist/question/renderer.js +28 -2
  164. package/dist/question/renderer.js.map +1 -1
  165. package/dist/runtime/__tests__/bridge.test.js +79 -0
  166. package/dist/runtime/__tests__/bridge.test.js.map +1 -1
  167. package/dist/runtime/bridge.d.ts +1 -0
  168. package/dist/runtime/bridge.d.ts.map +1 -1
  169. package/dist/runtime/bridge.js +17 -4
  170. package/dist/runtime/bridge.js.map +1 -1
  171. package/dist/scripts/__tests__/codex-native-hook.test.js +197 -20
  172. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  173. package/dist/scripts/__tests__/ralplan-advisory-hook.test.js +153 -0
  174. package/dist/scripts/__tests__/ralplan-advisory-hook.test.js.map +1 -1
  175. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  176. package/dist/scripts/codex-native-hook.js +14 -3
  177. package/dist/scripts/codex-native-hook.js.map +1 -1
  178. package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
  179. package/dist/scripts/smoke-packed-install.js +15 -24
  180. package/dist/scripts/smoke-packed-install.js.map +1 -1
  181. package/dist/scripts/sync-plugin-mirror.d.ts.map +1 -1
  182. package/dist/scripts/sync-plugin-mirror.js +63 -3
  183. package/dist/scripts/sync-plugin-mirror.js.map +1 -1
  184. package/dist/session-history/__tests__/export.test.d.ts +2 -0
  185. package/dist/session-history/__tests__/export.test.d.ts.map +1 -0
  186. package/dist/session-history/__tests__/export.test.js +225 -0
  187. package/dist/session-history/__tests__/export.test.js.map +1 -0
  188. package/dist/session-history/export.d.ts +31 -0
  189. package/dist/session-history/export.d.ts.map +1 -0
  190. package/dist/session-history/export.js +225 -0
  191. package/dist/session-history/export.js.map +1 -0
  192. package/dist/session-history/search.d.ts +1 -0
  193. package/dist/session-history/search.d.ts.map +1 -1
  194. package/dist/session-history/search.js +1 -1
  195. package/dist/session-history/search.js.map +1 -1
  196. package/dist/state/__tests__/operations.test.js +45 -0
  197. package/dist/state/__tests__/operations.test.js.map +1 -1
  198. package/dist/state/operations.d.ts +1 -1
  199. package/dist/state/operations.d.ts.map +1 -1
  200. package/dist/state/operations.js +1 -0
  201. package/dist/state/operations.js.map +1 -1
  202. package/dist/team/__tests__/runtime.test.js +62 -5
  203. package/dist/team/__tests__/runtime.test.js.map +1 -1
  204. package/dist/team/__tests__/scaling.test.js +2 -2
  205. package/dist/team/__tests__/scaling.test.js.map +1 -1
  206. package/dist/team/__tests__/state.test.js +33 -0
  207. package/dist/team/__tests__/state.test.js.map +1 -1
  208. package/dist/team/__tests__/worker-bootstrap.test.js +136 -11
  209. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  210. package/dist/team/state.d.ts.map +1 -1
  211. package/dist/team/state.js +3 -2
  212. package/dist/team/state.js.map +1 -1
  213. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  214. package/dist/team/worker-bootstrap.js +60 -95
  215. package/dist/team/worker-bootstrap.js.map +1 -1
  216. package/dist/utils/__tests__/toml.test.js +10 -0
  217. package/dist/utils/__tests__/toml.test.js.map +1 -1
  218. package/dist/utils/toml.js +1 -1
  219. package/dist/utils/toml.js.map +1 -1
  220. package/package.json +1 -1
  221. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  222. package/plugins/oh-my-codex/templates/AGENTS.md +226 -0
  223. package/src/scripts/__tests__/codex-native-hook.test.ts +272 -19
  224. package/src/scripts/__tests__/ralplan-advisory-hook.test.ts +157 -0
  225. package/src/scripts/codex-native-hook.ts +13 -3
  226. package/src/scripts/smoke-packed-install.ts +16 -25
  227. package/src/scripts/sync-plugin-mirror.ts +77 -3
package/Cargo.lock CHANGED
@@ -32,7 +32,7 @@ checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8"
32
32
 
33
33
  [[package]]
34
34
  name = "omx-api"
35
- version = "0.21.6"
35
+ version = "0.21.8"
36
36
  dependencies = [
37
37
  "serde",
38
38
  "serde_json",
@@ -40,14 +40,14 @@ dependencies = [
40
40
 
41
41
  [[package]]
42
42
  name = "omx-explore-harness"
43
- version = "0.21.6"
43
+ version = "0.21.8"
44
44
  dependencies = [
45
45
  "libc",
46
46
  ]
47
47
 
48
48
  [[package]]
49
49
  name = "omx-mux"
50
- version = "0.21.6"
50
+ version = "0.21.8"
51
51
  dependencies = [
52
52
  "serde",
53
53
  "serde_json",
@@ -55,7 +55,7 @@ dependencies = [
55
55
 
56
56
  [[package]]
57
57
  name = "omx-runtime"
58
- version = "0.21.6"
58
+ version = "0.21.8"
59
59
  dependencies = [
60
60
  "fs2",
61
61
  "libc",
@@ -67,7 +67,7 @@ dependencies = [
67
67
 
68
68
  [[package]]
69
69
  name = "omx-runtime-core"
70
- version = "0.21.6"
70
+ version = "0.21.8"
71
71
  dependencies = [
72
72
  "fs2",
73
73
  "serde",
@@ -76,7 +76,7 @@ dependencies = [
76
76
 
77
77
  [[package]]
78
78
  name = "omx-sparkshell"
79
- version = "0.21.6"
79
+ version = "0.21.8"
80
80
  dependencies = [
81
81
  "omx-mux",
82
82
  ]
package/Cargo.toml CHANGED
@@ -11,7 +11,7 @@ resolver = "2"
11
11
 
12
12
  [workspace.package]
13
13
 
14
- version = "0.21.6"
14
+ version = "0.21.8"
15
15
 
16
16
  edition = "2021"
17
17
  rust-version = "1.73"
package/README.md CHANGED
@@ -349,6 +349,20 @@ These are useful, but they are not the main onboarding path.
349
349
 
350
350
  Use `omx mission` when you have a short checklist of OmX/Codex prompts that should run one after another instead of opening a separate shell command for each prompt. Start with `omx mission plan ./mission.md` or `omx mission ./mission.md --dry-run` to validate parsing and inspect the durable summary, then run `omx mission run ./mission.md -- --model gpt-5` when the prompts are ready. Interrupted runs can be inspected with `omx mission status ./mission.md`, continued with `omx mission resume ./mission.md`, operator-blocked with `omx mission mark ./mission.md --task task-002 --status blocked`, and repaired task-by-task with `omx mission rerun ./mission.md --task task-002`. See [`docs/mission.md`](./docs/mission.md) for input format, status output, and artifact details.
351
351
 
352
+ ### Export a previous conversation
353
+
354
+ Use `omx session search "a phrase you remember"` to find a session ID, then
355
+ `omx session export <session-id> --output conversation.md` to save its conversation.
356
+ Export accepts an exact ID or a unique prefix and includes active and archived
357
+ transcripts from the same Codex homes discovered by session search. Use
358
+ `--format json` for structured output, `--include-tools` for tool arguments and
359
+ outputs, or `--codex-home <path>` to select one home. Omitting `--output` writes
360
+ to stdout; an existing output file is never overwritten.
361
+
362
+ Only user and assistant messages are included by default. System/developer
363
+ instructions and reasoning records are excluded; message text is not redacted.
364
+ See [session export](./docs/session-export.md) for supported records and examples.
365
+
352
366
  ### Team runtime
353
367
 
354
368
  Use the team runtime when you specifically need durable tmux/worktree coordination, not as the default way to begin using OMX. In Codex App or plain outside-tmux sessions, treat `omx team` as a tmux-runtime shell surface rather than a directly available in-app workflow; launch OMX CLI from shell first if you actually want team execution.
@@ -109,6 +109,22 @@ describe("agents/native-config", () => {
109
109
  assert.doesNotMatch(String(toml.developer_instructions), /exact gpt-5\.6-terra model/, role);
110
110
  }
111
111
  });
112
+ it("generates GPT-6 Sol and Luna role overrides without changing role efforts", async () => {
113
+ const codexHome = await mkdtemp(join(tmpdir(), "omx-native-config-gpt6-"));
114
+ try {
115
+ const agentModels = { planner: "gpt-6-sol", executor: "gpt-6-sol", explore: "gpt-6-luna" };
116
+ await writeFile(join(codexHome, ".omx-config.json"), JSON.stringify({ agentModels }));
117
+ for (const [role, model] of Object.entries(agentModels)) {
118
+ const toml = parseToml(generateAgentToml(AGENT_DEFINITIONS[role], `${role} prompt`, { codexHomeOverride: codexHome }));
119
+ assert.equal(toml.model, model, role);
120
+ assert.equal(toml.model_reasoning_effort, AGENT_DEFINITIONS[role].reasoningEffort, role);
121
+ assert.doesNotMatch(String(toml.developer_instructions), /exact gpt-6-astra model/, role);
122
+ }
123
+ }
124
+ finally {
125
+ await rm(codexHome, { recursive: true, force: true });
126
+ }
127
+ });
112
128
  it("preserves older per-role model choices across every model class", async () => {
113
129
  const codexHome = await mkdtemp(join(tmpdir(), "omx-native-config-legacy-models-"));
114
130
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"native-config.test.js","sourceRoot":"","sources":["../../../src/agents/__tests__/native-config.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-config.test.js","sourceRoot":"","sources":["../../../src/agents/__tests__/native-config.test.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,10 @@ describe("plugin bundle SSOT contract", () => {
31
31
  assert.equal(isDirectCliInvocation(importMetaUrl, undefined), false);
32
32
  assert.equal(isDirectCliInvocation(importMetaUrl, join(tmpdir(), "other", "sync-plugin-mirror.js")), false);
33
33
  });
34
+ it("ensures plugin.json manifest has no templates key (Codex plugin schema constraint)", async () => {
35
+ const manifest = JSON.parse(await readFile(join(root, "plugins", "oh-my-codex", ".codex-plugin", "plugin.json"), "utf-8"));
36
+ assert.equal(manifest.templates, undefined, "plugin.json must not include templates key; Codex plugin manifests only accept skills, apps, mcpServers, hooks, and interface metadata");
37
+ });
34
38
  it("verifies the checked-in plugin bundle mirrors canonical roots", async () => {
35
39
  const result = await syncPluginMirror({ root, check: true });
36
40
  const expectedSkillNames = [
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-bundle-ssot.test.js","sourceRoot":"","sources":["../../../src/catalog/__tests__/plugin-bundle-ssot.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-bundle-ssot.test.js","sourceRoot":"","sources":["../../../src/catalog/__tests__/plugin-bundle-ssot.test.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,7 @@ async function createPluginMirrorFixtureRoot() {
59
59
  cp(join(root, 'package.json'), join(fixtureRoot, 'package.json')),
60
60
  cp(join(root, 'plugins', pluginName), join(fixtureRoot, 'plugins', pluginName), { recursive: true }),
61
61
  cp(join(root, 'skills'), join(fixtureRoot, 'skills'), { recursive: true }),
62
+ cp(join(root, 'templates'), join(fixtureRoot, 'templates'), { recursive: true }),
62
63
  cp(join(root, 'src', 'catalog', 'manifest.json'), join(fixtureRoot, 'src', 'catalog', 'manifest.json')),
63
64
  ]);
64
65
  return fixtureRoot;
@@ -309,6 +310,7 @@ describe('official Codex plugin layout', () => {
309
310
  it('defines a plugin manifest under a plugin root and keeps .codex-plugin limited to plugin.json', async () => {
310
311
  const pkg = await readJson(join(root, 'package.json'));
311
312
  const manifest = await readJson(pluginManifestPath);
313
+ const manifestRaw = await readJson(pluginManifestPath);
312
314
  const codexPluginEntries = await readdir(join(pluginRoot, '.codex-plugin'));
313
315
  assert.deepEqual(codexPluginEntries.sort(), ['plugin.json']);
314
316
  assert.equal(manifest.name, pluginName);
@@ -317,6 +319,7 @@ describe('official Codex plugin layout', () => {
317
319
  assert.equal(manifest.skills, './skills/');
318
320
  assert.equal(manifest.mcpServers, './.mcp.json');
319
321
  assert.equal(manifest.apps, './.app.json');
322
+ assert.equal(manifestRaw.templates, undefined, 'plugin manifest should not include templates key');
320
323
  assert.equal(manifest.interface?.displayName, 'oh-my-codex');
321
324
  assert.equal(manifest.interface?.category, 'Developer Tools');
322
325
  assert.ok(manifest.interface?.shortDescription, 'expected short interface description');
@@ -1239,5 +1242,99 @@ process.stdin.on('end', () => {
1239
1242
  assert.match(combined, /plugin-scoped companion metadata for official Codex lifecycle hooks/i);
1240
1243
  assert.match(combined, /legacy\/fallback native Codex hook registrations|legacy setup mode installs prompts\/native agents and \.codex\/hooks\.json/i);
1241
1244
  });
1245
+ it('fails sync:plugin:check when plugin template is missing', async () => {
1246
+ const fixtureRoot = await createPluginMirrorFixtureRoot();
1247
+ try {
1248
+ const pluginTemplatesPath = join(fixtureRoot, 'plugins', pluginName, 'templates', 'AGENTS.md');
1249
+ // Remove the template file to simulate it being missing
1250
+ await rm(pluginTemplatesPath);
1251
+ // Should fail in check mode
1252
+ let failed = false;
1253
+ try {
1254
+ const { syncPluginMirror } = await import('../../scripts/sync-plugin-mirror.js');
1255
+ await syncPluginMirror({ root: fixtureRoot, check: true });
1256
+ }
1257
+ catch (e) {
1258
+ failed = true;
1259
+ const error = e instanceof Error ? e.message : String(e);
1260
+ assert.match(error, /plugin_template_out_of_sync/);
1261
+ assert.match(error, /missing/);
1262
+ }
1263
+ assert.equal(failed, true, 'expected check mode to fail when template is missing');
1264
+ }
1265
+ finally {
1266
+ await rm(fixtureRoot, { recursive: true, force: true });
1267
+ }
1268
+ });
1269
+ it('fails sync:plugin:check when plugin template is stale', async () => {
1270
+ const fixtureRoot = await createPluginMirrorFixtureRoot();
1271
+ try {
1272
+ const pluginTemplatesPath = join(fixtureRoot, 'plugins', pluginName, 'templates', 'AGENTS.md');
1273
+ // Corrupt the template file to simulate it being stale
1274
+ await writeFile(pluginTemplatesPath, 'corrupted content');
1275
+ // Should fail in check mode
1276
+ let failed = false;
1277
+ try {
1278
+ const { syncPluginMirror } = await import('../../scripts/sync-plugin-mirror.js');
1279
+ await syncPluginMirror({ root: fixtureRoot, check: true });
1280
+ }
1281
+ catch (e) {
1282
+ failed = true;
1283
+ const error = e instanceof Error ? e.message : String(e);
1284
+ assert.match(error, /plugin_template_out_of_sync/);
1285
+ assert.match(error, /stale/);
1286
+ }
1287
+ assert.equal(failed, true, 'expected check mode to fail when template is stale');
1288
+ }
1289
+ finally {
1290
+ await rm(fixtureRoot, { recursive: true, force: true });
1291
+ }
1292
+ });
1293
+ it('includes template changes in the changed result', async () => {
1294
+ const fixtureRoot = await createPluginMirrorFixtureRoot();
1295
+ try {
1296
+ const pluginTemplatesPath = join(fixtureRoot, 'plugins', pluginName, 'templates', 'AGENTS.md');
1297
+ // Remove the template file to simulate it being missing
1298
+ await rm(pluginTemplatesPath);
1299
+ // Sync should report changed=true even if skills and metadata already match
1300
+ const { syncPluginMirror } = await import('../../scripts/sync-plugin-mirror.js');
1301
+ const result = await syncPluginMirror({ root: fixtureRoot, verbose: false });
1302
+ assert.equal(result.changed, true, 'expected changed=true when template was missing and needed to be synced');
1303
+ }
1304
+ finally {
1305
+ await rm(fixtureRoot, { recursive: true, force: true });
1306
+ }
1307
+ });
1308
+ it('fails sync:plugin:check when extra files exist in templates directory', async () => {
1309
+ const fixtureRoot = await createPluginMirrorFixtureRoot();
1310
+ try {
1311
+ const pluginTemplatesDir = join(fixtureRoot, 'plugins', pluginName, 'templates');
1312
+ // Create an extra file in the templates directory
1313
+ await writeFile(join(pluginTemplatesDir, 'extra-file.txt'), 'stray file');
1314
+ // Should fail in check mode
1315
+ let failed = false;
1316
+ try {
1317
+ const { syncPluginMirror } = await import('../../scripts/sync-plugin-mirror.js');
1318
+ await syncPluginMirror({ root: fixtureRoot, check: true });
1319
+ }
1320
+ catch (e) {
1321
+ failed = true;
1322
+ const error = e instanceof Error ? e.message : String(e);
1323
+ assert.match(error, /plugin_template_out_of_sync/);
1324
+ assert.match(error, /templates directory must contain exactly/);
1325
+ }
1326
+ assert.equal(failed, true, 'expected check mode to fail when extra files exist in templates/');
1327
+ // Sync mode should remove the extra file and report changed=true
1328
+ const { syncPluginMirror } = await import('../../scripts/sync-plugin-mirror.js');
1329
+ const result = await syncPluginMirror({ root: fixtureRoot, verbose: false });
1330
+ assert.equal(result.changed, true, 'expected changed=true when extra files were removed');
1331
+ // Verify the extra file is gone
1332
+ const files = await readdir(pluginTemplatesDir);
1333
+ assert.deepEqual(files.sort(), ['AGENTS.md'], 'expected only AGENTS.md to remain');
1334
+ }
1335
+ finally {
1336
+ await rm(fixtureRoot, { recursive: true, force: true });
1337
+ }
1338
+ });
1242
1339
  });
1243
1340
  //# sourceMappingURL=codex-plugin-layout.test.js.map