oh-my-opencode 4.18.0 → 4.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/codex-qa/scripts/lsp-e2e.sh +3654 -0
- package/.agents/skills/opencode-qa/scripts/lsp-e2e.sh +3071 -0
- package/.agents/skills/work-with-pr/SKILL.md +16 -37
- package/.agents/skills/work-with-pr-workspace/evals/evals.json +3 -3
- package/.opencode/skills/work-with-pr/SKILL.md +16 -37
- package/.opencode/skills/work-with-pr-workspace/evals/evals.json +3 -3
- package/dist/cli/index.js +457 -154
- package/dist/cli-node/index.js +457 -154
- package/dist/index.js +415 -388
- package/package.json +16 -16
- package/packages/lsp-core/package.json +4 -0
- package/packages/lsp-core/src/index.ts +1 -0
- package/packages/lsp-core/src/lsp/cleanup-errors.test.ts +18 -0
- package/packages/lsp-core/src/lsp/cleanup-errors.ts +12 -3
- package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +261 -0
- package/packages/lsp-core/src/lsp/client-wrapper.test.ts +63 -0
- package/packages/lsp-core/src/lsp/client-wrapper.ts +35 -5
- package/packages/lsp-core/src/lsp/client.ts +262 -80
- package/packages/lsp-core/src/lsp/config-loader.ts +5 -17
- package/packages/lsp-core/src/lsp/connection.ts +12 -6
- package/packages/lsp-core/src/lsp/directory-diagnostics.test.ts +104 -0
- package/packages/lsp-core/src/lsp/directory-diagnostics.ts +60 -27
- package/packages/lsp-core/src/lsp/errors.ts +11 -0
- package/packages/lsp-core/src/lsp/fixtures/diagnostics-freshness-contract-probe.ts +283 -0
- package/packages/lsp-core/src/lsp/fixtures/workspace-edit-contract-probe.ts +196 -0
- package/packages/lsp-core/src/lsp/fixtures/workspace-edit-server.mjs +215 -0
- package/packages/lsp-core/src/lsp/formatters.ts +3 -0
- package/packages/lsp-core/src/lsp/json-rpc-connection-cancellation.test.ts +97 -0
- package/packages/lsp-core/src/lsp/json-rpc-connection.ts +73 -5
- package/packages/lsp-core/src/lsp/server-install-state.ts +3 -6
- package/packages/lsp-core/src/lsp/transport-protocol.ts +52 -0
- package/packages/lsp-core/src/lsp/transport.ts +96 -70
- package/packages/lsp-core/src/lsp/workspace-apply-edit-failure.ts +19 -0
- package/packages/lsp-core/src/lsp/workspace-apply-edit-lease.integration.test.ts +214 -0
- package/packages/lsp-core/src/lsp/workspace-apply-edit-sync.integration.test.ts +113 -0
- package/packages/lsp-core/src/lsp/workspace-apply-edit-test-support.ts +163 -0
- package/packages/lsp-core/src/lsp/workspace-apply-edit.integration.test.ts +163 -0
- package/packages/lsp-core/src/lsp/workspace-document-state.test.ts +67 -0
- package/packages/lsp-core/src/lsp/workspace-document-state.ts +368 -0
- package/packages/lsp-core/src/lsp/workspace-edit-adversarial.test.ts +113 -0
- package/packages/lsp-core/src/lsp/workspace-edit-commit.test.ts +140 -0
- package/packages/lsp-core/src/lsp/workspace-edit-commit.ts +220 -0
- package/packages/lsp-core/src/lsp/workspace-edit-contract-evidence.test.ts +56 -0
- package/packages/lsp-core/src/lsp/workspace-edit-contract-evidence.ts +30 -0
- package/packages/lsp-core/src/lsp/workspace-edit-fingerprint.ts +44 -0
- package/packages/lsp-core/src/lsp/workspace-edit-options.test.ts +147 -0
- package/packages/lsp-core/src/lsp/workspace-edit-parse-helpers.ts +59 -0
- package/packages/lsp-core/src/lsp/workspace-edit-parser.ts +130 -0
- package/packages/lsp-core/src/lsp/workspace-edit-path.ts +98 -0
- package/packages/lsp-core/src/lsp/workspace-edit-plan-types.ts +60 -0
- package/packages/lsp-core/src/lsp/workspace-edit-plan.ts +73 -0
- package/packages/lsp-core/src/lsp/workspace-edit-prevalidation.test.ts +174 -0
- package/packages/lsp-core/src/lsp/workspace-edit-resource-parser.ts +89 -0
- package/packages/lsp-core/src/lsp/workspace-edit-simulation.ts +183 -0
- package/packages/lsp-core/src/lsp/workspace-edit-snapshot.ts +53 -0
- package/packages/lsp-core/src/lsp/workspace-edit-text.ts +125 -0
- package/packages/lsp-core/src/lsp/workspace-edit-types.ts +121 -0
- package/packages/lsp-core/src/lsp/workspace-edit.characterization.test.ts +95 -0
- package/packages/lsp-core/src/lsp/workspace-edit.ts +49 -200
- package/packages/lsp-core/src/lsp/workspace-mutation-controller.ts +182 -0
- package/packages/lsp-core/src/mcp.ts +18 -7
- package/packages/lsp-core/src/missing-dependency-result.test.ts +105 -0
- package/packages/lsp-core/src/missing-dependency-result.ts +57 -0
- package/packages/lsp-core/src/post-edit/index.ts +1 -0
- package/packages/lsp-core/src/post-edit/orchestration.test.ts +157 -0
- package/packages/lsp-core/src/post-edit/orchestration.ts +178 -0
- package/packages/lsp-core/src/request-context.test.ts +171 -0
- package/packages/lsp-core/src/request-context.ts +222 -9
- package/packages/lsp-core/src/tool-surface.test.ts +4 -1
- package/packages/lsp-core/src/tools/diagnostics.ts +32 -13
- package/packages/lsp-core/src/tools/navigation.ts +12 -12
- package/packages/lsp-core/src/tools/rename.ts +10 -15
- package/packages/lsp-core/src/tools/symbols.ts +11 -11
- package/packages/lsp-core/src/tools/types.ts +2 -1
- package/packages/lsp-daemon/dist/cli.js +3114 -747
- package/packages/lsp-daemon/dist/client.d.ts +105 -0
- package/packages/lsp-daemon/dist/client.js +5851 -0
- package/packages/lsp-daemon/dist/daemon-client.d.ts +11 -6
- package/packages/lsp-daemon/dist/daemon-client.js +113 -30
- package/packages/lsp-daemon/dist/daemon-server.d.ts +1 -0
- package/packages/lsp-daemon/dist/daemon-server.js +40 -15
- package/packages/lsp-daemon/dist/ensure-daemon.d.ts +8 -7
- package/packages/lsp-daemon/dist/ensure-daemon.js +67 -44
- package/packages/lsp-daemon/dist/index.d.ts +2 -2
- package/packages/lsp-daemon/dist/index.js +2862 -754
- package/packages/lsp-daemon/dist/ipc-protocol.d.ts +46 -0
- package/packages/lsp-daemon/dist/ipc-protocol.js +187 -0
- package/packages/lsp-daemon/dist/lock.js +14 -4
- package/packages/lsp-daemon/dist/ownership.d.ts +49 -0
- package/packages/lsp-daemon/dist/ownership.js +168 -0
- package/packages/lsp-daemon/dist/paths.d.ts +33 -9
- package/packages/lsp-daemon/dist/paths.js +72 -33
- package/packages/lsp-daemon/dist/proxy.d.ts +3 -0
- package/packages/lsp-daemon/dist/proxy.js +54 -3
- package/packages/lsp-daemon/dist/request-routing.d.ts +7 -2
- package/packages/lsp-daemon/dist/request-routing.js +71 -22
- package/packages/lsp-daemon/dist/run-daemon.js +9 -2
- package/packages/lsp-daemon/dist/runtime-contract.d.ts +21 -0
- package/packages/lsp-daemon/dist/runtime-contract.js +58 -0
- package/packages/lsp-daemon/dist/socket-jsonrpc.js +6 -1
- package/packages/lsp-daemon/package.json +12 -3
- package/packages/lsp-tools-mcp/dist/cli.js +2115 -442
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +1741 -148
- package/packages/lsp-tools-mcp/dist/mcp.js +2127 -454
- package/packages/lsp-tools-mcp/dist/request-context.js +176 -6
- package/packages/lsp-tools-mcp/dist/tools.js +2118 -446
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +55 -0
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +2959 -944
- package/packages/omo-codex/plugin/components/lsp/dist/codex-hook-cli.js +0 -4
- package/packages/omo-codex/plugin/components/lsp/dist/codex-hook.d.ts +5 -2
- package/packages/omo-codex/plugin/components/lsp/dist/codex-hook.js +41 -62
- package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.d.ts +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.js +24 -15
- package/packages/omo-codex/plugin/components/lsp/dist/lsp-session-state.d.ts +3 -7
- package/packages/omo-codex/plugin/components/lsp/dist/lsp-session-state.js +23 -49
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +3 -2
- package/packages/omo-codex/plugin/components/lsp/scripts/build-lsp-daemon.mjs +31 -1
- package/packages/omo-codex/plugin/components/lsp/scripts/build-lsp-daemon.test.mjs +76 -0
- package/packages/omo-codex/plugin/components/lsp/scripts/build-runtime.mjs +201 -0
- package/packages/omo-codex/plugin/components/lsp/scripts/build-runtime.test.mjs +55 -0
- package/packages/omo-codex/plugin/components/lsp/src/codex-hook-cli.ts +0 -4
- package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +49 -71
- package/packages/omo-codex/plugin/components/lsp/src/daemon-cli-path.ts +26 -15
- package/packages/omo-codex/plugin/components/lsp/src/lsp-session-state.ts +26 -64
- package/packages/omo-codex/plugin/components/lsp/test/codex-hook-unavailable.test.ts +16 -17
- package/packages/omo-codex/plugin/components/lsp/test/codex-hook.test.ts +30 -4
- package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +19 -5
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-5.5.md +1 -1
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-5.6.md +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/start-work-continuation/directive.md +1 -1
- package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- 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/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- 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 +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +6 -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 +26 -14
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/build-bundled-mcp-runtimes.mjs +2 -3
- package/packages/omo-codex/plugin/scripts/build-components.mjs +13 -1
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +1 -1
- package/packages/omo-codex/plugin/skills/start-work/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +6 -5
- package/packages/omo-codex/plugin/test/aggregate-build.test.mjs +8 -0
- package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +128 -15
- package/packages/omo-codex/plugin/test/install-time-build-runtime.test.mjs +10 -0
- package/packages/omo-codex/plugin/test/lsp-prebuild-layouts.test.mjs +2 -0
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +1 -1
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +328 -63
package/dist/index.js
CHANGED
|
@@ -22498,6 +22498,9 @@ function classifyRuntimeFallbackError(error) {
|
|
|
22498
22498
|
if (errorName?.includes("messageabortederror") || errorName?.includes("aborterror")) {
|
|
22499
22499
|
return "abort";
|
|
22500
22500
|
}
|
|
22501
|
+
if (errorName === "contextoverflowerror") {
|
|
22502
|
+
return "context_overflow";
|
|
22503
|
+
}
|
|
22501
22504
|
if (errorName?.includes("ailoadapikeyerror") || errorName?.includes("loadapi") || /api.?key.?is.?missing/i.test(message) && /environment variable/i.test(message)) {
|
|
22502
22505
|
return "missing_api_key";
|
|
22503
22506
|
}
|
|
@@ -22516,7 +22519,7 @@ function isRuntimeFallbackRetryableError(error, retryOnErrors, options = {}) {
|
|
|
22516
22519
|
const statusCode = getRuntimeFallbackStatusCode(error, retryOnErrors);
|
|
22517
22520
|
const message = getRuntimeFallbackErrorMessage(error);
|
|
22518
22521
|
const errorType = classifyRuntimeFallbackError(error);
|
|
22519
|
-
if (errorType === "abort")
|
|
22522
|
+
if (errorType === "abort" || errorType === "context_overflow")
|
|
22520
22523
|
return false;
|
|
22521
22524
|
if (errorType === "missing_api_key" || errorType === "model_not_found" || errorType === "quota_exceeded") {
|
|
22522
22525
|
return true;
|
|
@@ -89670,7 +89673,7 @@ function getCachedVersion(options = {}) {
|
|
|
89670
89673
|
// package.json
|
|
89671
89674
|
var package_default = {
|
|
89672
89675
|
name: "oh-my-opencode",
|
|
89673
|
-
version: "4.18.
|
|
89676
|
+
version: "4.18.1",
|
|
89674
89677
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
89675
89678
|
main: "./dist/index.js",
|
|
89676
89679
|
types: "dist/index.d.ts",
|
|
@@ -89779,7 +89782,8 @@ var package_default = {
|
|
|
89779
89782
|
"build:codex-install": "bun run script/build-codex-install.ts",
|
|
89780
89783
|
"install:codex-dev": "bun run script/build-codex-install.ts && bun run script/install-codex-dev.ts",
|
|
89781
89784
|
"build:codex-plugin": "npm --prefix packages/omo-codex/plugin ci && bun run --cwd packages/omo-codex/plugin build",
|
|
89782
|
-
"build:senpi-plugin": "
|
|
89785
|
+
"build:senpi-plugin": "bun run build:lsp-daemon && bun run build:senpi-plugin:stage",
|
|
89786
|
+
"build:senpi-plugin:stage": "node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
|
|
89783
89787
|
"build:materialize-frontend": "node packages/omo-codex/plugin/scripts/materialize-shared-upstreams.mjs --strict",
|
|
89784
89788
|
"build:shared-skills-assets": "bun run build:materialize-frontend && rm -rf dist/skills && cp -R packages/shared-skills/skills dist/skills",
|
|
89785
89789
|
"build:lsp-tools-mcp": "npm --prefix packages/lsp-tools-mcp ci && npm --prefix packages/lsp-tools-mcp run build",
|
|
@@ -89801,7 +89805,7 @@ var package_default = {
|
|
|
89801
89805
|
"typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
|
|
89802
89806
|
test: "bun test",
|
|
89803
89807
|
"test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && npm --prefix packages/omo-codex/plugin/components/ulw-loop test && bun run --cwd packages/omo-codex/plugin build && npm --prefix packages/omo-codex/plugin/components/codegraph run typecheck && npm --prefix packages/omo-codex/plugin/components/codegraph test && node scripts/check-third-party-notices.mjs --ship && bun test packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
|
|
89804
|
-
"test:senpi": "
|
|
89808
|
+
"test:senpi": "bun run build:senpi-plugin && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && bun test packages/omo-senpi",
|
|
89805
89809
|
"test:windows-codex": "bun run test:codex",
|
|
89806
89810
|
"build:git-bash-mcp": "bun run --cwd packages/git-bash-mcp build"
|
|
89807
89811
|
},
|
|
@@ -89841,7 +89845,6 @@ var package_default = {
|
|
|
89841
89845
|
picocolors: "^1.1.1",
|
|
89842
89846
|
picomatch: "^4.0.4",
|
|
89843
89847
|
"posthog-node": "^5.34.3",
|
|
89844
|
-
"vscode-jsonrpc": "^8.2.1",
|
|
89845
89848
|
zod: "^4.4.3"
|
|
89846
89849
|
},
|
|
89847
89850
|
devDependencies: {
|
|
@@ -89882,18 +89885,18 @@ var package_default = {
|
|
|
89882
89885
|
typescript: "^6.0.3"
|
|
89883
89886
|
},
|
|
89884
89887
|
optionalDependencies: {
|
|
89885
|
-
"oh-my-opencode-darwin-arm64": "4.18.
|
|
89886
|
-
"oh-my-opencode-darwin-x64": "4.18.
|
|
89887
|
-
"oh-my-opencode-darwin-x64-baseline": "4.18.
|
|
89888
|
-
"oh-my-opencode-linux-arm64": "4.18.
|
|
89889
|
-
"oh-my-opencode-linux-arm64-musl": "4.18.
|
|
89890
|
-
"oh-my-opencode-linux-x64": "4.18.
|
|
89891
|
-
"oh-my-opencode-linux-x64-baseline": "4.18.
|
|
89892
|
-
"oh-my-opencode-linux-x64-musl": "4.18.
|
|
89893
|
-
"oh-my-opencode-linux-x64-musl-baseline": "4.18.
|
|
89894
|
-
"oh-my-opencode-windows-arm64": "4.18.
|
|
89895
|
-
"oh-my-opencode-windows-x64": "4.18.
|
|
89896
|
-
"oh-my-opencode-windows-x64-baseline": "4.18.
|
|
89888
|
+
"oh-my-opencode-darwin-arm64": "4.18.1",
|
|
89889
|
+
"oh-my-opencode-darwin-x64": "4.18.1",
|
|
89890
|
+
"oh-my-opencode-darwin-x64-baseline": "4.18.1",
|
|
89891
|
+
"oh-my-opencode-linux-arm64": "4.18.1",
|
|
89892
|
+
"oh-my-opencode-linux-arm64-musl": "4.18.1",
|
|
89893
|
+
"oh-my-opencode-linux-x64": "4.18.1",
|
|
89894
|
+
"oh-my-opencode-linux-x64-baseline": "4.18.1",
|
|
89895
|
+
"oh-my-opencode-linux-x64-musl": "4.18.1",
|
|
89896
|
+
"oh-my-opencode-linux-x64-musl-baseline": "4.18.1",
|
|
89897
|
+
"oh-my-opencode-windows-arm64": "4.18.1",
|
|
89898
|
+
"oh-my-opencode-windows-x64": "4.18.1",
|
|
89899
|
+
"oh-my-opencode-windows-x64-baseline": "4.18.1"
|
|
89897
89900
|
},
|
|
89898
89901
|
overrides: {
|
|
89899
89902
|
"@earendil-works/pi-agent-core": "0.80.3",
|
|
@@ -95627,8 +95630,8 @@ Before acting, survey the skills available in this system: scan their descriptio
|
|
|
95627
95630
|
**ALWAYS run both tracks in parallel:**
|
|
95628
95631
|
\`\`\`
|
|
95629
95632
|
// Fire background agents for deep exploration
|
|
95630
|
-
task(subagent_type="explore", load_skills=[], prompt="
|
|
95631
|
-
task(subagent_type="librarian", load_skills=[], prompt="
|
|
95633
|
+
task(subagent_type="explore", load_skills=[], prompt="CONTEXT: implementing [TASK]; gap: [KNOWLEDGE GAP]. GOAL: find [X] patterns in the codebase - file paths, implementation approach, conventions, module connections - to unblock [DOWNSTREAM DECISION]. Focus on production code in src/. STOP WHEN: the findings answer the gap or two search rounds add nothing new. EVIDENCE: file:line refs with one-line descriptions.", run_in_background=true)
|
|
95634
|
+
task(subagent_type="librarian", load_skills=[], prompt="CONTEXT: working with [TECHNOLOGY]; need [SPECIFIC INFO]. GOAL: official docs and production examples for [Y] - API reference, configuration, recommended patterns, pitfalls - to unblock [DECISION THIS INFORMS]. Skip tutorials. STOP WHEN: the cited sources answer [SPECIFIC INFO] or sources repeat. EVIDENCE: source links with the claim each supports.", run_in_background=true)
|
|
95632
95635
|
|
|
95633
95636
|
// WHILE THEY RUN - use direct tools for immediate context
|
|
95634
95637
|
grep(pattern="relevant_pattern", path="src/")
|
|
@@ -95647,7 +95650,7 @@ deep_context = background_output(task_id=...)
|
|
|
95647
95650
|
|
|
95648
95651
|
**Execute:**
|
|
95649
95652
|
- Surgical, minimal changes matching existing patterns
|
|
95650
|
-
- If delegating:
|
|
95653
|
+
- If delegating: every child prompt carries GOAL, STOP WHEN (the exact observable condition that ends its run \u2014 the child stops the moment it holds), and EVIDENCE (what it returns so you can verify, not trust) \u2014 plus exhaustive context. Judge the child by its returned EVIDENCE against its STOP WHEN, never by its self-report.
|
|
95651
95654
|
|
|
95652
95655
|
**Verify (per-scenario, not just "at the end"):**
|
|
95653
95656
|
- RED\u2192GREEN proof captured (test id + assertion msg in both states)
|
|
@@ -95666,7 +95669,7 @@ Define 3+ scenarios covering: **happy path**, **edge** (boundary / empty / malfo
|
|
|
95666
95669
|
- The real surface that proves it.
|
|
95667
95670
|
- The test file + test id (written test-first; see TDD).
|
|
95668
95671
|
|
|
95669
|
-
Scenarios are the contract. Done = every scenario PASSES with RED\u2192GREEN proof AND real-surface artifact captured.
|
|
95672
|
+
Scenarios are the contract. Done = every scenario PASSES with RED\u2192GREEN proof AND real-surface artifact captured. Then declare WHEN TO STOP for the whole run, in one line: "I'll stop right away when <the exact observable state that ends this run>" \u2014 its end state MUST be the full STOP GOAL from the Stop rules, never scenario completion alone. The Stop rules bind to this line \u2014 the moment it holds, you stop.
|
|
95670
95673
|
|
|
95671
95674
|
## TDD (MANDATORY on every production change)
|
|
95672
95675
|
|
|
@@ -95710,13 +95713,12 @@ Name the exact tool + exact invocation per scenario (literal \`curl\` / \`send-k
|
|
|
95710
95713
|
|
|
95711
95714
|
Trigger if user said "\uC5C4\uBC00"/"strictly"/"rigorously"/"properly review", or task touches 3+ files OR ran 20+ turns OR 30+ min, or it's a refactor/migration/perf/security change. Spawn a high-rigor reviewer via \`task\` with goal + scenarios + evidence + diff. A concern blocks only when it cites a success criterion the evidence fails \u2014 others are notes. Fix cited blockers, re-run only the affected QA, and re-submit the delta at most twice; an approval with only notes left counts as approval. If cited blockers remain after two re-reviews, surface them to the user before declaring done.
|
|
95712
95715
|
|
|
95713
|
-
##
|
|
95716
|
+
## STOP RULES
|
|
95714
95717
|
|
|
95715
|
-
|
|
95716
|
-
|
|
95717
|
-
2
|
|
95718
|
-
|
|
95719
|
-
4. Reviewer gate (if triggered) returned unconditional approval.
|
|
95718
|
+
- After each result, ask whether the user's core request can now be answered with useful evidence in hand. If yes, answer now \u2014 skip any remaining retrieval, ceremony, or verification that adds no evidence.
|
|
95719
|
+
- The STOP GOAL: every scenario PASSES with RED\u2192GREEN proof AND real-surface artifact captured; full suite green and \`lsp_diagnostics\` clean on changed files; QA teardown receipts recorded; no scope creep; and (if triggered) the reviewer gate approved unconditionally. Above ALL of that, the decisive test \u2014 outranking every other consideration \u2014 is: is the user's problem ACTUALLY SOLVED in observable behavior? If no, you are NOT done, whatever the checklist says. If yes, deliver the final message and STOP \u2014 no hesitation, no extra verification pass, no polish loop. Work past the stop goal is scope creep, not diligence.
|
|
95720
|
+
- After 2 identical failed attempts at one step, surface what was tried and ask the user before another retry.
|
|
95721
|
+
- After 2 parallel exploration waves yield no new useful facts, stop exploring and act.
|
|
95720
95722
|
|
|
95721
95723
|
**Deliver exactly what was asked. No more, no less.**
|
|
95722
95724
|
|
|
@@ -131031,11 +131033,7 @@ The fallback retry session is now created and can be inspected directly.
|
|
|
131031
131033
|
throw new Error(`Task has no sessionID: ${existingTask.id}`);
|
|
131032
131034
|
}
|
|
131033
131035
|
if (existingTask.status === "running") {
|
|
131034
|
-
|
|
131035
|
-
taskId: existingTask.id,
|
|
131036
|
-
sessionID: existingTask.sessionId
|
|
131037
|
-
});
|
|
131038
|
-
return existingTask;
|
|
131036
|
+
throw new Error(`Task ${existingTask.id} is currently running and cannot accept a continuation prompt. ` + "Wait for it to complete before resuming it with task_id.");
|
|
131039
131037
|
}
|
|
131040
131038
|
const resumeSnapshot = this.captureResumeTaskSnapshot(existingTask);
|
|
131041
131039
|
const completionTimer = this.completionTimers.get(existingTask.id);
|
|
@@ -150405,7 +150403,7 @@ ID contract: background task IDs (\`bg_...\`) use \`background_output(task_id="b
|
|
|
150405
150403
|
|
|
150406
150404
|
User instructions override these defaults; newer instructions override older ones. Safety and type-safety constraints never yield.
|
|
150407
150405
|
|
|
150408
|
-
Implement, don't propose. Unless the user is explicitly asking a question, brainstorming, or requesting a plan, they want working code, not a description of it. Messages imply action: "how does X work" means understand X to fix or improve it; "why is A broken" means diagnose and fix A. Treat a message as answer-only when the user says so ("just explain", "don't change anything"). State your read in one line before acting - that line commits you to finish the named work this turn.
|
|
150406
|
+
Implement, don't propose. Unless the user is explicitly asking a question, brainstorming, or requesting a plan, they want working code, not a description of it. Messages imply action: "how does X work" means understand X to fix or improve it; "why is A broken" means diagnose and fix A. Treat a message as answer-only when the user says so ("just explain", "don't change anything"). State your read in one line before acting - name the work and end with "I'll stop right away when <the exact, observable condition that ends this turn>". That line commits you to finish the named work this turn, and the stop condition you declared is BINDING - the instant it holds, stop (see Stop Rules).
|
|
150409
150407
|
|
|
150410
150408
|
Make the requested in-scope changes and run non-destructive validation without asking first. Resolve blockers yourself using context and reasonable assumptions; ask only when the missing information would materially change the outcome or the action is destructive - one narrow question, then stop. Never ask permission for obvious work.
|
|
150411
150409
|
|
|
@@ -150503,7 +150501,7 @@ AGENTS.md files carry directory-scoped conventions. Obey them for files in their
|
|
|
150503
150501
|
|
|
150504
150502
|
- Every \`task()\` call needs \`load_skills\` (an empty array \`[]\` is valid).
|
|
150505
150503
|
- Reuse continuation IDs (\`ses_...\`) for follow-ups via \`task(task_id="ses_...")\`; never pass background task IDs (\`bg_...\`) to \`task()\`. This preserves the sub-agent's full context and saves 70%+ of tokens.
|
|
150506
|
-
- Sub-agent prompts carry
|
|
150504
|
+
- Sub-agent prompts carry six fields - **CONTEXT** (task, modules, approach), **GOAL** (the one outcome that makes the child done), **STOP WHEN** (the exact, observable condition that ends its run; the child stops the moment it holds, exactly like your own intent line), **EVIDENCE** (what the child returns so you can SEE, not trust, that the condition held), **DOWNSTREAM** (how you will use the result), **REQUEST** (what to find, return format, what to skip). Fill GOAL, STOP WHEN, and EVIDENCE with outcomes and binding constraints, never mechanisms - name the behavior the child's work must achieve or distinguish, not a copy-ready assertion string, prompt fragment, or expected pass/assert count. Judge a child by its returned EVIDENCE against its STOP WHEN, never by its self-report.
|
|
150507
150505
|
|
|
150508
150506
|
**Background tasks.** Collect results via \`background_output(task_id="bg_...")\` after completion. Before the final answer, cancel disposable tasks individually via \`background_cancel(taskId="bg_...")\`; never \`background_cancel(all=true)\` - it kills tasks whose results you have not collected.
|
|
150509
150507
|
|
|
@@ -150527,11 +150525,11 @@ Done when ALL of:
|
|
|
150527
150525
|
- The artifact has been driven through its matching surface this turn (Manual QA Gate).
|
|
150528
150526
|
- The final message reports what you did, what you verified, what you could not verify (with the reason), and pre-existing issues you noticed but did not touch.
|
|
150529
150527
|
|
|
150530
|
-
When you think you are done: re-read the original request and your intent line,
|
|
150528
|
+
When you think you are done: re-read the original request and your intent line once, and confirm each criterion above against the evidence you already captured - do not open a fresh validation pass to manufacture it.
|
|
150531
150529
|
|
|
150532
150530
|
# Stop Rules
|
|
150533
150531
|
|
|
150534
|
-
Write the final message and stop only when Success Criteria are all true. Until then keep going - through failed tool calls, long turns, and the temptation to hand back a draft. Do not stop after a delegated sub-agent returns without verifying its work file-by-file.
|
|
150532
|
+
Write the final message and stop only when Success Criteria are all true. Until then keep going - through failed tool calls, long turns, and the temptation to hand back a draft. Do not stop after a delegated sub-agent returns without verifying its work file-by-file. The moment Success Criteria hold and the stop condition from your intent line is met, deliver the final message and STOP - stopping is mandatory and immediate, not a judgment call. No extra validation loop, no re-polish, no bonus refactor, no drive-by cleanup; every action past the stop goal is a defect, not diligence.
|
|
150535
150533
|
|
|
150536
150534
|
**Hard invariants** - non-negotiable, regardless of pressure to ship:
|
|
150537
150535
|
|
|
@@ -153763,9 +153761,10 @@ function createCodegraphMcpConfig(options = {}) {
|
|
|
153763
153761
|
}
|
|
153764
153762
|
|
|
153765
153763
|
// packages/omo-opencode/src/mcp/lsp.ts
|
|
153766
|
-
import { existsSync as existsSync113 } from "fs";
|
|
153764
|
+
import { existsSync as existsSync113, readFileSync as readFileSync78 } from "fs";
|
|
153767
153765
|
import { delimiter as delimiter2, dirname as dirname45, resolve as resolve39 } from "path";
|
|
153768
153766
|
import { fileURLToPath as fileURLToPath8 } from "url";
|
|
153767
|
+
import { z as z11 } from "zod";
|
|
153769
153768
|
|
|
153770
153769
|
// packages/omo-opencode/src/mcp/cli-suffix.ts
|
|
153771
153770
|
function normalizeCliPath(path22) {
|
|
@@ -153828,8 +153827,15 @@ var LSP_TOOLS_PACKAGE_REL = "packages/lsp-tools-mcp";
|
|
|
153828
153827
|
var DIST_CLI_REL = "dist/cli.js";
|
|
153829
153828
|
var SOURCE_CLI_REL = "src/cli.ts";
|
|
153830
153829
|
var PROJECT_LSP_CONFIGS = [".opencode/lsp.json", ".omo/lsp.json", ".omo/lsp-client.json"];
|
|
153830
|
+
var DAEMON_PACKAGE_NAME = "@code-yeongyu/lsp-daemon";
|
|
153831
|
+
var OMO_LSP_DAEMON_CLI = "OMO_LSP_DAEMON_CLI";
|
|
153832
|
+
var OMO_LSP_DAEMON_VERSION = "OMO_LSP_DAEMON_VERSION";
|
|
153833
|
+
var DaemonPackageSchema = z11.object({
|
|
153834
|
+
version: z11.string().min(1)
|
|
153835
|
+
});
|
|
153831
153836
|
var LSP_BOOTSTRAP_SCRIPT = [
|
|
153832
153837
|
"const { existsSync } = require('node:fs')",
|
|
153838
|
+
"const { createRequire } = require('node:module')",
|
|
153833
153839
|
"const { join } = require('node:path')",
|
|
153834
153840
|
"const { spawnSync } = require('node:child_process')",
|
|
153835
153841
|
"const root = process.argv[1]",
|
|
@@ -153838,16 +153844,18 @@ var LSP_BOOTSTRAP_SCRIPT = [
|
|
|
153838
153844
|
`const toolsPackage = join(root, '${LSP_TOOLS_PACKAGE_REL}')`,
|
|
153839
153845
|
`const daemonPackage = join(root, '${PACKAGE_REL}')`,
|
|
153840
153846
|
"const toolsDist = join(toolsPackage, 'dist/cli.js')",
|
|
153841
|
-
"const
|
|
153847
|
+
"const daemonPackageJson = join(daemonPackage, 'package.json')",
|
|
153842
153848
|
"const daemonSource = join(daemonPackage, 'src/cli.ts')",
|
|
153843
153849
|
"const run = (command, args, stdio) => spawnSync(command, args, { cwd: root, env: process.env, stdio })",
|
|
153844
153850
|
"const finish = (result) => { if (result.error) { console.error(result.error.message); process.exit(1) } process.exit(result.status ?? 1) }",
|
|
153845
153851
|
"const runIfAvailable = (command, args) => { const result = run(command, args, 'inherit'); if (result.error) return false; finish(result); return true }",
|
|
153846
|
-
|
|
153847
|
-
"
|
|
153852
|
+
`const resolveDaemonCli = () => { try { return createRequire(daemonPackageJson).resolve('${DAEMON_PACKAGE_NAME}/cli') } catch (error) { if (error instanceof Error) return null; throw error } }`,
|
|
153853
|
+
"const daemonCli = existsSync(daemonPackageJson) ? resolveDaemonCli() : null",
|
|
153854
|
+
"if (daemonCli) finish(run(process.execPath, [daemonCli, 'mcp'], 'inherit'))",
|
|
153855
|
+
`if (existsSync(daemonSource) && existsSync(toolsDist)) { const pkg = require(daemonPackageJson); process.env.${OMO_LSP_DAEMON_CLI} = daemonSource; process.env.${OMO_LSP_DAEMON_VERSION} = pkg.version; runIfAvailable(bun, [daemonSource, 'mcp']) }`,
|
|
153848
153856
|
"const steps = [[npm, ['--prefix', toolsPackage, 'install', '--no-package-lock', '--no-audit', '--no-fund']], [npm, ['--prefix', toolsPackage, 'run', 'build']], [npm, ['--prefix', daemonPackage, 'install', '--no-package-lock', '--no-audit', '--no-fund']], [npm, ['--prefix', daemonPackage, 'run', 'build']]]",
|
|
153849
153857
|
"for (const [command, args] of steps) { const result = run(command, args, ['ignore', 'ignore', 'inherit']); if (result.error || result.status !== 0) finish(result) }",
|
|
153850
|
-
"finish(run(process.execPath, [
|
|
153858
|
+
"finish(run(process.execPath, [resolveDaemonCli(), 'mcp'], 'inherit'))"
|
|
153851
153859
|
].join(";");
|
|
153852
153860
|
function getModuleDirectory(moduleUrl) {
|
|
153853
153861
|
try {
|
|
@@ -153861,6 +153869,16 @@ function getModuleDirectory(moduleUrl) {
|
|
|
153861
153869
|
function findBootstrapRoot(candidates, pathExists) {
|
|
153862
153870
|
return candidates.find((candidate) => pathExists(resolve39(candidate.root, "package.json")))?.root ?? process.cwd();
|
|
153863
153871
|
}
|
|
153872
|
+
function readDaemonPackageVersion(root) {
|
|
153873
|
+
try {
|
|
153874
|
+
const packageJson = JSON.parse(readFileSync78(resolve39(root, PACKAGE_REL, "package.json"), "utf-8"));
|
|
153875
|
+
return DaemonPackageSchema.parse(packageJson).version;
|
|
153876
|
+
} catch (error) {
|
|
153877
|
+
if (!(error instanceof Error))
|
|
153878
|
+
throw error;
|
|
153879
|
+
return null;
|
|
153880
|
+
}
|
|
153881
|
+
}
|
|
153864
153882
|
function createBootstrapCandidate(root, pathExists, resolveExecutable) {
|
|
153865
153883
|
const runtime7 = resolveJavaScriptRuntime(resolveExecutable);
|
|
153866
153884
|
const bun = resolveExecutable("bun");
|
|
@@ -153885,7 +153903,7 @@ function resolveLspCommand(options = {}) {
|
|
|
153885
153903
|
sourceCliRel: SOURCE_CLI_REL,
|
|
153886
153904
|
pathExists,
|
|
153887
153905
|
resolveExecutable,
|
|
153888
|
-
isSourceCandidateAvailable: ({ root }) => pathExists(resolve39(root, LSP_TOOLS_PACKAGE_REL, DIST_CLI_REL))
|
|
153906
|
+
isSourceCandidateAvailable: ({ root }) => pathExists(resolve39(root, LSP_TOOLS_PACKAGE_REL, DIST_CLI_REL)) && readDaemonPackageVersion(root) !== null
|
|
153889
153907
|
}) : [];
|
|
153890
153908
|
const distCandidate = candidates.find((candidate) => hasCliSuffix(candidate.path, DIST_CLI_REL) && candidate.exists);
|
|
153891
153909
|
if (distCandidate) {
|
|
@@ -153899,20 +153917,29 @@ function resolveLspCommand(options = {}) {
|
|
|
153899
153917
|
}
|
|
153900
153918
|
function createLspMcpConfig(options = {}) {
|
|
153901
153919
|
const resolvedCommand = resolveLspCommand(options);
|
|
153920
|
+
const cwd = resolve39(options.cwd ?? process.cwd());
|
|
153921
|
+
const configDir = getOpenCodeConfigDir({ binary: "opencode" });
|
|
153922
|
+
const sourceVersion = hasCliSuffix(resolvedCommand.path, SOURCE_CLI_REL) ? readDaemonPackageVersion(resolvedCommand.root) : null;
|
|
153902
153923
|
return {
|
|
153903
153924
|
type: "local",
|
|
153904
153925
|
command: resolvedCommand.command,
|
|
153905
153926
|
enabled: resolvedCommand.exists,
|
|
153906
153927
|
environment: {
|
|
153907
|
-
LSP_TOOLS_MCP_PROJECT_CONFIG: PROJECT_LSP_CONFIGS.join(delimiter2)
|
|
153928
|
+
LSP_TOOLS_MCP_PROJECT_CONFIG: PROJECT_LSP_CONFIGS.map((configPath) => resolve39(cwd, configPath)).join(delimiter2),
|
|
153929
|
+
LSP_TOOLS_MCP_USER_CONFIG: resolve39(configDir, "lsp.json"),
|
|
153930
|
+
LSP_TOOLS_MCP_INSTALL_DECISIONS: resolve39(configDir, "lsp-install-decisions.json"),
|
|
153931
|
+
...sourceVersion ? {
|
|
153932
|
+
[OMO_LSP_DAEMON_CLI]: resolvedCommand.path,
|
|
153933
|
+
[OMO_LSP_DAEMON_VERSION]: sourceVersion
|
|
153934
|
+
} : {}
|
|
153908
153935
|
}
|
|
153909
153936
|
};
|
|
153910
153937
|
}
|
|
153911
153938
|
|
|
153912
153939
|
// packages/omo-opencode/src/mcp/types.ts
|
|
153913
|
-
import { z as
|
|
153914
|
-
var McpNameSchema =
|
|
153915
|
-
var AnyMcpNameSchema =
|
|
153940
|
+
import { z as z12 } from "zod";
|
|
153941
|
+
var McpNameSchema = z12.enum(["websearch", "context7", "grep_app", "lsp", "codegraph"]);
|
|
153942
|
+
var AnyMcpNameSchema = z12.string().min(1);
|
|
153916
153943
|
|
|
153917
153944
|
// packages/omo-opencode/src/mcp/index.ts
|
|
153918
153945
|
function createBuiltinMcps(disabledMcps = [], config, options = {}) {
|
|
@@ -157989,14 +158016,14 @@ class OpencodeClient2 extends HeyApiClient {
|
|
|
157989
158016
|
// node_modules/.bun/@opencode-ai+sdk@1.15.13/node_modules/@opencode-ai/sdk/dist/v2/server.js
|
|
157990
158017
|
var import_cross_spawn3 = __toESM(require_cross_spawn(), 1);
|
|
157991
158018
|
// packages/omo-opencode/src/plugin/native-skills.ts
|
|
157992
|
-
import { z as
|
|
157993
|
-
var NativeSkillEntrySchema =
|
|
157994
|
-
name:
|
|
157995
|
-
description:
|
|
157996
|
-
location:
|
|
157997
|
-
content:
|
|
158019
|
+
import { z as z13 } from "zod";
|
|
158020
|
+
var NativeSkillEntrySchema = z13.object({
|
|
158021
|
+
name: z13.string(),
|
|
158022
|
+
description: z13.string().default(""),
|
|
158023
|
+
location: z13.string(),
|
|
158024
|
+
content: z13.string()
|
|
157998
158025
|
});
|
|
157999
|
-
var NativeSkillEntriesSchema =
|
|
158026
|
+
var NativeSkillEntriesSchema = z13.array(NativeSkillEntrySchema);
|
|
158000
158027
|
function getObjectProperty(value, property) {
|
|
158001
158028
|
if (typeof value !== "object" || value === null)
|
|
158002
158029
|
return;
|
|
@@ -159134,7 +159161,7 @@ async function resolveParticipant2(teamRunId, sessionID, config, deps) {
|
|
|
159134
159161
|
}
|
|
159135
159162
|
|
|
159136
159163
|
// packages/omo-opencode/src/features/team-mode/tools/lifecycle-inline-spec.ts
|
|
159137
|
-
import { z as
|
|
159164
|
+
import { z as z14 } from "zod";
|
|
159138
159165
|
init_types2();
|
|
159139
159166
|
var TEAM_CREATE_USAGE = 'team_create requires exactly one of teamName or inline_spec. Use team_create({ teamName: "existing-team" }) or team_create({ inline_spec: { name: "team-name", members: [{ name: "worker", category: "quick", prompt: "Do the assigned work." }] } }).';
|
|
159140
159167
|
function omitEmptyStringArgs(rawArgs) {
|
|
@@ -159143,10 +159170,10 @@ function omitEmptyStringArgs(rawArgs) {
|
|
|
159143
159170
|
}
|
|
159144
159171
|
return Object.fromEntries(Object.entries(rawArgs).filter(([, value]) => value !== ""));
|
|
159145
159172
|
}
|
|
159146
|
-
var TeamCreateArgsSchema =
|
|
159147
|
-
teamName:
|
|
159148
|
-
inline_spec:
|
|
159149
|
-
leadSessionId:
|
|
159173
|
+
var TeamCreateArgsSchema = z14.preprocess(omitEmptyStringArgs, z14.object({
|
|
159174
|
+
teamName: z14.string().min(1).nullish(),
|
|
159175
|
+
inline_spec: z14.unknown().nullish(),
|
|
159176
|
+
leadSessionId: z14.string().nullish()
|
|
159150
159177
|
}).superRefine((value, ctx) => {
|
|
159151
159178
|
const optionCount = Number(value.teamName != null) + Number(value.inline_spec != null);
|
|
159152
159179
|
if (optionCount !== 1) {
|
|
@@ -159267,7 +159294,7 @@ function createTeamCreateTool(config, client5, bgMgr, tmuxMgr, executorConfig, d
|
|
|
159267
159294
|
});
|
|
159268
159295
|
}
|
|
159269
159296
|
// packages/omo-opencode/src/features/team-mode/tools/lifecycle-shutdown-tools.ts
|
|
159270
|
-
import { z as
|
|
159297
|
+
import { z as z15 } from "zod";
|
|
159271
159298
|
// packages/omo-opencode/src/features/team-mode/team-runtime/shutdown.ts
|
|
159272
159299
|
init_store3();
|
|
159273
159300
|
init_shutdown_helpers();
|
|
@@ -159356,13 +159383,13 @@ async function rejectShutdown(teamRunId, memberName, rejectorName, reason, confi
|
|
|
159356
159383
|
|
|
159357
159384
|
// packages/omo-opencode/src/features/team-mode/tools/lifecycle-shutdown-tools.ts
|
|
159358
159385
|
init_store2();
|
|
159359
|
-
var TeamDeleteArgsSchema =
|
|
159360
|
-
var TeamShutdownRequestArgsSchema =
|
|
159361
|
-
var TeamApproveShutdownArgsSchema =
|
|
159362
|
-
var TeamRejectShutdownArgsSchema =
|
|
159363
|
-
teamRunId:
|
|
159364
|
-
memberName:
|
|
159365
|
-
reason:
|
|
159386
|
+
var TeamDeleteArgsSchema = z15.object({ teamRunId: z15.string().min(1), force: z15.boolean().optional() });
|
|
159387
|
+
var TeamShutdownRequestArgsSchema = z15.object({ teamRunId: z15.string().min(1), targetMemberName: z15.string().min(1) });
|
|
159388
|
+
var TeamApproveShutdownArgsSchema = z15.object({ teamRunId: z15.string().min(1), memberName: z15.string().min(1) });
|
|
159389
|
+
var TeamRejectShutdownArgsSchema = z15.object({
|
|
159390
|
+
teamRunId: z15.string().min(1),
|
|
159391
|
+
memberName: z15.string().min(1),
|
|
159392
|
+
reason: z15.string().min(1)
|
|
159366
159393
|
});
|
|
159367
159394
|
var defaultTeamShutdownToolDeps = {
|
|
159368
159395
|
listActiveTeams,
|
|
@@ -163039,8 +163066,8 @@ import { homedir as homedir35 } from "os";
|
|
|
163039
163066
|
import * as path27 from "path";
|
|
163040
163067
|
|
|
163041
163068
|
// packages/omo-opencode/src/config/schema/agent-names.ts
|
|
163042
|
-
import { z as
|
|
163043
|
-
var BuiltinAgentNameSchema =
|
|
163069
|
+
import { z as z16 } from "zod";
|
|
163070
|
+
var BuiltinAgentNameSchema = z16.enum([
|
|
163044
163071
|
"sisyphus",
|
|
163045
163072
|
"hephaestus",
|
|
163046
163073
|
"prometheus",
|
|
@@ -163053,7 +163080,7 @@ var BuiltinAgentNameSchema = z15.enum([
|
|
|
163053
163080
|
"atlas",
|
|
163054
163081
|
"sisyphus-junior"
|
|
163055
163082
|
]);
|
|
163056
|
-
var BuiltinSkillNameSchema =
|
|
163083
|
+
var BuiltinSkillNameSchema = z16.enum([
|
|
163057
163084
|
"playwright",
|
|
163058
163085
|
"agent-browser",
|
|
163059
163086
|
"dev-browser",
|
|
@@ -163068,7 +163095,7 @@ var BuiltinSkillNameSchema = z15.enum([
|
|
|
163068
163095
|
"visual-qa",
|
|
163069
163096
|
"team-mode"
|
|
163070
163097
|
]);
|
|
163071
|
-
var OverridableAgentNameSchema =
|
|
163098
|
+
var OverridableAgentNameSchema = z16.enum([
|
|
163072
163099
|
"build",
|
|
163073
163100
|
"plan",
|
|
163074
163101
|
"sisyphus",
|
|
@@ -163085,40 +163112,40 @@ var OverridableAgentNameSchema = z15.enum([
|
|
|
163085
163112
|
"atlas"
|
|
163086
163113
|
]);
|
|
163087
163114
|
// packages/omo-opencode/src/config/schema/agent-overrides.ts
|
|
163088
|
-
import { z as
|
|
163115
|
+
import { z as z19 } from "zod";
|
|
163089
163116
|
|
|
163090
163117
|
// packages/omo-opencode/src/config/schema/fallback-models.ts
|
|
163091
|
-
import { z as
|
|
163092
|
-
var FallbackModelObjectSchema =
|
|
163093
|
-
model:
|
|
163094
|
-
variant:
|
|
163095
|
-
reasoningEffort:
|
|
163096
|
-
temperature:
|
|
163097
|
-
top_p:
|
|
163098
|
-
maxTokens:
|
|
163099
|
-
thinking:
|
|
163100
|
-
type:
|
|
163101
|
-
budgetTokens:
|
|
163118
|
+
import { z as z17 } from "zod";
|
|
163119
|
+
var FallbackModelObjectSchema = z17.object({
|
|
163120
|
+
model: z17.string(),
|
|
163121
|
+
variant: z17.string().optional(),
|
|
163122
|
+
reasoningEffort: z17.enum(["none", "minimal", "low", "medium", "high", "xhigh", "max"]).optional(),
|
|
163123
|
+
temperature: z17.number().min(0).max(2).optional(),
|
|
163124
|
+
top_p: z17.number().min(0).max(1).optional(),
|
|
163125
|
+
maxTokens: z17.number().optional(),
|
|
163126
|
+
thinking: z17.object({
|
|
163127
|
+
type: z17.enum(["enabled", "disabled"]),
|
|
163128
|
+
budgetTokens: z17.number().optional()
|
|
163102
163129
|
}).optional()
|
|
163103
163130
|
});
|
|
163104
|
-
var FallbackModelStringArraySchema =
|
|
163105
|
-
var FallbackModelObjectArraySchema =
|
|
163106
|
-
var FallbackModelMixedArraySchema =
|
|
163107
|
-
var FallbackModelsSchema =
|
|
163108
|
-
|
|
163131
|
+
var FallbackModelStringArraySchema = z17.array(z17.string());
|
|
163132
|
+
var FallbackModelObjectArraySchema = z17.array(FallbackModelObjectSchema);
|
|
163133
|
+
var FallbackModelMixedArraySchema = z17.array(z17.union([z17.string(), FallbackModelObjectSchema]));
|
|
163134
|
+
var FallbackModelsSchema = z17.union([
|
|
163135
|
+
z17.string(),
|
|
163109
163136
|
FallbackModelStringArraySchema,
|
|
163110
163137
|
FallbackModelObjectArraySchema,
|
|
163111
163138
|
FallbackModelMixedArraySchema
|
|
163112
163139
|
]);
|
|
163113
163140
|
|
|
163114
163141
|
// packages/omo-opencode/src/config/schema/internal/permission.ts
|
|
163115
|
-
import { z as
|
|
163116
|
-
var PermissionValueSchema =
|
|
163117
|
-
var BashPermissionSchema =
|
|
163142
|
+
import { z as z18 } from "zod";
|
|
163143
|
+
var PermissionValueSchema = z18.enum(["ask", "allow", "deny"]);
|
|
163144
|
+
var BashPermissionSchema = z18.union([
|
|
163118
163145
|
PermissionValueSchema,
|
|
163119
|
-
|
|
163146
|
+
z18.record(z18.string(), PermissionValueSchema)
|
|
163120
163147
|
]);
|
|
163121
|
-
var AgentPermissionSchema =
|
|
163148
|
+
var AgentPermissionSchema = z18.object({
|
|
163122
163149
|
edit: PermissionValueSchema.optional(),
|
|
163123
163150
|
bash: BashPermissionSchema.optional(),
|
|
163124
163151
|
webfetch: PermissionValueSchema.optional(),
|
|
@@ -163128,46 +163155,46 @@ var AgentPermissionSchema = z17.object({
|
|
|
163128
163155
|
}).catchall(PermissionValueSchema.optional());
|
|
163129
163156
|
|
|
163130
163157
|
// packages/omo-opencode/src/config/schema/agent-overrides.ts
|
|
163131
|
-
var AgentOverrideConfigSchema =
|
|
163132
|
-
model:
|
|
163158
|
+
var AgentOverrideConfigSchema = z19.object({
|
|
163159
|
+
model: z19.string().optional(),
|
|
163133
163160
|
fallback_models: FallbackModelsSchema.optional(),
|
|
163134
|
-
variant:
|
|
163135
|
-
category:
|
|
163136
|
-
skills:
|
|
163137
|
-
temperature:
|
|
163138
|
-
top_p:
|
|
163139
|
-
prompt:
|
|
163140
|
-
prompt_append:
|
|
163141
|
-
tools:
|
|
163142
|
-
disable:
|
|
163143
|
-
description:
|
|
163144
|
-
mode:
|
|
163145
|
-
color:
|
|
163146
|
-
displayName:
|
|
163161
|
+
variant: z19.string().optional(),
|
|
163162
|
+
category: z19.string().optional(),
|
|
163163
|
+
skills: z19.array(z19.string()).optional(),
|
|
163164
|
+
temperature: z19.number().min(0).max(2).optional(),
|
|
163165
|
+
top_p: z19.number().min(0).max(1).optional(),
|
|
163166
|
+
prompt: z19.string().optional(),
|
|
163167
|
+
prompt_append: z19.string().optional(),
|
|
163168
|
+
tools: z19.record(z19.string(), z19.boolean()).optional(),
|
|
163169
|
+
disable: z19.boolean().optional(),
|
|
163170
|
+
description: z19.string().optional(),
|
|
163171
|
+
mode: z19.enum(["subagent", "primary", "all"]).optional(),
|
|
163172
|
+
color: z19.string().regex(/^#[0-9A-Fa-f]{6}$/).optional(),
|
|
163173
|
+
displayName: z19.string().optional(),
|
|
163147
163174
|
permission: AgentPermissionSchema.optional(),
|
|
163148
|
-
maxTokens:
|
|
163149
|
-
thinking:
|
|
163150
|
-
type:
|
|
163151
|
-
budgetTokens:
|
|
163175
|
+
maxTokens: z19.number().optional(),
|
|
163176
|
+
thinking: z19.object({
|
|
163177
|
+
type: z19.enum(["enabled", "disabled"]),
|
|
163178
|
+
budgetTokens: z19.number().optional()
|
|
163152
163179
|
}).optional(),
|
|
163153
|
-
reasoningEffort:
|
|
163154
|
-
textVerbosity:
|
|
163155
|
-
providerOptions:
|
|
163156
|
-
ultrawork:
|
|
163157
|
-
model:
|
|
163158
|
-
variant:
|
|
163180
|
+
reasoningEffort: z19.enum(["none", "minimal", "low", "medium", "high", "xhigh", "max"]).optional(),
|
|
163181
|
+
textVerbosity: z19.enum(["low", "medium", "high"]).optional(),
|
|
163182
|
+
providerOptions: z19.record(z19.string(), z19.unknown()).optional(),
|
|
163183
|
+
ultrawork: z19.object({
|
|
163184
|
+
model: z19.string().optional(),
|
|
163185
|
+
variant: z19.string().optional()
|
|
163159
163186
|
}).optional(),
|
|
163160
|
-
compaction:
|
|
163161
|
-
model:
|
|
163162
|
-
variant:
|
|
163187
|
+
compaction: z19.object({
|
|
163188
|
+
model: z19.string().optional(),
|
|
163189
|
+
variant: z19.string().optional()
|
|
163163
163190
|
}).optional()
|
|
163164
163191
|
});
|
|
163165
|
-
var AgentOverridesSchema =
|
|
163192
|
+
var AgentOverridesSchema = z19.object({
|
|
163166
163193
|
build: AgentOverrideConfigSchema.optional(),
|
|
163167
163194
|
plan: AgentOverrideConfigSchema.optional(),
|
|
163168
163195
|
sisyphus: AgentOverrideConfigSchema.optional(),
|
|
163169
163196
|
hephaestus: AgentOverrideConfigSchema.extend({
|
|
163170
|
-
allow_non_gpt_model:
|
|
163197
|
+
allow_non_gpt_model: z19.boolean().optional()
|
|
163171
163198
|
}).optional(),
|
|
163172
163199
|
"sisyphus-junior": AgentOverrideConfigSchema.optional(),
|
|
163173
163200
|
"OpenCode-Builder": AgentOverrideConfigSchema.optional(),
|
|
@@ -163181,65 +163208,65 @@ var AgentOverridesSchema = z18.object({
|
|
|
163181
163208
|
atlas: AgentOverrideConfigSchema.optional()
|
|
163182
163209
|
}).catchall(AgentOverrideConfigSchema.optional());
|
|
163183
163210
|
// packages/omo-opencode/src/config/schema/babysitting.ts
|
|
163184
|
-
import { z as
|
|
163185
|
-
var BabysittingConfigSchema =
|
|
163186
|
-
timeout_ms:
|
|
163211
|
+
import { z as z20 } from "zod";
|
|
163212
|
+
var BabysittingConfigSchema = z20.object({
|
|
163213
|
+
timeout_ms: z20.number().default(120000)
|
|
163187
163214
|
});
|
|
163188
163215
|
// packages/omo-opencode/src/config/schema/background-task.ts
|
|
163189
|
-
import { z as
|
|
163190
|
-
var CircuitBreakerConfigSchema =
|
|
163191
|
-
enabled:
|
|
163192
|
-
maxToolCalls:
|
|
163193
|
-
consecutiveThreshold:
|
|
163216
|
+
import { z as z21 } from "zod";
|
|
163217
|
+
var CircuitBreakerConfigSchema = z21.object({
|
|
163218
|
+
enabled: z21.boolean().optional(),
|
|
163219
|
+
maxToolCalls: z21.number().int().min(10).optional(),
|
|
163220
|
+
consecutiveThreshold: z21.number().int().min(5).optional()
|
|
163194
163221
|
});
|
|
163195
|
-
var BackgroundTaskConfigSchema =
|
|
163196
|
-
defaultConcurrency:
|
|
163197
|
-
providerConcurrency:
|
|
163198
|
-
modelConcurrency:
|
|
163199
|
-
maxDepth:
|
|
163200
|
-
staleTimeoutMs:
|
|
163201
|
-
messageStalenessTimeoutMs:
|
|
163202
|
-
taskTtlMs:
|
|
163203
|
-
sessionGoneTimeoutMs:
|
|
163204
|
-
taskCleanupDelayMs:
|
|
163205
|
-
syncPollTimeoutMs:
|
|
163206
|
-
maxToolCalls:
|
|
163222
|
+
var BackgroundTaskConfigSchema = z21.object({
|
|
163223
|
+
defaultConcurrency: z21.number().min(1).optional(),
|
|
163224
|
+
providerConcurrency: z21.record(z21.string(), z21.number().min(0)).optional(),
|
|
163225
|
+
modelConcurrency: z21.record(z21.string(), z21.number().min(0)).optional(),
|
|
163226
|
+
maxDepth: z21.number().int().min(1).optional(),
|
|
163227
|
+
staleTimeoutMs: z21.number().min(60000).optional(),
|
|
163228
|
+
messageStalenessTimeoutMs: z21.number().min(60000).optional(),
|
|
163229
|
+
taskTtlMs: z21.number().min(300000).optional(),
|
|
163230
|
+
sessionGoneTimeoutMs: z21.number().min(1e4).optional(),
|
|
163231
|
+
taskCleanupDelayMs: z21.number().min(60000).optional(),
|
|
163232
|
+
syncPollTimeoutMs: z21.number().min(60000).optional(),
|
|
163233
|
+
maxToolCalls: z21.number().int().min(10).optional(),
|
|
163207
163234
|
circuitBreaker: CircuitBreakerConfigSchema.optional()
|
|
163208
163235
|
});
|
|
163209
163236
|
// packages/omo-opencode/src/config/schema/browser-automation.ts
|
|
163210
|
-
import { z as
|
|
163211
|
-
var BrowserAutomationProviderSchema =
|
|
163237
|
+
import { z as z22 } from "zod";
|
|
163238
|
+
var BrowserAutomationProviderSchema = z22.enum([
|
|
163212
163239
|
"playwright",
|
|
163213
163240
|
"agent-browser",
|
|
163214
163241
|
"dev-browser",
|
|
163215
163242
|
"playwright-cli"
|
|
163216
163243
|
]);
|
|
163217
|
-
var BrowserAutomationConfigSchema =
|
|
163244
|
+
var BrowserAutomationConfigSchema = z22.object({
|
|
163218
163245
|
provider: BrowserAutomationProviderSchema.default("playwright")
|
|
163219
163246
|
});
|
|
163220
163247
|
// packages/omo-opencode/src/config/schema/categories.ts
|
|
163221
|
-
import { z as
|
|
163222
|
-
var CategoryConfigSchema =
|
|
163223
|
-
description:
|
|
163224
|
-
model:
|
|
163248
|
+
import { z as z23 } from "zod";
|
|
163249
|
+
var CategoryConfigSchema = z23.object({
|
|
163250
|
+
description: z23.string().optional(),
|
|
163251
|
+
model: z23.string().optional(),
|
|
163225
163252
|
fallback_models: FallbackModelsSchema.optional(),
|
|
163226
|
-
variant:
|
|
163227
|
-
temperature:
|
|
163228
|
-
top_p:
|
|
163229
|
-
maxTokens:
|
|
163230
|
-
thinking:
|
|
163231
|
-
type:
|
|
163232
|
-
budgetTokens:
|
|
163253
|
+
variant: z23.string().optional(),
|
|
163254
|
+
temperature: z23.number().min(0).max(2).optional(),
|
|
163255
|
+
top_p: z23.number().min(0).max(1).optional(),
|
|
163256
|
+
maxTokens: z23.number().optional(),
|
|
163257
|
+
thinking: z23.object({
|
|
163258
|
+
type: z23.enum(["enabled", "disabled"]),
|
|
163259
|
+
budgetTokens: z23.number().optional()
|
|
163233
163260
|
}).optional(),
|
|
163234
|
-
reasoningEffort:
|
|
163235
|
-
textVerbosity:
|
|
163236
|
-
tools:
|
|
163237
|
-
prompt_append:
|
|
163238
|
-
max_prompt_tokens:
|
|
163239
|
-
is_unstable_agent:
|
|
163240
|
-
disable:
|
|
163261
|
+
reasoningEffort: z23.enum(["none", "minimal", "low", "medium", "high", "xhigh", "max"]).optional(),
|
|
163262
|
+
textVerbosity: z23.enum(["low", "medium", "high"]).optional(),
|
|
163263
|
+
tools: z23.record(z23.string(), z23.boolean()).optional(),
|
|
163264
|
+
prompt_append: z23.string().optional(),
|
|
163265
|
+
max_prompt_tokens: z23.number().int().positive().optional(),
|
|
163266
|
+
is_unstable_agent: z23.boolean().optional(),
|
|
163267
|
+
disable: z23.boolean().optional()
|
|
163241
163268
|
});
|
|
163242
|
-
var BuiltinCategoryNameSchema =
|
|
163269
|
+
var BuiltinCategoryNameSchema = z23.enum([
|
|
163243
163270
|
"visual-engineering",
|
|
163244
163271
|
"ultrabrain",
|
|
163245
163272
|
"deep",
|
|
@@ -163249,39 +163276,39 @@ var BuiltinCategoryNameSchema = z22.enum([
|
|
|
163249
163276
|
"unspecified-high",
|
|
163250
163277
|
"writing"
|
|
163251
163278
|
]);
|
|
163252
|
-
var CategoriesConfigSchema =
|
|
163279
|
+
var CategoriesConfigSchema = z23.record(z23.string(), CategoryConfigSchema);
|
|
163253
163280
|
// packages/omo-opencode/src/config/schema/claude-code.ts
|
|
163254
|
-
import { z as
|
|
163255
|
-
var ClaudeCodeConfigSchema =
|
|
163256
|
-
mcp:
|
|
163257
|
-
commands:
|
|
163258
|
-
skills:
|
|
163259
|
-
agents:
|
|
163260
|
-
hooks:
|
|
163261
|
-
plugins:
|
|
163262
|
-
plugins_override:
|
|
163263
|
-
anthropic_provider:
|
|
163281
|
+
import { z as z24 } from "zod";
|
|
163282
|
+
var ClaudeCodeConfigSchema = z24.object({
|
|
163283
|
+
mcp: z24.boolean().optional(),
|
|
163284
|
+
commands: z24.boolean().optional(),
|
|
163285
|
+
skills: z24.boolean().optional(),
|
|
163286
|
+
agents: z24.boolean().optional(),
|
|
163287
|
+
hooks: z24.boolean().optional(),
|
|
163288
|
+
plugins: z24.boolean().optional(),
|
|
163289
|
+
plugins_override: z24.record(z24.string(), z24.boolean()).optional(),
|
|
163290
|
+
anthropic_provider: z24.string().trim().min(1).refine((v) => !v.includes("/"), {
|
|
163264
163291
|
message: "anthropic_provider must be a provider name without '/'"
|
|
163265
163292
|
}).optional()
|
|
163266
163293
|
});
|
|
163267
163294
|
// packages/omo-opencode/src/config/schema/codegraph.ts
|
|
163268
|
-
import { z as
|
|
163269
|
-
var CodegraphConfigSchema =
|
|
163270
|
-
auto_init:
|
|
163271
|
-
auto_provision:
|
|
163272
|
-
enabled:
|
|
163273
|
-
install_dir:
|
|
163274
|
-
telemetry:
|
|
163275
|
-
watch_debounce_ms:
|
|
163295
|
+
import { z as z25 } from "zod";
|
|
163296
|
+
var CodegraphConfigSchema = z25.object({
|
|
163297
|
+
auto_init: z25.boolean().default(true),
|
|
163298
|
+
auto_provision: z25.boolean().default(true),
|
|
163299
|
+
enabled: z25.boolean().default(true),
|
|
163300
|
+
install_dir: z25.string().optional(),
|
|
163301
|
+
telemetry: z25.boolean().optional(),
|
|
163302
|
+
watch_debounce_ms: z25.number().nonnegative().optional()
|
|
163276
163303
|
});
|
|
163277
163304
|
// packages/omo-opencode/src/config/schema/comment-checker.ts
|
|
163278
|
-
import { z as
|
|
163279
|
-
var CommentCheckerConfigSchema =
|
|
163280
|
-
custom_prompt:
|
|
163305
|
+
import { z as z26 } from "zod";
|
|
163306
|
+
var CommentCheckerConfigSchema = z26.object({
|
|
163307
|
+
custom_prompt: z26.string().optional()
|
|
163281
163308
|
});
|
|
163282
163309
|
// packages/omo-opencode/src/config/schema/commands.ts
|
|
163283
|
-
import { z as
|
|
163284
|
-
var BuiltinCommandNameSchema =
|
|
163310
|
+
import { z as z27 } from "zod";
|
|
163311
|
+
var BuiltinCommandNameSchema = z27.enum([
|
|
163285
163312
|
"ralph-loop",
|
|
163286
163313
|
"ulw-loop",
|
|
163287
163314
|
"cancel-ralph",
|
|
@@ -163292,21 +163319,21 @@ var BuiltinCommandNameSchema = z26.enum([
|
|
|
163292
163319
|
"hyperplan"
|
|
163293
163320
|
]);
|
|
163294
163321
|
// packages/omo-opencode/src/config/schema/default-mode.ts
|
|
163295
|
-
import { z as
|
|
163296
|
-
var DefaultModeConfigSchema =
|
|
163297
|
-
ultrawork:
|
|
163298
|
-
ralph_loop:
|
|
163322
|
+
import { z as z28 } from "zod";
|
|
163323
|
+
var DefaultModeConfigSchema = z28.object({
|
|
163324
|
+
ultrawork: z28.boolean().default(false),
|
|
163325
|
+
ralph_loop: z28.boolean().default(false)
|
|
163299
163326
|
});
|
|
163300
163327
|
// packages/omo-opencode/src/config/schema/dynamic-context-pruning.ts
|
|
163301
|
-
import { z as
|
|
163302
|
-
var DynamicContextPruningConfigSchema =
|
|
163303
|
-
enabled:
|
|
163304
|
-
notification:
|
|
163305
|
-
turn_protection:
|
|
163306
|
-
enabled:
|
|
163307
|
-
turns:
|
|
163328
|
+
import { z as z29 } from "zod";
|
|
163329
|
+
var DynamicContextPruningConfigSchema = z29.object({
|
|
163330
|
+
enabled: z29.boolean().default(false),
|
|
163331
|
+
notification: z29.enum(["off", "minimal", "detailed"]).default("detailed"),
|
|
163332
|
+
turn_protection: z29.object({
|
|
163333
|
+
enabled: z29.boolean().default(true),
|
|
163334
|
+
turns: z29.number().min(1).max(10).default(3)
|
|
163308
163335
|
}).optional(),
|
|
163309
|
-
protected_tools:
|
|
163336
|
+
protected_tools: z29.array(z29.string()).default([
|
|
163310
163337
|
"task",
|
|
163311
163338
|
"todowrite",
|
|
163312
163339
|
"todoread",
|
|
@@ -163315,46 +163342,46 @@ var DynamicContextPruningConfigSchema = z28.object({
|
|
|
163315
163342
|
"session_write",
|
|
163316
163343
|
"session_search"
|
|
163317
163344
|
]),
|
|
163318
|
-
strategies:
|
|
163319
|
-
deduplication:
|
|
163320
|
-
enabled:
|
|
163345
|
+
strategies: z29.object({
|
|
163346
|
+
deduplication: z29.object({
|
|
163347
|
+
enabled: z29.boolean().default(true)
|
|
163321
163348
|
}).optional(),
|
|
163322
|
-
supersede_writes:
|
|
163323
|
-
enabled:
|
|
163324
|
-
aggressive:
|
|
163349
|
+
supersede_writes: z29.object({
|
|
163350
|
+
enabled: z29.boolean().default(true),
|
|
163351
|
+
aggressive: z29.boolean().default(false)
|
|
163325
163352
|
}).optional(),
|
|
163326
|
-
purge_errors:
|
|
163327
|
-
enabled:
|
|
163328
|
-
turns:
|
|
163353
|
+
purge_errors: z29.object({
|
|
163354
|
+
enabled: z29.boolean().default(true),
|
|
163355
|
+
turns: z29.number().min(1).max(20).default(5)
|
|
163329
163356
|
}).optional()
|
|
163330
163357
|
}).optional()
|
|
163331
163358
|
});
|
|
163332
163359
|
// packages/omo-opencode/src/config/schema/experimental.ts
|
|
163333
|
-
import { z as
|
|
163334
|
-
var ExperimentalConfigSchema =
|
|
163335
|
-
aggressive_truncation:
|
|
163336
|
-
preemptive_compaction:
|
|
163337
|
-
truncate_all_tool_outputs:
|
|
163360
|
+
import { z as z30 } from "zod";
|
|
163361
|
+
var ExperimentalConfigSchema = z30.object({
|
|
163362
|
+
aggressive_truncation: z30.boolean().optional(),
|
|
163363
|
+
preemptive_compaction: z30.boolean().optional(),
|
|
163364
|
+
truncate_all_tool_outputs: z30.boolean().optional(),
|
|
163338
163365
|
dynamic_context_pruning: DynamicContextPruningConfigSchema.optional(),
|
|
163339
|
-
task_system:
|
|
163340
|
-
plugin_load_timeout_ms:
|
|
163341
|
-
safe_hook_creation:
|
|
163342
|
-
disable_omo_env:
|
|
163343
|
-
hashline_edit:
|
|
163344
|
-
model_fallback_title:
|
|
163345
|
-
max_tools:
|
|
163346
|
-
disable_live_parent_wake_routing:
|
|
163366
|
+
task_system: z30.boolean().optional(),
|
|
163367
|
+
plugin_load_timeout_ms: z30.number().min(1000).optional(),
|
|
163368
|
+
safe_hook_creation: z30.boolean().optional(),
|
|
163369
|
+
disable_omo_env: z30.boolean().optional(),
|
|
163370
|
+
hashline_edit: z30.boolean().optional(),
|
|
163371
|
+
model_fallback_title: z30.boolean().optional(),
|
|
163372
|
+
max_tools: z30.number().int().min(1).optional(),
|
|
163373
|
+
disable_live_parent_wake_routing: z30.boolean().optional()
|
|
163347
163374
|
});
|
|
163348
163375
|
// packages/omo-opencode/src/config/schema/git-master.ts
|
|
163349
|
-
import { z as
|
|
163350
|
-
var GitMasterConfigSchema =
|
|
163351
|
-
commit_footer:
|
|
163352
|
-
include_co_authored_by:
|
|
163376
|
+
import { z as z31 } from "zod";
|
|
163377
|
+
var GitMasterConfigSchema = z31.object({
|
|
163378
|
+
commit_footer: z31.union([z31.boolean(), z31.string()]).default(true),
|
|
163379
|
+
include_co_authored_by: z31.boolean().default(true),
|
|
163353
163380
|
git_env_prefix: GitEnvPrefixSchema
|
|
163354
163381
|
});
|
|
163355
163382
|
// packages/omo-opencode/src/config/schema/hooks.ts
|
|
163356
|
-
import { z as
|
|
163357
|
-
var HookNameSchema =
|
|
163383
|
+
import { z as z32 } from "zod";
|
|
163384
|
+
var HookNameSchema = z32.enum([
|
|
163358
163385
|
"todo-continuation-enforcer",
|
|
163359
163386
|
"session-notification",
|
|
163360
163387
|
"comment-checker",
|
|
@@ -163413,229 +163440,229 @@ var HookNameSchema = z31.enum([
|
|
|
163413
163440
|
"legacy-plugin-toast"
|
|
163414
163441
|
]);
|
|
163415
163442
|
// packages/omo-opencode/src/config/schema/i18n.ts
|
|
163416
|
-
import { z as
|
|
163417
|
-
var I18nConfigSchema =
|
|
163418
|
-
locale:
|
|
163443
|
+
import { z as z33 } from "zod";
|
|
163444
|
+
var I18nConfigSchema = z33.object({
|
|
163445
|
+
locale: z33.string().optional()
|
|
163419
163446
|
});
|
|
163420
163447
|
// packages/omo-opencode/src/config/schema/keyword-detector.ts
|
|
163421
|
-
import { z as
|
|
163422
|
-
var KeywordTypeSchema =
|
|
163423
|
-
var KeywordDetectorConfigSchema =
|
|
163424
|
-
enabled_expansions:
|
|
163425
|
-
disabled_keywords:
|
|
163448
|
+
import { z as z34 } from "zod";
|
|
163449
|
+
var KeywordTypeSchema = z34.enum(["ultrawork", "team", "hyperplan", "hyperplan-ultrawork"]);
|
|
163450
|
+
var KeywordDetectorConfigSchema = z34.object({
|
|
163451
|
+
enabled_expansions: z34.array(KeywordTypeSchema).optional(),
|
|
163452
|
+
disabled_keywords: z34.array(KeywordTypeSchema).optional()
|
|
163426
163453
|
});
|
|
163427
163454
|
// packages/omo-opencode/src/config/schema/model-capabilities.ts
|
|
163428
|
-
import { z as
|
|
163429
|
-
var ModelCapabilitiesConfigSchema =
|
|
163430
|
-
enabled:
|
|
163431
|
-
auto_refresh_on_start:
|
|
163432
|
-
refresh_timeout_ms:
|
|
163433
|
-
source_url:
|
|
163455
|
+
import { z as z35 } from "zod";
|
|
163456
|
+
var ModelCapabilitiesConfigSchema = z35.object({
|
|
163457
|
+
enabled: z35.boolean().optional(),
|
|
163458
|
+
auto_refresh_on_start: z35.boolean().optional(),
|
|
163459
|
+
refresh_timeout_ms: z35.number().int().positive().optional(),
|
|
163460
|
+
source_url: z35.string().url().optional()
|
|
163434
163461
|
});
|
|
163435
163462
|
// packages/omo-opencode/src/config/schema/notification.ts
|
|
163436
|
-
import { z as
|
|
163437
|
-
var NotificationConfigSchema =
|
|
163438
|
-
force_enable:
|
|
163463
|
+
import { z as z36 } from "zod";
|
|
163464
|
+
var NotificationConfigSchema = z36.object({
|
|
163465
|
+
force_enable: z36.boolean().optional()
|
|
163439
163466
|
});
|
|
163440
163467
|
// packages/omo-opencode/src/config/schema/oh-my-opencode-config.ts
|
|
163441
|
-
import { z as
|
|
163468
|
+
import { z as z49 } from "zod";
|
|
163442
163469
|
|
|
163443
163470
|
// packages/omo-opencode/src/config/schema/agent-definitions.ts
|
|
163444
|
-
import { z as
|
|
163445
|
-
var AgentDefinitionPathSchema =
|
|
163446
|
-
var AgentDefinitionsConfigSchema =
|
|
163471
|
+
import { z as z37 } from "zod";
|
|
163472
|
+
var AgentDefinitionPathSchema = z37.string().min(1);
|
|
163473
|
+
var AgentDefinitionsConfigSchema = z37.array(AgentDefinitionPathSchema).optional();
|
|
163447
163474
|
|
|
163448
163475
|
// packages/omo-opencode/src/config/schema/openclaw.ts
|
|
163449
|
-
import { z as
|
|
163450
|
-
var OpenClawGatewaySchema =
|
|
163451
|
-
type:
|
|
163452
|
-
url:
|
|
163453
|
-
method:
|
|
163454
|
-
headers:
|
|
163455
|
-
command:
|
|
163456
|
-
timeout:
|
|
163476
|
+
import { z as z38 } from "zod";
|
|
163477
|
+
var OpenClawGatewaySchema = z38.object({
|
|
163478
|
+
type: z38.enum(["http", "command"]).default("http"),
|
|
163479
|
+
url: z38.string().optional(),
|
|
163480
|
+
method: z38.string().default("POST"),
|
|
163481
|
+
headers: z38.record(z38.string(), z38.string()).optional(),
|
|
163482
|
+
command: z38.string().optional(),
|
|
163483
|
+
timeout: z38.number().optional()
|
|
163457
163484
|
});
|
|
163458
|
-
var OpenClawHookSchema =
|
|
163459
|
-
enabled:
|
|
163460
|
-
gateway:
|
|
163461
|
-
instruction:
|
|
163485
|
+
var OpenClawHookSchema = z38.object({
|
|
163486
|
+
enabled: z38.boolean().default(true),
|
|
163487
|
+
gateway: z38.string(),
|
|
163488
|
+
instruction: z38.string()
|
|
163462
163489
|
});
|
|
163463
|
-
var OpenClawReplyListenerConfigSchema =
|
|
163464
|
-
discordBotToken:
|
|
163465
|
-
discordChannelId:
|
|
163466
|
-
discordMention:
|
|
163467
|
-
authorizedDiscordUserIds:
|
|
163468
|
-
telegramBotToken:
|
|
163469
|
-
telegramChatId:
|
|
163470
|
-
pollIntervalMs:
|
|
163471
|
-
rateLimitPerMinute:
|
|
163472
|
-
maxMessageLength:
|
|
163473
|
-
includePrefix:
|
|
163490
|
+
var OpenClawReplyListenerConfigSchema = z38.object({
|
|
163491
|
+
discordBotToken: z38.string().optional(),
|
|
163492
|
+
discordChannelId: z38.string().optional(),
|
|
163493
|
+
discordMention: z38.string().optional(),
|
|
163494
|
+
authorizedDiscordUserIds: z38.array(z38.string()).default([]),
|
|
163495
|
+
telegramBotToken: z38.string().optional(),
|
|
163496
|
+
telegramChatId: z38.string().optional(),
|
|
163497
|
+
pollIntervalMs: z38.number().default(3000),
|
|
163498
|
+
rateLimitPerMinute: z38.number().default(10),
|
|
163499
|
+
maxMessageLength: z38.number().default(500),
|
|
163500
|
+
includePrefix: z38.boolean().default(true)
|
|
163474
163501
|
});
|
|
163475
|
-
var OpenClawConfigSchema =
|
|
163476
|
-
enabled:
|
|
163477
|
-
gateways:
|
|
163478
|
-
hooks:
|
|
163502
|
+
var OpenClawConfigSchema = z38.object({
|
|
163503
|
+
enabled: z38.boolean().default(false),
|
|
163504
|
+
gateways: z38.record(z38.string(), OpenClawGatewaySchema).default({}),
|
|
163505
|
+
hooks: z38.record(z38.string(), OpenClawHookSchema).default({}),
|
|
163479
163506
|
replyListener: OpenClawReplyListenerConfigSchema.optional()
|
|
163480
163507
|
});
|
|
163481
163508
|
|
|
163482
163509
|
// packages/omo-opencode/src/config/schema/monitor.ts
|
|
163483
|
-
import { z as
|
|
163484
|
-
var MonitorConfigSchema =
|
|
163485
|
-
enabled:
|
|
163486
|
-
live_mode_enabled:
|
|
163487
|
-
allowed_commands:
|
|
163488
|
-
max_monitors_per_session:
|
|
163489
|
-
max_runtime_ms:
|
|
163490
|
-
batch_max_lines:
|
|
163491
|
-
batch_max_bytes:
|
|
163492
|
-
flush_interval_ms:
|
|
163493
|
-
ring_max_lines:
|
|
163494
|
-
line_max_bytes:
|
|
163495
|
-
pattern_max_length:
|
|
163510
|
+
import { z as z39 } from "zod";
|
|
163511
|
+
var MonitorConfigSchema = z39.object({
|
|
163512
|
+
enabled: z39.boolean().default(false),
|
|
163513
|
+
live_mode_enabled: z39.boolean().default(false),
|
|
163514
|
+
allowed_commands: z39.array(z39.string()).optional(),
|
|
163515
|
+
max_monitors_per_session: z39.number().int().min(1).max(16).default(3),
|
|
163516
|
+
max_runtime_ms: z39.number().int().min(1000).default(1800000),
|
|
163517
|
+
batch_max_lines: z39.number().int().min(1).default(50),
|
|
163518
|
+
batch_max_bytes: z39.number().int().min(1024).default(16384),
|
|
163519
|
+
flush_interval_ms: z39.number().int().min(250).default(1000),
|
|
163520
|
+
ring_max_lines: z39.number().int().min(1).default(1000),
|
|
163521
|
+
line_max_bytes: z39.number().int().min(256).default(8192),
|
|
163522
|
+
pattern_max_length: z39.number().int().min(1).default(512)
|
|
163496
163523
|
});
|
|
163497
163524
|
|
|
163498
163525
|
// packages/omo-opencode/src/config/schema/ralph-loop.ts
|
|
163499
|
-
import { z as
|
|
163500
|
-
var RalphLoopConfigSchema =
|
|
163501
|
-
enabled:
|
|
163502
|
-
default_max_iterations:
|
|
163503
|
-
state_dir:
|
|
163504
|
-
default_strategy:
|
|
163526
|
+
import { z as z40 } from "zod";
|
|
163527
|
+
var RalphLoopConfigSchema = z40.object({
|
|
163528
|
+
enabled: z40.boolean().default(false),
|
|
163529
|
+
default_max_iterations: z40.number().min(1).max(1000).default(100),
|
|
163530
|
+
state_dir: z40.string().optional(),
|
|
163531
|
+
default_strategy: z40.enum(["reset", "continue"]).default("continue")
|
|
163505
163532
|
});
|
|
163506
163533
|
|
|
163507
163534
|
// packages/omo-opencode/src/config/schema/runtime-fallback.ts
|
|
163508
|
-
import { z as
|
|
163509
|
-
var RuntimeFallbackConfigSchema =
|
|
163510
|
-
enabled:
|
|
163511
|
-
retry_on_errors:
|
|
163512
|
-
max_fallback_attempts:
|
|
163513
|
-
cooldown_seconds:
|
|
163514
|
-
timeout_seconds:
|
|
163515
|
-
notify_on_fallback:
|
|
163516
|
-
restore_primary_after_cooldown:
|
|
163535
|
+
import { z as z41 } from "zod";
|
|
163536
|
+
var RuntimeFallbackConfigSchema = z41.object({
|
|
163537
|
+
enabled: z41.boolean().optional(),
|
|
163538
|
+
retry_on_errors: z41.array(z41.number()).optional(),
|
|
163539
|
+
max_fallback_attempts: z41.number().min(1).max(20).optional(),
|
|
163540
|
+
cooldown_seconds: z41.number().min(0).optional(),
|
|
163541
|
+
timeout_seconds: z41.number().min(0).optional(),
|
|
163542
|
+
notify_on_fallback: z41.boolean().optional(),
|
|
163543
|
+
restore_primary_after_cooldown: z41.boolean().optional()
|
|
163517
163544
|
});
|
|
163518
163545
|
|
|
163519
163546
|
// packages/team-core/src/config.ts
|
|
163520
|
-
import * as
|
|
163521
|
-
var TeamModeConfigSchema =
|
|
163522
|
-
enabled:
|
|
163523
|
-
tmux_visualization:
|
|
163524
|
-
max_parallel_members:
|
|
163525
|
-
max_members:
|
|
163526
|
-
max_messages_per_run:
|
|
163527
|
-
max_wall_clock_minutes:
|
|
163528
|
-
max_member_turns:
|
|
163529
|
-
base_dir:
|
|
163530
|
-
message_payload_max_bytes:
|
|
163531
|
-
recipient_unread_max_bytes:
|
|
163532
|
-
mailbox_poll_interval_ms:
|
|
163547
|
+
import * as z42 from "zod";
|
|
163548
|
+
var TeamModeConfigSchema = z42.object({
|
|
163549
|
+
enabled: z42.boolean().default(false),
|
|
163550
|
+
tmux_visualization: z42.boolean().default(false),
|
|
163551
|
+
max_parallel_members: z42.number().int().min(1).max(8).default(4),
|
|
163552
|
+
max_members: z42.number().int().min(1).max(8).default(8),
|
|
163553
|
+
max_messages_per_run: z42.number().int().min(1).default(1e4),
|
|
163554
|
+
max_wall_clock_minutes: z42.number().int().min(1).default(120),
|
|
163555
|
+
max_member_turns: z42.number().int().min(1).default(500),
|
|
163556
|
+
base_dir: z42.string().optional(),
|
|
163557
|
+
message_payload_max_bytes: z42.number().int().min(1024).default(32768),
|
|
163558
|
+
recipient_unread_max_bytes: z42.number().int().min(1024).default(262144),
|
|
163559
|
+
mailbox_poll_interval_ms: z42.number().int().min(500).default(3000)
|
|
163533
163560
|
});
|
|
163534
163561
|
// packages/omo-opencode/src/config/schema/skills.ts
|
|
163535
|
-
import { z as
|
|
163536
|
-
var SkillSourceSchema =
|
|
163537
|
-
|
|
163538
|
-
|
|
163539
|
-
path:
|
|
163540
|
-
recursive:
|
|
163541
|
-
glob:
|
|
163562
|
+
import { z as z43 } from "zod";
|
|
163563
|
+
var SkillSourceSchema = z43.union([
|
|
163564
|
+
z43.string(),
|
|
163565
|
+
z43.object({
|
|
163566
|
+
path: z43.string(),
|
|
163567
|
+
recursive: z43.boolean().optional(),
|
|
163568
|
+
glob: z43.string().optional()
|
|
163542
163569
|
})
|
|
163543
163570
|
]);
|
|
163544
|
-
var SkillDefinitionSchema =
|
|
163545
|
-
description:
|
|
163546
|
-
template:
|
|
163547
|
-
from:
|
|
163548
|
-
model:
|
|
163549
|
-
agent:
|
|
163550
|
-
subtask:
|
|
163551
|
-
"argument-hint":
|
|
163552
|
-
license:
|
|
163553
|
-
compatibility:
|
|
163554
|
-
metadata:
|
|
163555
|
-
"allowed-tools":
|
|
163556
|
-
disable:
|
|
163571
|
+
var SkillDefinitionSchema = z43.object({
|
|
163572
|
+
description: z43.string().optional(),
|
|
163573
|
+
template: z43.string().optional(),
|
|
163574
|
+
from: z43.string().optional(),
|
|
163575
|
+
model: z43.string().optional(),
|
|
163576
|
+
agent: z43.string().optional(),
|
|
163577
|
+
subtask: z43.boolean().optional(),
|
|
163578
|
+
"argument-hint": z43.string().optional(),
|
|
163579
|
+
license: z43.string().optional(),
|
|
163580
|
+
compatibility: z43.string().optional(),
|
|
163581
|
+
metadata: z43.record(z43.string(), z43.unknown()).optional(),
|
|
163582
|
+
"allowed-tools": z43.array(z43.string()).optional(),
|
|
163583
|
+
disable: z43.boolean().optional()
|
|
163557
163584
|
});
|
|
163558
|
-
var SkillEntrySchema =
|
|
163559
|
-
var SkillsConfigSchema =
|
|
163560
|
-
|
|
163561
|
-
|
|
163562
|
-
sources:
|
|
163563
|
-
enable:
|
|
163564
|
-
disable:
|
|
163585
|
+
var SkillEntrySchema = z43.union([z43.boolean(), SkillDefinitionSchema]);
|
|
163586
|
+
var SkillsConfigSchema = z43.union([
|
|
163587
|
+
z43.array(z43.string()),
|
|
163588
|
+
z43.object({
|
|
163589
|
+
sources: z43.array(SkillSourceSchema).optional(),
|
|
163590
|
+
enable: z43.array(z43.string()).optional(),
|
|
163591
|
+
disable: z43.array(z43.string()).optional()
|
|
163565
163592
|
}).catchall(SkillEntrySchema)
|
|
163566
163593
|
]);
|
|
163567
163594
|
|
|
163568
163595
|
// packages/omo-opencode/src/config/schema/sisyphus.ts
|
|
163569
|
-
import { z as
|
|
163570
|
-
var SisyphusTasksConfigSchema =
|
|
163571
|
-
storage_path:
|
|
163572
|
-
task_list_id:
|
|
163573
|
-
claude_code_compat:
|
|
163596
|
+
import { z as z44 } from "zod";
|
|
163597
|
+
var SisyphusTasksConfigSchema = z44.object({
|
|
163598
|
+
storage_path: z44.string().optional(),
|
|
163599
|
+
task_list_id: z44.string().optional(),
|
|
163600
|
+
claude_code_compat: z44.boolean().default(false)
|
|
163574
163601
|
});
|
|
163575
|
-
var SisyphusConfigSchema =
|
|
163602
|
+
var SisyphusConfigSchema = z44.object({
|
|
163576
163603
|
tasks: SisyphusTasksConfigSchema.optional()
|
|
163577
163604
|
});
|
|
163578
163605
|
|
|
163579
163606
|
// packages/omo-opencode/src/config/schema/sisyphus-agent.ts
|
|
163580
|
-
import { z as
|
|
163581
|
-
var SisyphusAgentConfigSchema =
|
|
163582
|
-
disabled:
|
|
163583
|
-
default_builder_enabled:
|
|
163584
|
-
planner_enabled:
|
|
163585
|
-
replace_plan:
|
|
163586
|
-
tdd:
|
|
163607
|
+
import { z as z45 } from "zod";
|
|
163608
|
+
var SisyphusAgentConfigSchema = z45.object({
|
|
163609
|
+
disabled: z45.boolean().optional(),
|
|
163610
|
+
default_builder_enabled: z45.boolean().optional(),
|
|
163611
|
+
planner_enabled: z45.boolean().optional(),
|
|
163612
|
+
replace_plan: z45.boolean().optional(),
|
|
163613
|
+
tdd: z45.boolean().default(true).optional()
|
|
163587
163614
|
});
|
|
163588
163615
|
|
|
163589
163616
|
// packages/omo-opencode/src/config/schema/tui.ts
|
|
163590
|
-
import { z as
|
|
163591
|
-
var TuiSidebarConfigSchema =
|
|
163592
|
-
enabled:
|
|
163617
|
+
import { z as z46 } from "zod";
|
|
163618
|
+
var TuiSidebarConfigSchema = z46.object({
|
|
163619
|
+
enabled: z46.boolean().default(true)
|
|
163593
163620
|
});
|
|
163594
|
-
var TuiConfigSchema =
|
|
163621
|
+
var TuiConfigSchema = z46.object({
|
|
163595
163622
|
sidebar: TuiSidebarConfigSchema.default({ enabled: true })
|
|
163596
163623
|
});
|
|
163597
163624
|
|
|
163598
163625
|
// packages/omo-opencode/src/config/schema/start-work.ts
|
|
163599
|
-
import { z as
|
|
163600
|
-
var StartWorkConfigSchema =
|
|
163601
|
-
auto_commit:
|
|
163626
|
+
import { z as z47 } from "zod";
|
|
163627
|
+
var StartWorkConfigSchema = z47.object({
|
|
163628
|
+
auto_commit: z47.boolean().default(true)
|
|
163602
163629
|
});
|
|
163603
163630
|
|
|
163604
163631
|
// packages/omo-opencode/src/config/schema/websearch.ts
|
|
163605
|
-
import { z as
|
|
163606
|
-
var WebsearchProviderSchema =
|
|
163607
|
-
var WebsearchConfigSchema =
|
|
163632
|
+
import { z as z48 } from "zod";
|
|
163633
|
+
var WebsearchProviderSchema = z48.enum(["exa", "tavily"]);
|
|
163634
|
+
var WebsearchConfigSchema = z48.object({
|
|
163608
163635
|
provider: WebsearchProviderSchema.optional()
|
|
163609
163636
|
});
|
|
163610
163637
|
|
|
163611
163638
|
// packages/omo-opencode/src/config/schema/oh-my-opencode-config.ts
|
|
163612
|
-
var OhMyOpenCodeConfigSchema =
|
|
163613
|
-
$schema:
|
|
163614
|
-
new_task_system_enabled:
|
|
163615
|
-
default_run_agent:
|
|
163616
|
-
agent_order:
|
|
163639
|
+
var OhMyOpenCodeConfigSchema = z49.object({
|
|
163640
|
+
$schema: z49.string().optional(),
|
|
163641
|
+
new_task_system_enabled: z49.boolean().optional(),
|
|
163642
|
+
default_run_agent: z49.string().optional(),
|
|
163643
|
+
agent_order: z49.array(z49.string().max(128)).max(64).optional(),
|
|
163617
163644
|
agent_definitions: AgentDefinitionsConfigSchema,
|
|
163618
|
-
disabled_mcps:
|
|
163619
|
-
disabled_agents:
|
|
163620
|
-
disabled_skills:
|
|
163621
|
-
disabled_hooks:
|
|
163622
|
-
disabled_commands:
|
|
163623
|
-
disabled_tools:
|
|
163624
|
-
disabled_providers:
|
|
163625
|
-
mcp_env_allowlist:
|
|
163626
|
-
hashline_edit:
|
|
163627
|
-
telemetry:
|
|
163628
|
-
model_fallback:
|
|
163645
|
+
disabled_mcps: z49.array(AnyMcpNameSchema).optional(),
|
|
163646
|
+
disabled_agents: z49.array(z49.string()).optional(),
|
|
163647
|
+
disabled_skills: z49.array(z49.string()).optional(),
|
|
163648
|
+
disabled_hooks: z49.array(z49.string()).optional(),
|
|
163649
|
+
disabled_commands: z49.array(BuiltinCommandNameSchema).optional(),
|
|
163650
|
+
disabled_tools: z49.array(z49.string()).optional(),
|
|
163651
|
+
disabled_providers: z49.array(z49.string()).optional(),
|
|
163652
|
+
mcp_env_allowlist: z49.array(z49.string()).optional(),
|
|
163653
|
+
hashline_edit: z49.boolean().optional(),
|
|
163654
|
+
telemetry: z49.boolean().optional().describe("Enable or disable anonymous telemetry. Default: enabled when omitted. Set to false to disable. Independent of codegraph.telemetry."),
|
|
163655
|
+
model_fallback: z49.boolean().optional(),
|
|
163629
163656
|
agents: AgentOverridesSchema.optional(),
|
|
163630
163657
|
categories: CategoriesConfigSchema.optional(),
|
|
163631
163658
|
claude_code: ClaudeCodeConfigSchema.optional(),
|
|
163632
163659
|
sisyphus_agent: SisyphusAgentConfigSchema.optional(),
|
|
163633
163660
|
comment_checker: CommentCheckerConfigSchema.optional(),
|
|
163634
163661
|
experimental: ExperimentalConfigSchema.optional(),
|
|
163635
|
-
auto_update:
|
|
163662
|
+
auto_update: z49.boolean().optional(),
|
|
163636
163663
|
skills: SkillsConfigSchema.optional(),
|
|
163637
163664
|
ralph_loop: RalphLoopConfigSchema.optional(),
|
|
163638
|
-
runtime_fallback:
|
|
163665
|
+
runtime_fallback: z49.union([z49.boolean(), RuntimeFallbackConfigSchema]).optional(),
|
|
163639
163666
|
background_task: BackgroundTaskConfigSchema.optional(),
|
|
163640
163667
|
notification: NotificationConfigSchema.optional(),
|
|
163641
163668
|
model_capabilities: ModelCapabilitiesConfigSchema.optional(),
|
|
@@ -163658,7 +163685,7 @@ var OhMyOpenCodeConfigSchema = z48.object({
|
|
|
163658
163685
|
sisyphus: SisyphusConfigSchema.optional(),
|
|
163659
163686
|
start_work: StartWorkConfigSchema.optional(),
|
|
163660
163687
|
default_mode: DefaultModeConfigSchema.optional(),
|
|
163661
|
-
_migrations:
|
|
163688
|
+
_migrations: z49.array(z49.string()).optional()
|
|
163662
163689
|
});
|
|
163663
163690
|
// packages/omo-opencode/src/shared/disabled-providers.ts
|
|
163664
163691
|
init_logger2();
|
|
@@ -164162,7 +164189,7 @@ init_logger2();
|
|
|
164162
164189
|
// packages/telemetry-core/src/activity-state.ts
|
|
164163
164190
|
init_atomic_write();
|
|
164164
164191
|
init_xdg_data_dir();
|
|
164165
|
-
import { existsSync as existsSync117, mkdirSync as mkdirSync24, readFileSync as
|
|
164192
|
+
import { existsSync as existsSync117, mkdirSync as mkdirSync24, readFileSync as readFileSync80 } from "fs";
|
|
164166
164193
|
import { basename as basename27, join as join136 } from "path";
|
|
164167
164194
|
var POSTHOG_ACTIVITY_STATE_FILE = "posthog-activity.json";
|
|
164168
164195
|
function resolveTelemetryStateDir(product, options = {}) {
|
|
@@ -164206,7 +164233,7 @@ function readPostHogActivityState(stateDir, diagnostics) {
|
|
|
164206
164233
|
return {};
|
|
164207
164234
|
}
|
|
164208
164235
|
try {
|
|
164209
|
-
const stateContent =
|
|
164236
|
+
const stateContent = readFileSync80(stateFilePath, "utf-8");
|
|
164210
164237
|
const stateJson = JSON.parse(stateContent);
|
|
164211
164238
|
if (!isPostHogActivityState(stateJson)) {
|
|
164212
164239
|
return {};
|