oh-my-opencode 4.19.4 → 5.0.0-beta.10
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/command/publish.md +44 -16
- package/.agents/skills/publish/SKILL.md +44 -16
- package/.agents/skills/work-with-pr/SKILL.md +37 -23
- package/.opencode/command/publish.md +44 -16
- package/.opencode/skills/work-with-pr/SKILL.md +37 -23
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +18 -6
- package/README.ru.md +1 -1
- package/README.zh-cn.md +1 -1
- package/bin/oh-my-opencode.js +14 -1
- package/bin/oh-my-opencode.test.ts +21 -0
- package/dist/agents/atlas/agent.d.ts +0 -1
- package/dist/agents/sisyphus/grok-4.d.ts +20 -0
- package/dist/agents/sisyphus/index.d.ts +2 -0
- package/dist/agents/sisyphus-agent-config.d.ts +6 -0
- package/dist/agents/sisyphus-agent-factory.d.ts +1 -1
- package/dist/agents/sisyphus-runtime-prompt-reconciler.d.ts +15 -4
- package/dist/agents/types.d.ts +2 -2
- package/dist/cli/index.js +1888 -807
- package/dist/cli/run/on-complete-hook.d.ts +2 -0
- package/dist/cli-node/index.js +1888 -807
- package/dist/config/schema/agent-overrides.d.ts +528 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +495 -0
- package/dist/features/monitor/batcher.d.ts +3 -1
- package/dist/features/monitor/manager-internals.d.ts +1 -0
- package/dist/features/monitor/output-injector-types.d.ts +2 -0
- package/dist/features/monitor/output-injector.d.ts +6 -0
- package/dist/hooks/atlas/final-wave-approval-gate.test-support.d.ts +50 -0
- package/dist/hooks/atlas/system-reminder-templates.d.ts +0 -1
- package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/unrecoverable-request-error.d.ts +9 -0
- package/dist/hooks/tool-pair-validator/hook.test-support.d.ts +29 -0
- package/dist/hooks/tool-pair-validator/tool-part-ids.d.ts +14 -5
- package/dist/hooks/tool-pair-validator/tool-result-repair.d.ts +4 -3
- package/dist/hooks/tool-pair-validator/types.d.ts +5 -22
- package/dist/index.js +3139 -2232
- package/dist/mcp/lsp.d.ts +1 -0
- package/dist/oh-my-opencode.schema.json +1466 -131
- package/dist/shared/normalize-sdk-response.d.ts +1 -0
- package/dist/shared/shell-env.d.ts +1 -1
- package/dist/shared/tmux/constants.d.ts +1 -1
- package/dist/skills/ast-grep/SOURCE +1 -1
- package/dist/skills/ast-grep/install.ps1 +2 -2
- package/dist/skills/ast-grep/install.sh +1 -1
- package/dist/skills/ast-grep/references/install.md +2 -2
- package/dist/skills/ast-grep/tests/smoke.sh +1 -1
- package/dist/skills/coding-agent-sessions/SKILL.md +3 -2
- package/dist/skills/coding-agent-sessions/references/all-platforms.md +1 -1
- package/dist/skills/coding-agent-sessions/references/senpi.md +4 -4
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
- package/dist/skills/frontend/SKILL.md +10 -7
- package/dist/skills/frontend/references/design/_INDEX.md +1 -0
- package/dist/skills/frontend/references/design/stylegallery.md +80 -0
- package/dist/skills/start-work/SKILL.md +54 -9
- package/dist/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
- package/dist/skills/ultimate-browsing/SKILL.md +2 -2
- package/dist/skills/ultimate-browsing/engine/AGENTS.md +179 -0
- package/dist/skills/ultimate-browsing/engine/__main__.py +8 -1
- package/dist/skills/ultimate-browsing/engine/bias_check.py +11 -0
- package/dist/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
- package/dist/skills/ultimate-browsing/engine/result_schema.py +10 -1
- package/dist/skills/ultimate-browsing/engine/surrogate.py +214 -0
- package/dist/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
- package/dist/skills/ultimate-browsing/engine/templates/package.json +1 -1
- package/dist/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
- package/dist/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
- package/dist/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
- package/dist/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
- package/dist/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
- package/dist/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
- package/dist/skills/ultimate-browsing/engine/validators.py +46 -0
- package/dist/skills/ultimate-browsing/engine/waf_detector.py +1 -1
- package/dist/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
- package/dist/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
- package/dist/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
- package/dist/skills/ultimate-browsing/references/insane-search/README.md +4 -4
- package/dist/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
- package/dist/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
- package/dist/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
- package/dist/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
- package/dist/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
- package/dist/skills/ulw-plan/SKILL.md +3 -3
- package/dist/skills/ulw-plan/references/full-workflow.md +30 -6
- package/dist/skills/ulw-plan/references/intent-clear.md +2 -1
- package/dist/skills/ulw-plan/references/intent-unclear.md +3 -3
- package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
- package/dist/skills/ulw-research/SKILL.md +15 -10
- package/dist/tui.js +477 -36
- package/docs/reference/web-terminal-visual-qa.md +1 -1
- package/package.json +34 -24
- package/packages/lsp-core/src/lsp/client-diagnostics-concurrency.integration.test.ts +44 -0
- package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +0 -28
- package/packages/lsp-core/src/lsp/client-wrapper.test.ts +60 -7
- package/packages/lsp-core/src/lsp/client-wrapper.ts +69 -16
- package/packages/lsp-core/src/lsp/connection.ts +1 -1
- package/packages/lsp-core/src/lsp/workspace-edit-adversarial.test.ts +20 -1
- package/packages/lsp-core/src/tools/diagnostics.ts +3 -3
- package/packages/lsp-core/src/tools/navigation.ts +4 -2
- package/packages/lsp-core/src/tools/rename.ts +4 -2
- package/packages/lsp-core/src/tools/symbols.ts +1 -1
- package/packages/lsp-daemon/dist/cli.js +108 -40
- package/packages/lsp-daemon/dist/client.js +123 -55
- package/packages/lsp-daemon/dist/ensure-daemon.d.ts +1 -0
- package/packages/lsp-daemon/dist/ensure-daemon.js +18 -5
- package/packages/lsp-daemon/dist/index.js +111 -43
- package/packages/lsp-tools-mcp/dist/cli.js +77 -23
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +1 -1
- package/packages/lsp-tools-mcp/dist/mcp.js +77 -23
- package/packages/lsp-tools-mcp/dist/tools.js +77 -23
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +268 -92
- 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/bootstrap/src/setup.ts +7 -7
- package/packages/omo-codex/plugin/components/bootstrap/src/worker.ts +3 -0
- package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +220 -10
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +220 -10
- 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/lazycodex-executor-verify/test/codex-hook.test.ts +3 -17
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +135 -67
- 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/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +11 -16
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +16 -23
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +9 -7
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +0 -6
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-dedup.test.ts +6 -4
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-directive.test.ts +12 -9
- package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +28 -37
- package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +37 -69
- package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +2 -3
- package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +1 -15
- package/packages/omo-codex/plugin/components/start-work-continuation/AGENTS.md +4 -2
- package/packages/omo-codex/plugin/components/start-work-continuation/README.md +5 -1
- package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +2 -1
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.js +18 -0
- 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/src/codex-hook.ts +21 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/cli.test.ts +0 -3
- package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +107 -16
- 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/test/thread-title-hook.test.ts +3 -9
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +24 -12
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +24 -12
- 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/CHANGELOG.md +2 -0
- 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/plan.toml +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +9 -2
- 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 +9 -2
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +3 -3
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +30 -6
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-clear.md +2 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +3 -3
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +0 -136
- package/packages/omo-codex/plugin/components/ultrawork/test/skill-pointer.test.ts +0 -2
- 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 +11 -11
- package/packages/omo-codex/plugin/components/ulw-loop/directive.md +9 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +9 -9
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +66 -66
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
- 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 +5 -4
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/define-goal.md +108 -0
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +23 -25
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +9 -9
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-continuation.test.ts +0 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-helpers.test.ts +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-kind-guidance.test.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +2 -5
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +7 -40
- package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +4 -5
- 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 +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/stop-checking-ulw-loop-resume.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 +20 -20
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +4 -4
- package/packages/omo-codex/plugin/skills/ast-grep/SOURCE +1 -1
- package/packages/omo-codex/plugin/skills/ast-grep/install.ps1 +2 -2
- package/packages/omo-codex/plugin/skills/ast-grep/install.sh +1 -1
- package/packages/omo-codex/plugin/skills/ast-grep/references/install.md +2 -2
- package/packages/omo-codex/plugin/skills/ast-grep/tests/smoke.sh +1 -1
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +3 -2
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +1 -1
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/senpi.md +4 -4
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
- package/packages/omo-codex/plugin/skills/frontend/SKILL.md +10 -7
- package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +1 -0
- package/packages/omo-codex/plugin/skills/frontend/references/design/stylegallery.md +80 -0
- package/packages/omo-codex/plugin/skills/start-work/SKILL.md +54 -9
- package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
- package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +179 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/__main__.py +8 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/bias_check.py +11 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/result_schema.py +10 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/surrogate.py +214 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/validators.py +46 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/waf_detector.py +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +4 -4
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
- package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +9 -2
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +5 -4
- package/packages/omo-codex/plugin/skills/ulw-loop/references/define-goal.md +108 -0
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +23 -25
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +3 -3
- package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +30 -6
- package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-clear.md +2 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +3 -3
- package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +15 -10
- package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +19 -173
- package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +4 -24
- package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +175 -13
- package/packages/omo-codex/plugin/test/aggregate.test.mjs +78 -2
- package/packages/omo-codex/plugin/test/auto-update-release-notes.test.mjs +19 -33
- package/packages/omo-codex/plugin/test/bootstrap-binlinks.test.mjs +12 -12
- package/packages/omo-codex/plugin/test/bootstrap-orchestration.test.mjs +36 -4
- package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +21 -27
- package/packages/omo-codex/plugin/test/scaffold-plan.test.mjs +0 -36
- package/packages/omo-codex/plugin/test/sync-skills-codex-compatibility.test.mjs +101 -0
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +4 -4
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +1 -119
- package/packages/omo-codex/plugin/test/teammode-archive-ambiguity.test.mjs +0 -40
- package/packages/omo-codex/plugin/test/teammode-communication.test.mjs +6 -62
- package/packages/omo-codex/plugin/test/teammode-thread-links.test.mjs +3 -36
- package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +0 -44
- package/packages/omo-codex/plugin/test/teammode-worktree.test.mjs +2 -6
- package/packages/omo-codex/plugin/test/ultrawork-skill-pointer.test.mjs +0 -3
- package/packages/omo-codex/plugin/test/ulw-plan-review-state-contract.test.mjs +0 -3
- package/packages/omo-codex/scripts/install-bin-links.test.mjs +56 -2
- package/packages/omo-codex/scripts/install-delegated-command.test.mjs +6 -6
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +170 -78
- package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +7 -2
- package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +4 -4
- package/packages/omo-codex/scripts/install-local.test.mjs +5 -2
- package/packages/shared-skills/index.mjs +19 -1
- package/packages/shared-skills/skills/ast-grep/SOURCE +1 -1
- package/packages/shared-skills/skills/ast-grep/install.ps1 +2 -2
- package/packages/shared-skills/skills/ast-grep/install.sh +1 -1
- package/packages/shared-skills/skills/ast-grep/references/install.md +2 -2
- package/packages/shared-skills/skills/ast-grep/tests/smoke.sh +1 -1
- package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +3 -2
- package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +1 -1
- package/packages/shared-skills/skills/coding-agent-sessions/references/senpi.md +4 -4
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
- package/packages/shared-skills/skills/frontend/SKILL.md +10 -7
- package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +1 -0
- package/packages/shared-skills/skills/frontend/references/design/stylegallery.md +80 -0
- package/packages/shared-skills/skills/start-work/SKILL.md +54 -9
- package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
- package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +2 -2
- package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +179 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/__main__.py +8 -1
- package/packages/shared-skills/skills/ultimate-browsing/engine/bias_check.py +11 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
- package/packages/shared-skills/skills/ultimate-browsing/engine/result_schema.py +10 -1
- package/packages/shared-skills/skills/ultimate-browsing/engine/surrogate.py +214 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/validators.py +46 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/waf_detector.py +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
- package/packages/shared-skills/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
- package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +4 -4
- package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
- package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
- package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
- package/packages/shared-skills/skills/ulw-plan/SKILL.md +3 -3
- package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +30 -6
- package/packages/shared-skills/skills/ulw-plan/references/intent-clear.md +2 -1
- package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +3 -3
- package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
- package/packages/shared-skills/skills/ulw-research/SKILL.md +15 -10
- package/postinstall.mjs +6 -0
- package/dist/tools/call-omo-agent/background-agent-executor.d.ts +0 -5
- package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +0 -92
- package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +0 -314
- package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +0 -24
package/dist/tui.js
CHANGED
|
@@ -15197,7 +15197,7 @@ function finalize(ctx, schema) {
|
|
|
15197
15197
|
result.$schema = "http://json-schema.org/draft-07/schema#";
|
|
15198
15198
|
} else if (ctx.target === "draft-04") {
|
|
15199
15199
|
result.$schema = "http://json-schema.org/draft-04/schema#";
|
|
15200
|
-
} else if (ctx.target === "openapi-3.0") {}
|
|
15200
|
+
} else if (ctx.target === "openapi-3.0") {}
|
|
15201
15201
|
if (ctx.external?.uri) {
|
|
15202
15202
|
const id = ctx.external.registry.get(schema)?.id;
|
|
15203
15203
|
if (!id)
|
|
@@ -15458,7 +15458,7 @@ var formatMap, stringProcessor = (schema, ctx, _json, _params) => {
|
|
|
15458
15458
|
if (val === undefined) {
|
|
15459
15459
|
if (ctx.unrepresentable === "throw") {
|
|
15460
15460
|
throw new Error("Literal `undefined` cannot be represented in JSON Schema");
|
|
15461
|
-
}
|
|
15461
|
+
}
|
|
15462
15462
|
} else if (typeof val === "bigint") {
|
|
15463
15463
|
if (ctx.unrepresentable === "throw") {
|
|
15464
15464
|
throw new Error("BigInt literals cannot be represented in JSON Schema");
|
|
@@ -18836,6 +18836,155 @@ var init_codegraph = __esm(() => {
|
|
|
18836
18836
|
}).strict();
|
|
18837
18837
|
});
|
|
18838
18838
|
|
|
18839
|
+
// packages/omo-config-core/src/schema/memory.ts
|
|
18840
|
+
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
18841
|
+
var init_memory = __esm(() => {
|
|
18842
|
+
init_zod();
|
|
18843
|
+
OmoMemoryReflectionTriggerSchema = object({
|
|
18844
|
+
step_count: number2().int().nonnegative().default(25),
|
|
18845
|
+
on_compaction: boolean2().default(true)
|
|
18846
|
+
}).strict();
|
|
18847
|
+
OmoMemoryReflectionSchema = object({
|
|
18848
|
+
enabled: boolean2().default(true),
|
|
18849
|
+
trigger: OmoMemoryReflectionTriggerSchema.default({ step_count: 25, on_compaction: true }),
|
|
18850
|
+
merge: _enum2(["auto", "integration"]).default("auto"),
|
|
18851
|
+
category: string2().min(1).default("quick"),
|
|
18852
|
+
timeout_minutes: number2().int().positive().default(15),
|
|
18853
|
+
sandbox: _enum2(["auto", "required", "off"]).default("auto")
|
|
18854
|
+
}).strict();
|
|
18855
|
+
OmoMemorySyncSchema = object({
|
|
18856
|
+
remote: string2().min(1).optional(),
|
|
18857
|
+
enabled: boolean2().default(true)
|
|
18858
|
+
}).strict();
|
|
18859
|
+
OmoMemorySearchSchema = object({
|
|
18860
|
+
enabled: boolean2().default(true)
|
|
18861
|
+
}).strict();
|
|
18862
|
+
OmoMemoryNudgeSchema = object({
|
|
18863
|
+
enabled: boolean2().default(true),
|
|
18864
|
+
every_user_turns: number2().int().min(1).default(10)
|
|
18865
|
+
}).strict();
|
|
18866
|
+
OmoMemoryFactsSchema = object({
|
|
18867
|
+
enabled: boolean2().default(true),
|
|
18868
|
+
debounce_settles: number2().int().min(1).default(4)
|
|
18869
|
+
}).strict();
|
|
18870
|
+
OmoMemoryDreamSchema = object({
|
|
18871
|
+
enabled: boolean2().default(true),
|
|
18872
|
+
idle_minutes: number2().int().min(0).default(30),
|
|
18873
|
+
min_hours_between: number2().int().min(1).default(24),
|
|
18874
|
+
shutdown_launch: boolean2().default(true),
|
|
18875
|
+
auto_select_max: number2().int().min(1).max(10).default(5),
|
|
18876
|
+
auto_select_max_chars: number2().int().min(1e4).default(150000)
|
|
18877
|
+
}).strict();
|
|
18878
|
+
OmoMemoryPeopleSchema = object({
|
|
18879
|
+
enabled: boolean2().default(true),
|
|
18880
|
+
max_entries: number2().int().min(1).max(100).default(40),
|
|
18881
|
+
max_entry_chars: number2().int().min(50).max(500).default(200)
|
|
18882
|
+
}).strict();
|
|
18883
|
+
OmoMemorySoulSchema = object({
|
|
18884
|
+
edit_notice: boolean2().default(true)
|
|
18885
|
+
}).strict();
|
|
18886
|
+
OmoMemoryReflectionTriggerLayerSchema = object({
|
|
18887
|
+
step_count: number2().int().nonnegative().optional(),
|
|
18888
|
+
on_compaction: boolean2().optional()
|
|
18889
|
+
}).strict();
|
|
18890
|
+
OmoMemoryReflectionLayerSchema = object({
|
|
18891
|
+
enabled: boolean2().optional(),
|
|
18892
|
+
trigger: OmoMemoryReflectionTriggerLayerSchema.optional(),
|
|
18893
|
+
merge: _enum2(["auto", "integration"]).optional(),
|
|
18894
|
+
category: string2().min(1).optional(),
|
|
18895
|
+
timeout_minutes: number2().int().positive().optional(),
|
|
18896
|
+
sandbox: _enum2(["auto", "required", "off"]).optional()
|
|
18897
|
+
}).strict();
|
|
18898
|
+
OmoMemorySyncLayerSchema = object({
|
|
18899
|
+
remote: string2().min(1).optional(),
|
|
18900
|
+
enabled: boolean2().optional()
|
|
18901
|
+
}).strict();
|
|
18902
|
+
OmoMemorySearchLayerSchema = object({
|
|
18903
|
+
enabled: boolean2().optional()
|
|
18904
|
+
}).strict();
|
|
18905
|
+
OmoMemoryNudgeLayerSchema = object({
|
|
18906
|
+
enabled: boolean2().optional(),
|
|
18907
|
+
every_user_turns: number2().int().min(1).optional()
|
|
18908
|
+
}).strict();
|
|
18909
|
+
OmoMemoryFactsLayerSchema = object({
|
|
18910
|
+
enabled: boolean2().optional(),
|
|
18911
|
+
debounce_settles: number2().int().min(1).optional()
|
|
18912
|
+
}).strict();
|
|
18913
|
+
OmoMemoryDreamLayerSchema = object({
|
|
18914
|
+
enabled: boolean2().optional(),
|
|
18915
|
+
idle_minutes: number2().int().min(0).optional(),
|
|
18916
|
+
min_hours_between: number2().int().min(1).optional(),
|
|
18917
|
+
shutdown_launch: boolean2().optional(),
|
|
18918
|
+
auto_select_max: number2().int().min(1).max(10).optional(),
|
|
18919
|
+
auto_select_max_chars: number2().int().min(1e4).optional()
|
|
18920
|
+
}).strict();
|
|
18921
|
+
OmoMemoryPeopleLayerSchema = object({
|
|
18922
|
+
enabled: boolean2().optional(),
|
|
18923
|
+
max_entries: number2().int().min(1).max(100).optional(),
|
|
18924
|
+
max_entry_chars: number2().int().min(50).max(500).optional()
|
|
18925
|
+
}).strict();
|
|
18926
|
+
OmoMemorySoulLayerSchema = object({
|
|
18927
|
+
edit_notice: boolean2().optional()
|
|
18928
|
+
}).strict();
|
|
18929
|
+
OmoMemoryAgentOverridesSchema = object({
|
|
18930
|
+
enabled: boolean2().optional(),
|
|
18931
|
+
agent: string2().min(1).optional(),
|
|
18932
|
+
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
18933
|
+
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
18934
|
+
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
18935
|
+
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
18936
|
+
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
18937
|
+
soul: OmoMemorySoulLayerSchema.optional(),
|
|
18938
|
+
sync: OmoMemorySyncLayerSchema.optional(),
|
|
18939
|
+
search: OmoMemorySearchLayerSchema.optional(),
|
|
18940
|
+
compile_warn_tokens: number2().int().positive().optional()
|
|
18941
|
+
}).strict();
|
|
18942
|
+
OmoMemorySettingsSchema = object({
|
|
18943
|
+
enabled: boolean2().default(true),
|
|
18944
|
+
agent: string2().min(1).default("auto"),
|
|
18945
|
+
tool_exposure: _enum2(["direct", "search"]).default("direct"),
|
|
18946
|
+
reflection: OmoMemoryReflectionSchema.default({
|
|
18947
|
+
enabled: true,
|
|
18948
|
+
trigger: { step_count: 25, on_compaction: true },
|
|
18949
|
+
merge: "auto",
|
|
18950
|
+
category: "quick",
|
|
18951
|
+
timeout_minutes: 15,
|
|
18952
|
+
sandbox: "auto"
|
|
18953
|
+
}),
|
|
18954
|
+
nudge: OmoMemoryNudgeSchema.default({ enabled: true, every_user_turns: 10 }),
|
|
18955
|
+
facts: OmoMemoryFactsSchema.default({ enabled: true, debounce_settles: 4 }),
|
|
18956
|
+
dream: OmoMemoryDreamSchema.default({
|
|
18957
|
+
enabled: true,
|
|
18958
|
+
idle_minutes: 30,
|
|
18959
|
+
min_hours_between: 24,
|
|
18960
|
+
shutdown_launch: true,
|
|
18961
|
+
auto_select_max: 5,
|
|
18962
|
+
auto_select_max_chars: 150000
|
|
18963
|
+
}),
|
|
18964
|
+
people: OmoMemoryPeopleSchema.default({ enabled: true, max_entries: 40, max_entry_chars: 200 }),
|
|
18965
|
+
soul: OmoMemorySoulSchema.default({ edit_notice: true }),
|
|
18966
|
+
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
18967
|
+
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
18968
|
+
compile_warn_tokens: number2().int().positive().default(30000),
|
|
18969
|
+
agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
|
|
18970
|
+
}).strict();
|
|
18971
|
+
OmoMemorySettingsLayerSchema = object({
|
|
18972
|
+
enabled: boolean2().optional(),
|
|
18973
|
+
agent: string2().min(1).optional(),
|
|
18974
|
+
tool_exposure: _enum2(["direct", "search"]).optional(),
|
|
18975
|
+
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
18976
|
+
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
18977
|
+
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
18978
|
+
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
18979
|
+
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
18980
|
+
soul: OmoMemorySoulLayerSchema.optional(),
|
|
18981
|
+
sync: OmoMemorySyncLayerSchema.optional(),
|
|
18982
|
+
search: OmoMemorySearchLayerSchema.optional(),
|
|
18983
|
+
compile_warn_tokens: number2().int().positive().optional(),
|
|
18984
|
+
agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
|
|
18985
|
+
}).strict();
|
|
18986
|
+
});
|
|
18987
|
+
|
|
18839
18988
|
// packages/omo-config-core/src/schema/model-catalog.ts
|
|
18840
18989
|
function isRecord5(value) {
|
|
18841
18990
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -18859,9 +19008,18 @@ var init_model_catalog = __esm(() => {
|
|
|
18859
19008
|
});
|
|
18860
19009
|
|
|
18861
19010
|
// packages/omo-config-core/src/schema/task.ts
|
|
18862
|
-
|
|
19011
|
+
import { availableParallelism } from "os";
|
|
19012
|
+
function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism) {
|
|
19013
|
+
const record2 = record(string2(), unknown()).parse(input);
|
|
19014
|
+
return OmoTaskSettingsSchema.parse({
|
|
19015
|
+
...record2,
|
|
19016
|
+
residency_max_children: record2["residency_max_children"] ?? Math.max(8, resolveParallelism() * 3)
|
|
19017
|
+
});
|
|
19018
|
+
}
|
|
19019
|
+
var ResidencyMaxChildrenInputSchema, OmoTaskWaitSchema, OmoTaskTeamSettingsSchema, OmoTaskWarningsSchema, OmoTaskDagSettingsSchema, OmoTaskSettingsSchema, OmoTaskDagSettingsLayerSchema, OmoTaskWaitLayerSchema, OmoTaskTeamSettingsLayerSchema, OmoTaskWarningsLayerSchema, OmoTaskSettingsLayerSchema;
|
|
18863
19020
|
var init_task = __esm(() => {
|
|
18864
19021
|
init_zod();
|
|
19022
|
+
ResidencyMaxChildrenInputSchema = union([number2().int().positive(), literal("unlimited")]);
|
|
18865
19023
|
OmoTaskWaitSchema = object({
|
|
18866
19024
|
min_ms: number2().int().positive().default(5000),
|
|
18867
19025
|
default_ms: number2().int().positive().default(60000),
|
|
@@ -18875,23 +19033,45 @@ var init_task = __esm(() => {
|
|
|
18875
19033
|
OmoTaskWarningsSchema = object({
|
|
18876
19034
|
unavailable_categories: boolean2().default(true)
|
|
18877
19035
|
}).strict();
|
|
19036
|
+
OmoTaskDagSettingsSchema = object({
|
|
19037
|
+
max_nodes_per_run: number2().int().positive().default(64),
|
|
19038
|
+
max_runs_per_session: number2().int().positive().default(16),
|
|
19039
|
+
subscriber_ring: number2().int().positive().default(1000),
|
|
19040
|
+
heartbeat_ms: number2().int().positive().default(15000),
|
|
19041
|
+
history_default_limit: number2().int().positive().default(256),
|
|
19042
|
+
history_max_limit: number2().int().positive().default(1000),
|
|
19043
|
+
retention_days: number2().int().positive().default(7),
|
|
19044
|
+
max_prompt_bytes: number2().int().positive().default(262144)
|
|
19045
|
+
}).strict();
|
|
18878
19046
|
OmoTaskSettingsSchema = object({
|
|
18879
19047
|
default_execution_mode: _enum2(["in-process", "process"]).default("in-process"),
|
|
18880
19048
|
default_concurrency: number2().int().positive().default(5),
|
|
18881
19049
|
provider_concurrency: record(string2(), number2().int().positive()).optional(),
|
|
18882
19050
|
model_concurrency: record(string2(), number2().int().positive()).optional(),
|
|
18883
19051
|
max_depth: number2().int().nonnegative().default(1),
|
|
18884
|
-
residency_max_children:
|
|
19052
|
+
residency_max_children: ResidencyMaxChildrenInputSchema.default(8),
|
|
18885
19053
|
ttl_ms: number2().int().positive().default(86400000),
|
|
18886
19054
|
state_dir: string2().optional(),
|
|
18887
19055
|
reattach_on_reconcile: boolean2().optional(),
|
|
19056
|
+
resume_children: boolean2().default(true),
|
|
18888
19057
|
warnings: OmoTaskWarningsSchema.default({ unavailable_categories: true }),
|
|
18889
19058
|
wait: OmoTaskWaitSchema.default({ min_ms: 5000, default_ms: 60000, max_ms: 600000 }),
|
|
18890
19059
|
team: OmoTaskTeamSettingsSchema.default({
|
|
18891
19060
|
max_members: 8,
|
|
18892
19061
|
max_parallel_members: 4,
|
|
18893
19062
|
max_wall_clock_minutes: 120
|
|
18894
|
-
})
|
|
19063
|
+
}),
|
|
19064
|
+
dag: OmoTaskDagSettingsSchema.optional()
|
|
19065
|
+
}).strict();
|
|
19066
|
+
OmoTaskDagSettingsLayerSchema = object({
|
|
19067
|
+
max_nodes_per_run: number2().int().positive().optional(),
|
|
19068
|
+
max_runs_per_session: number2().int().positive().optional(),
|
|
19069
|
+
subscriber_ring: number2().int().positive().optional(),
|
|
19070
|
+
heartbeat_ms: number2().int().positive().optional(),
|
|
19071
|
+
history_default_limit: number2().int().positive().optional(),
|
|
19072
|
+
history_max_limit: number2().int().positive().optional(),
|
|
19073
|
+
retention_days: number2().int().positive().optional(),
|
|
19074
|
+
max_prompt_bytes: number2().int().positive().optional()
|
|
18895
19075
|
}).strict();
|
|
18896
19076
|
OmoTaskWaitLayerSchema = object({
|
|
18897
19077
|
min_ms: number2().int().positive().optional(),
|
|
@@ -18912,13 +19092,15 @@ var init_task = __esm(() => {
|
|
|
18912
19092
|
provider_concurrency: record(string2(), number2().int().positive()).optional(),
|
|
18913
19093
|
model_concurrency: record(string2(), number2().int().positive()).optional(),
|
|
18914
19094
|
max_depth: number2().int().nonnegative().optional(),
|
|
18915
|
-
residency_max_children:
|
|
19095
|
+
residency_max_children: ResidencyMaxChildrenInputSchema.optional(),
|
|
18916
19096
|
ttl_ms: number2().int().positive().optional(),
|
|
18917
19097
|
state_dir: string2().optional(),
|
|
18918
19098
|
reattach_on_reconcile: boolean2().optional(),
|
|
19099
|
+
resume_children: boolean2().optional(),
|
|
18919
19100
|
warnings: OmoTaskWarningsLayerSchema.optional(),
|
|
18920
19101
|
wait: OmoTaskWaitLayerSchema.optional(),
|
|
18921
|
-
team: OmoTaskTeamSettingsLayerSchema.optional()
|
|
19102
|
+
team: OmoTaskTeamSettingsLayerSchema.optional(),
|
|
19103
|
+
dag: OmoTaskDagSettingsLayerSchema.optional()
|
|
18922
19104
|
}).strict();
|
|
18923
19105
|
});
|
|
18924
19106
|
|
|
@@ -18973,6 +19155,19 @@ var init_team = __esm(() => {
|
|
|
18973
19155
|
OmoTeamsConfigLayerSchema = record(string2(), OmoTeamSpecLayerSchema);
|
|
18974
19156
|
});
|
|
18975
19157
|
|
|
19158
|
+
// packages/omo-config-core/src/schema/telemetry.ts
|
|
19159
|
+
var OmoTelemetrySettingsShape, OmoTelemetrySettingsLayerSchema, OmoTelemetrySettingsSchema;
|
|
19160
|
+
var init_telemetry = __esm(() => {
|
|
19161
|
+
init_zod();
|
|
19162
|
+
OmoTelemetrySettingsShape = {
|
|
19163
|
+
enabled: boolean2()
|
|
19164
|
+
};
|
|
19165
|
+
OmoTelemetrySettingsLayerSchema = object(OmoTelemetrySettingsShape).partial().strict();
|
|
19166
|
+
OmoTelemetrySettingsSchema = OmoTelemetrySettingsLayerSchema.extend({
|
|
19167
|
+
enabled: boolean2().default(true)
|
|
19168
|
+
}).strict();
|
|
19169
|
+
});
|
|
19170
|
+
|
|
18976
19171
|
// packages/omo-config-core/src/schema/config.ts
|
|
18977
19172
|
var OmoOpenCodeHarnessConfigSchema, OmoTypedHarnessConfigSchema, OmoConfigProfileSchema, OmoConfigSchema, OmoConfigLayerSchema;
|
|
18978
19173
|
var init_config = __esm(() => {
|
|
@@ -18980,9 +19175,11 @@ var init_config = __esm(() => {
|
|
|
18980
19175
|
init_agent();
|
|
18981
19176
|
init_category();
|
|
18982
19177
|
init_codegraph();
|
|
19178
|
+
init_memory();
|
|
18983
19179
|
init_model_catalog();
|
|
18984
19180
|
init_task();
|
|
18985
19181
|
init_team();
|
|
19182
|
+
init_telemetry();
|
|
18986
19183
|
OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
18987
19184
|
OmoTypedHarnessConfigSchema = object({
|
|
18988
19185
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
@@ -18990,7 +19187,9 @@ var init_config = __esm(() => {
|
|
|
18990
19187
|
codegraph: OmoCodegraphSettingsLayerSchema.optional(),
|
|
18991
19188
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
18992
19189
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
18993
|
-
models: OmoModelCatalogLayerSchema.optional()
|
|
19190
|
+
models: OmoModelCatalogLayerSchema.optional(),
|
|
19191
|
+
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
19192
|
+
telemetry: OmoTelemetrySettingsLayerSchema.optional()
|
|
18994
19193
|
}).strict();
|
|
18995
19194
|
OmoConfigProfileSchema = object({
|
|
18996
19195
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
@@ -18999,6 +19198,8 @@ var init_config = __esm(() => {
|
|
|
18999
19198
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
19000
19199
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
19001
19200
|
models: OmoModelCatalogLayerSchema.optional(),
|
|
19201
|
+
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
19202
|
+
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
19002
19203
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
19003
19204
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
19004
19205
|
"[codex]": OmoTypedHarnessConfigSchema.optional()
|
|
@@ -19011,6 +19212,8 @@ var init_config = __esm(() => {
|
|
|
19011
19212
|
task: OmoTaskSettingsSchema.optional(),
|
|
19012
19213
|
teams: OmoTeamsConfigSchema.optional(),
|
|
19013
19214
|
models: OmoModelCatalogSchema.optional(),
|
|
19215
|
+
memory: OmoMemorySettingsSchema.optional(),
|
|
19216
|
+
telemetry: OmoTelemetrySettingsSchema.optional(),
|
|
19014
19217
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
19015
19218
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
19016
19219
|
"[codex]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -19026,6 +19229,8 @@ var init_config = __esm(() => {
|
|
|
19026
19229
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
19027
19230
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
19028
19231
|
models: OmoModelCatalogLayerSchema.optional(),
|
|
19232
|
+
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
19233
|
+
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
19029
19234
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
19030
19235
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
19031
19236
|
"[codex]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -19043,10 +19248,12 @@ var init_schema = __esm(() => {
|
|
|
19043
19248
|
init_config();
|
|
19044
19249
|
init_fallback_models();
|
|
19045
19250
|
init_harness();
|
|
19251
|
+
init_memory();
|
|
19046
19252
|
init_model_catalog();
|
|
19047
19253
|
init_model_ref();
|
|
19048
19254
|
init_task();
|
|
19049
19255
|
init_team();
|
|
19256
|
+
init_telemetry();
|
|
19050
19257
|
});
|
|
19051
19258
|
|
|
19052
19259
|
// packages/omo-config-core/src/loader/merge.ts
|
|
@@ -19404,7 +19611,7 @@ var init_loader = __esm(() => {
|
|
|
19404
19611
|
agents: {},
|
|
19405
19612
|
categories: {},
|
|
19406
19613
|
codegraph: OmoCodegraphSettingsSchema.parse({}),
|
|
19407
|
-
task:
|
|
19614
|
+
task: resolveOmoTaskSettings({}),
|
|
19408
19615
|
teams: {}
|
|
19409
19616
|
};
|
|
19410
19617
|
});
|
|
@@ -19674,17 +19881,31 @@ var init_archive_entry_validator = () => {};
|
|
|
19674
19881
|
// packages/utils/src/ast-grep/sg-manifest.ts
|
|
19675
19882
|
var init_sg_manifest = () => {};
|
|
19676
19883
|
|
|
19884
|
+
// packages/utils/src/ast-grep/install-script.ts
|
|
19885
|
+
var init_install_script = () => {};
|
|
19886
|
+
|
|
19887
|
+
// packages/utils/src/ast-grep/types.ts
|
|
19888
|
+
var SG_PATH_ENV_KEY = "OMO_AST_GREP_SG_PATH";
|
|
19889
|
+
|
|
19890
|
+
// packages/utils/src/ast-grep/sg-candidates.ts
|
|
19891
|
+
var init_sg_candidates = () => {};
|
|
19892
|
+
|
|
19893
|
+
// packages/utils/src/ast-grep/sg-install-hints.ts
|
|
19894
|
+
var ENV_OVERRIDE_HINT;
|
|
19895
|
+
var init_sg_install_hints = __esm(() => {
|
|
19896
|
+
ENV_OVERRIDE_HINT = `Or point ${SG_PATH_ENV_KEY} at an existing ast-grep binary`;
|
|
19897
|
+
});
|
|
19898
|
+
|
|
19677
19899
|
// packages/utils/src/ast-grep/sg-provisioner.ts
|
|
19678
19900
|
var init_sg_provisioner = () => {};
|
|
19679
19901
|
|
|
19680
19902
|
// packages/utils/src/ast-grep/sg-resolver.ts
|
|
19681
19903
|
var init_sg_resolver = () => {};
|
|
19682
19904
|
|
|
19683
|
-
// packages/utils/src/ast-grep/install-script.ts
|
|
19684
|
-
var init_install_script = () => {};
|
|
19685
|
-
|
|
19686
19905
|
// packages/utils/src/ast-grep/index.ts
|
|
19687
19906
|
var init_ast_grep = __esm(() => {
|
|
19907
|
+
init_sg_candidates();
|
|
19908
|
+
init_sg_install_hints();
|
|
19688
19909
|
init_sg_manifest();
|
|
19689
19910
|
init_sg_provisioner();
|
|
19690
19911
|
init_sg_resolver();
|
|
@@ -20859,10 +21080,10 @@ var init_category_model_requirements = __esm(() => {
|
|
|
20859
21080
|
quick: {
|
|
20860
21081
|
fallbackChain: [
|
|
20861
21082
|
{ providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed" },
|
|
20862
|
-
{ providers: ["
|
|
21083
|
+
{ providers: ["openai-codex"], model: "gpt-5.6-luna-fast", variant: "low" },
|
|
20863
21084
|
{ providers: ["deepseek"], model: "deepseek-v4-flash", variant: "off" },
|
|
20864
21085
|
{
|
|
20865
|
-
providers: ["qwen-token-plan", "alibaba-token-plan", "bailian-coding-plan", "
|
|
21086
|
+
providers: ["qwen-token-plan", "alibaba-token-plan", "bailian-coding-plan", "vercel"],
|
|
20866
21087
|
model: "qwen3.6-flash",
|
|
20867
21088
|
variant: "low"
|
|
20868
21089
|
},
|
|
@@ -20878,6 +21099,11 @@ var init_category_model_requirements = __esm(() => {
|
|
|
20878
21099
|
},
|
|
20879
21100
|
"unspecified-low": {
|
|
20880
21101
|
fallbackChain: [
|
|
21102
|
+
{
|
|
21103
|
+
providers: ["xai", "github-copilot", "opencode", "vercel"],
|
|
21104
|
+
model: "grok-4.6",
|
|
21105
|
+
variant: "xhigh"
|
|
21106
|
+
},
|
|
20881
21107
|
{
|
|
20882
21108
|
providers: ["openai", "quotio-openai", "github-copilot", "opencode", "vercel"],
|
|
20883
21109
|
model: "gpt-5.6-terra",
|
|
@@ -21050,9 +21276,71 @@ function normalizeModelID(modelID) {
|
|
|
21050
21276
|
return modelID.replace(/\.(\d+)/g, "-$1");
|
|
21051
21277
|
}
|
|
21052
21278
|
|
|
21279
|
+
// packages/model-core/src/reasoning-level.ts
|
|
21280
|
+
function isReasoningLevelOrAuto(value) {
|
|
21281
|
+
return REASONING_LEVEL_OR_AUTO_SET2.has(value);
|
|
21282
|
+
}
|
|
21283
|
+
function splitReasoningSuffix2(model, options) {
|
|
21284
|
+
if (typeof model !== "string")
|
|
21285
|
+
return { base: "" };
|
|
21286
|
+
const trimmed = model.trim();
|
|
21287
|
+
if (!trimmed)
|
|
21288
|
+
return { base: "" };
|
|
21289
|
+
const separatorIndex = trimmed.lastIndexOf(":");
|
|
21290
|
+
if (separatorIndex === -1)
|
|
21291
|
+
return { base: trimmed };
|
|
21292
|
+
const base = trimmed.slice(0, separatorIndex).trim();
|
|
21293
|
+
const token = trimmed.slice(separatorIndex + 1).trim().toLowerCase();
|
|
21294
|
+
if (!base || !isReasoningLevelOrAuto(token))
|
|
21295
|
+
return { base: trimmed };
|
|
21296
|
+
if (token === "max" && !(options?.allowMaxSuffix ?? base.includes("/")))
|
|
21297
|
+
return { base: trimmed };
|
|
21298
|
+
return { base, level: token };
|
|
21299
|
+
}
|
|
21300
|
+
var REASONING_LEVELS2, REASONING_AUTO2 = "auto", REASONING_LEVEL_SET2, REASONING_LEVEL_OR_AUTO_SET2;
|
|
21301
|
+
var init_reasoning_level = __esm(() => {
|
|
21302
|
+
REASONING_LEVELS2 = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
21303
|
+
REASONING_LEVEL_SET2 = new Set(REASONING_LEVELS2);
|
|
21304
|
+
REASONING_LEVEL_OR_AUTO_SET2 = new Set([...REASONING_LEVELS2, REASONING_AUTO2]);
|
|
21305
|
+
});
|
|
21306
|
+
|
|
21307
|
+
// packages/model-core/src/model-string-parser.ts
|
|
21308
|
+
function parseVariantFromModelID(rawModelID, options) {
|
|
21309
|
+
if (typeof rawModelID !== "string") {
|
|
21310
|
+
return { modelID: "" };
|
|
21311
|
+
}
|
|
21312
|
+
const trimmedModelID = rawModelID.trim();
|
|
21313
|
+
if (!trimmedModelID) {
|
|
21314
|
+
return { modelID: "" };
|
|
21315
|
+
}
|
|
21316
|
+
const parenthesizedVariant = trimmedModelID.match(/^(.*)\(([^()]+)\)\s*$/);
|
|
21317
|
+
if (parenthesizedVariant) {
|
|
21318
|
+
const modelID = parenthesizedVariant[1]?.trim() ?? "";
|
|
21319
|
+
const variant = parenthesizedVariant[2]?.trim();
|
|
21320
|
+
return variant ? { modelID, variant } : { modelID };
|
|
21321
|
+
}
|
|
21322
|
+
const suffixedModel = splitReasoningSuffix2(trimmedModelID, options);
|
|
21323
|
+
if (suffixedModel.level) {
|
|
21324
|
+
return { modelID: suffixedModel.base, variant: suffixedModel.level };
|
|
21325
|
+
}
|
|
21326
|
+
const spaceVariant = trimmedModelID.match(/^(.*\S)\s+([a-z][a-z0-9_-]*)$/i);
|
|
21327
|
+
if (spaceVariant) {
|
|
21328
|
+
const modelID = spaceVariant[1]?.trim() ?? "";
|
|
21329
|
+
const variant = spaceVariant[2]?.trim().toLowerCase();
|
|
21330
|
+
if (variant) {
|
|
21331
|
+
return { modelID, variant };
|
|
21332
|
+
}
|
|
21333
|
+
}
|
|
21334
|
+
return { modelID: trimmedModelID };
|
|
21335
|
+
}
|
|
21336
|
+
var init_model_string_parser = __esm(() => {
|
|
21337
|
+
init_reasoning_level();
|
|
21338
|
+
});
|
|
21339
|
+
|
|
21053
21340
|
// packages/model-core/src/model-capability-heuristics.ts
|
|
21054
21341
|
function detectHeuristicModelFamily(modelID) {
|
|
21055
|
-
const
|
|
21342
|
+
const parsedModel = parseVariantFromModelID(modelID, { allowMaxSuffix: true });
|
|
21343
|
+
const normalizedModelID = normalizeModelID(parsedModel.modelID).toLowerCase();
|
|
21056
21344
|
for (const definition of HEURISTIC_MODEL_FAMILY_REGISTRY) {
|
|
21057
21345
|
if (definition.pattern?.test(normalizedModelID)) {
|
|
21058
21346
|
return definition;
|
|
@@ -21065,6 +21353,7 @@ function detectHeuristicModelFamily(modelID) {
|
|
|
21065
21353
|
}
|
|
21066
21354
|
var HEURISTIC_MODEL_FAMILY_REGISTRY;
|
|
21067
21355
|
var init_model_capability_heuristics = __esm(() => {
|
|
21356
|
+
init_model_string_parser();
|
|
21068
21357
|
HEURISTIC_MODEL_FAMILY_REGISTRY = [
|
|
21069
21358
|
{
|
|
21070
21359
|
family: "claude-opus",
|
|
@@ -21078,11 +21367,19 @@ var init_model_capability_heuristics = __esm(() => {
|
|
|
21078
21367
|
variants: ["low", "medium", "high"],
|
|
21079
21368
|
supportsThinking: true
|
|
21080
21369
|
},
|
|
21370
|
+
{
|
|
21371
|
+
family: "openai-deep-research",
|
|
21372
|
+
includes: ["o3-deep-research", "o4-mini-deep-research"],
|
|
21373
|
+
variants: ["low", "medium", "high"],
|
|
21374
|
+
reasoningEfforts: ["none", "minimal", "low", "medium", "high"],
|
|
21375
|
+
supportsTemperature: true
|
|
21376
|
+
},
|
|
21081
21377
|
{
|
|
21082
21378
|
family: "openai-reasoning",
|
|
21083
21379
|
pattern: /(?:^|\/)o\d(?:$|-)/,
|
|
21084
21380
|
variants: ["low", "medium", "high"],
|
|
21085
|
-
reasoningEfforts: ["none", "minimal", "low", "medium", "high"]
|
|
21381
|
+
reasoningEfforts: ["none", "minimal", "low", "medium", "high"],
|
|
21382
|
+
supportsTemperature: false
|
|
21086
21383
|
},
|
|
21087
21384
|
{
|
|
21088
21385
|
family: "gpt-5",
|
|
@@ -21126,7 +21423,13 @@ var init_model_capability_heuristics = __esm(() => {
|
|
|
21126
21423
|
{
|
|
21127
21424
|
family: "glm",
|
|
21128
21425
|
includes: ["glm"],
|
|
21129
|
-
variants: ["low", "medium", "high"]
|
|
21426
|
+
variants: ["low", "medium", "high", "max"],
|
|
21427
|
+
reasoningEfforts: ["high", "max"],
|
|
21428
|
+
reasoningEffortAliases: {
|
|
21429
|
+
low: "high",
|
|
21430
|
+
medium: "high",
|
|
21431
|
+
xhigh: "max"
|
|
21432
|
+
}
|
|
21130
21433
|
},
|
|
21131
21434
|
{
|
|
21132
21435
|
family: "minimax",
|
|
@@ -21161,14 +21464,6 @@ var init_model_capability_heuristics = __esm(() => {
|
|
|
21161
21464
|
// packages/model-core/src/model-capability-guardrails.ts
|
|
21162
21465
|
var init_model_capability_guardrails = () => {};
|
|
21163
21466
|
|
|
21164
|
-
// packages/model-core/src/reasoning-level.ts
|
|
21165
|
-
var REASONING_LEVELS2, REASONING_AUTO2 = "auto", REASONING_LEVEL_SET2, REASONING_LEVEL_OR_AUTO_SET2;
|
|
21166
|
-
var init_reasoning_level = __esm(() => {
|
|
21167
|
-
REASONING_LEVELS2 = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
|
|
21168
|
-
REASONING_LEVEL_SET2 = new Set(REASONING_LEVELS2);
|
|
21169
|
-
REASONING_LEVEL_OR_AUTO_SET2 = new Set([...REASONING_LEVELS2, REASONING_AUTO2]);
|
|
21170
|
-
});
|
|
21171
|
-
|
|
21172
21467
|
// packages/model-core/src/model-settings-compatibility.ts
|
|
21173
21468
|
var init_model_settings_compatibility = () => {};
|
|
21174
21469
|
|
|
@@ -21182,9 +21477,6 @@ function normalizeFallbackModels(models2) {
|
|
|
21182
21477
|
}
|
|
21183
21478
|
var init_model_resolver = () => {};
|
|
21184
21479
|
|
|
21185
|
-
// packages/model-core/src/model-string-parser.ts
|
|
21186
|
-
var init_model_string_parser = () => {};
|
|
21187
|
-
|
|
21188
21480
|
// packages/model-core/src/fallback-chain-from-models.ts
|
|
21189
21481
|
var init_fallback_chain_from_models = () => {};
|
|
21190
21482
|
|
|
@@ -21500,14 +21792,89 @@ function getProviderOverride(providerID, modelID) {
|
|
|
21500
21792
|
return;
|
|
21501
21793
|
return GITHUB_COPILOT_GPT5_MODEL.test(normalizeLookupModelID2(modelID)) ? GITHUB_COPILOT_GPT5_OVERRIDE : undefined;
|
|
21502
21794
|
}
|
|
21795
|
+
function stripSameProviderPrefix(providerID, modelID) {
|
|
21796
|
+
const prefix = `${providerID.trim()}/`;
|
|
21797
|
+
return prefix !== "/" && modelID.slice(0, prefix.length).toLowerCase() === prefix.toLowerCase() ? modelID.slice(prefix.length) : undefined;
|
|
21798
|
+
}
|
|
21799
|
+
function buildLookupCandidates(providerID, modelID) {
|
|
21800
|
+
const bareModelID = parseVariantFromModelID(modelID, { allowMaxSuffix: true }).modelID;
|
|
21801
|
+
const candidates = [
|
|
21802
|
+
modelID,
|
|
21803
|
+
stripSameProviderPrefix(providerID, modelID),
|
|
21804
|
+
bareModelID,
|
|
21805
|
+
stripSameProviderPrefix(providerID, bareModelID)
|
|
21806
|
+
];
|
|
21807
|
+
const uniqueCandidates = [];
|
|
21808
|
+
const seen = new Set;
|
|
21809
|
+
for (const candidate of candidates) {
|
|
21810
|
+
if (!candidate || seen.has(candidate))
|
|
21811
|
+
continue;
|
|
21812
|
+
seen.add(candidate);
|
|
21813
|
+
uniqueCandidates.push(candidate);
|
|
21814
|
+
}
|
|
21815
|
+
return uniqueCandidates;
|
|
21816
|
+
}
|
|
21817
|
+
function findProviderMetadata(providerCache, providerID, modelID) {
|
|
21818
|
+
if (!providerCache)
|
|
21819
|
+
return;
|
|
21820
|
+
for (const candidate of buildLookupCandidates(providerID, modelID)) {
|
|
21821
|
+
const match = providerCache.findProviderModelMetadata(providerID, candidate);
|
|
21822
|
+
if (match)
|
|
21823
|
+
return match;
|
|
21824
|
+
}
|
|
21825
|
+
return;
|
|
21826
|
+
}
|
|
21827
|
+
function findSnapshotEntry(snapshot, providerID, modelIDs) {
|
|
21828
|
+
if (!snapshot)
|
|
21829
|
+
return;
|
|
21830
|
+
const normalizedProviderID = providerID.trim();
|
|
21831
|
+
const providerSpecificCandidates = [];
|
|
21832
|
+
const generalCandidates = [];
|
|
21833
|
+
for (const modelID of modelIDs) {
|
|
21834
|
+
const strippedModelID = stripSameProviderPrefix(providerID, modelID);
|
|
21835
|
+
const unqualifiedModelID = strippedModelID ?? (modelID.includes("/") ? undefined : modelID);
|
|
21836
|
+
if (!unqualifiedModelID) {
|
|
21837
|
+
generalCandidates.push(...buildLookupCandidates(providerID, modelID));
|
|
21838
|
+
continue;
|
|
21839
|
+
}
|
|
21840
|
+
const bareModelID = parseVariantFromModelID(unqualifiedModelID, { allowMaxSuffix: true }).modelID;
|
|
21841
|
+
if (normalizedProviderID) {
|
|
21842
|
+
providerSpecificCandidates.push(`${normalizedProviderID}/${unqualifiedModelID}`, `${normalizedProviderID}/${bareModelID}`);
|
|
21843
|
+
}
|
|
21844
|
+
generalCandidates.push(unqualifiedModelID, bareModelID);
|
|
21845
|
+
}
|
|
21846
|
+
const seen = new Set;
|
|
21847
|
+
for (const candidate of [...providerSpecificCandidates, ...generalCandidates]) {
|
|
21848
|
+
if (seen.has(candidate))
|
|
21849
|
+
continue;
|
|
21850
|
+
seen.add(candidate);
|
|
21851
|
+
const entry = snapshot.models[candidate];
|
|
21852
|
+
if (entry)
|
|
21853
|
+
return entry;
|
|
21854
|
+
}
|
|
21855
|
+
return;
|
|
21856
|
+
}
|
|
21857
|
+
function resolveCapabilityModelAlias(modelID, providerID) {
|
|
21858
|
+
const direct = resolveModelIDAlias(modelID, providerID);
|
|
21859
|
+
if (direct.source !== "canonical")
|
|
21860
|
+
return direct;
|
|
21861
|
+
const bareModelID = parseVariantFromModelID(modelID, { allowMaxSuffix: true }).modelID;
|
|
21862
|
+
if (bareModelID === modelID)
|
|
21863
|
+
return direct;
|
|
21864
|
+
const bareAlias = resolveModelIDAlias(bareModelID, providerID);
|
|
21865
|
+
return bareAlias.source === "canonical" ? direct : { ...bareAlias, requestedModelID: modelID };
|
|
21866
|
+
}
|
|
21503
21867
|
function getModelCapabilities(input) {
|
|
21504
|
-
const canonicalization =
|
|
21868
|
+
const canonicalization = resolveCapabilityModelAlias(input.modelID, input.providerID);
|
|
21505
21869
|
const override = getOverride(input.modelID);
|
|
21506
21870
|
const providerOverride = getProviderOverride(input.providerID, canonicalization.canonicalModelID);
|
|
21507
|
-
const runtimeModel = readRuntimeModel(input.runtimeModel ?? input.providerCache
|
|
21871
|
+
const runtimeModel = readRuntimeModel(input.runtimeModel ?? findProviderMetadata(input.providerCache, input.providerID, input.modelID));
|
|
21508
21872
|
const runtimeSnapshot = input.runtimeSnapshot;
|
|
21509
21873
|
const bundledSnapshot = input.bundledSnapshot;
|
|
21510
|
-
const
|
|
21874
|
+
const snapshotModelIDs = canonicalization.source === "canonical" ? [input.modelID, canonicalization.canonicalModelID] : [canonicalization.canonicalModelID, input.modelID];
|
|
21875
|
+
const runtimeSnapshotEntry = findSnapshotEntry(runtimeSnapshot, input.providerID, snapshotModelIDs);
|
|
21876
|
+
const bundledSnapshotEntry = findSnapshotEntry(bundledSnapshot, input.providerID, snapshotModelIDs);
|
|
21877
|
+
const snapshotEntry = runtimeSnapshotEntry ?? bundledSnapshotEntry;
|
|
21511
21878
|
const heuristicFamily = detectHeuristicModelFamily(canonicalization.canonicalModelID);
|
|
21512
21879
|
const runtimeVariants = readRuntimeModelVariants(runtimeModel);
|
|
21513
21880
|
const runtimeReasoning = readRuntimeModelReasoningSupport(runtimeModel);
|
|
@@ -21517,7 +21884,7 @@ function getModelCapabilities(input) {
|
|
|
21517
21884
|
const runtimeMaxOutputTokens = readRuntimeModelLimitOutput(runtimeModel);
|
|
21518
21885
|
const runtimeToolCall = readRuntimeModelToolCallSupport(runtimeModel);
|
|
21519
21886
|
const runtimeModalities = readRuntimeModelModalities(runtimeModel);
|
|
21520
|
-
const snapshotSource =
|
|
21887
|
+
const snapshotSource = runtimeSnapshotEntry ? "runtime-snapshot" : bundledSnapshotEntry ? "bundled-snapshot" : "none";
|
|
21521
21888
|
const familySource = snapshotEntry?.family ? "snapshot" : heuristicFamily?.family ? "heuristic" : "none";
|
|
21522
21889
|
const variantsSource = runtimeVariants ? "runtime" : providerOverride?.variants ? "override" : override?.variants ? "override" : heuristicFamily?.variants ? "heuristic" : "none";
|
|
21523
21890
|
const reasoningEffortsSource = providerOverride?.reasoningEfforts ? "override" : override?.reasoningEfforts ? "override" : heuristicFamily?.reasoningEfforts ? "heuristic" : "none";
|
|
@@ -21566,6 +21933,7 @@ var MODEL_ID_OVERRIDES, GITHUB_COPILOT_GPT5_MODEL, GITHUB_COPILOT_GPT5_OVERRIDE;
|
|
|
21566
21933
|
var init_get_model_capabilities = __esm(() => {
|
|
21567
21934
|
init_model_capability_aliases();
|
|
21568
21935
|
init_model_capability_heuristics();
|
|
21936
|
+
init_model_string_parser();
|
|
21569
21937
|
MODEL_ID_OVERRIDES = {};
|
|
21570
21938
|
GITHUB_COPILOT_GPT5_MODEL = /(?:^|\/)gpt-5(?:[.-]|$)/;
|
|
21571
21939
|
GITHUB_COPILOT_GPT5_OVERRIDE = {
|
|
@@ -22169,7 +22537,7 @@ function recordFields(value, fields) {
|
|
|
22169
22537
|
}
|
|
22170
22538
|
function modelInput(view) {
|
|
22171
22539
|
const agents = isPlainRecord(view.agents) ? Object.fromEntries(Object.entries(view.agents).flatMap(([name, definition]) => {
|
|
22172
|
-
const fields = recordFields(definition, ["description", "prompt", "model", "variant", "reasoningEffort", "tools", "temperature", "disable"]);
|
|
22540
|
+
const fields = recordFields(definition, ["description", "prompt", "model", "models", "variant", "reasoningEffort", "tools", "temperature", "disable"]);
|
|
22173
22541
|
return fields === undefined ? [] : [[name, fields]];
|
|
22174
22542
|
})) : undefined;
|
|
22175
22543
|
const categories = isPlainRecord(view.categories) ? Object.fromEntries(Object.entries(view.categories).flatMap(([name, definition]) => {
|
|
@@ -22452,6 +22820,7 @@ var init_agent_overrides = __esm(() => {
|
|
|
22452
22820
|
init_permission();
|
|
22453
22821
|
AgentOverrideConfigSchema = exports_external.object({
|
|
22454
22822
|
model: exports_external.string().optional(),
|
|
22823
|
+
models: exports_external.array(exports_external.union([exports_external.string(), FallbackModelObjectSchema])).optional(),
|
|
22455
22824
|
fallback_models: FallbackModelsSchema.optional(),
|
|
22456
22825
|
reasoning: OmoReasoningSchema.optional(),
|
|
22457
22826
|
variant: exports_external.string().optional(),
|
|
@@ -23370,6 +23739,37 @@ function protectUserFields(config4, userConfig) {
|
|
|
23370
23739
|
}
|
|
23371
23740
|
};
|
|
23372
23741
|
}
|
|
23742
|
+
function materializeAgentModelChains(config4) {
|
|
23743
|
+
if (config4.agents === undefined)
|
|
23744
|
+
return config4;
|
|
23745
|
+
let changed = false;
|
|
23746
|
+
const agents = Object.fromEntries(Object.entries(config4.agents).map(([name, agent2]) => {
|
|
23747
|
+
if (agent2?.models === undefined)
|
|
23748
|
+
return [name, agent2];
|
|
23749
|
+
const [primary, ...fallbacks] = agent2.models;
|
|
23750
|
+
const {
|
|
23751
|
+
models: _models,
|
|
23752
|
+
model: _model,
|
|
23753
|
+
fallback_models: _fallbackModels,
|
|
23754
|
+
reasoning: _reasoning,
|
|
23755
|
+
variant: _variant,
|
|
23756
|
+
reasoningEffort: _reasoningEffort,
|
|
23757
|
+
temperature: _temperature,
|
|
23758
|
+
top_p: _topP,
|
|
23759
|
+
maxTokens: _maxTokens,
|
|
23760
|
+
thinking: _thinking,
|
|
23761
|
+
...rest
|
|
23762
|
+
} = agent2;
|
|
23763
|
+
const primarySettings = primary === undefined ? {} : typeof primary === "string" ? { model: primary } : primary;
|
|
23764
|
+
changed = true;
|
|
23765
|
+
return [name, {
|
|
23766
|
+
...rest,
|
|
23767
|
+
...primarySettings,
|
|
23768
|
+
fallback_models: fallbacks
|
|
23769
|
+
}];
|
|
23770
|
+
}));
|
|
23771
|
+
return changed ? { ...config4, agents } : config4;
|
|
23772
|
+
}
|
|
23373
23773
|
function migrateRalphLoopConfig(config4) {
|
|
23374
23774
|
const legacy = config4.ralph_loop;
|
|
23375
23775
|
if (legacy === undefined)
|
|
@@ -23397,7 +23797,7 @@ function validatePluginConfig(directory, environment2 = process.env) {
|
|
|
23397
23797
|
const firstFailingView = views.find((view) => view.messages.length > 0);
|
|
23398
23798
|
const firstView = views[0];
|
|
23399
23799
|
const userConfig = parseConfig(chain.protectedUserView);
|
|
23400
|
-
const config4 = applyDisabledProviders(protectUserFields(mergeViews(views), userConfig));
|
|
23800
|
+
const config4 = applyDisabledProviders(materializeAgentModelChains(protectUserFields(mergeViews(views), userConfig)));
|
|
23401
23801
|
return {
|
|
23402
23802
|
valid: messages.length === 0,
|
|
23403
23803
|
messages,
|
|
@@ -77570,6 +77970,47 @@ var init_model_capabilities_generated = __esm(() => {
|
|
|
77570
77970
|
input: 272000,
|
|
77571
77971
|
output: 128000
|
|
77572
77972
|
}
|
|
77973
|
+
},
|
|
77974
|
+
"grok-4.6": {
|
|
77975
|
+
id: "grok-4.6",
|
|
77976
|
+
family: "grok",
|
|
77977
|
+
reasoning: true,
|
|
77978
|
+
temperature: true,
|
|
77979
|
+
toolCall: true,
|
|
77980
|
+
modalities: {
|
|
77981
|
+
input: [
|
|
77982
|
+
"text",
|
|
77983
|
+
"image"
|
|
77984
|
+
],
|
|
77985
|
+
output: [
|
|
77986
|
+
"text"
|
|
77987
|
+
]
|
|
77988
|
+
},
|
|
77989
|
+
limit: {
|
|
77990
|
+
context: 500000,
|
|
77991
|
+
output: 500000
|
|
77992
|
+
}
|
|
77993
|
+
},
|
|
77994
|
+
"xai/grok-4.6": {
|
|
77995
|
+
id: "xai/grok-4.6",
|
|
77996
|
+
family: "grok",
|
|
77997
|
+
reasoning: true,
|
|
77998
|
+
temperature: true,
|
|
77999
|
+
toolCall: true,
|
|
78000
|
+
modalities: {
|
|
78001
|
+
input: [
|
|
78002
|
+
"text",
|
|
78003
|
+
"image",
|
|
78004
|
+
"pdf"
|
|
78005
|
+
],
|
|
78006
|
+
output: [
|
|
78007
|
+
"text"
|
|
78008
|
+
]
|
|
78009
|
+
},
|
|
78010
|
+
limit: {
|
|
78011
|
+
context: 500000,
|
|
78012
|
+
output: 500000
|
|
78013
|
+
}
|
|
77573
78014
|
}
|
|
77574
78015
|
}
|
|
77575
78016
|
};
|
|
@@ -78068,7 +78509,7 @@ This is NOT a default choice - it's for genuinely unclassifiable moderate-effort
|
|
|
78068
78509
|
</Category_Context>
|
|
78069
78510
|
|
|
78070
78511
|
<Caller_Warning>
|
|
78071
|
-
THIS CATEGORY USES
|
|
78512
|
+
THIS CATEGORY USES GROK 4.6 (xhigh).
|
|
78072
78513
|
|
|
78073
78514
|
**PROVIDE CLEAR STRUCTURE:**
|
|
78074
78515
|
1. MUST DO: Enumerate required actions explicitly
|
|
@@ -78100,7 +78541,7 @@ var init_openai_categories = __esm(() => {
|
|
|
78100
78541
|
},
|
|
78101
78542
|
{
|
|
78102
78543
|
name: "unspecified-low",
|
|
78103
|
-
config: { model: "
|
|
78544
|
+
config: { model: "xai/grok-4.6", variant: "xhigh" },
|
|
78104
78545
|
description: "Tasks that don't fit other categories, low effort required",
|
|
78105
78546
|
promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
|
|
78106
78547
|
}
|