oh-my-opencode 5.0.0-beta.49 → 5.0.0-beta.50
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/dist/cli/index.js +4682 -14969
- package/dist/cli-node/index.js +4727 -15014
- package/dist/index.js +5880 -6423
- package/dist/tui.js +1244 -10984
- package/package.json +15 -15
- package/packages/git-bash-mcp/package.json +1 -1
- package/packages/lsp-daemon/dist/cli.js +181 -181
- package/packages/lsp-daemon/dist/client.js +232 -232
- package/packages/lsp-daemon/dist/index.js +132 -132
- package/packages/lsp-tools-mcp/dist/cli.js +103 -101
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +14 -14
- package/packages/lsp-tools-mcp/dist/mcp.js +129 -129
- package/packages/lsp-tools-mcp/dist/tools.js +47 -47
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/README.md +4 -0
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +151 -102
- 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/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/directive.md +2 -0
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +35 -24
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +31 -21
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/types.d.ts +3 -0
- 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/lazycodex-executor-verify/src/codex-hook.ts +31 -23
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/types.ts +3 -0
- 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 +133 -7
- package/packages/omo-codex/plugin/components/lcx/skills/lcx-doctor/SKILL.md +3 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +298 -298
- 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/README.md +2 -0
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-6.md +123 -0
- package/packages/omo-codex/plugin/components/rules/dist/cli.js +38 -30
- 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/src/post-compact-budget.ts +6 -0
- package/packages/omo-codex/plugin/components/rules/test/hephaestus-model-variant.test.ts +38 -2
- package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +24 -0
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +2 -2
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +66 -357
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +66 -358
- 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/README.md +2 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-clone-fidelity-reviewer.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-low.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/librarian.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/metis.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +1 -1
- 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/ulw-execute-continuation/dist/cli.js +3 -3
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +63 -63
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- 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-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/post-tool-use-recording-spawn-admission.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 +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-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-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.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/model-catalog.json +16 -7
- package/packages/omo-codex/plugin/package-lock.json +16 -16
- 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/migrate-codex-config/multi-agent-v2-guard.mjs +8 -4
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/subagent-limit-guard.mjs +18 -90
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/toml-section-editor.mjs +1 -1
- package/packages/omo-codex/plugin/shared/package.json +1 -1
- package/packages/omo-codex/plugin/skills/lcx-doctor/SKILL.md +3 -1
- package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +12 -12
- package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +14 -4
- package/packages/omo-codex/plugin/test/auto-update.test.mjs +4 -4
- package/packages/omo-codex/plugin/test/component-hook-contract-cases.mjs +25 -1
- package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +35 -35
- package/packages/omo-codex/plugin/test/multi-agent-v2-regression.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/subagent-limit-migration.test.mjs +107 -15
- package/packages/omo-codex/scripts/check-model-catalog-parity.mjs +42 -0
- package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +5 -5
- package/packages/omo-codex/scripts/install-config.test.mjs +15 -17
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +318 -569
- package/packages/omo-codex/scripts/install-generated-bundle.test.mjs +3 -4
|
@@ -8,7 +8,7 @@ import test from "node:test";
|
|
|
8
8
|
|
|
9
9
|
import { updateCodexConfig } from "./install-dist/install-local.mjs";
|
|
10
10
|
|
|
11
|
-
test("#given empty Codex config #when script installer updates config #then
|
|
11
|
+
test("#given empty Codex config #when script installer updates config #then leaves thread limits unset without forcing MultiAgentV2", async () => {
|
|
12
12
|
// given
|
|
13
13
|
const root = await mkdtemp(join(tmpdir(), "omo-codex-script-config-multi-agent-"));
|
|
14
14
|
const configPath = join(root, "config.toml");
|
|
@@ -28,10 +28,10 @@ test("#given empty Codex config #when script installer updates config #then sets
|
|
|
28
28
|
const config = await readFile(configPath, "utf8");
|
|
29
29
|
assert.doesNotMatch(config, /^\s*multi_agent_mode\s*=/m);
|
|
30
30
|
assert.doesNotMatch(config, /^\s*max_threads\s*=/m);
|
|
31
|
-
assert.
|
|
31
|
+
assert.doesNotMatch(config, /\[features\.multi_agent_v2\]/);
|
|
32
32
|
const v2Section = multiAgentV2Section(config);
|
|
33
33
|
assert.doesNotMatch(v2Section, /^enabled\s*=/m);
|
|
34
|
-
assert.
|
|
34
|
+
assert.doesNotMatch(v2Section, /max_concurrent_threads_per_session\s*=/);
|
|
35
35
|
});
|
|
36
36
|
|
|
37
37
|
test("#given queue multi-agent mode #when script installer updates config #then removes unsupported root key", async () => {
|
|
@@ -337,7 +337,7 @@ test("#given empty Codex config #when script installer updates config #then sets
|
|
|
337
337
|
const config = await readFile(configPath, "utf8");
|
|
338
338
|
const v2Section = config.slice(config.indexOf("[features.multi_agent_v2]"));
|
|
339
339
|
assert.doesNotMatch(config, /^\s*max_threads\s*=/m);
|
|
340
|
-
assert.
|
|
340
|
+
assert.doesNotMatch(v2Section, /max_concurrent_threads_per_session\s*=/);
|
|
341
341
|
assert.doesNotMatch(v2Section, /hide_spawn_agent_metadata/);
|
|
342
342
|
});
|
|
343
343
|
|
|
@@ -404,7 +404,7 @@ test("#given legacy boolean MultiAgentV2 flag and table #when script installer u
|
|
|
404
404
|
const v2Section = multiAgentV2Section(config);
|
|
405
405
|
assert.doesNotMatch(v2Section, /^enabled\s*=/m);
|
|
406
406
|
assert.match(v2Section, /usage_hint_enabled = false/);
|
|
407
|
-
assert.
|
|
407
|
+
assert.doesNotMatch(v2Section, /max_concurrent_threads_per_session\s*=/);
|
|
408
408
|
});
|
|
409
409
|
|
|
410
410
|
test("#given legacy boolean MultiAgentV2 flag false #when script installer updates config #then normalizes to a disabled table config", async () => {
|
|
@@ -440,12 +440,12 @@ test("#given legacy boolean MultiAgentV2 flag false #when script installer updat
|
|
|
440
440
|
assert.match(config, /\[features\.multi_agent_v2\]/);
|
|
441
441
|
const disabledV2Section = multiAgentV2Section(config);
|
|
442
442
|
assert.match(disabledV2Section, /^enabled = false$/m);
|
|
443
|
-
assert.
|
|
443
|
+
assert.doesNotMatch(disabledV2Section, /^max_concurrent_threads_per_session\s*=/m);
|
|
444
444
|
});
|
|
445
445
|
|
|
446
|
-
test("#given legacy agents max_threads #when script installer updates config #then
|
|
446
|
+
test("#given legacy agents max_threads #when script installer updates config #then preserves the user root subagent thread cap", async () => {
|
|
447
447
|
// given
|
|
448
|
-
// A pinned v1 model keeps
|
|
448
|
+
// A pinned v1 model keeps user V1 cap preservation exercised; the
|
|
449
449
|
// stamped v2-preferred default would remove agents.max_threads instead.
|
|
450
450
|
const root = await mkdtemp(join(tmpdir(), "omo-codex-script-config-multi-agent-legacy-threads-"));
|
|
451
451
|
const configPath = join(root, "config.toml");
|
|
@@ -473,20 +473,19 @@ test("#given legacy agents max_threads #when script installer updates config #th
|
|
|
473
473
|
|
|
474
474
|
// then
|
|
475
475
|
const config = await readFile(configPath, "utf8");
|
|
476
|
-
assert.
|
|
476
|
+
assert.doesNotMatch(config, /\[features\.multi_agent_v2\]/);
|
|
477
477
|
const v2Section = multiAgentV2Section(config);
|
|
478
478
|
assert.doesNotMatch(v2Section, /^enabled\s*=/m);
|
|
479
|
-
assert.
|
|
479
|
+
assert.doesNotMatch(v2Section, /max_concurrent_threads_per_session\s*=/);
|
|
480
480
|
assert.match(config, /\[agents\]/);
|
|
481
|
-
assert.match(config,
|
|
482
|
-
assert.doesNotMatch(config, /max_threads = 16/);
|
|
481
|
+
assert.match(config, /^\s*max_threads\s*=\s*16$/m);
|
|
483
482
|
assert.match(config, /max_depth = 4/);
|
|
484
483
|
assert.match(config, /job_max_runtime_seconds = 3600/);
|
|
485
484
|
});
|
|
486
485
|
|
|
487
|
-
test("#given managed agent role sections #when script installer updates config #then preserves role config
|
|
486
|
+
test("#given managed agent role sections #when script installer updates config #then preserves role config without raising root agents max_threads", async () => {
|
|
488
487
|
// given
|
|
489
|
-
// A pinned v1 model keeps
|
|
488
|
+
// A pinned v1 model keeps user V1 cap preservation exercised; the
|
|
490
489
|
// stamped v2-preferred default would remove agents.max_threads instead.
|
|
491
490
|
const root = await mkdtemp(join(tmpdir(), "omo-codex-script-config-multi-agent-role-section-"));
|
|
492
491
|
const configPath = join(root, "config.toml");
|
|
@@ -517,8 +516,7 @@ test("#given managed agent role sections #when script installer updates config #
|
|
|
517
516
|
|
|
518
517
|
// then
|
|
519
518
|
const config = await readFile(configPath, "utf8");
|
|
520
|
-
assert.match(config,
|
|
521
|
-
assert.doesNotMatch(config, /max_threads = 16/);
|
|
519
|
+
assert.match(config, /^\s*max_threads\s*=\s*16$/m);
|
|
522
520
|
assert.match(config, /\[agents\.explorer\]/);
|
|
523
521
|
assert.match(config, /description = "read-only explorer"/);
|
|
524
522
|
assert.match(config, /config_file = "\.\/agents\/explorer\.toml"/);
|
|
@@ -572,7 +570,7 @@ test("#given existing trust and lsp blocks #when updating config #then existing
|
|
|
572
570
|
function multiAgentV2Section(config) {
|
|
573
571
|
const header = "[features.multi_agent_v2]";
|
|
574
572
|
const start = config.indexOf(header);
|
|
575
|
-
|
|
573
|
+
if (start === -1) return "";
|
|
576
574
|
const rest = config.slice(start);
|
|
577
575
|
const nextHeader = rest.slice(1).search(/^\[/m);
|
|
578
576
|
return nextHeader === -1 ? rest : rest.slice(0, nextHeader + 1);
|