oh-my-codex 0.11.9 → 0.11.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.lock +8 -5
- package/Cargo.toml +1 -1
- package/README.de.md +2 -2
- package/README.ja.md +3 -3
- package/README.ko.md +3 -3
- package/README.md +29 -11
- package/README.vi.md +1 -1
- package/README.zh-TW.md +1 -1
- package/README.zh.md +1 -1
- package/crates/omx-mux/src/lib.rs +1 -1
- package/crates/omx-mux/src/tmux.rs +1 -1
- package/crates/omx-sparkshell/Cargo.toml +3 -0
- package/crates/omx-sparkshell/src/main.rs +6 -9
- package/dist/cli/__tests__/doctor-warning-copy.test.js +28 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/ralph.test.js +25 -0
- package/dist/cli/__tests__/ralph.test.js.map +1 -1
- package/dist/cli/__tests__/setup-skills-overwrite.test.js +38 -0
- package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/sparkshell-cli.test.js +8 -0
- package/dist/cli/__tests__/sparkshell-cli.test.js.map +1 -1
- package/dist/cli/__tests__/sparkshell-packaging.test.js +3 -0
- package/dist/cli/__tests__/sparkshell-packaging.test.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +30 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/ralph.d.ts +3 -1
- package/dist/cli/ralph.d.ts.map +1 -1
- package/dist/cli/ralph.js +32 -6
- package/dist/cli/ralph.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +30 -3
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/sparkshell.d.ts.map +1 -1
- package/dist/cli/sparkshell.js +2 -9
- package/dist/cli/sparkshell.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +2 -2
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/generator.js +1 -1
- package/dist/config/generator.js.map +1 -1
- package/dist/hooks/__tests__/consensus-execution-handoff.test.js +5 -0
- package/dist/hooks/__tests__/consensus-execution-handoff.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +358 -4
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +63 -13
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-modules.test.js +1 -1
- package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
- package/dist/notifications/tmux-detector.d.ts.map +1 -1
- package/dist/notifications/tmux-detector.js +2 -1
- package/dist/notifications/tmux-detector.js.map +1 -1
- package/dist/notifications/tmux.d.ts.map +1 -1
- package/dist/notifications/tmux.js +2 -1
- package/dist/notifications/tmux.js.map +1 -1
- package/dist/planning/__tests__/artifacts.test.js +107 -1
- package/dist/planning/__tests__/artifacts.test.js.map +1 -1
- package/dist/planning/artifacts.d.ts +8 -4
- package/dist/planning/artifacts.d.ts.map +1 -1
- package/dist/planning/artifacts.js +23 -8
- package/dist/planning/artifacts.js.map +1 -1
- package/dist/scripts/notify-fallback-watcher.js +62 -20
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.d.ts +3 -2
- package/dist/scripts/notify-hook/auto-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/auto-nudge.js +81 -14
- package/dist/scripts/notify-hook/auto-nudge.js.map +1 -1
- package/dist/scripts/test-sparkshell.js +1 -1
- package/dist/scripts/tmux-hook-engine.d.ts +1 -0
- package/dist/scripts/tmux-hook-engine.d.ts.map +1 -1
- package/dist/scripts/tmux-hook-engine.js +3 -0
- package/dist/scripts/tmux-hook-engine.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +60 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +3 -3
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +50 -1
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/paths.d.ts +13 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +44 -2
- package/dist/utils/paths.js.map +1 -1
- package/package.json +1 -1
- package/prompts/planner.md +3 -3
- package/skills/doctor/SKILL.md +13 -8
- package/skills/omx-setup/SKILL.md +1 -0
- package/skills/plan/SKILL.md +2 -0
- package/skills/ralplan/SKILL.md +1 -0
- package/src/scripts/notify-fallback-watcher.ts +79 -20
- package/src/scripts/notify-hook/auto-nudge.ts +89 -14
- package/src/scripts/test-sparkshell.ts +1 -1
- package/src/scripts/tmux-hook-engine.ts +4 -0
package/Cargo.lock
CHANGED
|
@@ -32,11 +32,11 @@ checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
|
|
|
32
32
|
|
|
33
33
|
[[package]]
|
|
34
34
|
name = "omx-explore-harness"
|
|
35
|
-
version = "0.11.
|
|
35
|
+
version = "0.11.11"
|
|
36
36
|
|
|
37
37
|
[[package]]
|
|
38
38
|
name = "omx-mux"
|
|
39
|
-
version = "0.11.
|
|
39
|
+
version = "0.11.11"
|
|
40
40
|
dependencies = [
|
|
41
41
|
"serde",
|
|
42
42
|
"serde_json",
|
|
@@ -44,7 +44,7 @@ dependencies = [
|
|
|
44
44
|
|
|
45
45
|
[[package]]
|
|
46
46
|
name = "omx-runtime"
|
|
47
|
-
version = "0.11.
|
|
47
|
+
version = "0.11.11"
|
|
48
48
|
dependencies = [
|
|
49
49
|
"omx-mux",
|
|
50
50
|
"omx-runtime-core",
|
|
@@ -53,7 +53,7 @@ dependencies = [
|
|
|
53
53
|
|
|
54
54
|
[[package]]
|
|
55
55
|
name = "omx-runtime-core"
|
|
56
|
-
version = "0.11.
|
|
56
|
+
version = "0.11.11"
|
|
57
57
|
dependencies = [
|
|
58
58
|
"fs2",
|
|
59
59
|
"serde",
|
|
@@ -62,7 +62,10 @@ dependencies = [
|
|
|
62
62
|
|
|
63
63
|
[[package]]
|
|
64
64
|
name = "omx-sparkshell"
|
|
65
|
-
version = "0.11.
|
|
65
|
+
version = "0.11.11"
|
|
66
|
+
dependencies = [
|
|
67
|
+
"omx-mux",
|
|
68
|
+
]
|
|
66
69
|
|
|
67
70
|
[[package]]
|
|
68
71
|
name = "proc-macro2"
|
package/Cargo.toml
CHANGED
package/README.de.md
CHANGED
|
@@ -30,8 +30,8 @@ Siehe auch die [Release Notes zu v0.9.0](./docs/release-notes-0.9.0.md) und den
|
|
|
30
30
|
Innerhalb von Codex:
|
|
31
31
|
|
|
32
32
|
```text
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
$architect "analyze current auth boundaries"
|
|
34
|
+
$executor "implement input validation in login"
|
|
35
35
|
$plan "ship OAuth callback safely"
|
|
36
36
|
$team 3:executor "fix all TypeScript errors"
|
|
37
37
|
```
|
package/README.ja.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://www.npmjs.com/package/oh-my-codex)
|
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
|
11
11
|
[](https://nodejs.org)
|
|
12
|
-
[](https://discord.gg/PUwSMR9XNk)
|
|
13
13
|
|
|
14
14
|
> **[Website](https://yeachan-heo.github.io/oh-my-codex-website/)** | **[Documentation](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** | **[CLI Reference](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** | **[Workflows](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** | **[OpenClaw 統合ガイド](./docs/openclaw-integration.ja.md)** | **[GitHub](https://github.com/Yeachan-Heo/oh-my-codex)** | **[npm](https://www.npmjs.com/package/oh-my-codex)**
|
|
15
15
|
|
|
@@ -31,8 +31,8 @@ Spark Initiative は、OMX のネイティブ探索・検査経路を強化す
|
|
|
31
31
|
Codex内部で:
|
|
32
32
|
|
|
33
33
|
```text
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
$architect "analyze current auth boundaries"
|
|
35
|
+
$executor "implement input validation in login"
|
|
36
36
|
$plan "ship OAuth callback safely"
|
|
37
37
|
$team 3:executor "fix all TypeScript errors"
|
|
38
38
|
```
|
package/README.ko.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://www.npmjs.com/package/oh-my-codex)
|
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
|
11
11
|
[](https://nodejs.org)
|
|
12
|
-
[](https://discord.gg/PUwSMR9XNk)
|
|
13
13
|
|
|
14
14
|
> **[Website](https://yeachan-heo.github.io/oh-my-codex-website/)** | **[Documentation](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** | **[CLI Reference](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** | **[Workflows](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** | **[OpenClaw 통합 가이드](./docs/openclaw-integration.ko.md)** | **[GitHub](https://github.com/Yeachan-Heo/oh-my-codex)** | **[npm](https://www.npmjs.com/package/oh-my-codex)**
|
|
15
15
|
|
|
@@ -31,8 +31,8 @@ Spark Initiative는 OMX의 네이티브 탐색/검사 경로를 강화한 릴리
|
|
|
31
31
|
Codex 내부에서:
|
|
32
32
|
|
|
33
33
|
```text
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
$architect "analyze current auth boundaries"
|
|
35
|
+
$executor "implement input validation in login"
|
|
36
36
|
$plan "ship OAuth callback safely"
|
|
37
37
|
$team 3:executor "fix all TypeScript errors"
|
|
38
38
|
```
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://www.npmjs.com/package/oh-my-codex)
|
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
|
11
11
|
[](https://nodejs.org)
|
|
12
|
-
[](https://discord.gg/PUwSMR9XNk)
|
|
13
13
|
|
|
14
14
|
**Website:** https://yeachan-heo.github.io/oh-my-codex-website/
|
|
15
15
|
**Docs:** [Getting Started](./docs/getting-started.html) · [Agents](./docs/agents.html) · [Skills](./docs/skills.html) · [Integrations](./docs/integrations.html) · [Demo](./DEMO.md) · [OpenClaw guide](./docs/openclaw-integration.md)
|
|
@@ -18,7 +18,7 @@ OMX is a workflow layer for [OpenAI Codex CLI](https://github.com/openai/codex).
|
|
|
18
18
|
|
|
19
19
|
It keeps Codex as the execution engine and makes it easier to:
|
|
20
20
|
- start a stronger Codex session by default
|
|
21
|
-
- reuse good
|
|
21
|
+
- reuse good role/task invocations with `$name` keywords
|
|
22
22
|
- invoke workflows with skills like `$plan`, `$ralph`, and `$team`
|
|
23
23
|
- keep project guidance, plans, logs, and state in `.omx/`
|
|
24
24
|
|
|
@@ -35,7 +35,7 @@ omx --madmax --high
|
|
|
35
35
|
Then work normally inside Codex:
|
|
36
36
|
|
|
37
37
|
```text
|
|
38
|
-
|
|
38
|
+
$architect "analyze the authentication flow"
|
|
39
39
|
$plan "ship this feature cleanly"
|
|
40
40
|
```
|
|
41
41
|
|
|
@@ -45,7 +45,7 @@ Start OMX strongly, do the work in Codex, and let the agent pull in `$team` or o
|
|
|
45
45
|
## What OMX is for
|
|
46
46
|
|
|
47
47
|
Use OMX if you already like Codex and want a better day-to-day runtime around it:
|
|
48
|
-
- reusable role
|
|
48
|
+
- reusable role/task invocations such as `$architect` and `$executor`
|
|
49
49
|
- reusable workflows such as `$plan`, `$ralph`, `$team`, and `$deep-interview`
|
|
50
50
|
- project guidance through scoped `AGENTS.md`
|
|
51
51
|
- durable state under `.omx/` for plans, logs, memory, and mode tracking
|
|
@@ -70,10 +70,10 @@ Launch OMX the recommended way:
|
|
|
70
70
|
omx --madmax --high
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
Then try one
|
|
73
|
+
Then try one role keyword and one workflow skill:
|
|
74
74
|
|
|
75
75
|
```text
|
|
76
|
-
|
|
76
|
+
$architect "analyze the authentication flow"
|
|
77
77
|
$plan "map the safest implementation path"
|
|
78
78
|
```
|
|
79
79
|
|
|
@@ -85,17 +85,17 @@ OMX does **not** replace Codex.
|
|
|
85
85
|
|
|
86
86
|
It adds a better working layer around it:
|
|
87
87
|
- **Codex** does the actual agent work
|
|
88
|
-
- **OMX
|
|
88
|
+
- **OMX role keywords** make useful roles reusable
|
|
89
89
|
- **OMX skills** make common workflows reusable
|
|
90
90
|
- **`.omx/`** stores plans, logs, memory, and runtime state
|
|
91
91
|
|
|
92
|
-
Most users should think of OMX as **better
|
|
92
|
+
Most users should think of OMX as **better task routing + better workflow + better runtime**, not as a command surface to operate manually all day.
|
|
93
93
|
|
|
94
94
|
## Start here if you are new
|
|
95
95
|
|
|
96
96
|
1. Run `omx setup`
|
|
97
97
|
2. Launch with `omx --madmax --high`
|
|
98
|
-
3. Ask for analysis with
|
|
98
|
+
3. Ask for analysis with `$architect "..."`
|
|
99
99
|
4. Ask for planning with `$plan "..."`
|
|
100
100
|
5. Let the agent decide when `$ralph`, `$team`, or another workflow is worth using
|
|
101
101
|
|
|
@@ -103,8 +103,8 @@ Most users should think of OMX as **better prompting + better workflow + better
|
|
|
103
103
|
|
|
104
104
|
| Surface | Use it for |
|
|
105
105
|
| --- | --- |
|
|
106
|
-
|
|
|
107
|
-
|
|
|
106
|
+
| `$architect "..."` | analysis, boundaries, tradeoffs |
|
|
107
|
+
| `$executor "..."` | focused implementation work |
|
|
108
108
|
| `/skills` | browsing installed skills |
|
|
109
109
|
| `$plan "..."` | planning before implementation |
|
|
110
110
|
| `$ralph "..."` | persistent sequential execution |
|
|
@@ -164,6 +164,17 @@ omx sparkshell --tmux-pane %12 --tail-lines 400
|
|
|
164
164
|
| Windows | `winget install psmux` |
|
|
165
165
|
| Windows (WSL2) | `sudo apt install tmux` |
|
|
166
166
|
|
|
167
|
+
## Known issues
|
|
168
|
+
|
|
169
|
+
### Intel Mac: high `syspolicyd` / `trustd` CPU during startup
|
|
170
|
+
|
|
171
|
+
On some Intel Macs, OMX startup — especially with `--madmax --high` — can spike `syspolicyd` / `trustd` CPU usage while macOS Gatekeeper validates many concurrent process launches.
|
|
172
|
+
|
|
173
|
+
If this happens, try:
|
|
174
|
+
- `xattr -dr com.apple.quarantine $(which omx)`
|
|
175
|
+
- adding your terminal app to the Developer Tools allowlist in macOS Security settings
|
|
176
|
+
- using lower concurrency (for example, avoid `--madmax --high`)
|
|
177
|
+
|
|
167
178
|
## Documentation
|
|
168
179
|
|
|
169
180
|
- [Getting Started](./docs/getting-started.html)
|
|
@@ -191,6 +202,13 @@ omx sparkshell --tmux-pane %12 --tail-lines 400
|
|
|
191
202
|
- [Français](./README.fr.md)
|
|
192
203
|
- [Italiano](./README.it.md)
|
|
193
204
|
|
|
205
|
+
## Contributors
|
|
206
|
+
|
|
207
|
+
| Role | Name | GitHub |
|
|
208
|
+
| --- | --- | --- |
|
|
209
|
+
| Creator & Lead | Yeachan Heo | [@Yeachan-Heo](https://github.com/Yeachan-Heo) |
|
|
210
|
+
| Maintainer | HaD0Yun | [@HaD0Yun](https://github.com/HaD0Yun) |
|
|
211
|
+
|
|
194
212
|
## Star History
|
|
195
213
|
|
|
196
214
|
[](https://www.star-history.com/#Yeachan-Heo/oh-my-codex&type=date&legend=top-left)
|
package/README.vi.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://www.npmjs.com/package/oh-my-codex)
|
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
|
11
11
|
[](https://nodejs.org)
|
|
12
|
-
[](https://discord.gg/PUwSMR9XNk)
|
|
13
13
|
|
|
14
14
|
> **[Website](https://yeachan-heo.github.io/oh-my-codex-website/)** | **[Documentation](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** | **[CLI Reference](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** | **[Workflows](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** | **[Hướng dẫn tích hợp OpenClaw](./docs/openclaw-integration.vi.md)** | **[GitHub](https://github.com/Yeachan-Heo/oh-my-codex)** | **[npm](https://www.npmjs.com/package/oh-my-codex)**
|
|
15
15
|
|
package/README.zh-TW.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://www.npmjs.com/package/oh-my-codex)
|
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
|
11
11
|
[](https://nodejs.org)
|
|
12
|
-
[](https://discord.gg/PUwSMR9XNk)
|
|
13
13
|
|
|
14
14
|
> **[官方網站](https://yeachan-heo.github.io/oh-my-codex-website/)** | **[說明文件](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** | **[CLI 參考手冊](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** | **[工作流程](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** | **[OpenClaw 整合指南](./docs/openclaw-integration.zh-TW.md)** | **[GitHub](https://github.com/Yeachan-Heo/oh-my-codex)** | **[npm](https://www.npmjs.com/package/oh-my-codex)**
|
|
15
15
|
|
package/README.zh.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://www.npmjs.com/package/oh-my-codex)
|
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
|
11
11
|
[](https://nodejs.org)
|
|
12
|
-
[](https://discord.gg/PUwSMR9XNk)
|
|
13
13
|
|
|
14
14
|
> **[Website](https://yeachan-heo.github.io/oh-my-codex-website/)** | **[Documentation](https://yeachan-heo.github.io/oh-my-codex-website/docs.html)** | **[CLI Reference](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#cli-reference)** | **[Workflows](https://yeachan-heo.github.io/oh-my-codex-website/docs.html#workflows)** | **[OpenClaw 集成指南](./docs/openclaw-integration.zh.md)** | **[GitHub](https://github.com/Yeachan-Heo/oh-my-codex)** | **[npm](https://www.npmjs.com/package/oh-my-codex)**
|
|
15
15
|
|
|
@@ -56,7 +56,7 @@ pub(crate) fn build_enter_key_args(target: &str) -> Vec<String> {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
/// Build the argument list for `tmux capture-pane`.
|
|
59
|
-
pub
|
|
59
|
+
pub fn build_capture_pane_args(target: &str, visible_lines: usize) -> Vec<String> {
|
|
60
60
|
vec![
|
|
61
61
|
"capture-pane".into(),
|
|
62
62
|
"-t".into(),
|
|
@@ -10,6 +10,7 @@ use crate::codex_bridge::summarize_output;
|
|
|
10
10
|
use crate::error::SparkshellError;
|
|
11
11
|
use crate::exec::execute_command;
|
|
12
12
|
use crate::threshold::{combined_visible_lines, read_line_threshold};
|
|
13
|
+
use omx_mux::build_capture_pane_args;
|
|
13
14
|
use std::io::{self, Write};
|
|
14
15
|
use std::process;
|
|
15
16
|
|
|
@@ -44,15 +45,11 @@ fn run(args: Vec<String>) -> Result<(), SparkshellError> {
|
|
|
44
45
|
SparkShellInput::TmuxPane {
|
|
45
46
|
pane_id,
|
|
46
47
|
tail_lines,
|
|
47
|
-
} =>
|
|
48
|
-
"tmux".to_string()
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"-p".to_string(),
|
|
53
|
-
"-S".to_string(),
|
|
54
|
-
format!("-{tail_lines}"),
|
|
55
|
-
],
|
|
48
|
+
} => {
|
|
49
|
+
let mut argv = vec!["tmux".to_string()];
|
|
50
|
+
argv.extend(build_capture_pane_args(&pane_id, tail_lines));
|
|
51
|
+
argv
|
|
52
|
+
}
|
|
56
53
|
};
|
|
57
54
|
|
|
58
55
|
let output = execute_command(&execution_argv)?;
|
|
@@ -65,7 +65,7 @@ command = "node"
|
|
|
65
65
|
if (shouldSkipForSpawnPermissions(res.error))
|
|
66
66
|
return;
|
|
67
67
|
assert.equal(res.status, 0, res.stderr || res.stdout);
|
|
68
|
-
assert.match(res.stdout, /Explore Harness: Rust harness sources are packaged, but no compatible packaged prebuilt or cargo was found \(install Rust or set OMX_EXPLORE_BIN for omx explore\)/);
|
|
68
|
+
assert.match(res.stdout, /Explore Harness: (Rust harness sources are packaged, but no compatible packaged prebuilt or cargo was found \(install Rust or set OMX_EXPLORE_BIN for omx explore\)|not ready \(no packaged binary, OMX_EXPLORE_BIN, or cargo toolchain\))/);
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
finally {
|
|
@@ -150,5 +150,32 @@ USE_OMX_EXPLORE_CMD = "off"
|
|
|
150
150
|
await rm(wd, { recursive: true, force: true });
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
|
+
it('warns when canonical and legacy skill roots overlap', async () => {
|
|
154
|
+
const wd = await mkdtemp(join(tmpdir(), 'omx-doctor-skill-overlap-'));
|
|
155
|
+
try {
|
|
156
|
+
const home = join(wd, 'home');
|
|
157
|
+
const codexDir = join(home, '.codex');
|
|
158
|
+
const canonicalHelp = join(codexDir, 'skills', 'help');
|
|
159
|
+
const canonicalPlan = join(codexDir, 'skills', 'plan');
|
|
160
|
+
const legacyHelp = join(home, '.agents', 'skills', 'help');
|
|
161
|
+
await mkdir(canonicalHelp, { recursive: true });
|
|
162
|
+
await mkdir(canonicalPlan, { recursive: true });
|
|
163
|
+
await mkdir(legacyHelp, { recursive: true });
|
|
164
|
+
await writeFile(join(canonicalHelp, 'SKILL.md'), '# canonical help\n');
|
|
165
|
+
await writeFile(join(canonicalPlan, 'SKILL.md'), '# canonical plan\n');
|
|
166
|
+
await writeFile(join(legacyHelp, 'SKILL.md'), '# legacy help\n');
|
|
167
|
+
const res = runOmx(wd, ['doctor'], {
|
|
168
|
+
HOME: home,
|
|
169
|
+
CODEX_HOME: codexDir,
|
|
170
|
+
});
|
|
171
|
+
if (shouldSkipForSpawnPermissions(res.error))
|
|
172
|
+
return;
|
|
173
|
+
assert.equal(res.status, 0, res.stderr || res.stdout);
|
|
174
|
+
assert.match(res.stdout, /Legacy skill roots: 1 overlapping skill names between .*\.codex\/skills and .*\.agents\/skills; 1 differ in SKILL\.md content; Codex Enable\/Disable Skills may show duplicates until ~\/\.agents\/skills is cleaned up/);
|
|
175
|
+
}
|
|
176
|
+
finally {
|
|
177
|
+
await rm(wd, { recursive: true, force: true });
|
|
178
|
+
}
|
|
179
|
+
});
|
|
153
180
|
});
|
|
154
181
|
//# sourceMappingURL=doctor-warning-copy.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-warning-copy.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/doctor-warning-copy.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"doctor-warning-copy.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/doctor-warning-copy.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,9 @@ describe('extractRalphTaskDescription', () => {
|
|
|
8
8
|
it('returns default when args are empty', () => {
|
|
9
9
|
assert.equal(extractRalphTaskDescription([]), 'ralph-cli-launch');
|
|
10
10
|
});
|
|
11
|
+
it('reuses approved launch hint task when no explicit task is supplied', () => {
|
|
12
|
+
assert.equal(extractRalphTaskDescription([], 'Execute approved issue 1072 plan'), 'Execute approved issue 1072 plan');
|
|
13
|
+
});
|
|
11
14
|
it('excludes --model value from task text', () => {
|
|
12
15
|
assert.equal(extractRalphTaskDescription(['--model', 'gpt-5', 'fix', 'the', 'bug']), 'fix the bug');
|
|
13
16
|
});
|
|
@@ -37,6 +40,14 @@ describe('filterRalphCodexArgs', () => {
|
|
|
37
40
|
assert.deepEqual(filterRalphCodexArgs(['--model', 'gpt-5', '--yolo', 'fix', 'it']), ['--model', 'gpt-5', '--yolo', 'fix', 'it']);
|
|
38
41
|
});
|
|
39
42
|
});
|
|
43
|
+
const approvedHint = {
|
|
44
|
+
mode: 'ralph',
|
|
45
|
+
command: 'omx ralph "Execute approved issue 1072 plan"',
|
|
46
|
+
task: 'Execute approved issue 1072 plan',
|
|
47
|
+
sourcePath: '.omx/plans/prd-issue-1072.md',
|
|
48
|
+
testSpecPaths: ['.omx/plans/test-spec-issue-1072.md'],
|
|
49
|
+
deepInterviewSpecPaths: ['.omx/specs/deep-interview-issue-1072.md'],
|
|
50
|
+
};
|
|
40
51
|
describe('ralph deslop launch wiring', () => {
|
|
41
52
|
it('consumes --no-deslop so it is not forwarded to codex', () => {
|
|
42
53
|
assert.deepEqual(filterRalphCodexArgs(['--no-deslop', '--model', 'gpt-5', 'fix', 'it']), ['--model', 'gpt-5', 'fix', 'it']);
|
|
@@ -45,6 +56,7 @@ describe('ralph deslop launch wiring', () => {
|
|
|
45
56
|
const instructions = buildRalphAppendInstructions('fix issue 920', {
|
|
46
57
|
changedFilesPath: '.omx/ralph/changed-files.txt',
|
|
47
58
|
noDeslop: false,
|
|
59
|
+
approvedHint: null,
|
|
48
60
|
});
|
|
49
61
|
assert.match(instructions, /ai-slop-cleaner/i);
|
|
50
62
|
assert.match(instructions, /changed files only/i);
|
|
@@ -56,11 +68,24 @@ describe('ralph deslop launch wiring', () => {
|
|
|
56
68
|
const instructions = buildRalphAppendInstructions('fix issue 920', {
|
|
57
69
|
changedFilesPath: '.omx/ralph/changed-files.txt',
|
|
58
70
|
noDeslop: true,
|
|
71
|
+
approvedHint: null,
|
|
59
72
|
});
|
|
60
73
|
assert.match(instructions, /--no-deslop/);
|
|
61
74
|
assert.match(instructions, /skip the mandatory ai-slop-cleaner final pass/i);
|
|
62
75
|
assert.match(instructions, /latest successful pre-deslop verification evidence/i);
|
|
63
76
|
});
|
|
77
|
+
it('includes approved plan and deep-interview handoff context when available', () => {
|
|
78
|
+
const instructions = buildRalphAppendInstructions('Execute approved issue 1072 plan', {
|
|
79
|
+
changedFilesPath: '.omx/ralph/changed-files.txt',
|
|
80
|
+
noDeslop: false,
|
|
81
|
+
approvedHint,
|
|
82
|
+
});
|
|
83
|
+
assert.match(instructions, /Approved planning handoff context/i);
|
|
84
|
+
assert.match(instructions, /approved plan: \.omx\/plans\/prd-issue-1072\.md/i);
|
|
85
|
+
assert.match(instructions, /test specs: \.omx\/plans\/test-spec-issue-1072\.md/i);
|
|
86
|
+
assert.match(instructions, /deep-interview specs: \.omx\/specs\/deep-interview-issue-1072\.md/i);
|
|
87
|
+
assert.match(instructions, /Carry forward the approved deep-interview requirements/i);
|
|
88
|
+
});
|
|
64
89
|
it('seeds the changed-files artifact with bounded-scope guidance', () => {
|
|
65
90
|
const seed = buildRalphChangedFilesSeedContents();
|
|
66
91
|
assert.match(seed, /mandatory final ai-slop-cleaner pass/i);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ralph.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/ralph.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EACL,4BAA4B,EAC5B,kCAAkC,EAClC,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ralph.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/ralph.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,5 +130,43 @@ describe('omx setup skills overwrite behavior', () => {
|
|
|
130
130
|
await rm(wd, { recursive: true, force: true });
|
|
131
131
|
}
|
|
132
132
|
});
|
|
133
|
+
it('prints a migration hint when legacy ~/.agents/skills overlaps canonical user skills', async () => {
|
|
134
|
+
const wd = await mkdtemp(join(tmpdir(), 'omx-setup-skills-'));
|
|
135
|
+
const previousCwd = process.cwd();
|
|
136
|
+
const previousHome = process.env.HOME;
|
|
137
|
+
const previousCodexHome = process.env.CODEX_HOME;
|
|
138
|
+
const logs = [];
|
|
139
|
+
const originalLog = console.log;
|
|
140
|
+
try {
|
|
141
|
+
const home = join(wd, 'home');
|
|
142
|
+
const codexHome = join(home, '.codex');
|
|
143
|
+
process.env.HOME = home;
|
|
144
|
+
process.env.CODEX_HOME = codexHome;
|
|
145
|
+
await mkdir(join(wd, '.omx', 'state'), { recursive: true });
|
|
146
|
+
await mkdir(join(home, '.agents', 'skills', 'help'), { recursive: true });
|
|
147
|
+
await writeFile(join(home, '.agents', 'skills', 'help', 'SKILL.md'), '# legacy help\n');
|
|
148
|
+
process.chdir(wd);
|
|
149
|
+
console.log = (...args) => {
|
|
150
|
+
logs.push(args.map((arg) => String(arg)).join(' '));
|
|
151
|
+
};
|
|
152
|
+
await setup({ scope: 'user' });
|
|
153
|
+
const output = logs.join('\n');
|
|
154
|
+
assert.match(output, /Migration hint: Detected 1 overlapping skill names between canonical .*\.codex\/skills and legacy .*\.agents\/skills\./);
|
|
155
|
+
assert.match(output, /Remove or archive ~\/\.agents\/skills after confirming .*\.codex\/skills is the version you want Codex to load\./);
|
|
156
|
+
}
|
|
157
|
+
finally {
|
|
158
|
+
console.log = originalLog;
|
|
159
|
+
process.chdir(previousCwd);
|
|
160
|
+
if (typeof previousHome === 'string')
|
|
161
|
+
process.env.HOME = previousHome;
|
|
162
|
+
else
|
|
163
|
+
delete process.env.HOME;
|
|
164
|
+
if (typeof previousCodexHome === 'string')
|
|
165
|
+
process.env.CODEX_HOME = previousCodexHome;
|
|
166
|
+
else
|
|
167
|
+
delete process.env.CODEX_HOME;
|
|
168
|
+
await rm(wd, { recursive: true, force: true });
|
|
169
|
+
}
|
|
170
|
+
});
|
|
133
171
|
});
|
|
134
172
|
//# sourceMappingURL=setup-skills-overwrite.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-skills-overwrite.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/setup-skills-overwrite.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"setup-skills-overwrite.test.js","sourceRoot":"","sources":["../../../src/cli/__tests__/setup-skills-overwrite.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { tmpdir } from 'node:os';
|
|
|
9
9
|
import { spawnSync } from 'node:child_process';
|
|
10
10
|
import { fileURLToPath } from 'node:url';
|
|
11
11
|
import { isSparkShellNativeCompatibilityFailure, nestedRepoLocalSparkShellBinaryPath, packagedSparkShellBinaryCandidatePaths, parseSparkShellFallbackInvocation, repoLocalSparkShellBinaryPath, resolveSparkShellBinaryPath, resolveSparkShellBinaryPathWithHydration, runSparkShellBinary, } from '../sparkshell.js';
|
|
12
|
+
import { buildCapturePaneArgv as buildNotificationCapturePaneArgv } from '../../notifications/tmux-detector.js';
|
|
12
13
|
function runOmx(cwd, argv, envOverrides = {}) {
|
|
13
14
|
const testDir = dirname(fileURLToPath(import.meta.url));
|
|
14
15
|
const repoRoot = join(testDir, '..', '..', '..');
|
|
@@ -306,6 +307,13 @@ describe('parseSparkShellFallbackInvocation', () => {
|
|
|
306
307
|
it('passes direct commands through unchanged', () => {
|
|
307
308
|
assert.deepEqual(parseSparkShellFallbackInvocation(['git', 'log', '--oneline']), { kind: 'command', argv: ['git', 'log', '--oneline'] });
|
|
308
309
|
});
|
|
310
|
+
it('matches the shared notification capture-pane argv contract', () => {
|
|
311
|
+
const parsed = parseSparkShellFallbackInvocation(['--tmux-pane', '%12', '--tail-lines', '400']);
|
|
312
|
+
assert.deepEqual(parsed, {
|
|
313
|
+
kind: 'tmux-pane',
|
|
314
|
+
argv: ['tmux', ...buildNotificationCapturePaneArgv('%12', 400)],
|
|
315
|
+
});
|
|
316
|
+
});
|
|
309
317
|
it('converts tmux pane mode into capture-pane argv', () => {
|
|
310
318
|
assert.deepEqual(parseSparkShellFallbackInvocation(['--tmux-pane', '%12', '--tail-lines', '400']), { kind: 'tmux-pane', argv: ['tmux', 'capture-pane', '-t', '%12', '-p', '-S', '-400'] });
|
|
311
319
|
});
|