lazycodex-ai 4.16.3 → 4.17.1
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/README.ja.md +4 -4
- package/README.ko.md +4 -4
- package/README.md +2 -2
- package/README.ru.md +4 -4
- package/README.zh-cn.md +4 -4
- package/dist/cli/index.js +195 -76
- package/dist/cli-node/index.js +195 -76
- package/package.json +1 -1
- package/packages/lsp-daemon/dist/cli.js +7 -13
- package/packages/lsp-daemon/dist/daemon-client.js +3 -5
- package/packages/lsp-daemon/dist/index.js +12 -18
- package/packages/lsp-daemon/dist/request-routing.js +6 -8
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +3 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +1080 -1017
- 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/AGENTS.md +2 -2
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +6 -2
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +6 -2
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/codex-hook.ts +6 -2
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/cli.test.ts +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +67 -2
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +14 -14
- 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/lsp/test/package-smoke.test.ts +0 -13
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-5.5.md +2 -2
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-5.6.md +3 -3
- 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/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 -79
- package/packages/omo-codex/plugin/components/teammode/AGENTS.md +2 -2
- 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 +33 -16
- package/packages/omo-codex/plugin/components/teammode/skills/teammode/scripts/team.mjs +2 -1
- package/packages/omo-codex/plugin/components/teammode/test/v2-spawn-schema.test.ts +69 -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/ultrawork/agents/explorer.toml +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +6 -6
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +5 -5
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +26 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/{lazycodex-executor.toml → lazycodex-worker-low.toml} +6 -4
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +26 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/librarian.toml +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +7 -7
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +76 -37
- 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 +76 -37
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +2 -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-unclear.md +4 -4
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +25 -0
- package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +0 -68
- package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/README.md +3 -1
- package/packages/omo-codex/plugin/components/ulw-loop/directive.md +76 -37
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +6 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.d.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +13 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +405 -25
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +12 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/domain-types.d.ts +4 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.d.ts +7 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +16 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-verdicts.d.ts +6 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-verdicts.js +20 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.d.ts +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +12 -9
- package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.d.ts +3 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.js +148 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.d.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +209 -0
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +25 -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 +14 -15
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +30 -28
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +6 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +14 -3
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +10 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +12 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +4 -2
- package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +27 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-verdicts.ts +23 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +16 -9
- package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-guard.ts +138 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +208 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +12 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +4 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +8 -35
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +24 -13
- package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +5 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +43 -8
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +55 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard.test.ts +228 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +193 -0
- 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-guarding-ulw-loop-spawns.json +18 -0
- 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/stop-checking-ulw-loop-resume.json +17 -0
- 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 +2 -2
- 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/model-catalog.json +16 -7
- 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/migrate-codex-config/catalog.mjs +16 -7
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +8 -2
- package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/refactor/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +4 -4
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +18 -4
- package/packages/omo-codex/plugin/skills/start-work/SKILL.md +6 -3
- package/packages/omo-codex/plugin/skills/teammode/SKILL.md +33 -16
- package/packages/omo-codex/plugin/skills/teammode/scripts/team.mjs +2 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +2 -2
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
- package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +76 -37
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +14 -15
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +30 -28
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +2 -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-unclear.md +4 -4
- package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -2
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +11 -7
- package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +76 -16
- package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +23 -2
- package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +4 -4
- package/packages/omo-codex/plugin/test/auto-update.test.mjs +4 -4
- package/packages/omo-codex/plugin/test/component-hook-contract-cases.mjs +2 -2
- package/packages/omo-codex/plugin/test/lcx-bug-skills.test.mjs +4 -101
- package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +14 -14
- package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +11 -0
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +1 -1
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +5 -3
- package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +25 -0
- package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +24 -0
- package/packages/omo-codex/plugin/test/ulw-plan-skill-contract.test.mjs +9 -40
- package/packages/omo-codex/plugin/test/ulw-research-skill-contract.test.mjs +4 -277
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +98 -30
- package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +2 -2
- package/packages/shared-skills/skills/review-work/SKILL.md +10 -2
- package/packages/shared-skills/skills/start-work/SKILL.md +6 -3
- package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +2 -2
- package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +11 -11
- 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-unclear.md +4 -4
- package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -2
- package/packages/shared-skills/skills/visual-qa/SKILL.md +9 -5
- package/packages/omo-codex/plugin/components/ulw-loop/test/skill-contract.test.ts +0 -70
- package/packages/omo-codex/plugin/test/ulw-research-epistemic-contract.test.mjs +0 -98
- package/packages/shared-skills/skills/visual-qa/scripts/skill-prompt-contract.test.ts +0 -296
package/dist/cli-node/index.js
CHANGED
|
@@ -2146,7 +2146,7 @@ var package_default;
|
|
|
2146
2146
|
var init_package = __esm(() => {
|
|
2147
2147
|
package_default = {
|
|
2148
2148
|
name: "oh-my-opencode",
|
|
2149
|
-
version: "4.
|
|
2149
|
+
version: "4.17.1",
|
|
2150
2150
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2151
2151
|
main: "./dist/index.js",
|
|
2152
2152
|
types: "dist/index.d.ts",
|
|
@@ -2209,6 +2209,7 @@ var init_package = __esm(() => {
|
|
|
2209
2209
|
"packages/lsp-tools-mcp/dist",
|
|
2210
2210
|
"packages/lsp-daemon/package.json",
|
|
2211
2211
|
"packages/lsp-daemon/dist",
|
|
2212
|
+
"packages/git-bash-mcp/package.json",
|
|
2212
2213
|
"packages/git-bash-mcp/dist",
|
|
2213
2214
|
"packages/shared-skills/package.json",
|
|
2214
2215
|
"packages/shared-skills/index.mjs",
|
|
@@ -2274,7 +2275,7 @@ var init_package = __esm(() => {
|
|
|
2274
2275
|
"typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/pi-goal/tsconfig.json && tsgo --noEmit -p packages/pi-webfetch/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json",
|
|
2275
2276
|
"typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
|
|
2276
2277
|
test: "bun test",
|
|
2277
|
-
"test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && bun run --cwd packages/omo-codex/plugin build && npm --prefix packages/omo-codex/plugin/components/codegraph run typecheck && npm --prefix packages/omo-codex/plugin/components/codegraph test && node scripts/check-third-party-notices.mjs --ship && bun test packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
|
|
2278
|
+
"test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && npm --prefix packages/omo-codex/plugin/components/ulw-loop test && bun run --cwd packages/omo-codex/plugin build && npm --prefix packages/omo-codex/plugin/components/codegraph run typecheck && npm --prefix packages/omo-codex/plugin/components/codegraph test && node scripts/check-third-party-notices.mjs --ship && bun test packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
|
|
2278
2279
|
"test:senpi": "node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && bun test packages/omo-senpi",
|
|
2279
2280
|
"test:windows-codex": "bun run test:codex",
|
|
2280
2281
|
"build:git-bash-mcp": "bun run --cwd packages/git-bash-mcp build"
|
|
@@ -2356,18 +2357,18 @@ var init_package = __esm(() => {
|
|
|
2356
2357
|
typescript: "^6.0.3"
|
|
2357
2358
|
},
|
|
2358
2359
|
optionalDependencies: {
|
|
2359
|
-
"oh-my-opencode-darwin-arm64": "4.
|
|
2360
|
-
"oh-my-opencode-darwin-x64": "4.
|
|
2361
|
-
"oh-my-opencode-darwin-x64-baseline": "4.
|
|
2362
|
-
"oh-my-opencode-linux-arm64": "4.
|
|
2363
|
-
"oh-my-opencode-linux-arm64-musl": "4.
|
|
2364
|
-
"oh-my-opencode-linux-x64": "4.
|
|
2365
|
-
"oh-my-opencode-linux-x64-baseline": "4.
|
|
2366
|
-
"oh-my-opencode-linux-x64-musl": "4.
|
|
2367
|
-
"oh-my-opencode-linux-x64-musl-baseline": "4.
|
|
2368
|
-
"oh-my-opencode-windows-arm64": "4.
|
|
2369
|
-
"oh-my-opencode-windows-x64": "4.
|
|
2370
|
-
"oh-my-opencode-windows-x64-baseline": "4.
|
|
2360
|
+
"oh-my-opencode-darwin-arm64": "4.17.1",
|
|
2361
|
+
"oh-my-opencode-darwin-x64": "4.17.1",
|
|
2362
|
+
"oh-my-opencode-darwin-x64-baseline": "4.17.1",
|
|
2363
|
+
"oh-my-opencode-linux-arm64": "4.17.1",
|
|
2364
|
+
"oh-my-opencode-linux-arm64-musl": "4.17.1",
|
|
2365
|
+
"oh-my-opencode-linux-x64": "4.17.1",
|
|
2366
|
+
"oh-my-opencode-linux-x64-baseline": "4.17.1",
|
|
2367
|
+
"oh-my-opencode-linux-x64-musl": "4.17.1",
|
|
2368
|
+
"oh-my-opencode-linux-x64-musl-baseline": "4.17.1",
|
|
2369
|
+
"oh-my-opencode-windows-arm64": "4.17.1",
|
|
2370
|
+
"oh-my-opencode-windows-x64": "4.17.1",
|
|
2371
|
+
"oh-my-opencode-windows-x64-baseline": "4.17.1"
|
|
2371
2372
|
},
|
|
2372
2373
|
overrides: {
|
|
2373
2374
|
"@earendil-works/pi-agent-core": "0.80.3",
|
|
@@ -9223,7 +9224,7 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
9223
9224
|
{
|
|
9224
9225
|
providers: ["openai", "vercel"],
|
|
9225
9226
|
model: "gpt-5.6-sol",
|
|
9226
|
-
variant: "
|
|
9227
|
+
variant: "high"
|
|
9227
9228
|
},
|
|
9228
9229
|
{
|
|
9229
9230
|
providers: ["openai", "github-copilot", "opencode", "vercel"],
|
|
@@ -9430,6 +9431,11 @@ var init_category_model_requirements = __esm(() => {
|
|
|
9430
9431
|
},
|
|
9431
9432
|
deep: {
|
|
9432
9433
|
fallbackChain: [
|
|
9434
|
+
{
|
|
9435
|
+
providers: ["openai", "vercel"],
|
|
9436
|
+
model: "gpt-5.6-terra",
|
|
9437
|
+
variant: "xhigh"
|
|
9438
|
+
},
|
|
9433
9439
|
{
|
|
9434
9440
|
providers: ["openai", "vercel"],
|
|
9435
9441
|
model: "gpt-5.6-sol",
|
|
@@ -9493,6 +9499,11 @@ var init_category_model_requirements = __esm(() => {
|
|
|
9493
9499
|
},
|
|
9494
9500
|
"unspecified-low": {
|
|
9495
9501
|
fallbackChain: [
|
|
9502
|
+
{
|
|
9503
|
+
providers: ["openai", "vercel"],
|
|
9504
|
+
model: "gpt-5.6-luna",
|
|
9505
|
+
variant: "xhigh"
|
|
9506
|
+
},
|
|
9496
9507
|
{
|
|
9497
9508
|
providers: ["anthropic", "github-copilot", "opencode", "vercel"],
|
|
9498
9509
|
model: "claude-sonnet-4-6"
|
|
@@ -10080,6 +10091,38 @@ var init_supplemental_entries = __esm(() => {
|
|
|
10080
10091
|
output: 128000
|
|
10081
10092
|
}
|
|
10082
10093
|
},
|
|
10094
|
+
"gpt-5.6-terra": {
|
|
10095
|
+
id: "gpt-5.6-terra",
|
|
10096
|
+
family: "gpt-mini",
|
|
10097
|
+
reasoning: true,
|
|
10098
|
+
temperature: false,
|
|
10099
|
+
toolCall: true,
|
|
10100
|
+
modalities: {
|
|
10101
|
+
input: ["text", "image", "pdf"],
|
|
10102
|
+
output: ["text"]
|
|
10103
|
+
},
|
|
10104
|
+
limit: {
|
|
10105
|
+
context: 1050000,
|
|
10106
|
+
input: 922000,
|
|
10107
|
+
output: 128000
|
|
10108
|
+
}
|
|
10109
|
+
},
|
|
10110
|
+
"gpt-5.6-luna": {
|
|
10111
|
+
id: "gpt-5.6-luna",
|
|
10112
|
+
family: "gpt-nano",
|
|
10113
|
+
reasoning: true,
|
|
10114
|
+
temperature: false,
|
|
10115
|
+
toolCall: true,
|
|
10116
|
+
modalities: {
|
|
10117
|
+
input: ["text", "image", "pdf"],
|
|
10118
|
+
output: ["text"]
|
|
10119
|
+
},
|
|
10120
|
+
limit: {
|
|
10121
|
+
context: 1050000,
|
|
10122
|
+
input: 922000,
|
|
10123
|
+
output: 128000
|
|
10124
|
+
}
|
|
10125
|
+
},
|
|
10083
10126
|
"gpt-5.5": {
|
|
10084
10127
|
id: "gpt-5.5",
|
|
10085
10128
|
family: "gpt",
|
|
@@ -10686,28 +10729,7 @@ var init_agent_display_names = __esm(() => {
|
|
|
10686
10729
|
};
|
|
10687
10730
|
});
|
|
10688
10731
|
// packages/omo-opencode/src/tools/delegate-task/anthropic-categories.ts
|
|
10689
|
-
var
|
|
10690
|
-
You are working on tasks that don't fit specific categories but require moderate effort.
|
|
10691
|
-
|
|
10692
|
-
<Selection_Gate>
|
|
10693
|
-
BEFORE selecting this category, VERIFY ALL conditions:
|
|
10694
|
-
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
10695
|
-
2. Task requires more than trivial effort but is NOT system-wide
|
|
10696
|
-
3. Scope is contained within a few files/modules
|
|
10697
|
-
|
|
10698
|
-
If task fits ANY other category, DO NOT select unspecified-low.
|
|
10699
|
-
This is NOT a default choice - it's for genuinely unclassifiable moderate-effort work.
|
|
10700
|
-
</Selection_Gate>
|
|
10701
|
-
</Category_Context>
|
|
10702
|
-
|
|
10703
|
-
<Caller_Warning>
|
|
10704
|
-
THIS CATEGORY USES A MID-TIER MODEL (claude-sonnet-4-6).
|
|
10705
|
-
|
|
10706
|
-
**PROVIDE CLEAR STRUCTURE:**
|
|
10707
|
-
1. MUST DO: Enumerate required actions explicitly
|
|
10708
|
-
2. MUST NOT DO: State forbidden actions to prevent scope creep
|
|
10709
|
-
3. EXPECTED OUTPUT: Define concrete success criteria
|
|
10710
|
-
</Caller_Warning>`, UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
10732
|
+
var UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
10711
10733
|
You are working on tasks that don't fit specific categories but require substantial effort.
|
|
10712
10734
|
|
|
10713
10735
|
<Selection_Gate>
|
|
@@ -10723,12 +10745,6 @@ If task is unclassifiable but moderate-effort, use unspecified-low instead.
|
|
|
10723
10745
|
</Category_Context>`, ANTHROPIC_CATEGORIES;
|
|
10724
10746
|
var init_anthropic_categories = __esm(() => {
|
|
10725
10747
|
ANTHROPIC_CATEGORIES = [
|
|
10726
|
-
{
|
|
10727
|
-
name: "unspecified-low",
|
|
10728
|
-
config: { model: "anthropic/claude-sonnet-4-6" },
|
|
10729
|
-
description: "Tasks that don't fit other categories, low effort required",
|
|
10730
|
-
promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
|
|
10731
|
-
},
|
|
10732
10748
|
{
|
|
10733
10749
|
name: "unspecified-high",
|
|
10734
10750
|
config: { model: "anthropic/claude-opus-4-7", variant: "max" },
|
|
@@ -11025,6 +11041,27 @@ EXPECTED OUTPUT:
|
|
|
11025
11041
|
\`\`\`
|
|
11026
11042
|
|
|
11027
11043
|
If your prompt lacks this structure, REWRITE IT before delegating.
|
|
11044
|
+
</Caller_Warning>`, UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
11045
|
+
You are working on tasks that don't fit specific categories but require moderate effort.
|
|
11046
|
+
|
|
11047
|
+
<Selection_Gate>
|
|
11048
|
+
BEFORE selecting this category, VERIFY ALL conditions:
|
|
11049
|
+
1. Task does NOT fit: quick (trivial), visual-engineering (UI), ultrabrain (deep logic), artistry (creative), writing (docs)
|
|
11050
|
+
2. Task requires more than trivial effort but is NOT system-wide
|
|
11051
|
+
3. Scope is contained within a few files/modules
|
|
11052
|
+
|
|
11053
|
+
If task fits ANY other category, DO NOT select unspecified-low.
|
|
11054
|
+
This is NOT a default choice - it's for genuinely unclassifiable moderate-effort work.
|
|
11055
|
+
</Selection_Gate>
|
|
11056
|
+
</Category_Context>
|
|
11057
|
+
|
|
11058
|
+
<Caller_Warning>
|
|
11059
|
+
THIS CATEGORY USES A LIGHTWEIGHT MODEL (gpt-5.6-luna).
|
|
11060
|
+
|
|
11061
|
+
**PROVIDE CLEAR STRUCTURE:**
|
|
11062
|
+
1. MUST DO: Enumerate required actions explicitly
|
|
11063
|
+
2. MUST NOT DO: State forbidden actions to prevent scope creep
|
|
11064
|
+
3. EXPECTED OUTPUT: Define concrete success criteria
|
|
11028
11065
|
</Caller_Warning>`, OPENAI_CATEGORIES;
|
|
11029
11066
|
var init_openai_categories = __esm(() => {
|
|
11030
11067
|
init_types();
|
|
@@ -11037,7 +11074,7 @@ var init_openai_categories = __esm(() => {
|
|
|
11037
11074
|
},
|
|
11038
11075
|
{
|
|
11039
11076
|
name: "deep",
|
|
11040
|
-
config: { model: "openai/gpt-5.6-
|
|
11077
|
+
config: { model: "openai/gpt-5.6-terra", variant: "xhigh" },
|
|
11041
11078
|
description: "Goal-oriented autonomous problem-solving on hairy problems requiring deep research. ONE goal + ONE deliverable per call — multiple goals must fan out as parallel `deep` calls, never bundled into one.",
|
|
11042
11079
|
promptAppend: DEEP_CATEGORY_PROMPT_APPEND,
|
|
11043
11080
|
resolvePromptAppend: resolveDeepCategoryPromptAppend
|
|
@@ -11047,6 +11084,12 @@ var init_openai_categories = __esm(() => {
|
|
|
11047
11084
|
config: { model: "openai/gpt-5.4-mini" },
|
|
11048
11085
|
description: "Trivial tasks - single file changes, typo fixes, simple modifications",
|
|
11049
11086
|
promptAppend: QUICK_CATEGORY_PROMPT_APPEND
|
|
11087
|
+
},
|
|
11088
|
+
{
|
|
11089
|
+
name: "unspecified-low",
|
|
11090
|
+
config: { model: "openai/gpt-5.6-luna", variant: "xhigh" },
|
|
11091
|
+
description: "Tasks that don't fit other categories, low effort required",
|
|
11092
|
+
promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
|
|
11050
11093
|
}
|
|
11051
11094
|
];
|
|
11052
11095
|
});
|
|
@@ -65061,15 +65104,20 @@ var init_command_loader = __esm(() => {
|
|
|
65061
65104
|
init_logger3();
|
|
65062
65105
|
});
|
|
65063
65106
|
|
|
65064
|
-
// packages/
|
|
65107
|
+
// packages/utils/src/skill-path-resolver.ts
|
|
65065
65108
|
var init_skill_path_resolver = () => {};
|
|
65066
65109
|
|
|
65110
|
+
// packages/claude-code-compat-core/src/shared/skill-path-resolver.ts
|
|
65111
|
+
var init_skill_path_resolver2 = __esm(() => {
|
|
65112
|
+
init_skill_path_resolver();
|
|
65113
|
+
});
|
|
65114
|
+
|
|
65067
65115
|
// packages/claude-code-compat-core/src/features/claude-code-plugin-loader/skill-loader.ts
|
|
65068
65116
|
var init_skill_loader = __esm(() => {
|
|
65069
65117
|
init_frontmatter3();
|
|
65070
65118
|
init_file_utils3();
|
|
65071
65119
|
init_model_sanitizer2();
|
|
65072
|
-
|
|
65120
|
+
init_skill_path_resolver2();
|
|
65073
65121
|
init_logger3();
|
|
65074
65122
|
});
|
|
65075
65123
|
// packages/claude-code-compat-core/src/shared/model-format-normalizer.ts
|
|
@@ -72609,7 +72657,7 @@ var package_default2;
|
|
|
72609
72657
|
var init_package2 = __esm(() => {
|
|
72610
72658
|
package_default2 = {
|
|
72611
72659
|
name: "@oh-my-opencode/omo-codex",
|
|
72612
|
-
version: "4.
|
|
72660
|
+
version: "4.17.1",
|
|
72613
72661
|
type: "module",
|
|
72614
72662
|
private: true,
|
|
72615
72663
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -75426,7 +75474,12 @@ function shouldCopyPluginPath(path7, root) {
|
|
|
75426
75474
|
if (relative5 === "")
|
|
75427
75475
|
return true;
|
|
75428
75476
|
const parts = relative5.split(sep5);
|
|
75429
|
-
|
|
75477
|
+
if (parts.some((part) => part === ".git" || part === "node_modules"))
|
|
75478
|
+
return false;
|
|
75479
|
+
return !isNestedComponentMcpManifest(parts);
|
|
75480
|
+
}
|
|
75481
|
+
function isNestedComponentMcpManifest(parts) {
|
|
75482
|
+
return parts.length > 1 && parts.at(-1) === ".mcp.json";
|
|
75430
75483
|
}
|
|
75431
75484
|
var removedSparkshellReferencePattern = /\b(?:sparkshell|spark[-_\s]+shell)\b/i;
|
|
75432
75485
|
var removedSparkshellPromptSurfaceDirs = new Set([".codex-plugin", "agents", "bundled-rules", "hooks", "skills"]);
|
|
@@ -75904,6 +75957,14 @@ function parseAgentHeaderName(header) {
|
|
|
75904
75957
|
const path7 = parseTomlDottedKey(header);
|
|
75905
75958
|
return path7?.[0] === "agents" ? path7[1] ?? null : null;
|
|
75906
75959
|
}
|
|
75960
|
+
function parseJsonString(value) {
|
|
75961
|
+
try {
|
|
75962
|
+
const parsed = JSON.parse(value);
|
|
75963
|
+
return typeof parsed === "string" ? parsed : null;
|
|
75964
|
+
} catch {
|
|
75965
|
+
return null;
|
|
75966
|
+
}
|
|
75967
|
+
}
|
|
75907
75968
|
function parseHookStateHeaderKey(header) {
|
|
75908
75969
|
const path7 = parseTomlDottedKey(header);
|
|
75909
75970
|
if (path7?.[0] !== "hooks" || path7[1] !== "state")
|
|
@@ -75953,6 +76014,9 @@ function stripTomlLineComment(line) {
|
|
|
75953
76014
|
var LEGACY_MANAGED_CODEX_AGENT_NAMES_TO_PURGE = ["codex-ultrawork-reviewer"];
|
|
75954
76015
|
var CURRENT_MANAGED_CODEX_AGENT_NAMES = [
|
|
75955
76016
|
"explorer",
|
|
76017
|
+
"lazycodex-worker-high",
|
|
76018
|
+
"lazycodex-worker-low",
|
|
76019
|
+
"lazycodex-worker-medium",
|
|
75956
76020
|
"librarian",
|
|
75957
76021
|
"metis",
|
|
75958
76022
|
"momus",
|
|
@@ -76370,12 +76434,18 @@ import { readFile as readFile10 } from "node:fs/promises";
|
|
|
76370
76434
|
import { join as join38 } from "node:path";
|
|
76371
76435
|
var FALLBACK_CODEX_MODEL_CATALOG = {
|
|
76372
76436
|
current: {
|
|
76373
|
-
model: "gpt-5.
|
|
76374
|
-
modelContextWindow:
|
|
76437
|
+
model: "gpt-5.6-sol",
|
|
76438
|
+
modelContextWindow: 372000,
|
|
76375
76439
|
modelReasoningEffort: "high",
|
|
76376
76440
|
planModeReasoningEffort: "xhigh"
|
|
76377
76441
|
},
|
|
76378
76442
|
managedProfiles: [
|
|
76443
|
+
{
|
|
76444
|
+
model: "gpt-5.5",
|
|
76445
|
+
modelContextWindow: 400000,
|
|
76446
|
+
modelReasoningEffort: "high",
|
|
76447
|
+
planModeReasoningEffort: "xhigh"
|
|
76448
|
+
},
|
|
76379
76449
|
{
|
|
76380
76450
|
model: "gpt-5.5",
|
|
76381
76451
|
modelContextWindow: 1e6,
|
|
@@ -76819,32 +76889,88 @@ import { join as join41 } from "node:path";
|
|
|
76819
76889
|
var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
76820
76890
|
[
|
|
76821
76891
|
"explorer",
|
|
76822
|
-
|
|
76823
|
-
|
|
76824
|
-
|
|
76825
|
-
|
|
76892
|
+
[
|
|
76893
|
+
{
|
|
76894
|
+
previous: { model: "gpt-5.4-mini", effort: "low" },
|
|
76895
|
+
current: { model: "gpt-5.6-terra", effort: "medium" }
|
|
76896
|
+
},
|
|
76897
|
+
{
|
|
76898
|
+
previous: { model: "gpt-5.6-terra", effort: "medium" },
|
|
76899
|
+
current: { model: "gpt-5.6-luna", effort: "low" }
|
|
76900
|
+
}
|
|
76901
|
+
]
|
|
76826
76902
|
],
|
|
76827
76903
|
[
|
|
76828
76904
|
"librarian",
|
|
76829
|
-
|
|
76830
|
-
|
|
76831
|
-
|
|
76832
|
-
|
|
76905
|
+
[
|
|
76906
|
+
{
|
|
76907
|
+
previous: { model: "gpt-5.4-mini", effort: "low" },
|
|
76908
|
+
current: { model: "gpt-5.6-terra", effort: "medium" }
|
|
76909
|
+
},
|
|
76910
|
+
{
|
|
76911
|
+
previous: { model: "gpt-5.6-terra", effort: "medium" },
|
|
76912
|
+
current: { model: "gpt-5.6-luna", effort: "low" }
|
|
76913
|
+
}
|
|
76914
|
+
]
|
|
76833
76915
|
],
|
|
76834
76916
|
[
|
|
76835
76917
|
"momus",
|
|
76836
|
-
|
|
76837
|
-
|
|
76838
|
-
|
|
76839
|
-
|
|
76918
|
+
[
|
|
76919
|
+
{
|
|
76920
|
+
previous: { model: "gpt-5.5", effort: "xhigh" },
|
|
76921
|
+
current: { model: "gpt-5.6-sol", effort: "ultra" }
|
|
76922
|
+
}
|
|
76923
|
+
]
|
|
76924
|
+
],
|
|
76925
|
+
[
|
|
76926
|
+
"plan",
|
|
76927
|
+
[
|
|
76928
|
+
{
|
|
76929
|
+
previous: { model: "gpt-5.6-sol", effort: "xhigh" },
|
|
76930
|
+
current: { model: "gpt-5.6-sol", effort: "max" }
|
|
76931
|
+
}
|
|
76932
|
+
]
|
|
76933
|
+
],
|
|
76934
|
+
[
|
|
76935
|
+
"lazycodex-worker-medium",
|
|
76936
|
+
[
|
|
76937
|
+
{
|
|
76938
|
+
previous: { model: "gpt-5.6-sol", effort: "high" },
|
|
76939
|
+
current: { model: "gpt-5.6-luna", effort: "max" }
|
|
76940
|
+
}
|
|
76941
|
+
]
|
|
76942
|
+
],
|
|
76943
|
+
[
|
|
76944
|
+
"lazycodex-qa-executor",
|
|
76945
|
+
[
|
|
76946
|
+
{
|
|
76947
|
+
previous: { model: "gpt-5.6-terra", effort: "medium" },
|
|
76948
|
+
current: { model: "gpt-5.6-luna", effort: "high" }
|
|
76949
|
+
}
|
|
76950
|
+
]
|
|
76951
|
+
],
|
|
76952
|
+
[
|
|
76953
|
+
"lazycodex-gate-reviewer",
|
|
76954
|
+
[
|
|
76955
|
+
{
|
|
76956
|
+
previous: { model: "gpt-5.6-sol", effort: "xhigh" },
|
|
76957
|
+
current: { model: "gpt-5.6-sol", effort: "high" }
|
|
76958
|
+
}
|
|
76959
|
+
]
|
|
76840
76960
|
]
|
|
76841
76961
|
]);
|
|
76842
76962
|
function resolveManagedAgentReasoning(input) {
|
|
76843
|
-
const
|
|
76844
|
-
if (
|
|
76845
|
-
return
|
|
76963
|
+
const steps = MANAGED_REASONING_DEFAULT_UPGRADES.get(input.agentName);
|
|
76964
|
+
if (steps === undefined)
|
|
76965
|
+
return input.preserved.effort;
|
|
76966
|
+
const latest = steps[steps.length - 1];
|
|
76967
|
+
if (latest === undefined)
|
|
76968
|
+
return input.preserved.effort;
|
|
76969
|
+
if (input.bundledModel !== latest.current.model || input.bundledEffort !== latest.current.effort) {
|
|
76970
|
+
return input.preserved.effort;
|
|
76846
76971
|
}
|
|
76847
|
-
|
|
76972
|
+
const preservedMatchesAnyStep = steps.some((step) => input.preserved.model === step.previous.model && input.preserved.effort === step.previous.effort);
|
|
76973
|
+
return preservedMatchesAnyStep ? latest.current.effort : input.preserved.effort;
|
|
76848
76974
|
}
|
|
76849
76975
|
|
|
76850
76976
|
// packages/omo-codex/src/install/preserved-agent-settings.ts
|
|
@@ -76995,16 +77121,6 @@ function isSectionHeader3(line) {
|
|
|
76995
77121
|
function agentNameFromToml(fileName) {
|
|
76996
77122
|
return fileName.endsWith(".toml") ? fileName.slice(0, -".toml".length) : fileName;
|
|
76997
77123
|
}
|
|
76998
|
-
function parseJsonString(value) {
|
|
76999
|
-
try {
|
|
77000
|
-
const parsed = JSON.parse(value);
|
|
77001
|
-
return typeof parsed === "string" ? parsed : null;
|
|
77002
|
-
} catch (error) {
|
|
77003
|
-
if (error instanceof Error)
|
|
77004
|
-
return null;
|
|
77005
|
-
return null;
|
|
77006
|
-
}
|
|
77007
|
-
}
|
|
77008
77124
|
async function exists2(path7) {
|
|
77009
77125
|
try {
|
|
77010
77126
|
await lstat7(path7);
|
|
@@ -78234,6 +78350,9 @@ var MANAGED_MARKETPLACES = ["sisyphuslabs", "lazycodex", "code-yeongyu-codex-plu
|
|
|
78234
78350
|
var LEGACY_MANAGED_CODEX_AGENT_NAMES_TO_PURGE2 = ["codex-ultrawork-reviewer"];
|
|
78235
78351
|
var CURRENT_MANAGED_CODEX_AGENT_NAMES2 = [
|
|
78236
78352
|
"explorer",
|
|
78353
|
+
"lazycodex-worker-high",
|
|
78354
|
+
"lazycodex-worker-low",
|
|
78355
|
+
"lazycodex-worker-medium",
|
|
78237
78356
|
"librarian",
|
|
78238
78357
|
"metis",
|
|
78239
78358
|
"momus",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lazycodex-ai",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.17.1",
|
|
4
4
|
"description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -3556,13 +3556,13 @@ function resolveSocketPath(dir, version) {
|
|
|
3556
3556
|
// src/request-routing.ts
|
|
3557
3557
|
var CONTEXT_KEY = "_context";
|
|
3558
3558
|
function extractRequestContext(raw) {
|
|
3559
|
-
if (!
|
|
3559
|
+
if (!isPlainRecord(raw) || raw["method"] !== "tools/call")
|
|
3560
3560
|
return { input: raw, context: undefined };
|
|
3561
3561
|
const params = raw["params"];
|
|
3562
|
-
if (!
|
|
3562
|
+
if (!isPlainRecord(params))
|
|
3563
3563
|
return { input: raw, context: undefined };
|
|
3564
3564
|
const args = params["arguments"];
|
|
3565
|
-
if (!
|
|
3565
|
+
if (!isPlainRecord(args))
|
|
3566
3566
|
return { input: raw, context: undefined };
|
|
3567
3567
|
const context = parseContext(args[CONTEXT_KEY]);
|
|
3568
3568
|
if (!context)
|
|
@@ -3579,7 +3579,7 @@ function handleDaemonMessage(raw) {
|
|
|
3579
3579
|
return handleLspMcpRequest(input);
|
|
3580
3580
|
}
|
|
3581
3581
|
function parseContext(value) {
|
|
3582
|
-
if (!
|
|
3582
|
+
if (!isPlainRecord(value))
|
|
3583
3583
|
return;
|
|
3584
3584
|
const context = {};
|
|
3585
3585
|
const cwd = value["cwd"];
|
|
@@ -3590,11 +3590,8 @@ function parseContext(value) {
|
|
|
3590
3590
|
context.env = env;
|
|
3591
3591
|
return context.cwd === undefined && context.env === undefined ? undefined : context;
|
|
3592
3592
|
}
|
|
3593
|
-
function isRecord5(value) {
|
|
3594
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3595
|
-
}
|
|
3596
3593
|
function isStringRecord2(value) {
|
|
3597
|
-
return
|
|
3594
|
+
return isPlainRecord(value) && Object.values(value).every((item) => typeof item === "string");
|
|
3598
3595
|
}
|
|
3599
3596
|
|
|
3600
3597
|
// src/socket-jsonrpc.ts
|
|
@@ -3721,10 +3718,10 @@ function sendToolCall(socketPath, name, args, timeoutMs) {
|
|
|
3721
3718
|
});
|
|
3722
3719
|
}
|
|
3723
3720
|
function toToolResult(message) {
|
|
3724
|
-
if (!
|
|
3721
|
+
if (!isPlainRecord(message) || message["id"] !== REQUEST_ID)
|
|
3725
3722
|
return null;
|
|
3726
3723
|
const result = message["result"];
|
|
3727
|
-
if (!
|
|
3724
|
+
if (!isPlainRecord(result) || !Array.isArray(result["content"]))
|
|
3728
3725
|
return null;
|
|
3729
3726
|
return {
|
|
3730
3727
|
content: result["content"],
|
|
@@ -3732,9 +3729,6 @@ function toToolResult(message) {
|
|
|
3732
3729
|
details: result["details"]
|
|
3733
3730
|
};
|
|
3734
3731
|
}
|
|
3735
|
-
function isRecord6(value) {
|
|
3736
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3737
|
-
}
|
|
3738
3732
|
function errorText(error) {
|
|
3739
3733
|
return error instanceof Error ? error.message : String(error);
|
|
3740
3734
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { connect } from "node:net";
|
|
2
|
+
import { isPlainRecord } from "@oh-my-opencode/mcp-stdio-core/record";
|
|
2
3
|
import { ensureDaemonRunning } from "./ensure-daemon.js";
|
|
3
4
|
import { daemonPaths } from "./paths.js";
|
|
4
5
|
import { CONTEXT_KEY } from "./request-routing.js";
|
|
@@ -95,10 +96,10 @@ function sendToolCall(socketPath, name, args, timeoutMs) {
|
|
|
95
96
|
});
|
|
96
97
|
}
|
|
97
98
|
function toToolResult(message) {
|
|
98
|
-
if (!
|
|
99
|
+
if (!isPlainRecord(message) || message["id"] !== REQUEST_ID)
|
|
99
100
|
return null;
|
|
100
101
|
const result = message["result"];
|
|
101
|
-
if (!
|
|
102
|
+
if (!isPlainRecord(result) || !Array.isArray(result["content"]))
|
|
102
103
|
return null;
|
|
103
104
|
return {
|
|
104
105
|
content: result["content"],
|
|
@@ -106,9 +107,6 @@ function toToolResult(message) {
|
|
|
106
107
|
details: result["details"],
|
|
107
108
|
};
|
|
108
109
|
}
|
|
109
|
-
function isRecord(value) {
|
|
110
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
111
|
-
}
|
|
112
110
|
function errorText(error) {
|
|
113
111
|
return error instanceof Error ? error.message : String(error);
|
|
114
112
|
}
|
|
@@ -1415,6 +1415,11 @@ async function disposeDefaultLspManager() {
|
|
|
1415
1415
|
// src/daemon-client.ts
|
|
1416
1416
|
import { connect as connect2 } from "node:net";
|
|
1417
1417
|
|
|
1418
|
+
// ../mcp-stdio-core/src/record.ts
|
|
1419
|
+
function isPlainRecord(value) {
|
|
1420
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1418
1423
|
// src/ensure-daemon.ts
|
|
1419
1424
|
import { spawn as spawn2 } from "node:child_process";
|
|
1420
1425
|
import { closeSync as closeSync2, existsSync as existsSync2, mkdirSync as mkdirSync2, openSync as openSync2 } from "node:fs";
|
|
@@ -1632,11 +1637,6 @@ function resolveSocketPath(dir, version) {
|
|
|
1632
1637
|
return natural;
|
|
1633
1638
|
return join2(tmpdir(), `omo-lsp-${version}-${digest}.sock`);
|
|
1634
1639
|
}
|
|
1635
|
-
|
|
1636
|
-
// ../mcp-stdio-core/src/record.ts
|
|
1637
|
-
function isPlainRecord(value) {
|
|
1638
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1639
|
-
}
|
|
1640
1640
|
// ../mcp-stdio-core/src/responses.ts
|
|
1641
1641
|
function successResponse(id, result) {
|
|
1642
1642
|
return { jsonrpc: "2.0", id, result };
|
|
@@ -3550,13 +3550,13 @@ function requestedProtocolVersion(params) {
|
|
|
3550
3550
|
// src/request-routing.ts
|
|
3551
3551
|
var CONTEXT_KEY = "_context";
|
|
3552
3552
|
function extractRequestContext(raw) {
|
|
3553
|
-
if (!
|
|
3553
|
+
if (!isPlainRecord(raw) || raw["method"] !== "tools/call")
|
|
3554
3554
|
return { input: raw, context: undefined };
|
|
3555
3555
|
const params = raw["params"];
|
|
3556
|
-
if (!
|
|
3556
|
+
if (!isPlainRecord(params))
|
|
3557
3557
|
return { input: raw, context: undefined };
|
|
3558
3558
|
const args = params["arguments"];
|
|
3559
|
-
if (!
|
|
3559
|
+
if (!isPlainRecord(args))
|
|
3560
3560
|
return { input: raw, context: undefined };
|
|
3561
3561
|
const context = parseContext(args[CONTEXT_KEY]);
|
|
3562
3562
|
if (!context)
|
|
@@ -3573,7 +3573,7 @@ function handleDaemonMessage(raw) {
|
|
|
3573
3573
|
return handleLspMcpRequest(input);
|
|
3574
3574
|
}
|
|
3575
3575
|
function parseContext(value) {
|
|
3576
|
-
if (!
|
|
3576
|
+
if (!isPlainRecord(value))
|
|
3577
3577
|
return;
|
|
3578
3578
|
const context = {};
|
|
3579
3579
|
const cwd = value["cwd"];
|
|
@@ -3584,11 +3584,8 @@ function parseContext(value) {
|
|
|
3584
3584
|
context.env = env;
|
|
3585
3585
|
return context.cwd === undefined && context.env === undefined ? undefined : context;
|
|
3586
3586
|
}
|
|
3587
|
-
function isRecord5(value) {
|
|
3588
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3589
|
-
}
|
|
3590
3587
|
function isStringRecord2(value) {
|
|
3591
|
-
return
|
|
3588
|
+
return isPlainRecord(value) && Object.values(value).every((item) => typeof item === "string");
|
|
3592
3589
|
}
|
|
3593
3590
|
|
|
3594
3591
|
// src/socket-jsonrpc.ts
|
|
@@ -3715,10 +3712,10 @@ function sendToolCall(socketPath, name, args, timeoutMs) {
|
|
|
3715
3712
|
});
|
|
3716
3713
|
}
|
|
3717
3714
|
function toToolResult(message) {
|
|
3718
|
-
if (!
|
|
3715
|
+
if (!isPlainRecord(message) || message["id"] !== REQUEST_ID)
|
|
3719
3716
|
return null;
|
|
3720
3717
|
const result = message["result"];
|
|
3721
|
-
if (!
|
|
3718
|
+
if (!isPlainRecord(result) || !Array.isArray(result["content"]))
|
|
3722
3719
|
return null;
|
|
3723
3720
|
return {
|
|
3724
3721
|
content: result["content"],
|
|
@@ -3726,9 +3723,6 @@ function toToolResult(message) {
|
|
|
3726
3723
|
details: result["details"]
|
|
3727
3724
|
};
|
|
3728
3725
|
}
|
|
3729
|
-
function isRecord6(value) {
|
|
3730
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
3731
|
-
}
|
|
3732
3726
|
function errorText(error) {
|
|
3733
3727
|
return error instanceof Error ? error.message : String(error);
|
|
3734
3728
|
}
|