oh-my-opencode 4.19.2 → 4.19.4
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/get-unpublished-changes.md +2 -0
- package/.agents/command/omomomo.md +1 -1
- package/.agents/command/publish.md +102 -28
- package/.agents/skills/get-unpublished-changes/SKILL.md +2 -0
- package/.agents/skills/hyperplan/SKILL.md +3 -3
- package/.agents/skills/omomomo/SKILL.md +1 -1
- package/.agents/skills/publish/SKILL.md +27 -6
- package/.opencode/command/get-unpublished-changes.md +2 -0
- package/.opencode/command/omomomo.md +1 -1
- package/.opencode/command/publish.md +102 -28
- package/.opencode/skills/hyperplan/SKILL.md +3 -3
- package/THIRD-PARTY-NOTICES.md +7 -7
- package/dist/agents/sisyphus-junior/agent.d.ts +1 -1
- package/dist/agents/sisyphus-runtime-prompt-reconciler.d.ts +1 -1
- package/dist/cli/config-migrate.d.ts +8 -0
- package/dist/cli/doctor/checks/deprecated-reasoning-keys.d.ts +2 -0
- package/dist/cli/doctor/checks/legacy-config-leftovers.d.ts +10 -0
- package/dist/cli/doctor/checks/model-resolution-config.d.ts +1 -1
- package/dist/cli/doctor/checks/tools-lsp.d.ts +1 -1
- package/dist/cli/doctor/framework/constants.d.ts +1 -1
- package/dist/cli/index.js +95684 -92814
- package/dist/cli-node/index.js +95650 -92780
- package/dist/config/schema/agent-overrides.d.ts +800 -0
- package/dist/config/schema/categories.d.ts +132 -0
- package/dist/config/schema/fallback-models.d.ts +50 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +818 -2
- package/dist/config/validate.d.ts +2 -1
- package/dist/config-migration/deep-diff.d.ts +1 -0
- package/dist/config-migration/discovery-paths.d.ts +11 -0
- package/dist/config-migration/discovery-roots.d.ts +7 -0
- package/dist/config-migration/discovery.d.ts +4 -0
- package/dist/config-migration/index.d.ts +10 -0
- package/dist/config-migration/legacy-history.d.ts +3 -0
- package/dist/config-migration/migration-executor.d.ts +4 -0
- package/dist/config-migration/migration-plans.d.ts +15 -0
- package/dist/config-migration/reasoning-unification.d.ts +3 -0
- package/dist/config-migration/record-values.d.ts +4 -0
- package/dist/config-migration/schema-url.d.ts +1 -0
- package/dist/config-migration/transform-config-jsonc.d.ts +2 -0
- package/dist/config-migration/transform-opencode.d.ts +2 -0
- package/dist/config-migration/transform-types.d.ts +24 -0
- package/dist/config-migration/types.d.ts +39 -0
- package/dist/features/builtin-commands/templates/hyperplan.d.ts +1 -1
- package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +2 -0
- package/dist/hooks/auto-update-checker/constants.d.ts +3 -3
- package/dist/hooks/codegraph-bootstrap/command-runner.d.ts +1 -0
- package/dist/hooks/model-fallback/next-fallback.d.ts +1 -0
- package/dist/hooks/runtime-fallback/constants.d.ts +1 -1
- package/dist/index.js +12368 -9788
- package/dist/oh-my-opencode.schema.json +1672 -8
- package/dist/plugin-config/omo-config-chain.d.ts +14 -0
- package/dist/plugin-config/unknown-key-diagnostics.d.ts +5 -0
- package/dist/plugin-config.d.ts +2 -2
- package/dist/plugin-handlers/prometheus-agent-config-builder.d.ts +1 -0
- package/dist/shared/agent-display-names.d.ts +1 -1
- package/dist/shared/agent-variant.d.ts +11 -0
- package/dist/shared/jsonc-parser.d.ts +1 -1
- package/dist/shared/migration.d.ts +5 -1
- package/dist/shared/opencode-config-dir-types.d.ts +0 -1
- package/dist/shared/plugin-identity.d.ts +6 -8
- package/dist/shared/project-discovery-dirs.d.ts +0 -1
- package/dist/shared/session-prompt-params-helpers.d.ts +6 -1
- package/dist/skills/coding-agent-sessions/SKILL.md +4 -3
- package/dist/skills/coding-agent-sessions/references/all-platforms.md +3 -1
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +140 -0
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +3 -0
- package/dist/skills/data-scientist/SKILL.md +243 -0
- package/dist/skills/data-scientist/references/common-scenarios.md +176 -0
- package/dist/skills/data-scientist/references/execution-templates.md +197 -0
- package/dist/skills/data-scientist/references/integration-patterns.md +153 -0
- package/dist/skills/data-scientist/references/performance-benchmarks.md +37 -0
- package/dist/skills/data-scientist/references/uv-setup.md +78 -0
- package/dist/skills/data-scientist/scripts/quick-query.py +111 -0
- package/dist/skills/data-scientist/scripts/setup-uv.ps1 +53 -0
- package/dist/skills/data-scientist/scripts/setup-uv.sh +60 -0
- package/dist/skills/debugging/SKILL.md +1 -1
- package/dist/skills/frontend/ATTRIBUTION.md +7 -0
- package/dist/skills/frontend/SKILL.md +4 -1
- package/dist/skills/frontend/references/design/README.md +8 -0
- package/dist/skills/frontend/references/design/_INDEX.md +14 -1
- package/dist/skills/frontend/references/design/interaction-skill.md +144 -0
- package/dist/skills/programming/SKILL.md +1 -2
- package/dist/skills/ulw-plan/SKILL.md +1 -1
- package/dist/skills/ulw-research/SKILL.md +122 -11
- package/dist/startup-migration.d.ts +28 -0
- package/dist/testing/create-plugin-module.d.ts +4 -0
- package/dist/tools/delegate-task/builtin-categories.d.ts +1 -0
- package/dist/tools/delegate-task/builtin-category-definition.d.ts +1 -0
- package/dist/tools/delegate-task/constants.d.ts +1 -1
- package/dist/tui.js +6040 -5443
- package/package.json +13 -13
- package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +21 -5
- package/packages/lsp-core/src/lsp/fixtures/workspace-edit-server.mjs +11 -2
- package/packages/omo-codex/THIRD-PARTY-NOTICES.md +2 -2
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +21 -3
- 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/AGENTS.md +11 -5
- package/packages/omo-codex/plugin/components/codegraph/NOTICE +1 -1
- package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +10373 -2570
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +7502 -574
- package/packages/omo-codex/plugin/components/codegraph/package.json +2 -2
- package/packages/omo-codex/plugin/components/codegraph/src/hook-input.ts +33 -0
- package/packages/omo-codex/plugin/components/codegraph/src/hook-types.ts +36 -10
- package/packages/omo-codex/plugin/components/codegraph/src/hook.ts +164 -159
- package/packages/omo-codex/plugin/components/codegraph/src/post-tool-use-hook.ts +34 -0
- package/packages/omo-codex/plugin/components/codegraph/src/serve.ts +20 -2
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-command.ts +106 -0
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-cooldown.ts +145 -0
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-hook-runtime.ts +21 -0
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-lock.ts +139 -0
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-outcome.ts +15 -0
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-paths.ts +32 -0
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-project.ts +109 -0
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker-result.ts +148 -0
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker.ts +126 -175
- package/packages/omo-codex/plugin/components/codegraph/test/hook-exclusion.test.ts +4 -4
- package/packages/omo-codex/plugin/components/codegraph/test/hook-session-start-guard.test.ts +160 -0
- package/packages/omo-codex/plugin/components/codegraph/test/hook-store-upgrade.test.ts +12 -138
- package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +34 -24
- package/packages/omo-codex/plugin/components/codegraph/test/mcp-bridge-fixtures.ts +3 -3
- package/packages/omo-codex/plugin/components/codegraph/test/package-runtime.test.ts +2 -2
- package/packages/omo-codex/plugin/components/codegraph/test/provisioned-node-guard.test.ts +5 -5
- package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge.test.ts +3 -3
- package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-facade.test.ts +1 -1
- package/packages/omo-codex/plugin/components/codegraph/test/serve-provision.test.ts +45 -0
- package/packages/omo-codex/plugin/components/codegraph/test/serve-unavailable.test.ts +2 -2
- package/packages/omo-codex/plugin/components/codegraph/test/session-start-node-support.test.ts +70 -13
- package/packages/omo-codex/plugin/components/codegraph/test/session-start-project.test.ts +58 -0
- package/packages/omo-codex/plugin/components/codegraph/test/session-start-state.test.ts +104 -0
- package/packages/omo-codex/plugin/components/codegraph/test/session-start-trust-boundary.test.ts +4 -2
- package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-cooldown.test.ts +116 -0
- package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-flow.test.ts +58 -57
- 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 +2 -2
- 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/dist/cli.js +32 -15
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +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/ultrawork/skills/ulw-plan/SKILL.md +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 +17 -0
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +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 +42 -41
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +6 -0
- package/packages/omo-codex/plugin/shared/src/config-loader.ts +165 -16
- package/packages/omo-codex/plugin/shared/src/config-migration.ts +162 -0
- package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +186 -9
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +4 -3
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +3 -1
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +140 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +3 -0
- package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +243 -0
- package/packages/omo-codex/plugin/skills/data-scientist/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/common-scenarios.md +176 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/execution-templates.md +197 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/integration-patterns.md +153 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/performance-benchmarks.md +37 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/uv-setup.md +78 -0
- package/packages/omo-codex/plugin/skills/data-scientist/scripts/quick-query.py +111 -0
- package/packages/omo-codex/plugin/skills/data-scientist/scripts/setup-uv.ps1 +53 -0
- package/packages/omo-codex/plugin/skills/data-scientist/scripts/setup-uv.sh +60 -0
- package/packages/omo-codex/plugin/skills/debugging/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +7 -0
- package/packages/omo-codex/plugin/skills/frontend/SKILL.md +4 -1
- package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +8 -0
- package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +14 -1
- package/packages/omo-codex/plugin/skills/frontend/references/design/interaction-skill.md +144 -0
- package/packages/omo-codex/plugin/skills/programming/SKILL.md +1 -2
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +17 -0
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +121 -11
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +7 -0
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +12 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +24 -5
- package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +4 -3
- package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +3 -1
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +140 -0
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +3 -0
- package/packages/shared-skills/skills/data-scientist/SKILL.md +243 -0
- package/packages/shared-skills/skills/data-scientist/references/common-scenarios.md +176 -0
- package/packages/shared-skills/skills/data-scientist/references/execution-templates.md +197 -0
- package/packages/shared-skills/skills/data-scientist/references/integration-patterns.md +153 -0
- package/packages/shared-skills/skills/data-scientist/references/performance-benchmarks.md +37 -0
- package/packages/shared-skills/skills/data-scientist/references/uv-setup.md +78 -0
- package/packages/shared-skills/skills/data-scientist/scripts/quick-query.py +111 -0
- package/packages/shared-skills/skills/data-scientist/scripts/setup-uv.ps1 +53 -0
- package/packages/shared-skills/skills/data-scientist/scripts/setup-uv.sh +60 -0
- package/packages/shared-skills/skills/debugging/SKILL.md +1 -1
- package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +7 -0
- package/packages/shared-skills/skills/frontend/SKILL.md +4 -1
- package/packages/shared-skills/skills/frontend/references/design/README.md +8 -0
- package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +14 -1
- package/packages/shared-skills/skills/frontend/references/design/interaction-skill.md +144 -0
- package/packages/shared-skills/skills/programming/SKILL.md +1 -2
- package/packages/shared-skills/skills/ulw-plan/SKILL.md +1 -1
- package/packages/shared-skills/skills/ulw-research/SKILL.md +122 -11
- package/dist/plugin-config/layered-config-loader.d.ts +0 -2
- package/dist/plugin-config/single-config-loader.d.ts +0 -4
- package/dist/shared/migrate-legacy-config-file.d.ts +0 -1
- package/dist/shared/migration/config-migration.d.ts +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-opencode",
|
|
3
|
-
"version": "4.19.
|
|
3
|
+
"version": "4.19.4",
|
|
4
4
|
"description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -212,18 +212,18 @@
|
|
|
212
212
|
"typescript": "^7.0.2"
|
|
213
213
|
},
|
|
214
214
|
"optionalDependencies": {
|
|
215
|
-
"oh-my-opencode-darwin-arm64": "4.19.
|
|
216
|
-
"oh-my-opencode-darwin-x64": "4.19.
|
|
217
|
-
"oh-my-opencode-darwin-x64-baseline": "4.19.
|
|
218
|
-
"oh-my-opencode-linux-arm64": "4.19.
|
|
219
|
-
"oh-my-opencode-linux-arm64-musl": "4.19.
|
|
220
|
-
"oh-my-opencode-linux-x64": "4.19.
|
|
221
|
-
"oh-my-opencode-linux-x64-baseline": "4.19.
|
|
222
|
-
"oh-my-opencode-linux-x64-musl": "4.19.
|
|
223
|
-
"oh-my-opencode-linux-x64-musl-baseline": "4.19.
|
|
224
|
-
"oh-my-opencode-windows-arm64": "4.19.
|
|
225
|
-
"oh-my-opencode-windows-x64": "4.19.
|
|
226
|
-
"oh-my-opencode-windows-x64-baseline": "4.19.
|
|
215
|
+
"oh-my-opencode-darwin-arm64": "4.19.4",
|
|
216
|
+
"oh-my-opencode-darwin-x64": "4.19.4",
|
|
217
|
+
"oh-my-opencode-darwin-x64-baseline": "4.19.4",
|
|
218
|
+
"oh-my-opencode-linux-arm64": "4.19.4",
|
|
219
|
+
"oh-my-opencode-linux-arm64-musl": "4.19.4",
|
|
220
|
+
"oh-my-opencode-linux-x64": "4.19.4",
|
|
221
|
+
"oh-my-opencode-linux-x64-baseline": "4.19.4",
|
|
222
|
+
"oh-my-opencode-linux-x64-musl": "4.19.4",
|
|
223
|
+
"oh-my-opencode-linux-x64-musl-baseline": "4.19.4",
|
|
224
|
+
"oh-my-opencode-windows-arm64": "4.19.4",
|
|
225
|
+
"oh-my-opencode-windows-x64": "4.19.4",
|
|
226
|
+
"oh-my-opencode-windows-x64-baseline": "4.19.4"
|
|
227
227
|
},
|
|
228
228
|
"overrides": {
|
|
229
229
|
"@earendil-works/pi-agent-core": "0.80.3",
|
|
@@ -51,21 +51,23 @@ describe("LspClient diagnostics freshness", () => {
|
|
|
51
51
|
{
|
|
52
52
|
trigger: "didChange",
|
|
53
53
|
diagnostics: [diagnostic("post-generation-versionless")],
|
|
54
|
+
awaitClientDelivery: true,
|
|
54
55
|
},
|
|
55
56
|
],
|
|
56
57
|
},
|
|
57
58
|
{ diagnosticsFreshnessTimeoutMs: 80, versionlessPublishQuiescenceMs: 20 },
|
|
58
59
|
);
|
|
59
60
|
await context.client.openFile(context.source);
|
|
60
|
-
|
|
61
|
+
const versionlessDelivery = waitForEventCount(
|
|
61
62
|
context.events,
|
|
62
|
-
(event) => event.type === "
|
|
63
|
+
(event) => event.type === "clientResponse" && event.method === "workspace/configuration",
|
|
63
64
|
1,
|
|
64
65
|
);
|
|
66
|
+
const startedAt = Date.now();
|
|
65
67
|
writeFileSync(context.source, "const after = 1;\n", "utf-8");
|
|
66
68
|
await context.client.openFile(context.source);
|
|
69
|
+
expect(await versionlessDelivery).toHaveLength(1);
|
|
67
70
|
|
|
68
|
-
const startedAt = Date.now();
|
|
69
71
|
const result = await context.client.diagnostics(context.source);
|
|
70
72
|
const elapsedMs = Date.now() - startedAt;
|
|
71
73
|
|
|
@@ -104,14 +106,21 @@ describe("LspClient diagnostics freshness", () => {
|
|
|
104
106
|
trigger: "didChange",
|
|
105
107
|
version: 1,
|
|
106
108
|
diagnostics: [diagnostic("stale")],
|
|
109
|
+
awaitClientDelivery: true,
|
|
107
110
|
},
|
|
108
111
|
],
|
|
109
112
|
},
|
|
110
113
|
{ diagnosticsFreshnessTimeoutMs: 100, versionlessPublishQuiescenceMs: 5 },
|
|
111
114
|
);
|
|
112
115
|
await stale.client.openFile(stale.source);
|
|
116
|
+
const staleDelivery = waitForEventCount(
|
|
117
|
+
stale.events,
|
|
118
|
+
(event) => event.type === "clientResponse" && event.method === "workspace/configuration",
|
|
119
|
+
1,
|
|
120
|
+
);
|
|
113
121
|
writeFileSync(stale.source, "const stale = 1;\n", "utf-8");
|
|
114
122
|
await stale.client.openFile(stale.source);
|
|
123
|
+
expect(await staleDelivery).toHaveLength(1);
|
|
115
124
|
|
|
116
125
|
const staleResult = await stale.client.diagnostics(stale.source);
|
|
117
126
|
|
|
@@ -127,14 +136,21 @@ describe("LspClient diagnostics freshness", () => {
|
|
|
127
136
|
trigger: "didChange",
|
|
128
137
|
version: 3,
|
|
129
138
|
diagnostics: [diagnostic("future")],
|
|
139
|
+
awaitClientDelivery: true,
|
|
130
140
|
},
|
|
131
141
|
],
|
|
132
142
|
},
|
|
133
143
|
{ diagnosticsFreshnessTimeoutMs: 100, versionlessPublishQuiescenceMs: 5 },
|
|
134
144
|
);
|
|
135
145
|
await future.client.openFile(future.source);
|
|
146
|
+
const futureDelivery = waitForEventCount(
|
|
147
|
+
future.events,
|
|
148
|
+
(event) => event.type === "clientResponse" && event.method === "workspace/configuration",
|
|
149
|
+
1,
|
|
150
|
+
);
|
|
136
151
|
writeFileSync(future.source, "const future = 1;\n", "utf-8");
|
|
137
152
|
await future.client.openFile(future.source);
|
|
153
|
+
expect(await futureDelivery).toHaveLength(1);
|
|
138
154
|
|
|
139
155
|
const futureResult = await future.client.diagnostics(future.source);
|
|
140
156
|
|
|
@@ -284,7 +300,7 @@ describe("LspClient diagnostics freshness", () => {
|
|
|
284
300
|
{ error: { code: -32601, message: "Method not found" } },
|
|
285
301
|
],
|
|
286
302
|
},
|
|
287
|
-
{ diagnosticsFreshnessTimeoutMs:
|
|
303
|
+
{ diagnosticsFreshnessTimeoutMs: 500, versionlessPublishQuiescenceMs: 5 },
|
|
288
304
|
);
|
|
289
305
|
|
|
290
306
|
const first = await context.client.diagnostics(context.source);
|
|
@@ -307,7 +323,7 @@ describe("LspClient diagnostics freshness", () => {
|
|
|
307
323
|
{ error: { code: -32601, message: "Method not found" } },
|
|
308
324
|
],
|
|
309
325
|
},
|
|
310
|
-
{ diagnosticsFreshnessTimeoutMs:
|
|
326
|
+
{ diagnosticsFreshnessTimeoutMs: 500, versionlessPublishQuiescenceMs: 5 },
|
|
311
327
|
);
|
|
312
328
|
|
|
313
329
|
const first = await context.client.diagnostics(context.source);
|
|
@@ -51,6 +51,14 @@ function finishRename(context) {
|
|
|
51
51
|
}, delay);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
function sendPublishDeliveryBarrier() {
|
|
55
|
+
const id = nextServerRequestId;
|
|
56
|
+
nextServerRequestId += 1;
|
|
57
|
+
pendingServerRequests.set(String(id), { kind: "publishDeliveryBarrier", method: "workspace/configuration" });
|
|
58
|
+
record({ type: "serverRequest", method: "workspace/configuration", id });
|
|
59
|
+
send({ jsonrpc: "2.0", id, method: "workspace/configuration", params: { items: [] } });
|
|
60
|
+
}
|
|
61
|
+
|
|
54
62
|
function schedulePublish(step, fallbackUri, fallbackVersion) {
|
|
55
63
|
const delay = Number(step.delayMs ?? 0);
|
|
56
64
|
setTimeout(() => {
|
|
@@ -61,6 +69,7 @@ function schedulePublish(step, fallbackUri, fallbackVersion) {
|
|
|
61
69
|
};
|
|
62
70
|
record({ type: "serverNotification", method: "textDocument/publishDiagnostics", params });
|
|
63
71
|
send({ jsonrpc: "2.0", method: "textDocument/publishDiagnostics", params });
|
|
72
|
+
if (step.awaitClientDelivery === true) sendPublishDeliveryBarrier();
|
|
64
73
|
}, delay);
|
|
65
74
|
}
|
|
66
75
|
|
|
@@ -79,11 +88,11 @@ function handleClientResponse(message) {
|
|
|
79
88
|
pendingServerRequests.delete(String(message.id));
|
|
80
89
|
record({
|
|
81
90
|
type: "clientResponse",
|
|
82
|
-
method: "workspace/applyEdit",
|
|
91
|
+
method: context.method ?? "workspace/applyEdit",
|
|
83
92
|
result: message.result ?? null,
|
|
84
93
|
error: message.error ?? null,
|
|
85
94
|
});
|
|
86
|
-
if (context.kind === "unscoped") return;
|
|
95
|
+
if (context.kind === "publishDeliveryBarrier" || context.kind === "unscoped") return;
|
|
87
96
|
if (typeof context.pendingApplyResponses === "number") {
|
|
88
97
|
context.pendingApplyResponses -= 1;
|
|
89
98
|
if (context.pendingApplyResponses > 0) return;
|
|
@@ -7,13 +7,13 @@ payloads, and component NOTICE files.
|
|
|
7
7
|
|
|
8
8
|
## Components
|
|
9
9
|
|
|
10
|
-
### @colbymchenry/codegraph@1.0
|
|
10
|
+
### @colbymchenry/codegraph@1.5.0
|
|
11
11
|
- License: MIT, from npm package metadata and root third-party notice inspection.
|
|
12
12
|
- Copyright: CodeGraph contributors.
|
|
13
13
|
- Upstream URL: https://www.npmjs.com/package/@colbymchenry/codegraph
|
|
14
14
|
- Where-bundled: optional runtime dependency of `plugin/components/codegraph`.
|
|
15
15
|
|
|
16
|
-
### @colbymchenry/codegraph platform bundles@1.0
|
|
16
|
+
### @colbymchenry/codegraph platform bundles@1.5.0
|
|
17
17
|
- License: MIT for CodeGraph package metadata; bundled payloads also include a Node.js v24.16.0 runtime and vendored JavaScript/WASM dependencies. The Codex CodeGraph component ships the Node.js runtime license and bundled third-party license text at `plugin/components/codegraph/NODE-RUNTIME-LICENSES.md`.
|
|
18
18
|
- Copyright: CodeGraph contributors, Node.js contributors, and bundled dependency contributors.
|
|
19
19
|
- Upstream URL: https://www.npmjs.com/package/@colbymchenry/codegraph
|
|
@@ -1420,7 +1420,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
1420
1420
|
"explorer",
|
|
1421
1421
|
[
|
|
1422
1422
|
{
|
|
1423
|
-
previous: { model: "gpt-5.
|
|
1423
|
+
previous: { model: "gpt-5.6-luna-fast", effort: "low" },
|
|
1424
1424
|
current: { model: "gpt-5.6-terra", effort: "medium" }
|
|
1425
1425
|
},
|
|
1426
1426
|
{
|
|
@@ -1433,7 +1433,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
1433
1433
|
"librarian",
|
|
1434
1434
|
[
|
|
1435
1435
|
{
|
|
1436
|
-
previous: { model: "gpt-5.
|
|
1436
|
+
previous: { model: "gpt-5.6-luna-fast", effort: "low" },
|
|
1437
1437
|
current: { model: "gpt-5.6-terra", effort: "medium" }
|
|
1438
1438
|
},
|
|
1439
1439
|
{
|
|
@@ -2826,6 +2826,24 @@ function stripUnquotedInlineComment3(line) {
|
|
|
2826
2826
|
|
|
2827
2827
|
// ../src/install/codex-config-reasoning.ts
|
|
2828
2828
|
var MANAGED_KEYS = ["model", "model_context_window", "model_reasoning_effort", "plan_mode_reasoning_effort"];
|
|
2829
|
+
var CODEX_REASONING_BY_UNIFIED_LEVEL = {
|
|
2830
|
+
off: "none",
|
|
2831
|
+
none: "none",
|
|
2832
|
+
minimal: "minimal",
|
|
2833
|
+
low: "low",
|
|
2834
|
+
medium: "medium",
|
|
2835
|
+
high: "high",
|
|
2836
|
+
xhigh: "xhigh",
|
|
2837
|
+
max: "max"
|
|
2838
|
+
};
|
|
2839
|
+
function applyReasoningOverride(catalog, reasoning) {
|
|
2840
|
+
if (reasoning === undefined)
|
|
2841
|
+
return catalog;
|
|
2842
|
+
const wireEffort = CODEX_REASONING_BY_UNIFIED_LEVEL[reasoning.trim().toLowerCase()];
|
|
2843
|
+
if (wireEffort === undefined)
|
|
2844
|
+
return catalog;
|
|
2845
|
+
return { ...catalog, current: { ...catalog.current, modelReasoningEffort: wireEffort } };
|
|
2846
|
+
}
|
|
2829
2847
|
function ensureCodexReasoningConfig(config, catalog) {
|
|
2830
2848
|
const current = readRootReasoningSettings(config);
|
|
2831
2849
|
if (Object.keys(current).length > 0 && !matchesProfile(current, catalog.current) && !catalog.managedProfiles.some((profile) => matchesProfile(current, profile))) {
|
|
@@ -3166,7 +3184,7 @@ async function updateCodexConfig(input) {
|
|
|
3166
3184
|
config = ensureFeatureEnabled(config, "plugin_hooks");
|
|
3167
3185
|
config = ensureFeatureEnabled(config, "multi_agent");
|
|
3168
3186
|
config = removeUnsupportedCodexMultiAgentModeConfig(config);
|
|
3169
|
-
config = ensureCodexReasoningConfig(config, await readCodexModelCatalog(input.repoRoot));
|
|
3187
|
+
config = ensureCodexReasoningConfig(config, applyReasoningOverride(await readCodexModelCatalog(input.repoRoot), input.reasoning));
|
|
3170
3188
|
config = ensureCodexMultiAgentV2Config(config, {
|
|
3171
3189
|
multiAgentVersion: resolveCodexMultiAgentVersion(config, input.configPath)
|
|
3172
3190
|
});
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/bootstrap/dist/cli.js\" hook session-start",
|
|
9
9
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\bootstrap.ps1\"",
|
|
10
10
|
"timeout": 30,
|
|
11
|
-
"statusMessage": "(OmO 4.19.
|
|
11
|
+
"statusMessage": "(OmO 4.19.4) Checking Bootstrap Provisioning"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## OVERVIEW
|
|
6
6
|
|
|
7
|
-
`@sisyphuslabs/codex-codegraph` (private, Node >=20, bin `omo-codegraph`). Wraps the external CodeGraph CLI (`@colbymchenry/codegraph`, pinned `1.0
|
|
7
|
+
`@sisyphuslabs/codex-codegraph` (private, Node >=20, bin `omo-codegraph`). Wraps the external CodeGraph CLI (`@colbymchenry/codegraph`, pinned `1.5.0` through the shared `CODEGRAPH_PINNED_VERSION` and the component optionalDependency) behind a stdio MCP server plus Codex lifecycle hooks. Two committed dists ship in the published payload; rebuild `dist/` in the same change as `src/` edits.
|
|
8
8
|
|
|
9
9
|
Codex wiring (all repo-relative to `packages/omo-codex/plugin/`):
|
|
10
10
|
- **MCP:** `.mcp.json` server `codegraph` → `node components/codegraph/dist/serve.js` (`required: false`).
|
|
@@ -14,7 +14,7 @@ Codex wiring (all repo-relative to `packages/omo-codex/plugin/`):
|
|
|
14
14
|
|
|
15
15
|
Serve pipeline (`src/serve.ts`): OMO SOT config gate (`[codex].codegraph.enabled=false` → unavailable stub) → resolve binary (`OMO_CODEGRAPH_BIN` env → bundled → provisioned `~/.omo/codegraph/bin` → PATH) → Node support gate (major 20-24; >=25 crashes CodeGraph mid-indexing; `CODEGRAPH_ALLOW_UNSAFE_NODE=1` overrides) → auto-provision into `~/.omo/codegraph` unless `codegraph.auto_provision=false` → bridge JSON-RPC to `codegraph serve --mcp`. Project cwd resolved from `OMO_CODEGRAPH_PROJECT_CWD` → `OMO_CODEGRAPH_SESSION_START_CWD` → `PWD` → wrapper cwd. When the binary is missing/disabled, `mcp-unavailable.ts` still answers `initialize`/`tools/*` with the skip reason so Codex startup never fails.
|
|
16
16
|
|
|
17
|
-
Hook pipeline (`src/hook.ts` + `src/session-start
|
|
17
|
+
Hook pipeline (`src/hook.ts` + `src/session-start-*.ts`): `hook session-start` checks only the exact filesystem marker `<projectRoot>/.codegraph/codegraph.db`; it never invokes the upstream CLI for status. An exact database skips as initialized, an ancestor database records `skipped-nested-root`, and only a definitive no-database result may acquire the per-project atomic lock and spawn `hook session-start-worker`. Live locks record `skipped-locked`; stale locks recover into an exponential cooldown instead of spawning immediately. Worker failures and skips persist a cooldown stamp (15 minutes by default, doubling to a 24-hour cap; configurable with Codex-only `codegraph.session_start_cooldown_ms`, minimum 60000), while success clears it. The worker prepares the workspace, invokes only `codegraph init` with a 60-second tree timeout, and records success only after the exact project database appears. Hook suppressions and worker outcomes append to `~/.omo/codegraph/session-start.jsonl`. `hook post-tool-use` emits init guidance when a codegraph tool result indicates an uninitialized project. `cli.js` with no hook subcommand falls through to serve.
|
|
18
18
|
|
|
19
19
|
## includeCode CONTRACT (commit 4cf383c5b)
|
|
20
20
|
|
|
@@ -26,8 +26,14 @@ Hook pipeline (`src/hook.ts` + `src/session-start-worker.ts`): `hook session-sta
|
|
|
26
26
|
|------|---------|
|
|
27
27
|
| `src/serve.ts` | MCP entry: config/resolution/Node gates, provisioning, bridge or unavailable stub |
|
|
28
28
|
| `src/cli.ts` | Hook CLI router: `hook session-start` / `hook post-tool-use` / `hook session-start-worker` / serve fallback |
|
|
29
|
-
| `src/hook.ts` | SessionStart
|
|
30
|
-
| `src/
|
|
29
|
+
| `src/hook.ts` | SessionStart exact-root decision pipeline + detached worker spawn |
|
|
30
|
+
| `src/post-tool-use-hook.ts` | PostToolUse init guidance emission |
|
|
31
|
+
| `src/session-start-project.ts` | Exact database and ancestor-coverage filesystem probes |
|
|
32
|
+
| `src/session-start-lock.ts` | Atomic per-project worker lock + stale recovery |
|
|
33
|
+
| `src/session-start-cooldown.ts` | Persistent exponential failure cooldown state |
|
|
34
|
+
| `src/session-start-worker.ts` | Background bootstrap orchestration and lock lifecycle |
|
|
35
|
+
| `src/session-start-command.ts` | Provision/resolve + bounded `codegraph init` invocation |
|
|
36
|
+
| `src/session-start-outcome.ts` | `session-start.jsonl` outcome writer |
|
|
31
37
|
| `src/mcp-bridge.ts` | Stdio JSON-RPC forwarder; per-request framed/line response-mode tracking; codegraph_node contract rewrites; awaits stdio writes and SIGKILLs the child on response-forwarding failure |
|
|
32
38
|
| `src/mcp-unavailable.ts` | Reason-bearing stub MCP server for disabled/missing binary |
|
|
33
39
|
| `src/serve-invocation.ts` | win32 invocation shim: `.cmd`/`.bat` via `cmd.exe /d /s /c`, `.js`/`.mjs`/`.cjs` via `process.execPath` (mirrored by `resolveCodegraphCommandInvocation` in session-start-worker) |
|
|
@@ -46,7 +52,7 @@ Hook pipeline (`src/hook.ts` + `src/session-start-worker.ts`): `hook session-sta
|
|
|
46
52
|
|
|
47
53
|
- This component tests with `bun test` (unlike the vitest-based `lsp` sibling); given/when/then style.
|
|
48
54
|
- `src/` imports reach sibling packages via relative paths (`../../../../../utils/src/...`); they are inlined by `bun build`, so runtime `dist/` has zero deps beyond Node.
|
|
49
|
-
- `
|
|
55
|
+
- `serve.ts` and SessionStart command provisioning derive their version from the shared `CODEGRAPH_PINNED_VERSION`; the component optionalDependency must match that pin.
|
|
50
56
|
- `trustedCodegraphInstallDir` overrides the `~/.omo/codegraph` install dir and is forwarded to children as `CODEGRAPH_INSTALL_DIR`.
|
|
51
57
|
- `resolution.source === "env"` is never auto-provisioned over: a user-set `OMO_CODEGRAPH_BIN` pointing at a missing file skips the MCP instead of silently substituting a download.
|
|
52
58
|
- `runBridgedCodegraphProcess` awaits every stdio write and races `childExit` against response forwarding; a forwarding error (e.g. parent stdout `EPIPE`) rejects the serve promise, destroys the child pipes, and `SIGKILL`s the codegraph child if still alive so a held-open child is never orphaned. Pinned by `test/serve-mcp-bridge-lifecycle.test.ts` and the held-open case in `test/serve-mcp-bridge.test.ts`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
codex-codegraph adapts the CodeGraph MCP runtime for the Codex plugin surface.
|
|
2
2
|
|
|
3
|
-
This component optionally installs @colbymchenry/codegraph@1.0.
|
|
3
|
+
This component optionally installs @colbymchenry/codegraph@1.5.0. That package
|
|
4
4
|
selects platform bundles for darwin, linux, and win32 on arm64 and x64. The
|
|
5
5
|
CodeGraph packages declare MIT license metadata.
|
|
6
6
|
|