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
|
@@ -4269,7 +4269,7 @@ function finalize(ctx, schema) {
|
|
|
4269
4269
|
result.$schema = "http://json-schema.org/draft-07/schema#";
|
|
4270
4270
|
} else if (ctx.target === "draft-04") {
|
|
4271
4271
|
result.$schema = "http://json-schema.org/draft-04/schema#";
|
|
4272
|
-
} else if (ctx.target === "openapi-3.0") {}
|
|
4272
|
+
} else if (ctx.target === "openapi-3.0") {}
|
|
4273
4273
|
if (ctx.external?.uri) {
|
|
4274
4274
|
const id = ctx.external.registry.get(schema)?.id;
|
|
4275
4275
|
if (!id)
|
|
@@ -4478,7 +4478,7 @@ var literalProcessor = (schema, ctx, json, _params) => {
|
|
|
4478
4478
|
if (val === undefined) {
|
|
4479
4479
|
if (ctx.unrepresentable === "throw") {
|
|
4480
4480
|
throw new Error("Literal `undefined` cannot be represented in JSON Schema");
|
|
4481
|
-
}
|
|
4481
|
+
}
|
|
4482
4482
|
} else if (typeof val === "bigint") {
|
|
4483
4483
|
if (ctx.unrepresentable === "throw") {
|
|
4484
4484
|
throw new Error("BigInt literals cannot be represented in JSON Schema");
|
|
@@ -5815,6 +5815,151 @@ var OmoCodegraphSettingsSchema = OmoCodegraphSettingsLayerSchema.extend({
|
|
|
5815
5815
|
telemetry: boolean2().default(false)
|
|
5816
5816
|
}).strict();
|
|
5817
5817
|
|
|
5818
|
+
// ../../../../omo-config-core/src/schema/memory.ts
|
|
5819
|
+
var OmoMemoryReflectionTriggerSchema = object({
|
|
5820
|
+
step_count: number2().int().nonnegative().default(25),
|
|
5821
|
+
on_compaction: boolean2().default(true)
|
|
5822
|
+
}).strict();
|
|
5823
|
+
var OmoMemoryReflectionSchema = object({
|
|
5824
|
+
enabled: boolean2().default(true),
|
|
5825
|
+
trigger: OmoMemoryReflectionTriggerSchema.default({ step_count: 25, on_compaction: true }),
|
|
5826
|
+
merge: _enum(["auto", "integration"]).default("auto"),
|
|
5827
|
+
category: string2().min(1).default("quick"),
|
|
5828
|
+
timeout_minutes: number2().int().positive().default(15),
|
|
5829
|
+
sandbox: _enum(["auto", "required", "off"]).default("auto")
|
|
5830
|
+
}).strict();
|
|
5831
|
+
var OmoMemorySyncSchema = object({
|
|
5832
|
+
remote: string2().min(1).optional(),
|
|
5833
|
+
enabled: boolean2().default(true)
|
|
5834
|
+
}).strict();
|
|
5835
|
+
var OmoMemorySearchSchema = object({
|
|
5836
|
+
enabled: boolean2().default(true)
|
|
5837
|
+
}).strict();
|
|
5838
|
+
var OmoMemoryNudgeSchema = object({
|
|
5839
|
+
enabled: boolean2().default(true),
|
|
5840
|
+
every_user_turns: number2().int().min(1).default(10)
|
|
5841
|
+
}).strict();
|
|
5842
|
+
var OmoMemoryFactsSchema = object({
|
|
5843
|
+
enabled: boolean2().default(true),
|
|
5844
|
+
debounce_settles: number2().int().min(1).default(4)
|
|
5845
|
+
}).strict();
|
|
5846
|
+
var OmoMemoryDreamSchema = object({
|
|
5847
|
+
enabled: boolean2().default(true),
|
|
5848
|
+
idle_minutes: number2().int().min(0).default(30),
|
|
5849
|
+
min_hours_between: number2().int().min(1).default(24),
|
|
5850
|
+
shutdown_launch: boolean2().default(true),
|
|
5851
|
+
auto_select_max: number2().int().min(1).max(10).default(5),
|
|
5852
|
+
auto_select_max_chars: number2().int().min(1e4).default(150000)
|
|
5853
|
+
}).strict();
|
|
5854
|
+
var OmoMemoryPeopleSchema = object({
|
|
5855
|
+
enabled: boolean2().default(true),
|
|
5856
|
+
max_entries: number2().int().min(1).max(100).default(40),
|
|
5857
|
+
max_entry_chars: number2().int().min(50).max(500).default(200)
|
|
5858
|
+
}).strict();
|
|
5859
|
+
var OmoMemorySoulSchema = object({
|
|
5860
|
+
edit_notice: boolean2().default(true)
|
|
5861
|
+
}).strict();
|
|
5862
|
+
var OmoMemoryReflectionTriggerLayerSchema = object({
|
|
5863
|
+
step_count: number2().int().nonnegative().optional(),
|
|
5864
|
+
on_compaction: boolean2().optional()
|
|
5865
|
+
}).strict();
|
|
5866
|
+
var OmoMemoryReflectionLayerSchema = object({
|
|
5867
|
+
enabled: boolean2().optional(),
|
|
5868
|
+
trigger: OmoMemoryReflectionTriggerLayerSchema.optional(),
|
|
5869
|
+
merge: _enum(["auto", "integration"]).optional(),
|
|
5870
|
+
category: string2().min(1).optional(),
|
|
5871
|
+
timeout_minutes: number2().int().positive().optional(),
|
|
5872
|
+
sandbox: _enum(["auto", "required", "off"]).optional()
|
|
5873
|
+
}).strict();
|
|
5874
|
+
var OmoMemorySyncLayerSchema = object({
|
|
5875
|
+
remote: string2().min(1).optional(),
|
|
5876
|
+
enabled: boolean2().optional()
|
|
5877
|
+
}).strict();
|
|
5878
|
+
var OmoMemorySearchLayerSchema = object({
|
|
5879
|
+
enabled: boolean2().optional()
|
|
5880
|
+
}).strict();
|
|
5881
|
+
var OmoMemoryNudgeLayerSchema = object({
|
|
5882
|
+
enabled: boolean2().optional(),
|
|
5883
|
+
every_user_turns: number2().int().min(1).optional()
|
|
5884
|
+
}).strict();
|
|
5885
|
+
var OmoMemoryFactsLayerSchema = object({
|
|
5886
|
+
enabled: boolean2().optional(),
|
|
5887
|
+
debounce_settles: number2().int().min(1).optional()
|
|
5888
|
+
}).strict();
|
|
5889
|
+
var OmoMemoryDreamLayerSchema = object({
|
|
5890
|
+
enabled: boolean2().optional(),
|
|
5891
|
+
idle_minutes: number2().int().min(0).optional(),
|
|
5892
|
+
min_hours_between: number2().int().min(1).optional(),
|
|
5893
|
+
shutdown_launch: boolean2().optional(),
|
|
5894
|
+
auto_select_max: number2().int().min(1).max(10).optional(),
|
|
5895
|
+
auto_select_max_chars: number2().int().min(1e4).optional()
|
|
5896
|
+
}).strict();
|
|
5897
|
+
var OmoMemoryPeopleLayerSchema = object({
|
|
5898
|
+
enabled: boolean2().optional(),
|
|
5899
|
+
max_entries: number2().int().min(1).max(100).optional(),
|
|
5900
|
+
max_entry_chars: number2().int().min(50).max(500).optional()
|
|
5901
|
+
}).strict();
|
|
5902
|
+
var OmoMemorySoulLayerSchema = object({
|
|
5903
|
+
edit_notice: boolean2().optional()
|
|
5904
|
+
}).strict();
|
|
5905
|
+
var OmoMemoryAgentOverridesSchema = object({
|
|
5906
|
+
enabled: boolean2().optional(),
|
|
5907
|
+
agent: string2().min(1).optional(),
|
|
5908
|
+
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
5909
|
+
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
5910
|
+
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
5911
|
+
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
5912
|
+
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
5913
|
+
soul: OmoMemorySoulLayerSchema.optional(),
|
|
5914
|
+
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5915
|
+
search: OmoMemorySearchLayerSchema.optional(),
|
|
5916
|
+
compile_warn_tokens: number2().int().positive().optional()
|
|
5917
|
+
}).strict();
|
|
5918
|
+
var OmoMemorySettingsSchema = object({
|
|
5919
|
+
enabled: boolean2().default(true),
|
|
5920
|
+
agent: string2().min(1).default("auto"),
|
|
5921
|
+
tool_exposure: _enum(["direct", "search"]).default("direct"),
|
|
5922
|
+
reflection: OmoMemoryReflectionSchema.default({
|
|
5923
|
+
enabled: true,
|
|
5924
|
+
trigger: { step_count: 25, on_compaction: true },
|
|
5925
|
+
merge: "auto",
|
|
5926
|
+
category: "quick",
|
|
5927
|
+
timeout_minutes: 15,
|
|
5928
|
+
sandbox: "auto"
|
|
5929
|
+
}),
|
|
5930
|
+
nudge: OmoMemoryNudgeSchema.default({ enabled: true, every_user_turns: 10 }),
|
|
5931
|
+
facts: OmoMemoryFactsSchema.default({ enabled: true, debounce_settles: 4 }),
|
|
5932
|
+
dream: OmoMemoryDreamSchema.default({
|
|
5933
|
+
enabled: true,
|
|
5934
|
+
idle_minutes: 30,
|
|
5935
|
+
min_hours_between: 24,
|
|
5936
|
+
shutdown_launch: true,
|
|
5937
|
+
auto_select_max: 5,
|
|
5938
|
+
auto_select_max_chars: 150000
|
|
5939
|
+
}),
|
|
5940
|
+
people: OmoMemoryPeopleSchema.default({ enabled: true, max_entries: 40, max_entry_chars: 200 }),
|
|
5941
|
+
soul: OmoMemorySoulSchema.default({ edit_notice: true }),
|
|
5942
|
+
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
5943
|
+
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
5944
|
+
compile_warn_tokens: number2().int().positive().default(30000),
|
|
5945
|
+
agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
|
|
5946
|
+
}).strict();
|
|
5947
|
+
var OmoMemorySettingsLayerSchema = object({
|
|
5948
|
+
enabled: boolean2().optional(),
|
|
5949
|
+
agent: string2().min(1).optional(),
|
|
5950
|
+
tool_exposure: _enum(["direct", "search"]).optional(),
|
|
5951
|
+
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
5952
|
+
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
5953
|
+
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
5954
|
+
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
5955
|
+
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
5956
|
+
soul: OmoMemorySoulLayerSchema.optional(),
|
|
5957
|
+
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5958
|
+
search: OmoMemorySearchLayerSchema.optional(),
|
|
5959
|
+
compile_warn_tokens: number2().int().positive().optional(),
|
|
5960
|
+
agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
|
|
5961
|
+
}).strict();
|
|
5962
|
+
|
|
5818
5963
|
// ../../../../omo-config-core/src/schema/model-catalog.ts
|
|
5819
5964
|
function isRecord4(value) {
|
|
5820
5965
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -5832,6 +5977,8 @@ var OmoModelCatalogEntryLayerSchema = preprocess((value) => isRecord4(value) ? n
|
|
|
5832
5977
|
var OmoModelCatalogLayerSchema = record(string2(), OmoModelCatalogEntryLayerSchema);
|
|
5833
5978
|
|
|
5834
5979
|
// ../../../../omo-config-core/src/schema/task.ts
|
|
5980
|
+
import { availableParallelism } from "node:os";
|
|
5981
|
+
var ResidencyMaxChildrenInputSchema = union([number2().int().positive(), literal("unlimited")]);
|
|
5835
5982
|
var OmoTaskWaitSchema = object({
|
|
5836
5983
|
min_ms: number2().int().positive().default(5000),
|
|
5837
5984
|
default_ms: number2().int().positive().default(60000),
|
|
@@ -5845,23 +5992,45 @@ var OmoTaskTeamSettingsSchema = object({
|
|
|
5845
5992
|
var OmoTaskWarningsSchema = object({
|
|
5846
5993
|
unavailable_categories: boolean2().default(true)
|
|
5847
5994
|
}).strict();
|
|
5995
|
+
var OmoTaskDagSettingsSchema = object({
|
|
5996
|
+
max_nodes_per_run: number2().int().positive().default(64),
|
|
5997
|
+
max_runs_per_session: number2().int().positive().default(16),
|
|
5998
|
+
subscriber_ring: number2().int().positive().default(1000),
|
|
5999
|
+
heartbeat_ms: number2().int().positive().default(15000),
|
|
6000
|
+
history_default_limit: number2().int().positive().default(256),
|
|
6001
|
+
history_max_limit: number2().int().positive().default(1000),
|
|
6002
|
+
retention_days: number2().int().positive().default(7),
|
|
6003
|
+
max_prompt_bytes: number2().int().positive().default(262144)
|
|
6004
|
+
}).strict();
|
|
5848
6005
|
var OmoTaskSettingsSchema = object({
|
|
5849
6006
|
default_execution_mode: _enum(["in-process", "process"]).default("in-process"),
|
|
5850
6007
|
default_concurrency: number2().int().positive().default(5),
|
|
5851
6008
|
provider_concurrency: record(string2(), number2().int().positive()).optional(),
|
|
5852
6009
|
model_concurrency: record(string2(), number2().int().positive()).optional(),
|
|
5853
6010
|
max_depth: number2().int().nonnegative().default(1),
|
|
5854
|
-
residency_max_children:
|
|
6011
|
+
residency_max_children: ResidencyMaxChildrenInputSchema.default(8),
|
|
5855
6012
|
ttl_ms: number2().int().positive().default(86400000),
|
|
5856
6013
|
state_dir: string2().optional(),
|
|
5857
6014
|
reattach_on_reconcile: boolean2().optional(),
|
|
6015
|
+
resume_children: boolean2().default(true),
|
|
5858
6016
|
warnings: OmoTaskWarningsSchema.default({ unavailable_categories: true }),
|
|
5859
6017
|
wait: OmoTaskWaitSchema.default({ min_ms: 5000, default_ms: 60000, max_ms: 600000 }),
|
|
5860
6018
|
team: OmoTaskTeamSettingsSchema.default({
|
|
5861
6019
|
max_members: 8,
|
|
5862
6020
|
max_parallel_members: 4,
|
|
5863
6021
|
max_wall_clock_minutes: 120
|
|
5864
|
-
})
|
|
6022
|
+
}),
|
|
6023
|
+
dag: OmoTaskDagSettingsSchema.optional()
|
|
6024
|
+
}).strict();
|
|
6025
|
+
var OmoTaskDagSettingsLayerSchema = object({
|
|
6026
|
+
max_nodes_per_run: number2().int().positive().optional(),
|
|
6027
|
+
max_runs_per_session: number2().int().positive().optional(),
|
|
6028
|
+
subscriber_ring: number2().int().positive().optional(),
|
|
6029
|
+
heartbeat_ms: number2().int().positive().optional(),
|
|
6030
|
+
history_default_limit: number2().int().positive().optional(),
|
|
6031
|
+
history_max_limit: number2().int().positive().optional(),
|
|
6032
|
+
retention_days: number2().int().positive().optional(),
|
|
6033
|
+
max_prompt_bytes: number2().int().positive().optional()
|
|
5865
6034
|
}).strict();
|
|
5866
6035
|
var OmoTaskWaitLayerSchema = object({
|
|
5867
6036
|
min_ms: number2().int().positive().optional(),
|
|
@@ -5882,14 +6051,23 @@ var OmoTaskSettingsLayerSchema = object({
|
|
|
5882
6051
|
provider_concurrency: record(string2(), number2().int().positive()).optional(),
|
|
5883
6052
|
model_concurrency: record(string2(), number2().int().positive()).optional(),
|
|
5884
6053
|
max_depth: number2().int().nonnegative().optional(),
|
|
5885
|
-
residency_max_children:
|
|
6054
|
+
residency_max_children: ResidencyMaxChildrenInputSchema.optional(),
|
|
5886
6055
|
ttl_ms: number2().int().positive().optional(),
|
|
5887
6056
|
state_dir: string2().optional(),
|
|
5888
6057
|
reattach_on_reconcile: boolean2().optional(),
|
|
6058
|
+
resume_children: boolean2().optional(),
|
|
5889
6059
|
warnings: OmoTaskWarningsLayerSchema.optional(),
|
|
5890
6060
|
wait: OmoTaskWaitLayerSchema.optional(),
|
|
5891
|
-
team: OmoTaskTeamSettingsLayerSchema.optional()
|
|
6061
|
+
team: OmoTaskTeamSettingsLayerSchema.optional(),
|
|
6062
|
+
dag: OmoTaskDagSettingsLayerSchema.optional()
|
|
5892
6063
|
}).strict();
|
|
6064
|
+
function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism) {
|
|
6065
|
+
const record2 = record(string2(), unknown()).parse(input);
|
|
6066
|
+
return OmoTaskSettingsSchema.parse({
|
|
6067
|
+
...record2,
|
|
6068
|
+
residency_max_children: record2["residency_max_children"] ?? Math.max(8, resolveParallelism() * 3)
|
|
6069
|
+
});
|
|
6070
|
+
}
|
|
5893
6071
|
|
|
5894
6072
|
// ../../../../omo-config-core/src/schema/team.ts
|
|
5895
6073
|
var OmoTeamMemberBaseSchema = object({
|
|
@@ -5938,6 +6116,15 @@ var OmoTeamSpecLayerSchema = OmoTeamSpecBaseSchema.partial();
|
|
|
5938
6116
|
var OmoTeamsConfigSchema = record(string2(), OmoTeamSpecSchema);
|
|
5939
6117
|
var OmoTeamsConfigLayerSchema = record(string2(), OmoTeamSpecLayerSchema);
|
|
5940
6118
|
|
|
6119
|
+
// ../../../../omo-config-core/src/schema/telemetry.ts
|
|
6120
|
+
var OmoTelemetrySettingsShape = {
|
|
6121
|
+
enabled: boolean2()
|
|
6122
|
+
};
|
|
6123
|
+
var OmoTelemetrySettingsLayerSchema = object(OmoTelemetrySettingsShape).partial().strict();
|
|
6124
|
+
var OmoTelemetrySettingsSchema = OmoTelemetrySettingsLayerSchema.extend({
|
|
6125
|
+
enabled: boolean2().default(true)
|
|
6126
|
+
}).strict();
|
|
6127
|
+
|
|
5941
6128
|
// ../../../../omo-config-core/src/schema/config.ts
|
|
5942
6129
|
var OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
5943
6130
|
var OmoTypedHarnessConfigSchema = object({
|
|
@@ -5946,7 +6133,9 @@ var OmoTypedHarnessConfigSchema = object({
|
|
|
5946
6133
|
codegraph: OmoCodegraphSettingsLayerSchema.optional(),
|
|
5947
6134
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
5948
6135
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
5949
|
-
models: OmoModelCatalogLayerSchema.optional()
|
|
6136
|
+
models: OmoModelCatalogLayerSchema.optional(),
|
|
6137
|
+
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
6138
|
+
telemetry: OmoTelemetrySettingsLayerSchema.optional()
|
|
5950
6139
|
}).strict();
|
|
5951
6140
|
var OmoConfigProfileSchema = object({
|
|
5952
6141
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
@@ -5955,6 +6144,8 @@ var OmoConfigProfileSchema = object({
|
|
|
5955
6144
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
5956
6145
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
5957
6146
|
models: OmoModelCatalogLayerSchema.optional(),
|
|
6147
|
+
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
6148
|
+
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
5958
6149
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
5959
6150
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
5960
6151
|
"[codex]": OmoTypedHarnessConfigSchema.optional()
|
|
@@ -5967,6 +6158,8 @@ var OmoConfigSchema = object({
|
|
|
5967
6158
|
task: OmoTaskSettingsSchema.optional(),
|
|
5968
6159
|
teams: OmoTeamsConfigSchema.optional(),
|
|
5969
6160
|
models: OmoModelCatalogSchema.optional(),
|
|
6161
|
+
memory: OmoMemorySettingsSchema.optional(),
|
|
6162
|
+
telemetry: OmoTelemetrySettingsSchema.optional(),
|
|
5970
6163
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
5971
6164
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
5972
6165
|
"[codex]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -5982,6 +6175,8 @@ var OmoConfigLayerSchema = object({
|
|
|
5982
6175
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
5983
6176
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
5984
6177
|
models: OmoModelCatalogLayerSchema.optional(),
|
|
6178
|
+
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
6179
|
+
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
5985
6180
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
5986
6181
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
5987
6182
|
"[codex]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -7565,7 +7760,7 @@ var DEFAULT_RAW_CONFIG = {
|
|
|
7565
7760
|
agents: {},
|
|
7566
7761
|
categories: {},
|
|
7567
7762
|
codegraph: OmoCodegraphSettingsSchema.parse({}),
|
|
7568
|
-
task:
|
|
7763
|
+
task: resolveOmoTaskSettings({}),
|
|
7569
7764
|
teams: {}
|
|
7570
7765
|
};
|
|
7571
7766
|
function stripResolutionControlKeys(config2) {
|
|
@@ -7906,6 +8101,21 @@ function isPlainObject3(value) {
|
|
|
7906
8101
|
return typeof value === "object" && value !== null && !Array.isArray(value) && Object.prototype.toString.call(value) === "[object Object]";
|
|
7907
8102
|
}
|
|
7908
8103
|
|
|
8104
|
+
// ../../../../omo-config-core/src/migration/backup-move.ts
|
|
8105
|
+
function isCrossDeviceError(error) {
|
|
8106
|
+
return error instanceof Error && Reflect.get(error, "code") === "EXDEV";
|
|
8107
|
+
}
|
|
8108
|
+
function moveMigrationBackup(fileSystem, sourcePath, backupPath) {
|
|
8109
|
+
try {
|
|
8110
|
+
fileSystem.renameSync(sourcePath, backupPath);
|
|
8111
|
+
} catch (error) {
|
|
8112
|
+
if (!isCrossDeviceError(error))
|
|
8113
|
+
throw error;
|
|
8114
|
+
fileSystem.copyFileSync(sourcePath, backupPath);
|
|
8115
|
+
fileSystem.unlinkSync(sourcePath);
|
|
8116
|
+
}
|
|
8117
|
+
}
|
|
8118
|
+
|
|
7909
8119
|
// ../../../../omo-config-core/src/migration/commit.ts
|
|
7910
8120
|
import { basename as basename3, dirname as dirname4, join as join9, resolve as resolve4 } from "node:path";
|
|
7911
8121
|
|
|
@@ -8418,7 +8628,7 @@ function resumeMigrationJournal(input) {
|
|
|
8418
8628
|
if (input.fileSystem.existsSync(move.to)) {
|
|
8419
8629
|
throw new MigrationTransactionError(`Migration backup path already exists: ${move.to}`);
|
|
8420
8630
|
}
|
|
8421
|
-
input.fileSystem
|
|
8631
|
+
moveMigrationBackup(input.fileSystem, move.from, move.to);
|
|
8422
8632
|
} else if (!input.fileSystem.existsSync(move.to)) {
|
|
8423
8633
|
throw new MigrationTransactionError(`Migration source and backup are both missing: ${move.from}`);
|
|
8424
8634
|
}
|
|
@@ -8540,7 +8750,7 @@ function executePlan(input) {
|
|
|
8540
8750
|
input.renewLock();
|
|
8541
8751
|
if (fileSystem.existsSync(move.to))
|
|
8542
8752
|
throw new MigrationTransactionError(`Migration backup path already exists: ${move.to}`);
|
|
8543
|
-
fileSystem
|
|
8753
|
+
moveMigrationBackup(fileSystem, move.from, move.to);
|
|
8544
8754
|
input.onBoundary?.("source-moved");
|
|
8545
8755
|
Object.assign(targetRecorded, { completedMoves: [...targetRecorded.completedMoves, move.from] });
|
|
8546
8756
|
writeMigrationJournal(targetRecorded, fileSystem, env, input.process, input.clock);
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
|
|
10
10
|
"timeout": 5,
|
|
11
|
-
"statusMessage": "(OmO
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.10) Recommending Git Bash MCP"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"type": "command",
|
|
21
21
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
22
22
|
"timeout": 5,
|
|
23
|
-
"statusMessage": "(OmO
|
|
23
|
+
"statusMessage": "(OmO 5.0.0-beta.10) Resetting Git Bash MCP Reminder"
|
|
24
24
|
}
|
|
25
25
|
]
|
|
26
26
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
|
|
10
10
|
"timeout": 10,
|
|
11
|
-
"statusMessage": "(OmO
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.10) Verifying LazyCodex Executor Evidence"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts
CHANGED
|
@@ -36,10 +36,8 @@ describe("lazycodex executor SubagentStop verifier", () => {
|
|
|
36
36
|
// then
|
|
37
37
|
const parsed = parseBlockOutput(output);
|
|
38
38
|
expect(parsed.decision).toBe("block");
|
|
39
|
-
expect(parsed.reason).toContain("너는 방금 작업을 완료했다고 보고했고, 그건 거짓말이다.");
|
|
40
39
|
expect(parsed.reason).toContain(".omo/evidence/");
|
|
41
40
|
expect(parsed.reason).toContain("EVIDENCE_RECORDED: <path>");
|
|
42
|
-
expect(parsed.reason).not.toContain("2번째");
|
|
43
41
|
});
|
|
44
42
|
|
|
45
43
|
it("#given a prior blocked stop #when lazycodex executor stops again #then escalates the attempt count", () => {
|
|
@@ -51,8 +49,9 @@ describe("lazycodex executor SubagentStop verifier", () => {
|
|
|
51
49
|
const output = runSubagentStopHook(createInput(cwd), nodeFileSystem);
|
|
52
50
|
|
|
53
51
|
// then
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
expect(parseBlockOutput(output).decision).toBe("block");
|
|
53
|
+
const statePath = join(cwd, ".omo", "lazycodex-executor-verify", "sess.1-agent_1.json");
|
|
54
|
+
expect(JSON.parse(readFileSync(statePath, "utf8"))).toEqual({ attempts: 2 });
|
|
56
55
|
});
|
|
57
56
|
|
|
58
57
|
it("#given turn_id is omitted #when lazycodex executor stops #then the hook still parses the payload", () => {
|
|
@@ -394,18 +393,5 @@ describe("tier worker receipt enforcement", () => {
|
|
|
394
393
|
expect(matcher.test("lazycodex-gate-reviewer")).toBe(false);
|
|
395
394
|
}
|
|
396
395
|
});
|
|
397
|
-
|
|
398
|
-
it("#given the tier worker TOMLs #when inspected #then each instructs the EVIDENCE_RECORDED receipt line", () => {
|
|
399
|
-
for (const tier of ["low", "medium", "high"]) {
|
|
400
|
-
// when
|
|
401
|
-
const toml = readFileSync(
|
|
402
|
-
new URL(`../../ultrawork/agents/lazycodex-worker-${tier}.toml`, import.meta.url),
|
|
403
|
-
"utf8",
|
|
404
|
-
);
|
|
405
|
-
|
|
406
|
-
// then
|
|
407
|
-
expect(toml).toContain("EVIDENCE_RECORDED: <path>");
|
|
408
|
-
}
|
|
409
|
-
});
|
|
410
396
|
});
|
|
411
397
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "
|
|
4
|
-
"inputDigest": "sha256:
|
|
3
|
+
"version": "5.0.0-beta.10",
|
|
4
|
+
"inputDigest": "sha256:5d8af4d49d78ea8b6e75e04e2bd3f1803b997dfcf0808dd40e1c72a5b1281455",
|
|
5
5
|
"outputs": [
|
|
6
6
|
{
|
|
7
7
|
"path": "cli.d.ts",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"path": "cli.js",
|
|
12
|
-
"sha256": "
|
|
12
|
+
"sha256": "8b31921f00d7333877fa0ba3b50e7318096656ad92249b285148c6fada11459d"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"path": "codex-hook-cli.d.ts",
|