oh-my-opencode 4.16.0 → 4.16.2
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/.agents/skills/codex-qa/SKILL.md +9 -7
- package/.agents/skills/codex-qa/references/logging-debug.md +6 -4
- package/.agents/skills/opencode-qa/SKILL.md +9 -9
- package/.agents/skills/opencode-qa/references/tui-tmux.md +10 -8
- package/dist/cli/codex-ulw-loop.d.ts +8 -0
- package/dist/cli/get-local-version/types.d.ts +1 -1
- package/dist/cli/index.js +260 -207
- package/dist/cli-node/index.js +260 -207
- package/dist/features/background-agent/parent-wake-dedupe.d.ts +1 -0
- package/dist/features/background-agent/parent-wake-flush-runner.d.ts +2 -0
- package/dist/features/background-agent/parent-wake-prompt-dispatch.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor-sections/intro-and-analysis.d.ts +1 -1
- package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +1 -1
- package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
- package/dist/features/monitor/process.d.ts +17 -1
- package/dist/index.js +1098 -1020
- package/dist/skills/frontend/SKILL.md +9 -9
- package/dist/skills/frontend/references/design/README.md +7 -3
- package/dist/skills/frontend/references/design/_INDEX.md +1 -1
- package/dist/skills/frontend/references/design/design-system-architecture.md +24 -2
- package/dist/skills/frontend/references/designpowers/README.md +2 -2
- package/dist/skills/frontend/references/designpowers/lane-b-execution.md +1 -1
- package/dist/skills/review-work/SKILL.md +3 -1
- package/dist/skills/start-work/SKILL.md +4 -2
- package/dist/skills/ulw-research/SKILL.md +3 -1
- package/dist/skills/visual-qa/SKILL.md +13 -17
- package/docs/reference/web-terminal-visual-qa.md +39 -45
- package/package.json +31 -25
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus.md +1 -1
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +3 -3
- package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +1 -1
- package/packages/omo-codex/plugin/components/teammode/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/SKILL.md +3 -3
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +19 -10
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +19 -10
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +13 -0
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +2 -0
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +22 -1
- package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +4 -0
- package/packages/omo-codex/plugin/components/ulw-loop/directive.md +19 -10
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +15 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.js +2 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +89 -27
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.d.ts +6 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +55 -9
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-snapshot.d.ts +15 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-snapshot.js +33 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-types.d.ts +10 -3
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +15 -11
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +3 -1
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +7 -7
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +17 -2
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +2 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +59 -11
- package/packages/omo-codex/plugin/components/ulw-loop/src/steering-snapshot.ts +38 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/steering-types.ts +11 -3
- package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +15 -7
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +16 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +260 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/skill-contract.test.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/steering-snapshot.test.ts +124 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +101 -2
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/package-lock.json +13 -13
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/auto-update.mjs +64 -17
- package/packages/omo-codex/plugin/scripts/hook-status-message.mjs +10 -6
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-v2-guard.mjs +186 -20
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/subagent-limit-guard.mjs +51 -3
- package/packages/omo-codex/plugin/scripts/migrate-codex-config.mjs +33 -5
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +1 -1
- package/packages/omo-codex/plugin/skills/frontend/SKILL.md +9 -9
- package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +7 -3
- package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +1 -1
- package/packages/omo-codex/plugin/skills/frontend/references/design/design-system-architecture.md +24 -2
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/README.md +2 -2
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-b-execution.md +1 -1
- package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/refactor/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/start-work/SKILL.md +3 -3
- package/packages/omo-codex/plugin/skills/teammode/SKILL.md +3 -3
- package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +19 -10
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +3 -1
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +7 -7
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +13 -0
- package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +2 -0
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +14 -18
- package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +4 -4
- package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +1 -1
- package/packages/omo-codex/plugin/test/auto-update.test.mjs +35 -1
- package/packages/omo-codex/plugin/test/bootstrap-hooks.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +22 -9
- package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +275 -19
- package/packages/omo-codex/plugin/test/subagent-limit-migration.test.mjs +33 -0
- package/packages/omo-codex/plugin/test/sync-hook-status-messages.test.mjs +6 -6
- package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +4 -2
- package/packages/omo-codex/plugin/test/ulw-plan-skill-contract.test.mjs +52 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +65 -39
- package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +2 -2
- package/packages/shared-skills/skills/frontend/SKILL.md +9 -9
- package/packages/shared-skills/skills/frontend/references/design/README.md +7 -3
- package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +1 -1
- package/packages/shared-skills/skills/frontend/references/design/design-system-architecture.md +24 -2
- package/packages/shared-skills/skills/frontend/references/designpowers/README.md +2 -2
- package/packages/shared-skills/skills/frontend/references/designpowers/lane-b-execution.md +1 -1
- package/packages/shared-skills/skills/review-work/SKILL.md +3 -1
- package/packages/shared-skills/skills/start-work/SKILL.md +4 -2
- package/packages/shared-skills/skills/ulw-research/SKILL.md +3 -1
- package/packages/shared-skills/skills/visual-qa/SKILL.md +13 -17
- package/script/qa/strip-ansi.mjs +10 -0
- package/script/qa/web-terminal-visual-qa.mjs +112 -195
- package/script/qa/xterm-live-terminal.mjs +180 -0
- package/script/qa/web-terminal-renderer.mjs +0 -218
|
@@ -70,19 +70,21 @@ Windows.
|
|
|
70
70
|
| `scripts/tui-smoke.sh` | the real codex TUI boots in the isolated home, renders, and survives (no early exit); captures the pane |
|
|
71
71
|
|
|
72
72
|
When TUI visual QA evidence is needed, follow
|
|
73
|
-
`docs/reference/web-terminal-visual-qa.md
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
`docs/reference/web-terminal-visual-qa.md`: render the TUI through the real
|
|
74
|
+
xterm.js web terminal - NEVER the `tmux capture-pane` frame, which degrades
|
|
75
|
+
color and CJK width:
|
|
76
76
|
|
|
77
77
|
```bash
|
|
78
78
|
node script/qa/web-terminal-visual-qa.mjs --title "Codex TUI QA" \
|
|
79
|
-
--
|
|
79
|
+
--command "codex" --input "{Enter}" \
|
|
80
80
|
--evidence-dir .omo/evidence/<slug>/codex-web-terminal
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
The helper
|
|
84
|
-
`terminal.
|
|
85
|
-
|
|
83
|
+
The helper runs a real pty, renders it in xterm.js under Chrome, and writes
|
|
84
|
+
`terminal.txt`, `terminal-ansi.txt`, `terminal.png` (true color), and
|
|
85
|
+
`metadata.json` (`--from-file <capture.ansi>` replays a saved raw stream). Use
|
|
86
|
+
that artifact set for TUI visual QA; use `app-server-drive.sh --plugin` for
|
|
87
|
+
assertion-grade hook behavior.
|
|
86
88
|
|
|
87
89
|
## Match QA to your change scope
|
|
88
90
|
|
|
@@ -46,17 +46,19 @@ tmux send-keys -t <sess> "/debug-config" Enter
|
|
|
46
46
|
tmux capture-pane -t <sess> -p -S -
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
For TUI visual QA evidence,
|
|
50
|
-
|
|
49
|
+
For TUI visual QA evidence, render the live TUI through the real xterm.js web
|
|
50
|
+
terminal instead of scraping the tmux pane (`tmux capture-pane` degrades color
|
|
51
|
+
and CJK width):
|
|
51
52
|
|
|
52
53
|
```bash
|
|
53
54
|
node script/qa/web-terminal-visual-qa.mjs --title "Codex TUI /debug-config" \
|
|
54
|
-
--
|
|
55
|
+
--command "codex" --input "/debug-config" --input "{Enter}" \
|
|
55
56
|
--evidence-dir .omo/evidence/<slug>/codex-debug-config-web-terminal
|
|
56
57
|
```
|
|
57
58
|
|
|
58
59
|
Attach the resulting `terminal.png` and keep `metadata.json` with the cleanup
|
|
59
|
-
receipt. The pane proves
|
|
60
|
+
receipt. The tmux pane above proves the config text; this PNG proves the visual
|
|
61
|
+
TUI surface in true color.
|
|
60
62
|
|
|
61
63
|
## 5. `codex debug` subcommands
|
|
62
64
|
|
|
@@ -125,21 +125,21 @@ This launches the TUI under tmux in an isolated sandbox, confirms it renders
|
|
|
125
125
|
session down, and verifies the real DB session count is unchanged.
|
|
126
126
|
|
|
127
127
|
When TUI visual QA evidence is needed for a PR, follow
|
|
128
|
-
`docs/reference/web-terminal-visual-qa.md
|
|
129
|
-
terminal
|
|
130
|
-
|
|
128
|
+
`docs/reference/web-terminal-visual-qa.md`: render the TUI through the real
|
|
129
|
+
xterm.js web terminal and screenshot it - NEVER the `tmux capture-pane` frame,
|
|
130
|
+
which degrades color and CJK width. From the repository root:
|
|
131
131
|
|
|
132
132
|
```bash
|
|
133
133
|
node script/qa/web-terminal-visual-qa.mjs --title "OpenCode TUI QA" \
|
|
134
|
-
--
|
|
134
|
+
--command "opencode" --input "{Enter}" \
|
|
135
135
|
--evidence-dir .omo/evidence/<slug>/opencode-web-terminal
|
|
136
136
|
```
|
|
137
137
|
|
|
138
|
-
This
|
|
139
|
-
`terminal.
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
138
|
+
This runs a real pty, renders it in xterm.js under Chrome, and writes
|
|
139
|
+
`terminal.txt`, `terminal-ansi.txt`, `terminal.png` (the true-color artifact),
|
|
140
|
+
and `metadata.json` with a cleanup receipt (`--from-file <capture.ansi>` replays
|
|
141
|
+
a saved raw stream). The isolated `scripts/tui-smoke.sh` remains the canonical
|
|
142
|
+
OpenCode TUI boot smoke (tmux), separate from this visual evidence.
|
|
143
143
|
|
|
144
144
|
Honest verdict: tmux is fine for SMOKE (did it boot, render, accept a key) but
|
|
145
145
|
fragile for asserting conversation output (the TUI is a 60fps full-screen app).
|
|
@@ -16,20 +16,22 @@ Launching the real TUI would create sessions in the real ~/.local/share/opencode
|
|
|
16
16
|
|
|
17
17
|
## Browser-rendered TUI visual evidence
|
|
18
18
|
|
|
19
|
-
For PR evidence or any TUI visual QA claim,
|
|
20
|
-
|
|
19
|
+
For PR evidence or any TUI visual QA claim, render the live TUI through the real
|
|
20
|
+
xterm.js web terminal - NEVER the `tmux capture-pane` frame, which degrades
|
|
21
|
+
color and CJK width:
|
|
21
22
|
|
|
22
23
|
```bash
|
|
23
24
|
node script/qa/web-terminal-visual-qa.mjs --title "OpenCode TUI QA" \
|
|
24
|
-
--
|
|
25
|
+
--command "opencode" --input "{Enter}" \
|
|
25
26
|
--evidence-dir .omo/evidence/<slug>/opencode-web-terminal
|
|
26
27
|
```
|
|
27
28
|
|
|
28
|
-
The helper
|
|
29
|
-
`terminal.png`
|
|
30
|
-
the cleanup receipt
|
|
31
|
-
|
|
32
|
-
isolation/smoke
|
|
29
|
+
The helper runs a real pty, renders it in xterm.js under Chrome, captures
|
|
30
|
+
`terminal.png` (true color), writes `terminal.txt` + `metadata.json`, and
|
|
31
|
+
records the cleanup receipt (`--from-file <capture.ansi>` replays a saved raw
|
|
32
|
+
stream). This is the required TUI visual evidence pattern when the review needs
|
|
33
|
+
to see the screen, while `scripts/tui-smoke.sh` remains the isolation/smoke
|
|
34
|
+
authority.
|
|
33
35
|
|
|
34
36
|
## Manual tmux recipe (fenced) - for ad hoc smoke
|
|
35
37
|
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sentinel forwarded to every delegated ulw-loop child. A delegation chain is
|
|
3
|
+
* expected to terminate in ONE hop (component bin or cached component CLI).
|
|
4
|
+
* Without it, a broken install (missing component CLI) made the legacy `omo`
|
|
5
|
+
* wrapper re-enter this resolver: wrapper -> omo CLI -> wrapper -> ... which
|
|
6
|
+
* fork-bombed thousands of live processes and exhausted system RAM.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ULW_LOOP_DELEGATION_SENTINEL = "OMO_ULW_LOOP_DELEGATED";
|
|
1
9
|
export type CodexUlwLoopCommand = {
|
|
2
10
|
readonly executable: string;
|
|
3
11
|
readonly argsPrefix: readonly string[];
|
|
@@ -5,7 +5,7 @@ export interface VersionInfo {
|
|
|
5
5
|
isLocalDev: boolean;
|
|
6
6
|
isPinned: boolean;
|
|
7
7
|
pinnedVersion: string | null;
|
|
8
|
-
status: "up-to-date" | "outdated" | "local-dev" | "pinned" | "error" | "unknown";
|
|
8
|
+
status: "up-to-date" | "outdated" | "local-dev" | "pinned" | "pinned-mismatch" | "error" | "unknown";
|
|
9
9
|
}
|
|
10
10
|
export interface GetLocalVersionOptions {
|
|
11
11
|
directory?: string;
|