oh-my-opencode 4.11.1 → 4.12.0
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/scripts/lib/app-server-client.mjs +132 -82
- package/.agents/skills/codex-qa/scripts/lib/app-server-client.test.js +48 -0
- package/.agents/skills/opencode-qa/scripts/serve-wake-split-probe.sh +361 -84
- package/.agents/skills/work-with-pr/SKILL.md +19 -5
- package/.opencode/skills/work-with-pr/SKILL.md +19 -5
- package/dist/agents/types.d.ts +7 -6
- package/dist/cli/index.js +438 -306
- package/dist/cli-node/index.js +438 -306
- package/dist/features/background-agent/parent-wake-flush-runner.d.ts +1 -0
- package/dist/features/background-agent/parent-wake-history-state.d.ts +1 -0
- package/dist/features/background-agent/parent-wake-session-history.d.ts +1 -47
- package/dist/features/background-agent/parent-wake-session-message.d.ts +47 -0
- package/dist/index.js +245 -69
- package/dist/plugin/tool-execute-before.d.ts +2 -0
- package/dist/plugin-handlers/plugin-components-loader.d.ts +1 -0
- package/dist/skills/ulw-plan/SKILL.md +2 -1
- package/dist/skills/ulw-plan/references/full-workflow.md +1 -1
- package/dist/skills/ulw-plan/references/intent-clear.md +2 -2
- package/dist/tools/delegate-task/sync-session-poller.d.ts +1 -2
- package/dist/tools/delegate-task/sync-session-turns.d.ts +3 -0
- package/dist/tui.js +16 -7
- package/package.json +13 -13
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +22 -2
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +25 -9
- 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/dist/cli.js +10 -3
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +9 -2
- package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
- package/packages/omo-codex/plugin/components/codegraph/src/serve.ts +7 -2
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker.ts +2 -1
- package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +9 -9
- package/packages/omo-codex/plugin/components/codegraph/test/provisioned-node-guard.test.ts +94 -0
- package/packages/omo-codex/plugin/components/codegraph/test/serve-node-support.test.ts +33 -0
- 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/comment-checker/test/package-smoke.test.ts +2 -71
- 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 +2 -2
- package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +26 -104
- 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/rules/test/package-smoke.test.ts +12 -92
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.js +157 -234
- 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 -2
- package/packages/omo-codex/plugin/components/start-work-continuation/src/boulder-reader.ts +227 -15
- package/packages/omo-codex/plugin/components/start-work-continuation/test/boulder-reader.test.ts +62 -2
- package/packages/omo-codex/plugin/components/start-work-continuation/test/cli.test.ts +34 -3
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/SKILL.md +139 -0
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team-guide.mjs +111 -0
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team-state.mjs +250 -0
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team.mjs +220 -0
- 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/test-support/package-smoke-fixture.ts +158 -0
- 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/ulw-plan/SKILL.md +2 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-clear.md +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +76 -49
- 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/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +17 -0
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +17 -0
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +17 -0
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +17 -0
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +17 -0
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +17 -0
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +17 -0
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +17 -0
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +17 -0
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +17 -0
- package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +16 -0
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +16 -0
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +16 -0
- package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +16 -0
- package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +16 -0
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +17 -0
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +16 -0
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +16 -0
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +16 -0
- package/packages/omo-codex/plugin/package-lock.json +12 -22
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/hook-status-message.mjs +14 -11
- package/packages/omo-codex/plugin/scripts/sync-hook-status-messages.mjs +15 -4
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +37 -0
- package/packages/omo-codex/plugin/skills/ast-grep/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/comment-checker/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/debugging/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/frontend/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/git-master/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/skills/init-deep/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/skills/lcx-doctor/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/skills/lcx-report-bug/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/skills/lsp/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/lsp-setup/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/programming/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/refactor/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/remove-ai-slops/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/review-work/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/rules/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/start-work/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/teammode/SKILL.md +139 -0
- package/packages/omo-codex/plugin/skills/teammode/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/teammode/scripts/team-guide.mjs +111 -0
- package/packages/omo-codex/plugin/skills/teammode/scripts/team-state.mjs +250 -0
- package/packages/omo-codex/plugin/skills/teammode/scripts/team.mjs +220 -0
- package/packages/omo-codex/plugin/skills/ultraresearch/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/ulw-loop/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +2 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/agents/openai.yaml +1 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-clear.md +2 -2
- package/packages/omo-codex/plugin/skills/visual-qa/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +34 -33
- package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +5 -2
- package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +13 -0
- package/packages/omo-codex/plugin/test/bootstrap-binlinks.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/bootstrap-hooks.test.mjs +14 -6
- package/packages/omo-codex/plugin/test/bootstrap-ps-guard.test.mjs +7 -3
- package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +3 -3
- package/packages/omo-codex/plugin/test/display-metadata.test.mjs +83 -0
- package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +30 -19
- package/packages/omo-codex/plugin/test/lcx-bug-skills.test.mjs +3 -3
- package/packages/omo-codex/plugin/test/sync-hook-status-messages.test.mjs +6 -6
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +2 -0
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +9 -4
- package/packages/omo-codex/plugin/test/teammode-safety-fixture.mjs +88 -0
- package/packages/omo-codex/plugin/test/teammode-safety.test.mjs +240 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +385 -206
- package/packages/omo-codex/scripts/install-hook-targets.test.mjs +93 -0
- package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +2 -2
- package/packages/omo-codex/scripts/install-local-bun-global-update.test.mjs +63 -0
- package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +109 -1
- package/packages/omo-codex/scripts/install-local.mjs +1 -0
- package/packages/shared-skills/skills/ulw-plan/SKILL.md +2 -1
- package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +1 -1
- package/packages/shared-skills/skills/ulw-plan/references/intent-clear.md +2 -2
- package/packages/omo-codex/plugin/hooks/hooks.json +0 -214
|
@@ -21,7 +21,7 @@ Phase 3: Verify Loop → Unbounded iteration; a failing gate routes back to Ph
|
|
|
21
21
|
├─ Gate B: review-work → 5-agent parallel review (the reviewer subagents)
|
|
22
22
|
└─ Gate C: Cubic → cubic-dev-ai[bot] "No issues found"
|
|
23
23
|
(SKIPPED, not failed, when Cubic's quota is exhausted)
|
|
24
|
-
Phase 4: Merge →
|
|
24
|
+
Phase 4: Merge → Auto-merge by default; wait until actually merged, then worktree cleanup
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
</architecture>
|
|
@@ -293,15 +293,29 @@ Once all active gates pass (Cubic may be SKIPPED on quota):
|
|
|
293
293
|
|
|
294
294
|
<merge_cleanup>
|
|
295
295
|
|
|
296
|
-
### Merge the PR
|
|
296
|
+
### Merge the PR (auto-merge by default)
|
|
297
297
|
|
|
298
|
-
|
|
298
|
+
Enabling auto-merge is the default - do it unless the user explicitly told you not to merge. Auto-merge hands the merge to GitHub, which lands the PR the moment every required gate is green, so you never sit and babysit checks. It does NOT bypass the gates: if a gate fails, GitHub will not merge, which routes you back to Phase 1 to fix and re-QA like any other failing gate.
|
|
299
299
|
|
|
300
300
|
```bash
|
|
301
|
-
# This repository requires merge commits. Never use --squash or --rebase
|
|
302
|
-
|
|
301
|
+
# This repository requires merge commits. Never use --squash or --rebase.
|
|
302
|
+
# --auto arms auto-merge: GitHub merges as soon as all required checks pass.
|
|
303
|
+
gh pr merge "$PR_NUMBER" --merge --auto --delete-branch
|
|
304
|
+
# If the repo has not enabled the auto-merge feature, --auto errors; once the gates
|
|
305
|
+
# are green, fall back to a direct merge: gh pr merge "$PR_NUMBER" --merge --delete-branch
|
|
303
306
|
```
|
|
304
307
|
|
|
308
|
+
Then WAIT until the merge has actually completed before you report done or clean up - never walk away while the PR is still merging:
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
# Block until the PR is actually MERGED (auto-merge lands once all required checks pass)
|
|
312
|
+
until [ "$(gh pr view "$PR_NUMBER" --json state -q .state)" = "MERGED" ]; do
|
|
313
|
+
gh pr checks "$PR_NUMBER" --watch --fail-fast >/dev/null 2>&1 || true # spend the interval on the checks
|
|
314
|
+
done
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
If the user opted out of merging, skip the merge but STILL run the cleanup below: the worktree is removed either way.
|
|
318
|
+
|
|
305
319
|
### Sync .omo state back to main repo
|
|
306
320
|
|
|
307
321
|
Before removing the worktree, copy `.omo/` state back. When `.omo/` is gitignored, files written there during worktree execution are not committed or merged — they would be lost on worktree removal.
|
|
@@ -21,7 +21,7 @@ Phase 3: Verify Loop → Unbounded iteration; a failing gate routes back to Ph
|
|
|
21
21
|
├─ Gate B: review-work → 5-agent parallel review (the reviewer subagents)
|
|
22
22
|
└─ Gate C: Cubic → cubic-dev-ai[bot] "No issues found"
|
|
23
23
|
(SKIPPED, not failed, when Cubic's quota is exhausted)
|
|
24
|
-
Phase 4: Merge →
|
|
24
|
+
Phase 4: Merge → Auto-merge by default; wait until actually merged, then worktree cleanup
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
</architecture>
|
|
@@ -293,15 +293,29 @@ Once all active gates pass (Cubic may be SKIPPED on quota):
|
|
|
293
293
|
|
|
294
294
|
<merge_cleanup>
|
|
295
295
|
|
|
296
|
-
### Merge the PR
|
|
296
|
+
### Merge the PR (auto-merge by default)
|
|
297
297
|
|
|
298
|
-
|
|
298
|
+
Enabling auto-merge is the default - do it unless the user explicitly told you not to merge. Auto-merge hands the merge to GitHub, which lands the PR the moment every required gate is green, so you never sit and babysit checks. It does NOT bypass the gates: if a gate fails, GitHub will not merge, which routes you back to Phase 1 to fix and re-QA like any other failing gate.
|
|
299
299
|
|
|
300
300
|
```bash
|
|
301
|
-
# This repository requires merge commits. Never use --squash or --rebase
|
|
302
|
-
|
|
301
|
+
# This repository requires merge commits. Never use --squash or --rebase.
|
|
302
|
+
# --auto arms auto-merge: GitHub merges as soon as all required checks pass.
|
|
303
|
+
gh pr merge "$PR_NUMBER" --merge --auto --delete-branch
|
|
304
|
+
# If the repo has not enabled the auto-merge feature, --auto errors; once the gates
|
|
305
|
+
# are green, fall back to a direct merge: gh pr merge "$PR_NUMBER" --merge --delete-branch
|
|
303
306
|
```
|
|
304
307
|
|
|
308
|
+
Then WAIT until the merge has actually completed before you report done or clean up - never walk away while the PR is still merging:
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
# Block until the PR is actually MERGED (auto-merge lands once all required checks pass)
|
|
312
|
+
until [ "$(gh pr view "$PR_NUMBER" --json state -q .state)" = "MERGED" ]; do
|
|
313
|
+
gh pr checks "$PR_NUMBER" --watch --fail-fast >/dev/null 2>&1 || true # spend the interval on the checks
|
|
314
|
+
done
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
If the user opted out of merging, skip the merge but STILL run the cleanup below: the worktree is removed either way.
|
|
318
|
+
|
|
305
319
|
### Sync .omo state back to main repo
|
|
306
320
|
|
|
307
321
|
Before removing the worktree, copy `.omo/` state back. When `.omo/` is gitignored, files written there during worktree execution are not committed or merged — they would be lost on worktree removal.
|
package/dist/agents/types.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { AgentConfig } from "@opencode-ai/sdk";
|
|
2
|
-
import { isClaudeFable5Model, isClaudeOpus46Model, isClaudeOpus47Model, isClaudeOpus47OrLaterModel, isClaudeOpus48Model, isGeminiModel, isGlmModel, isGptModel, isKimiK2Model, isKimiK27Model, isMiniMaxModel } from "@oh-my-opencode/model-core";
|
|
3
|
-
export { isClaudeFable5Model, isClaudeOpus46Model, isClaudeOpus47Model, isClaudeOpus47OrLaterModel, isClaudeOpus48Model, isGeminiModel, isGlmModel, isGptModel, isKimiK2Model, isKimiK27Model, isMiniMaxModel, };
|
|
2
|
+
import { isClaudeFable5Model, isClaudeFableOrMythosModel, isClaudeOpus46Model, isClaudeOpus47Model, isClaudeOpus47OrLaterModel, isClaudeOpus48Model, isGeminiModel, isGlmModel, isGptModel, isKimiK2Model, isKimiK27Model, isMiniMaxModel } from "@oh-my-opencode/model-core";
|
|
3
|
+
export { isClaudeFable5Model, isClaudeFableOrMythosModel, isClaudeOpus46Model, isClaudeOpus47Model, isClaudeOpus47OrLaterModel, isClaudeOpus48Model, isGeminiModel, isGlmModel, isGptModel, isKimiK2Model, isKimiK27Model, isMiniMaxModel, };
|
|
4
4
|
/**
|
|
5
|
-
* Anthropic Opus 4.7
|
|
6
|
-
* thinking plus an effort, which OpenCode core derives from
|
|
7
|
-
* For those models emit no thinking config and let core drive
|
|
8
|
-
* All other Claude models keep the
|
|
5
|
+
* Anthropic Opus 4.7+, Fable, and Mythos models reject thinking.type "enabled";
|
|
6
|
+
* they require adaptive thinking plus an effort, which OpenCode core derives from
|
|
7
|
+
* the model variant. For those models emit no thinking config and let core drive
|
|
8
|
+
* it (issue #4614; opencode core #31546). All other Claude models keep the
|
|
9
|
+
* explicit enabled-thinking budget.
|
|
9
10
|
*/
|
|
10
11
|
export declare function buildClaudeThinkingConfig(model: string): {
|
|
11
12
|
thinking: {
|