oh-my-opencode 5.0.0-beta.3 → 5.0.0-beta.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/command/publish.md +44 -16
- package/.agents/skills/publish/SKILL.md +44 -16
- package/.agents/skills/senpi-qa/SKILL.md +80 -0
- package/.agents/skills/senpi-qa/scripts/resolve-evidence-dir.mjs +65 -0
- package/.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs +171 -0
- package/.agents/skills/work-with-pr/SKILL.md +37 -23
- package/.opencode/command/publish.md +44 -16
- package/.opencode/skills/work-with-pr/SKILL.md +37 -23
- package/README.ja.md +25 -21
- package/README.ko.md +25 -21
- package/README.md +38 -23
- package/README.ru.md +24 -20
- package/README.zh-cn.md +25 -21
- package/dist/agents/atlas/agent.d.ts +0 -1
- package/dist/agents/sisyphus/grok-4.d.ts +20 -0
- package/dist/agents/sisyphus/index.d.ts +2 -0
- package/dist/agents/sisyphus-agent-config.d.ts +6 -0
- package/dist/agents/sisyphus-agent-factory.d.ts +1 -1
- package/dist/agents/sisyphus-runtime-prompt-reconciler.d.ts +15 -4
- package/dist/agents/types.d.ts +2 -2
- package/dist/cli/config-manager/parse-opencode-config-file.d.ts +2 -1
- package/dist/cli/doctor/checks/system-plugin.d.ts +4 -3
- package/dist/cli/fallback-lane-policy.d.ts +1 -0
- package/dist/cli/index.js +22601 -20302
- package/dist/cli/install-codex/install-codex-test-fixtures.d.ts +1 -1
- package/dist/cli/run/on-complete-hook.d.ts +2 -0
- package/dist/cli/runtime-commands.d.ts +1 -1
- package/dist/cli/worktree-sweep/classify.d.ts +16 -0
- package/dist/cli/worktree-sweep/format.d.ts +8 -0
- package/dist/cli/worktree-sweep/git.d.ts +19 -0
- package/dist/cli/worktree-sweep/index.d.ts +7 -0
- package/dist/cli/worktree-sweep/options.d.ts +2 -0
- package/dist/cli/worktree-sweep/parse-worktree-list.d.ts +8 -0
- package/dist/cli/worktree-sweep/sweep.d.ts +2 -0
- package/dist/cli/worktree-sweep/types.d.ts +65 -0
- package/dist/cli/worktree-sweep/worktree-sweep.d.ts +2 -0
- package/dist/cli-node/index.js +22219 -19897
- package/dist/config/schema/background-task.d.ts +1 -0
- package/dist/config/schema/commands.d.ts +1 -1
- package/dist/config/schema/hooks.d.ts +1 -1
- package/dist/config/schema/oh-my-opencode-config.d.ts +5 -1
- package/dist/config/schema/ulw-execute.d.ts +5 -0
- package/dist/config/validate.d.ts +2 -0
- package/dist/create-hooks.d.ts +3 -1
- package/dist/features/background-agent/constants.d.ts +0 -7
- package/dist/features/background-agent/manager.d.ts +2 -1
- package/dist/features/background-agent/parent-wake-dispatched-tracker.d.ts +0 -1
- package/dist/features/background-agent/subagent-spawn-limits.d.ts +8 -0
- package/dist/features/btw-side/btw-command-draft.d.ts +7 -0
- package/dist/features/btw-side/context-injector.d.ts +15 -0
- package/dist/features/btw-side/index.d.ts +8 -0
- package/dist/features/btw-side/metadata.d.ts +15 -0
- package/dist/features/btw-side/parent-context-budget.d.ts +9 -0
- package/dist/features/btw-side/server-session-registry.d.ts +8 -0
- package/dist/features/btw-side/tui-adoption-cache.d.ts +13 -0
- package/dist/features/btw-side/tui-adoption-guard.d.ts +5 -0
- package/dist/features/btw-side/tui-controller-types.d.ts +68 -0
- package/dist/features/btw-side/tui-controller.d.ts +19 -0
- package/dist/features/btw-side/tui-escape-return.d.ts +12 -0
- package/dist/features/btw-side/tui-keymap.d.ts +17 -0
- package/dist/features/btw-side/tui-parent-validator.d.ts +6 -0
- package/dist/features/btw-side/tui-picker-options.d.ts +20 -0
- package/dist/features/btw-side/tui-picker.d.ts +9 -0
- package/dist/features/btw-side/tui-prompt-queue.d.ts +8 -0
- package/dist/features/btw-side/tui-session-bridge.d.ts +11 -0
- package/dist/features/btw-side/tui-session-catalog.d.ts +35 -0
- package/dist/features/btw-side/tui-side-removal.d.ts +11 -0
- package/dist/features/btw-side/tui-side-start.d.ts +9 -0
- package/dist/features/btw-side/tui-wiring.d.ts +8 -0
- package/dist/features/builtin-commands/templates/ulw-execute.d.ts +1 -0
- package/dist/features/builtin-commands/types.d.ts +1 -1
- package/dist/features/opengateway-provider/index.d.ts +13 -0
- package/dist/features/task-toast-manager/manager.d.ts +0 -24
- package/dist/features/team-mode/tools/messaging-fallback-wake.d.ts +15 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/message-storage-directory.d.ts +0 -3
- package/dist/hooks/anthropic-context-window-limit-recovery/state.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/storage/empty-messages.d.ts +0 -1
- package/dist/hooks/atlas/atlas-hook.d.ts +1 -0
- package/dist/hooks/atlas/atlas-lifecycle-store.d.ts +50 -0
- package/dist/hooks/atlas/event-handler.d.ts +1 -0
- package/dist/hooks/atlas/final-wave-approval-gate.test-support.d.ts +50 -0
- package/dist/hooks/atlas/system-reminder-templates.d.ts +0 -1
- package/dist/hooks/atlas/tool-execute-before.d.ts +3 -0
- package/dist/hooks/atlas/types.d.ts +1 -0
- package/dist/hooks/claude-code-hooks/session-hook-state.d.ts +1 -0
- package/dist/hooks/claude-code-hooks/stop.d.ts +2 -0
- package/dist/hooks/claude-code-hooks/todo.d.ts +0 -1
- package/dist/hooks/claude-code-hooks/transcript.d.ts +2 -0
- package/dist/hooks/fsync-skip-warning/index.d.ts +4 -0
- package/dist/hooks/hashline-edit-diff-enhancer/hook.d.ts +1 -0
- package/dist/hooks/hashline-edit-diff-enhancer/pending-captures.d.ts +13 -0
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/keyword-detector/hook.d.ts +7 -0
- package/dist/hooks/keyword-detector/ultrawork/source-detector.d.ts +0 -1
- package/dist/hooks/model-fallback/hook.d.ts +1 -1
- package/dist/hooks/prometheus-md-only/agent-resolution.d.ts +2 -2
- package/dist/hooks/runtime-fallback/chat-message-handler.d.ts +2 -0
- package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +1 -0
- package/dist/hooks/runtime-fallback/runtime-model-settings.d.ts +6 -0
- package/dist/hooks/runtime-fallback/session-status-handler.d.ts +1 -1
- package/dist/hooks/runtime-fallback/types.d.ts +3 -1
- package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +1 -1
- package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
- package/dist/hooks/{start-work → ulw-execute}/context-info-builder.d.ts +1 -1
- package/dist/hooks/{start-work → ulw-execute}/index.d.ts +1 -1
- package/dist/hooks/ulw-execute/ulw-execute-hook.d.ts +23 -0
- package/dist/index.js +12989 -7152
- package/dist/oh-my-opencode.schema.json +20 -2
- package/dist/plugin/chat-message/types.d.ts +3 -3
- package/dist/plugin/chat-message/ulw-execute-message.d.ts +5 -0
- package/dist/plugin/event-session-lifecycle.d.ts +1 -0
- package/dist/plugin/hooks/create-core-hooks.d.ts +2 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts +2 -2
- package/dist/plugin/hooks/create-transform-hooks.d.ts +2 -0
- package/dist/plugin/messages-transform.d.ts +1 -0
- package/dist/plugin-dispose.d.ts +3 -0
- package/dist/shared/agent-tool-restrictions.d.ts +0 -1
- package/dist/shared/index.d.ts +2 -0
- package/dist/shared/legacy-plugin-warning.d.ts +2 -1
- package/dist/shared/normalize-sdk-response.d.ts +1 -0
- package/dist/shared/plugin-entry-migrator.d.ts +4 -3
- package/dist/shared/plugin-entry-shape.d.ts +6 -0
- package/dist/shared/runtime-fallback-retry-marker.d.ts +16 -0
- package/dist/shared/shell-env.d.ts +1 -1
- package/dist/skills/ast-grep/AGENTS.md +51 -0
- package/dist/skills/coding-agent-sessions/AGENTS.md +62 -0
- package/dist/skills/coding-agent-sessions/SKILL.md +3 -2
- package/dist/skills/coding-agent-sessions/references/all-platforms.md +1 -1
- package/dist/skills/coding-agent-sessions/references/senpi.md +4 -4
- package/dist/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
- package/dist/skills/data-scientist/SKILL.md +99 -239
- package/dist/skills/data-scientist/references/execution-surfaces.md +91 -0
- package/dist/skills/data-scientist/references/placement.md +74 -0
- package/dist/skills/data-scientist/references/polars-lane.md +95 -0
- package/dist/skills/data-scientist/references/uv-setup.md +1 -1
- package/dist/skills/data-scientist/references/visualization.md +64 -0
- package/dist/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
- package/dist/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
- package/dist/skills/debugging/SKILL.md +2 -0
- package/dist/skills/debugging/references/methodology/00-setup.md +12 -0
- package/dist/skills/debugging/references/methodology/02-investigate.md +21 -0
- package/dist/skills/debugging/references/runtimes/go.md +15 -1
- package/dist/skills/debugging/references/runtimes/native-binary.md +38 -0
- package/dist/skills/debugging/references/runtimes/node.md +25 -0
- package/dist/skills/debugging/references/runtimes/python.md +13 -0
- package/dist/skills/debugging/references/runtimes/rust.md +41 -0
- package/dist/skills/debugging/references/scripts/dap.mjs +267 -0
- package/dist/skills/debugging/references/scripts/dap.test.ts +86 -0
- package/dist/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
- package/dist/skills/debugging/references/tools/dap.md +103 -0
- package/dist/skills/debugging/references/tools/frida.md +193 -0
- package/dist/skills/frontend/SKILL.md +11 -7
- package/dist/skills/frontend/references/design/_INDEX.md +1 -0
- package/dist/skills/frontend/references/design/print-paged-media.md +76 -0
- package/dist/skills/frontend/references/design/stylegallery.md +80 -0
- package/dist/skills/frontend/references/designpowers/README.md +1 -1
- package/dist/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
- package/dist/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
- package/dist/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
- package/dist/skills/frontend/references/designpowers/orchestration.md +1 -1
- package/dist/skills/frontend/references/designpowers/routing.md +5 -5
- package/dist/skills/review-work/SKILL.md +3 -3
- package/dist/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
- package/dist/skills/ultimate-browsing/SKILL.md +2 -0
- package/dist/skills/ultimate-browsing/engine/AGENTS.md +179 -0
- package/dist/skills/ultimate-browsing/engine/templates/package.json +1 -1
- package/dist/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
- package/dist/skills/{start-work → ulw-execute}/SKILL.md +9 -8
- package/dist/skills/ulw-plan/SKILL.md +6 -6
- package/dist/skills/ulw-plan/references/full-workflow.md +31 -7
- package/dist/skills/ulw-plan/references/intent-clear.md +2 -1
- package/dist/skills/ulw-plan/references/intent-unclear.md +5 -5
- package/dist/skills/ulw-research/SKILL.md +4 -2
- package/dist/skills/visual-qa/AGENTS.md +58 -0
- package/dist/skills/visual-qa/SKILL.md +3 -2
- 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/sync-session-cleanup.d.ts +3 -0
- package/dist/tools/delegate-task/sync-session-poller.d.ts +1 -0
- package/dist/tools/delegate-task/tool-description.d.ts +3 -1
- package/dist/tools/delegate-task/types.d.ts +4 -0
- package/dist/tui.d.ts +12 -0
- package/dist/tui.js +11522 -11501
- package/package.json +42 -36
- package/packages/git-bash-mcp/dist/cli.js +6 -1
- package/packages/git-bash-mcp/package.json +1 -1
- package/packages/lsp-core/src/index.ts +1 -0
- package/packages/lsp-core/src/lsp/client-diagnostics-concurrency.integration.test.ts +44 -0
- package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +0 -28
- package/packages/lsp-core/src/lsp/client-wrapper-outside-cwd.test.ts +78 -0
- package/packages/lsp-core/src/lsp/client-wrapper.test.ts +163 -13
- package/packages/lsp-core/src/lsp/client-wrapper.ts +110 -23
- package/packages/lsp-core/src/lsp/client.ts +26 -0
- package/packages/lsp-core/src/lsp/connection.ts +16 -0
- package/packages/lsp-core/src/lsp/constants.ts +6 -0
- package/packages/lsp-core/src/lsp/errors.ts +15 -0
- package/packages/lsp-core/src/lsp/format-document.test.ts +143 -0
- package/packages/lsp-core/src/lsp/format-document.ts +90 -0
- package/packages/lsp-core/src/lsp/manager-lifecycle.test.ts +262 -0
- package/packages/lsp-core/src/lsp/manager-max-clients.test.ts +151 -0
- package/packages/lsp-core/src/lsp/manager.ts +138 -12
- package/packages/lsp-core/src/lsp/outside-context-workspace.ts +33 -0
- package/packages/lsp-core/src/lsp/server-definitions.ts +29 -0
- package/packages/lsp-core/src/lsp/server-installation.test.ts +376 -0
- package/packages/lsp-core/src/lsp/server-installation.ts +200 -27
- package/packages/lsp-core/src/lsp/server-resolution-local-binary.test.ts +170 -0
- package/packages/lsp-core/src/lsp/server-resolution.ts +18 -5
- package/packages/lsp-core/src/lsp/transport.ts +9 -0
- package/packages/lsp-core/src/lsp/types.ts +8 -0
- package/packages/lsp-core/src/lsp/workspace-edit-adversarial.test.ts +20 -1
- package/packages/lsp-core/src/lsp/workspace-markers.ts +18 -0
- package/packages/lsp-core/src/mcp.ts +3 -0
- package/packages/lsp-core/src/request-context.test.ts +29 -0
- package/packages/lsp-core/src/request-context.ts +1 -1
- package/packages/lsp-core/src/tool-surface.test.ts +13 -1
- package/packages/lsp-core/src/tools/definitions.ts +14 -0
- package/packages/lsp-core/src/tools/diagnostics.ts +3 -3
- package/packages/lsp-core/src/tools/format.test.ts +56 -0
- package/packages/lsp-core/src/tools/format.ts +56 -0
- package/packages/lsp-core/src/tools/index.ts +1 -0
- package/packages/lsp-core/src/tools/navigation.ts +4 -2
- package/packages/lsp-core/src/tools/rename.ts +4 -2
- package/packages/lsp-core/src/tools/symbols.ts +1 -1
- package/packages/lsp-core/src/tools/types.ts +10 -0
- package/packages/lsp-daemon/dist/cli.js +752 -307
- package/packages/lsp-daemon/dist/client.d.ts +10 -0
- package/packages/lsp-daemon/dist/client.js +712 -264
- package/packages/lsp-daemon/dist/daemon-client.d.ts +1 -0
- package/packages/lsp-daemon/dist/daemon-client.js +3 -0
- package/packages/lsp-daemon/dist/ensure-daemon.js +1 -0
- package/packages/lsp-daemon/dist/index.js +716 -273
- package/packages/lsp-daemon/dist/proxy.js +3 -0
- package/packages/lsp-daemon/dist/version-reap.js +1 -1
- package/packages/lsp-daemon/package.json +1 -1
- package/packages/lsp-tools-mcp/dist/cli.js +671 -228
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +207 -103
- package/packages/lsp-tools-mcp/dist/mcp.js +673 -230
- package/packages/lsp-tools-mcp/dist/request-context.js +12 -13
- package/packages/lsp-tools-mcp/dist/tools.js +677 -238
- package/packages/omo-codex/THIRD-PARTY-NOTICES.md +4 -4
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +4 -4
- package/packages/omo-codex/plugin/AGENTS.md +47 -0
- package/packages/omo-codex/plugin/README.md +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +34 -33
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/src/hook.ts +1 -0
- package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +323 -117
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +275 -85
- package/packages/omo-codex/plugin/components/codegraph/package.json +4 -4
- package/packages/omo-codex/plugin/components/codegraph/src/mcp-bridge.ts +1 -0
- package/packages/omo-codex/plugin/components/codegraph/src/mcp-unavailable.ts +12 -0
- package/packages/omo-codex/plugin/components/codegraph/src/session-start-hook-runtime.ts +1 -0
- package/packages/omo-codex/plugin/components/codegraph/test/serve-unavailable-idle.test.ts +47 -0
- package/packages/omo-codex/plugin/components/comment-checker/AGENTS.md +9 -0
- package/packages/omo-codex/plugin/components/comment-checker/biome.json +2 -2
- package/packages/omo-codex/plugin/components/comment-checker/dist/cli.js +2 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +5 -5
- package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +2 -8
- package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +1 -2
- package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/src/runner.ts +1 -0
- package/packages/omo-codex/plugin/components/git-bash/AGENTS.md +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 +3 -4
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/biome.json +2 -2
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +1 -5
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +1 -5
- 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 +5 -5
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/codex-hook.ts +1 -5
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +4 -21
- package/packages/omo-codex/plugin/components/lsp/AGENTS.md +30 -15
- package/packages/omo-codex/plugin/components/lsp/biome.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +4 -4
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +702 -278
- package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.js +1 -1
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +5 -5
- package/packages/omo-codex/plugin/components/lsp/src/cli.ts +1 -1
- package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +1 -1
- package/packages/omo-codex/plugin/components/lsp/src/daemon-cli-path.ts +1 -5
- package/packages/omo-codex/plugin/components/lsp/test/codex-hook-unavailable.test.ts +6 -7
- package/packages/omo-codex/plugin/components/lsp/test/codex-hook.test.ts +1 -2
- package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +11 -1
- package/packages/omo-codex/plugin/components/rules/AGENTS.md +12 -0
- package/packages/omo-codex/plugin/components/rules/biome.json +2 -2
- package/packages/omo-codex/plugin/components/rules/dist/cli.js +60 -45
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +7 -7
- package/packages/omo-codex/plugin/components/rules/src/config.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/src/persistent-cache.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +9 -5
- package/packages/omo-codex/plugin/components/rules/src/rules-engine-factory.ts +1 -4
- package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +4 -9
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +11 -16
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +17 -25
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +9 -7
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +0 -6
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-dedup.test.ts +6 -4
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-directive.test.ts +12 -9
- package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +28 -37
- package/packages/omo-codex/plugin/components/rules/test/dynamic-target-fingerprints.test.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +7 -4
- package/packages/omo-codex/plugin/components/rules/test/finder.test.ts +2 -3
- package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +39 -72
- package/packages/omo-codex/plugin/components/rules/test/hephaestus-model-variant.test.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +2 -3
- package/packages/omo-codex/plugin/components/rules/test/matcher.test.ts +2 -3
- package/packages/omo-codex/plugin/components/rules/test/package-smoke.test.ts +1 -1
- package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +5 -6
- package/packages/omo-codex/plugin/components/rules/test/rules-engine-consumption.test.ts +3 -6
- package/packages/omo-codex/plugin/components/rules/test/scanner.test.ts +1 -2
- package/packages/omo-codex/plugin/components/rules/test/sources.test.ts +2 -5
- package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +2 -17
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +5 -5
- package/packages/omo-codex/plugin/components/teammode/test/thread-title-hook.test.ts +3 -9
- package/packages/omo-codex/plugin/components/telemetry/AGENTS.md +8 -0
- package/packages/omo-codex/plugin/components/telemetry/biome.json +2 -2
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +2463 -437
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +2467 -441
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +5 -5
- package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +1 -4
- package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +4 -14
- package/packages/omo-codex/plugin/components/telemetry/src/product-identity.ts +1 -1
- package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +2 -5
- package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +5 -0
- package/packages/omo-codex/plugin/components/ultrawork/biome.json +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +13 -1
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +5 -5
- package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +13 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +6 -6
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +31 -7
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-clear.md +2 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +5 -5
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +9 -1
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +0 -136
- package/packages/omo-codex/plugin/components/ultrawork/test/skill-pointer.test.ts +0 -2
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/AGENTS.md +5 -4
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/NOTICE +1 -1
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/README.md +5 -5
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/biome.json +2 -2
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/directive.md +6 -6
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/dist/cli.js +12 -12
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +28 -0
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/package.json +12 -12
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/boulder-reader.ts +1 -1
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/cli.ts +1 -1
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/codex-hook.ts +3 -3
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/directive.ts +1 -1
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/index.ts +1 -1
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/boulder-reader.test.ts +3 -3
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/cli.test.ts +1 -4
- package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/codex-hook.test.ts +8 -22
- package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +17 -0
- package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/biome.json +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/directive.md +13 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +5 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +2 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +11 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +124 -68
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.d.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +9 -6
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.d.ts +4 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +7 -10
- package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.js +3 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +3 -3
- package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.d.ts +15 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.js +50 -0
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +3 -2
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/define-goal.md +108 -0
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +5 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +13 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +3 -5
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +16 -5
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +3 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +3 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +11 -14
- package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-guard.ts +3 -2
- package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +3 -3
- package/packages/omo-codex/plugin/components/ulw-loop/src/surface.ts +73 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-continuation.test.ts +0 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-final.test.ts +44 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +25 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +26 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +27 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +18 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +0 -3
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +7 -3
- package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +5 -37
- package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +9 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +45 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard.test.ts +20 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +8 -5
- package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/surface.test.ts +74 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +4 -5
- package/packages/omo-codex/plugin/components/ulw-loop/vitest.config.ts +1 -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-ulw-execute-continuation.json +17 -0
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +17 -0
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/model-catalog.json +3 -3
- package/packages/omo-codex/plugin/package-lock.json +681 -395
- package/packages/omo-codex/plugin/package.json +2 -2
- package/packages/omo-codex/plugin/scripts/AGENTS.md +40 -0
- package/packages/omo-codex/plugin/scripts/auto-update-plan.mjs +1 -1
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +3 -3
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +11 -11
- package/packages/omo-codex/plugin/shared/package.json +3 -4
- package/packages/omo-codex/plugin/skills/ast-grep/AGENTS.md +51 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/AGENTS.md +62 -0
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +3 -2
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +1 -1
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/senpi.md +4 -4
- package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
- package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +99 -239
- package/packages/omo-codex/plugin/skills/data-scientist/references/execution-surfaces.md +91 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/placement.md +74 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/polars-lane.md +95 -0
- package/packages/omo-codex/plugin/skills/data-scientist/references/uv-setup.md +1 -1
- package/packages/omo-codex/plugin/skills/data-scientist/references/visualization.md +64 -0
- package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
- package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
- package/packages/omo-codex/plugin/skills/debugging/SKILL.md +2 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/00-setup.md +12 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/02-investigate.md +21 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/go.md +15 -1
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/native-binary.md +38 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/node.md +25 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/python.md +13 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/rust.md +41 -0
- package/packages/omo-codex/plugin/skills/debugging/references/scripts/dap.mjs +267 -0
- package/packages/omo-codex/plugin/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
- package/packages/omo-codex/plugin/skills/debugging/references/tools/dap.md +103 -0
- package/packages/omo-codex/plugin/skills/debugging/references/tools/frida.md +193 -0
- package/packages/omo-codex/plugin/skills/frontend/SKILL.md +11 -7
- package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +1 -0
- package/packages/omo-codex/plugin/skills/frontend/references/design/print-paged-media.md +76 -0
- package/packages/omo-codex/plugin/skills/frontend/references/design/stylegallery.md +80 -0
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/README.md +1 -1
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/orchestration.md +1 -1
- package/packages/omo-codex/plugin/skills/frontend/references/designpowers/routing.md +5 -5
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +4 -4
- package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
- package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +2 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +179 -0
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
- package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +13 -1
- package/packages/omo-codex/plugin/skills/{start-work → ulw-execute}/SKILL.md +12 -11
- package/packages/omo-codex/plugin/skills/ulw-execute/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +3 -2
- package/packages/omo-codex/plugin/skills/ulw-loop/references/define-goal.md +108 -0
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +1 -0
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +6 -6
- package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +31 -7
- package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-clear.md +2 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +5 -5
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +4 -2
- package/packages/omo-codex/plugin/skills/visual-qa/AGENTS.md +58 -0
- package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +3 -2
- package/packages/omo-codex/plugin/test/AGENTS.md +47 -0
- package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +19 -173
- package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +8 -28
- package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +175 -13
- package/packages/omo-codex/plugin/test/aggregate.test.mjs +78 -2
- package/packages/omo-codex/plugin/test/auto-update-release-notes.test.mjs +19 -33
- package/packages/omo-codex/plugin/test/auto-update.test.mjs +2 -2
- package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +2 -2
- package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/component-hook-contract-cases.mjs +2 -2
- package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +4 -4
- package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +21 -27
- package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +8 -8
- package/packages/omo-codex/plugin/test/scaffold-plan.test.mjs +0 -36
- package/packages/omo-codex/plugin/test/sync-skills-codex-compatibility.test.mjs +101 -0
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +12 -12
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +1 -119
- package/packages/omo-codex/plugin/test/teammode-archive-ambiguity.test.mjs +0 -40
- package/packages/omo-codex/plugin/test/teammode-communication.test.mjs +6 -62
- package/packages/omo-codex/plugin/test/teammode-thread-links.test.mjs +3 -36
- package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +0 -44
- package/packages/omo-codex/plugin/test/teammode-worktree.test.mjs +2 -6
- package/packages/omo-codex/plugin/test/ultrawork-skill-pointer.test.mjs +0 -3
- package/packages/omo-codex/plugin/test/ulw-plan-review-state-contract.test.mjs +0 -3
- package/packages/omo-codex/scripts/AGENTS.md +36 -0
- package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +2 -2
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +2637 -549
- package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +7 -2
- package/packages/shared-skills/skills/ast-grep/AGENTS.md +51 -0
- package/packages/shared-skills/skills/coding-agent-sessions/AGENTS.md +62 -0
- package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +3 -2
- package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +1 -1
- package/packages/shared-skills/skills/coding-agent-sessions/references/senpi.md +4 -4
- package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
- package/packages/shared-skills/skills/data-scientist/SKILL.md +99 -239
- package/packages/shared-skills/skills/data-scientist/references/execution-surfaces.md +91 -0
- package/packages/shared-skills/skills/data-scientist/references/placement.md +74 -0
- package/packages/shared-skills/skills/data-scientist/references/polars-lane.md +95 -0
- package/packages/shared-skills/skills/data-scientist/references/uv-setup.md +1 -1
- package/packages/shared-skills/skills/data-scientist/references/visualization.md +64 -0
- package/packages/shared-skills/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
- package/packages/shared-skills/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
- package/packages/shared-skills/skills/debugging/SKILL.md +2 -0
- package/packages/shared-skills/skills/debugging/references/methodology/00-setup.md +12 -0
- package/packages/shared-skills/skills/debugging/references/methodology/02-investigate.md +21 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/go.md +15 -1
- package/packages/shared-skills/skills/debugging/references/runtimes/native-binary.md +38 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/node.md +25 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/python.md +13 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/rust.md +41 -0
- package/packages/shared-skills/skills/debugging/references/scripts/dap.mjs +267 -0
- package/packages/shared-skills/skills/debugging/references/scripts/dap.test.ts +86 -0
- package/packages/shared-skills/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
- package/packages/shared-skills/skills/debugging/references/tools/dap.md +103 -0
- package/packages/shared-skills/skills/debugging/references/tools/frida.md +193 -0
- package/packages/shared-skills/skills/frontend/SKILL.md +11 -7
- package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +1 -0
- package/packages/shared-skills/skills/frontend/references/design/print-paged-media.md +76 -0
- package/packages/shared-skills/skills/frontend/references/design/stylegallery.md +80 -0
- package/packages/shared-skills/skills/frontend/references/designpowers/README.md +1 -1
- package/packages/shared-skills/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
- package/packages/shared-skills/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
- package/packages/shared-skills/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
- package/packages/shared-skills/skills/frontend/references/designpowers/orchestration.md +1 -1
- package/packages/shared-skills/skills/frontend/references/designpowers/routing.md +5 -5
- package/packages/shared-skills/skills/review-work/SKILL.md +3 -3
- package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
- package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +2 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +179 -0
- package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +1 -1
- package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
- package/packages/shared-skills/skills/{start-work → ulw-execute}/SKILL.md +9 -8
- package/packages/shared-skills/skills/ulw-plan/SKILL.md +6 -6
- package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +31 -7
- package/packages/shared-skills/skills/ulw-plan/references/intent-clear.md +2 -1
- package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +5 -5
- package/packages/shared-skills/skills/ulw-research/SKILL.md +4 -2
- package/packages/shared-skills/skills/visual-qa/AGENTS.md +58 -0
- package/packages/shared-skills/skills/visual-qa/SKILL.md +3 -2
- package/script/qa/web-terminal-visual-qa.mjs +2 -0
- package/script/qa/xterm-live-terminal.mjs +18 -2
- package/dist/config/schema/start-work.d.ts +0 -5
- package/dist/features/builtin-commands/templates/start-work.d.ts +0 -1
- package/dist/hooks/ralph-loop/completion-promise-detector-test-input.d.ts +0 -11
- package/dist/hooks/ralph-loop/loop-session-recovery.d.ts +0 -7
- package/dist/hooks/start-work/start-work-hook.d.ts +0 -23
- package/dist/plugin/chat-message/start-work-message.d.ts +0 -5
- package/dist/skills/data-scientist/references/common-scenarios.md +0 -176
- package/dist/skills/data-scientist/references/execution-templates.md +0 -197
- package/dist/skills/data-scientist/references/integration-patterns.md +0 -153
- package/dist/skills/data-scientist/references/performance-benchmarks.md +0 -37
- package/dist/tools/call-omo-agent/background-agent-executor.d.ts +0 -5
- package/dist/tools/call-omo-agent/message-storage-directory.d.ts +0 -1
- package/dist/tools/delegate-task/model-string-parser.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.d.ts +0 -1
- package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +0 -1
- package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +0 -28
- package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +0 -17
- package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +0 -17
- package/packages/omo-codex/plugin/skills/data-scientist/references/common-scenarios.md +0 -176
- package/packages/omo-codex/plugin/skills/data-scientist/references/execution-templates.md +0 -197
- package/packages/omo-codex/plugin/skills/data-scientist/references/integration-patterns.md +0 -153
- package/packages/omo-codex/plugin/skills/data-scientist/references/performance-benchmarks.md +0 -37
- package/packages/omo-codex/plugin/skills/start-work/agents/openai.yaml +0 -2
- package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +0 -92
- package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +0 -314
- package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +0 -24
- package/packages/shared-skills/skills/data-scientist/references/common-scenarios.md +0 -176
- package/packages/shared-skills/skills/data-scientist/references/execution-templates.md +0 -197
- package/packages/shared-skills/skills/data-scientist/references/integration-patterns.md +0 -153
- package/packages/shared-skills/skills/data-scientist/references/performance-benchmarks.md +0 -37
- /package/dist/hooks/{start-work → ulw-execute}/context-info-formatters.d.ts +0 -0
- /package/dist/hooks/{start-work → ulw-execute}/explicit-plan-context.d.ts +0 -0
- /package/dist/hooks/{start-work → ulw-execute}/notepad-scaffold.d.ts +0 -0
- /package/dist/hooks/{start-work → ulw-execute}/parse-user-request.d.ts +0 -0
- /package/dist/hooks/{start-work → ulw-execute}/plan-discovery-context.d.ts +0 -0
- /package/dist/hooks/{start-work → ulw-execute}/plan-selection.d.ts +0 -0
- /package/dist/hooks/{start-work → ulw-execute}/session-plan-affinity.d.ts +0 -0
- /package/dist/hooks/{start-work → ulw-execute}/work-initializer.d.ts +0 -0
- /package/dist/hooks/{start-work → ulw-execute}/worktree-block.d.ts +0 -0
- /package/dist/hooks/{start-work → ulw-execute}/worktree-detector.d.ts +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/.gitattributes +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/CHANGELOG.md +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/LICENSE +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/plan-checklist.ts +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/types.ts +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-completed.json +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-mixed-platforms.json +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-single-codex-work.json +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-all-done.md +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-scaffold.md +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-nested-checkboxes.md +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-unchecked.md +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.build.json +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.json +0 -0
- /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/vitest.config.ts +0 -0
|
@@ -483,69 +483,69 @@ function config(newConfig) {
|
|
|
483
483
|
// ../../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/util.js
|
|
484
484
|
var exports_util = {};
|
|
485
485
|
__export(exports_util, {
|
|
486
|
-
|
|
487
|
-
uint8ArrayToHex: () => uint8ArrayToHex,
|
|
488
|
-
uint8ArrayToBase64url: () => uint8ArrayToBase64url,
|
|
489
|
-
uint8ArrayToBase64: () => uint8ArrayToBase64,
|
|
490
|
-
stringifyPrimitive: () => stringifyPrimitive,
|
|
491
|
-
slugify: () => slugify,
|
|
492
|
-
shallowClone: () => shallowClone,
|
|
493
|
-
safeExtend: () => safeExtend,
|
|
494
|
-
required: () => required,
|
|
495
|
-
randomString: () => randomString,
|
|
496
|
-
propertyKeyTypes: () => propertyKeyTypes,
|
|
497
|
-
promiseAllObject: () => promiseAllObject,
|
|
498
|
-
primitiveTypes: () => primitiveTypes,
|
|
499
|
-
prefixIssues: () => prefixIssues,
|
|
500
|
-
pick: () => pick,
|
|
501
|
-
partial: () => partial,
|
|
502
|
-
parsedType: () => parsedType,
|
|
503
|
-
optionalKeys: () => optionalKeys,
|
|
504
|
-
omit: () => omit,
|
|
505
|
-
objectClone: () => objectClone,
|
|
506
|
-
numKeys: () => numKeys,
|
|
507
|
-
nullish: () => nullish,
|
|
508
|
-
normalizeParams: () => normalizeParams,
|
|
509
|
-
mergeDefs: () => mergeDefs,
|
|
510
|
-
merge: () => merge,
|
|
511
|
-
jsonStringifyReplacer: () => jsonStringifyReplacer,
|
|
512
|
-
joinValues: () => joinValues,
|
|
513
|
-
issue: () => issue,
|
|
514
|
-
isPlainObject: () => isPlainObject,
|
|
515
|
-
isObject: () => isObject,
|
|
516
|
-
hexToUint8Array: () => hexToUint8Array,
|
|
517
|
-
getSizableOrigin: () => getSizableOrigin,
|
|
518
|
-
getParsedType: () => getParsedType,
|
|
519
|
-
getLengthableOrigin: () => getLengthableOrigin,
|
|
520
|
-
getEnumValues: () => getEnumValues,
|
|
521
|
-
getElementAtPath: () => getElementAtPath,
|
|
522
|
-
floatSafeRemainder: () => floatSafeRemainder,
|
|
523
|
-
finalizeIssue: () => finalizeIssue,
|
|
524
|
-
extend: () => extend,
|
|
525
|
-
explicitlyAborted: () => explicitlyAborted,
|
|
526
|
-
escapeRegex: () => escapeRegex,
|
|
527
|
-
esc: () => esc,
|
|
528
|
-
defineLazy: () => defineLazy,
|
|
529
|
-
createTransparentProxy: () => createTransparentProxy,
|
|
530
|
-
cloneDef: () => cloneDef,
|
|
531
|
-
clone: () => clone,
|
|
532
|
-
cleanRegex: () => cleanRegex,
|
|
533
|
-
cleanEnum: () => cleanEnum,
|
|
534
|
-
captureStackTrace: () => captureStackTrace,
|
|
535
|
-
cached: () => cached,
|
|
536
|
-
base64urlToUint8Array: () => base64urlToUint8Array,
|
|
537
|
-
base64ToUint8Array: () => base64ToUint8Array,
|
|
538
|
-
assignProp: () => assignProp,
|
|
539
|
-
assertNotEqual: () => assertNotEqual,
|
|
540
|
-
assertNever: () => assertNever,
|
|
541
|
-
assertIs: () => assertIs,
|
|
542
|
-
assertEqual: () => assertEqual,
|
|
543
|
-
assert: () => assert,
|
|
544
|
-
allowsEval: () => allowsEval,
|
|
545
|
-
aborted: () => aborted,
|
|
546
|
-
NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES,
|
|
486
|
+
BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES,
|
|
547
487
|
Class: () => Class,
|
|
548
|
-
|
|
488
|
+
NUMBER_FORMAT_RANGES: () => NUMBER_FORMAT_RANGES,
|
|
489
|
+
aborted: () => aborted,
|
|
490
|
+
allowsEval: () => allowsEval,
|
|
491
|
+
assert: () => assert,
|
|
492
|
+
assertEqual: () => assertEqual,
|
|
493
|
+
assertIs: () => assertIs,
|
|
494
|
+
assertNever: () => assertNever,
|
|
495
|
+
assertNotEqual: () => assertNotEqual,
|
|
496
|
+
assignProp: () => assignProp,
|
|
497
|
+
base64ToUint8Array: () => base64ToUint8Array,
|
|
498
|
+
base64urlToUint8Array: () => base64urlToUint8Array,
|
|
499
|
+
cached: () => cached,
|
|
500
|
+
captureStackTrace: () => captureStackTrace,
|
|
501
|
+
cleanEnum: () => cleanEnum,
|
|
502
|
+
cleanRegex: () => cleanRegex,
|
|
503
|
+
clone: () => clone,
|
|
504
|
+
cloneDef: () => cloneDef,
|
|
505
|
+
createTransparentProxy: () => createTransparentProxy,
|
|
506
|
+
defineLazy: () => defineLazy,
|
|
507
|
+
esc: () => esc,
|
|
508
|
+
escapeRegex: () => escapeRegex,
|
|
509
|
+
explicitlyAborted: () => explicitlyAborted,
|
|
510
|
+
extend: () => extend,
|
|
511
|
+
finalizeIssue: () => finalizeIssue,
|
|
512
|
+
floatSafeRemainder: () => floatSafeRemainder,
|
|
513
|
+
getElementAtPath: () => getElementAtPath,
|
|
514
|
+
getEnumValues: () => getEnumValues,
|
|
515
|
+
getLengthableOrigin: () => getLengthableOrigin,
|
|
516
|
+
getParsedType: () => getParsedType,
|
|
517
|
+
getSizableOrigin: () => getSizableOrigin,
|
|
518
|
+
hexToUint8Array: () => hexToUint8Array,
|
|
519
|
+
isObject: () => isObject,
|
|
520
|
+
isPlainObject: () => isPlainObject,
|
|
521
|
+
issue: () => issue,
|
|
522
|
+
joinValues: () => joinValues,
|
|
523
|
+
jsonStringifyReplacer: () => jsonStringifyReplacer,
|
|
524
|
+
merge: () => merge,
|
|
525
|
+
mergeDefs: () => mergeDefs,
|
|
526
|
+
normalizeParams: () => normalizeParams,
|
|
527
|
+
nullish: () => nullish,
|
|
528
|
+
numKeys: () => numKeys,
|
|
529
|
+
objectClone: () => objectClone,
|
|
530
|
+
omit: () => omit,
|
|
531
|
+
optionalKeys: () => optionalKeys,
|
|
532
|
+
parsedType: () => parsedType,
|
|
533
|
+
partial: () => partial,
|
|
534
|
+
pick: () => pick,
|
|
535
|
+
prefixIssues: () => prefixIssues,
|
|
536
|
+
primitiveTypes: () => primitiveTypes,
|
|
537
|
+
promiseAllObject: () => promiseAllObject,
|
|
538
|
+
propertyKeyTypes: () => propertyKeyTypes,
|
|
539
|
+
randomString: () => randomString,
|
|
540
|
+
required: () => required,
|
|
541
|
+
safeExtend: () => safeExtend,
|
|
542
|
+
shallowClone: () => shallowClone,
|
|
543
|
+
slugify: () => slugify,
|
|
544
|
+
stringifyPrimitive: () => stringifyPrimitive,
|
|
545
|
+
uint8ArrayToBase64: () => uint8ArrayToBase64,
|
|
546
|
+
uint8ArrayToBase64url: () => uint8ArrayToBase64url,
|
|
547
|
+
uint8ArrayToHex: () => uint8ArrayToHex,
|
|
548
|
+
unwrapMessage: () => unwrapMessage
|
|
549
549
|
});
|
|
550
550
|
function assertEqual(val) {
|
|
551
551
|
return val;
|
|
@@ -4003,7 +4003,7 @@ function finalize(ctx, schema) {
|
|
|
4003
4003
|
result.$schema = "http://json-schema.org/draft-07/schema#";
|
|
4004
4004
|
} else if (ctx.target === "draft-04") {
|
|
4005
4005
|
result.$schema = "http://json-schema.org/draft-04/schema#";
|
|
4006
|
-
} else if (ctx.target === "openapi-3.0") {}
|
|
4006
|
+
} else if (ctx.target === "openapi-3.0") {}
|
|
4007
4007
|
if (ctx.external?.uri) {
|
|
4008
4008
|
const id = ctx.external.registry.get(schema)?.id;
|
|
4009
4009
|
if (!id)
|
|
@@ -4212,7 +4212,7 @@ var literalProcessor = (schema, ctx, json, _params) => {
|
|
|
4212
4212
|
if (val === undefined) {
|
|
4213
4213
|
if (ctx.unrepresentable === "throw") {
|
|
4214
4214
|
throw new Error("Literal `undefined` cannot be represented in JSON Schema");
|
|
4215
|
-
}
|
|
4215
|
+
}
|
|
4216
4216
|
} else if (typeof val === "bigint") {
|
|
4217
4217
|
if (ctx.unrepresentable === "throw") {
|
|
4218
4218
|
throw new Error("BigInt literals cannot be represented in JSON Schema");
|
|
@@ -5549,13 +5549,25 @@ var OmoCodegraphSettingsSchema = OmoCodegraphSettingsLayerSchema.extend({
|
|
|
5549
5549
|
telemetry: boolean2().default(false)
|
|
5550
5550
|
}).strict();
|
|
5551
5551
|
|
|
5552
|
+
// ../../omo-config-core/src/schema/git-master.ts
|
|
5553
|
+
var OmoGitMasterSettingsShape = {
|
|
5554
|
+
commit_footer: union([boolean2(), string2()]),
|
|
5555
|
+
include_co_authored_by: boolean2()
|
|
5556
|
+
};
|
|
5557
|
+
var OmoGitMasterSettingsLayerSchema = object(OmoGitMasterSettingsShape).partial().strict();
|
|
5558
|
+
var OmoGitMasterSettingsSchema = OmoGitMasterSettingsLayerSchema.extend({
|
|
5559
|
+
commit_footer: union([boolean2(), string2()]).default(true),
|
|
5560
|
+
include_co_authored_by: boolean2().default(true)
|
|
5561
|
+
}).strict();
|
|
5562
|
+
|
|
5552
5563
|
// ../../omo-config-core/src/schema/memory.ts
|
|
5553
5564
|
var OmoMemoryReflectionTriggerSchema = object({
|
|
5554
|
-
step_count: number2().int().nonnegative().default(
|
|
5565
|
+
step_count: number2().int().nonnegative().default(25),
|
|
5555
5566
|
on_compaction: boolean2().default(true)
|
|
5556
5567
|
}).strict();
|
|
5557
5568
|
var OmoMemoryReflectionSchema = object({
|
|
5558
|
-
|
|
5569
|
+
enabled: boolean2().default(true),
|
|
5570
|
+
trigger: OmoMemoryReflectionTriggerSchema.default({ step_count: 25, on_compaction: true }),
|
|
5559
5571
|
merge: _enum(["auto", "integration"]).default("auto"),
|
|
5560
5572
|
category: string2().min(1).default("quick"),
|
|
5561
5573
|
timeout_minutes: number2().int().positive().default(15),
|
|
@@ -5568,11 +5580,47 @@ var OmoMemorySyncSchema = object({
|
|
|
5568
5580
|
var OmoMemorySearchSchema = object({
|
|
5569
5581
|
enabled: boolean2().default(true)
|
|
5570
5582
|
}).strict();
|
|
5583
|
+
var OmoMemoryRecallSchema = object({
|
|
5584
|
+
enabled: boolean2().default(true),
|
|
5585
|
+
max_items: number2().int().min(1).max(5).default(2),
|
|
5586
|
+
budget_tokens: number2().int().positive().default(600),
|
|
5587
|
+
excerpt_chars: number2().int().positive().default(200),
|
|
5588
|
+
min_score: number2().optional(),
|
|
5589
|
+
exclude: array(string2()).default([])
|
|
5590
|
+
}).strict();
|
|
5591
|
+
var OmoMemoryNudgeSchema = object({
|
|
5592
|
+
enabled: boolean2().default(true),
|
|
5593
|
+
every_user_turns: number2().int().min(1).default(10)
|
|
5594
|
+
}).strict();
|
|
5595
|
+
var OmoMemoryFactsSchema = object({
|
|
5596
|
+
enabled: boolean2().default(true),
|
|
5597
|
+
debounce_settles: number2().int().min(1).default(4)
|
|
5598
|
+
}).strict();
|
|
5599
|
+
var OmoMemoryDreamSchema = object({
|
|
5600
|
+
enabled: boolean2().default(true),
|
|
5601
|
+
idle_minutes: number2().int().min(0).default(30),
|
|
5602
|
+
min_hours_between: number2().int().min(1).default(24),
|
|
5603
|
+
shutdown_launch: boolean2().default(true),
|
|
5604
|
+
auto_select_max: number2().int().min(1).max(10).default(5),
|
|
5605
|
+
auto_select_max_chars: number2().int().min(1e4).default(150000)
|
|
5606
|
+
}).strict();
|
|
5607
|
+
var OmoMemoryPeopleSchema = object({
|
|
5608
|
+
enabled: boolean2().default(true),
|
|
5609
|
+
max_entries: number2().int().min(1).max(100).default(40),
|
|
5610
|
+
max_entry_chars: number2().int().min(50).max(500).default(200)
|
|
5611
|
+
}).strict();
|
|
5612
|
+
var OmoMemorySoulSchema = object({
|
|
5613
|
+
edit_notice: boolean2().default(true)
|
|
5614
|
+
}).strict();
|
|
5615
|
+
var OmoMemoryWriteNoticeSchema = object({
|
|
5616
|
+
enabled: boolean2().default(true)
|
|
5617
|
+
}).strict();
|
|
5571
5618
|
var OmoMemoryReflectionTriggerLayerSchema = object({
|
|
5572
5619
|
step_count: number2().int().nonnegative().optional(),
|
|
5573
5620
|
on_compaction: boolean2().optional()
|
|
5574
5621
|
}).strict();
|
|
5575
5622
|
var OmoMemoryReflectionLayerSchema = object({
|
|
5623
|
+
enabled: boolean2().optional(),
|
|
5576
5624
|
trigger: OmoMemoryReflectionTriggerLayerSchema.optional(),
|
|
5577
5625
|
merge: _enum(["auto", "integration"]).optional(),
|
|
5578
5626
|
category: string2().min(1).optional(),
|
|
@@ -5586,35 +5634,107 @@ var OmoMemorySyncLayerSchema = object({
|
|
|
5586
5634
|
var OmoMemorySearchLayerSchema = object({
|
|
5587
5635
|
enabled: boolean2().optional()
|
|
5588
5636
|
}).strict();
|
|
5637
|
+
var OmoMemoryRecallLayerSchema = object({
|
|
5638
|
+
enabled: boolean2().optional(),
|
|
5639
|
+
max_items: number2().int().min(1).max(5).optional(),
|
|
5640
|
+
budget_tokens: number2().int().positive().optional(),
|
|
5641
|
+
excerpt_chars: number2().int().positive().optional(),
|
|
5642
|
+
min_score: number2().optional(),
|
|
5643
|
+
exclude: array(string2()).optional()
|
|
5644
|
+
}).strict();
|
|
5645
|
+
var OmoMemoryNudgeLayerSchema = object({
|
|
5646
|
+
enabled: boolean2().optional(),
|
|
5647
|
+
every_user_turns: number2().int().min(1).optional()
|
|
5648
|
+
}).strict();
|
|
5649
|
+
var OmoMemoryFactsLayerSchema = object({
|
|
5650
|
+
enabled: boolean2().optional(),
|
|
5651
|
+
debounce_settles: number2().int().min(1).optional()
|
|
5652
|
+
}).strict();
|
|
5653
|
+
var OmoMemoryDreamLayerSchema = object({
|
|
5654
|
+
enabled: boolean2().optional(),
|
|
5655
|
+
idle_minutes: number2().int().min(0).optional(),
|
|
5656
|
+
min_hours_between: number2().int().min(1).optional(),
|
|
5657
|
+
shutdown_launch: boolean2().optional(),
|
|
5658
|
+
auto_select_max: number2().int().min(1).max(10).optional(),
|
|
5659
|
+
auto_select_max_chars: number2().int().min(1e4).optional()
|
|
5660
|
+
}).strict();
|
|
5661
|
+
var OmoMemoryPeopleLayerSchema = object({
|
|
5662
|
+
enabled: boolean2().optional(),
|
|
5663
|
+
max_entries: number2().int().min(1).max(100).optional(),
|
|
5664
|
+
max_entry_chars: number2().int().min(50).max(500).optional()
|
|
5665
|
+
}).strict();
|
|
5666
|
+
var OmoMemorySoulLayerSchema = object({
|
|
5667
|
+
edit_notice: boolean2().optional()
|
|
5668
|
+
}).strict();
|
|
5669
|
+
var OmoMemoryWriteNoticeLayerSchema = object({
|
|
5670
|
+
enabled: boolean2().optional()
|
|
5671
|
+
}).strict();
|
|
5589
5672
|
var OmoMemoryAgentOverridesSchema = object({
|
|
5590
5673
|
enabled: boolean2().optional(),
|
|
5591
5674
|
agent: string2().min(1).optional(),
|
|
5592
5675
|
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
5676
|
+
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
5677
|
+
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
5678
|
+
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
5679
|
+
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
5680
|
+
soul: OmoMemorySoulLayerSchema.optional(),
|
|
5681
|
+
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
5593
5682
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5594
5683
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
5684
|
+
recall: OmoMemoryRecallLayerSchema.optional(),
|
|
5595
5685
|
compile_warn_tokens: number2().int().positive().optional()
|
|
5596
5686
|
}).strict();
|
|
5597
5687
|
var OmoMemorySettingsSchema = object({
|
|
5598
5688
|
enabled: boolean2().default(true),
|
|
5599
5689
|
agent: string2().min(1).default("auto"),
|
|
5690
|
+
tool_exposure: _enum(["direct", "search"]).default("direct"),
|
|
5600
5691
|
reflection: OmoMemoryReflectionSchema.default({
|
|
5601
|
-
|
|
5692
|
+
enabled: true,
|
|
5693
|
+
trigger: { step_count: 25, on_compaction: true },
|
|
5602
5694
|
merge: "auto",
|
|
5603
5695
|
category: "quick",
|
|
5604
5696
|
timeout_minutes: 15,
|
|
5605
5697
|
sandbox: "auto"
|
|
5606
5698
|
}),
|
|
5699
|
+
nudge: OmoMemoryNudgeSchema.default({ enabled: true, every_user_turns: 10 }),
|
|
5700
|
+
facts: OmoMemoryFactsSchema.default({ enabled: true, debounce_settles: 4 }),
|
|
5701
|
+
dream: OmoMemoryDreamSchema.default({
|
|
5702
|
+
enabled: true,
|
|
5703
|
+
idle_minutes: 30,
|
|
5704
|
+
min_hours_between: 24,
|
|
5705
|
+
shutdown_launch: true,
|
|
5706
|
+
auto_select_max: 5,
|
|
5707
|
+
auto_select_max_chars: 150000
|
|
5708
|
+
}),
|
|
5709
|
+
people: OmoMemoryPeopleSchema.default({ enabled: true, max_entries: 40, max_entry_chars: 200 }),
|
|
5710
|
+
soul: OmoMemorySoulSchema.default({ edit_notice: true }),
|
|
5711
|
+
write_notice: OmoMemoryWriteNoticeSchema.default({ enabled: true }),
|
|
5607
5712
|
sync: OmoMemorySyncSchema.default({ enabled: true }),
|
|
5608
5713
|
search: OmoMemorySearchSchema.default({ enabled: true }),
|
|
5714
|
+
recall: OmoMemoryRecallSchema.default({
|
|
5715
|
+
enabled: true,
|
|
5716
|
+
max_items: 2,
|
|
5717
|
+
budget_tokens: 600,
|
|
5718
|
+
excerpt_chars: 200,
|
|
5719
|
+
exclude: []
|
|
5720
|
+
}),
|
|
5609
5721
|
compile_warn_tokens: number2().int().positive().default(30000),
|
|
5610
5722
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
|
|
5611
5723
|
}).strict();
|
|
5612
5724
|
var OmoMemorySettingsLayerSchema = object({
|
|
5613
5725
|
enabled: boolean2().optional(),
|
|
5614
5726
|
agent: string2().min(1).optional(),
|
|
5727
|
+
tool_exposure: _enum(["direct", "search"]).optional(),
|
|
5615
5728
|
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
5729
|
+
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
5730
|
+
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
5731
|
+
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
5732
|
+
people: OmoMemoryPeopleLayerSchema.optional(),
|
|
5733
|
+
soul: OmoMemorySoulLayerSchema.optional(),
|
|
5734
|
+
write_notice: OmoMemoryWriteNoticeLayerSchema.optional(),
|
|
5616
5735
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5617
5736
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
5737
|
+
recall: OmoMemoryRecallLayerSchema.optional(),
|
|
5618
5738
|
compile_warn_tokens: number2().int().positive().optional(),
|
|
5619
5739
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
|
|
5620
5740
|
}).strict();
|
|
@@ -5637,7 +5757,8 @@ var OmoModelCatalogLayerSchema = record(string2(), OmoModelCatalogEntryLayerSche
|
|
|
5637
5757
|
|
|
5638
5758
|
// ../../omo-config-core/src/schema/task.ts
|
|
5639
5759
|
import { availableParallelism } from "node:os";
|
|
5640
|
-
var
|
|
5760
|
+
var DEFAULT_RESIDENCY_MAX_CHILDREN = 16;
|
|
5761
|
+
var ResidencyMaxChildrenInputSchema = union([number2().int().nonnegative(), literal("unlimited")]);
|
|
5641
5762
|
var OmoTaskWaitSchema = object({
|
|
5642
5763
|
min_ms: number2().int().positive().default(5000),
|
|
5643
5764
|
default_ms: number2().int().positive().default(60000),
|
|
@@ -5651,11 +5772,22 @@ var OmoTaskTeamSettingsSchema = object({
|
|
|
5651
5772
|
var OmoTaskWarningsSchema = object({
|
|
5652
5773
|
unavailable_categories: boolean2().default(true)
|
|
5653
5774
|
}).strict();
|
|
5775
|
+
var OmoTaskDagSettingsSchema = object({
|
|
5776
|
+
max_nodes_per_run: number2().int().positive().default(64),
|
|
5777
|
+
max_runs_per_session: number2().int().positive().default(16),
|
|
5778
|
+
subscriber_ring: number2().int().positive().default(1000),
|
|
5779
|
+
heartbeat_ms: number2().int().positive().default(15000),
|
|
5780
|
+
history_default_limit: number2().int().positive().default(256),
|
|
5781
|
+
history_max_limit: number2().int().positive().default(1000),
|
|
5782
|
+
retention_days: number2().int().positive().default(7),
|
|
5783
|
+
max_prompt_bytes: number2().int().positive().default(262144)
|
|
5784
|
+
}).strict();
|
|
5654
5785
|
var OmoTaskSettingsSchema = object({
|
|
5655
5786
|
default_execution_mode: _enum(["in-process", "process"]).default("in-process"),
|
|
5656
|
-
default_concurrency: number2().int().
|
|
5657
|
-
|
|
5658
|
-
|
|
5787
|
+
default_concurrency: number2().int().nonnegative().default(5),
|
|
5788
|
+
global_concurrency: number2().int().nonnegative().default(8),
|
|
5789
|
+
provider_concurrency: record(string2(), number2().int().nonnegative()).optional(),
|
|
5790
|
+
model_concurrency: record(string2(), number2().int().nonnegative()).optional(),
|
|
5659
5791
|
max_depth: number2().int().nonnegative().default(1),
|
|
5660
5792
|
residency_max_children: ResidencyMaxChildrenInputSchema.default(8),
|
|
5661
5793
|
ttl_ms: number2().int().positive().default(86400000),
|
|
@@ -5668,7 +5800,18 @@ var OmoTaskSettingsSchema = object({
|
|
|
5668
5800
|
max_members: 8,
|
|
5669
5801
|
max_parallel_members: 4,
|
|
5670
5802
|
max_wall_clock_minutes: 120
|
|
5671
|
-
})
|
|
5803
|
+
}),
|
|
5804
|
+
dag: OmoTaskDagSettingsSchema.optional()
|
|
5805
|
+
}).strict();
|
|
5806
|
+
var OmoTaskDagSettingsLayerSchema = object({
|
|
5807
|
+
max_nodes_per_run: number2().int().positive().optional(),
|
|
5808
|
+
max_runs_per_session: number2().int().positive().optional(),
|
|
5809
|
+
subscriber_ring: number2().int().positive().optional(),
|
|
5810
|
+
heartbeat_ms: number2().int().positive().optional(),
|
|
5811
|
+
history_default_limit: number2().int().positive().optional(),
|
|
5812
|
+
history_max_limit: number2().int().positive().optional(),
|
|
5813
|
+
retention_days: number2().int().positive().optional(),
|
|
5814
|
+
max_prompt_bytes: number2().int().positive().optional()
|
|
5672
5815
|
}).strict();
|
|
5673
5816
|
var OmoTaskWaitLayerSchema = object({
|
|
5674
5817
|
min_ms: number2().int().positive().optional(),
|
|
@@ -5685,9 +5828,10 @@ var OmoTaskWarningsLayerSchema = object({
|
|
|
5685
5828
|
}).strict();
|
|
5686
5829
|
var OmoTaskSettingsLayerSchema = object({
|
|
5687
5830
|
default_execution_mode: _enum(["in-process", "process"]).optional(),
|
|
5688
|
-
default_concurrency: number2().int().
|
|
5689
|
-
|
|
5690
|
-
|
|
5831
|
+
default_concurrency: number2().int().nonnegative().optional(),
|
|
5832
|
+
global_concurrency: number2().int().nonnegative().optional(),
|
|
5833
|
+
provider_concurrency: record(string2(), number2().int().nonnegative()).optional(),
|
|
5834
|
+
model_concurrency: record(string2(), number2().int().nonnegative()).optional(),
|
|
5691
5835
|
max_depth: number2().int().nonnegative().optional(),
|
|
5692
5836
|
residency_max_children: ResidencyMaxChildrenInputSchema.optional(),
|
|
5693
5837
|
ttl_ms: number2().int().positive().optional(),
|
|
@@ -5696,13 +5840,15 @@ var OmoTaskSettingsLayerSchema = object({
|
|
|
5696
5840
|
resume_children: boolean2().optional(),
|
|
5697
5841
|
warnings: OmoTaskWarningsLayerSchema.optional(),
|
|
5698
5842
|
wait: OmoTaskWaitLayerSchema.optional(),
|
|
5699
|
-
team: OmoTaskTeamSettingsLayerSchema.optional()
|
|
5843
|
+
team: OmoTaskTeamSettingsLayerSchema.optional(),
|
|
5844
|
+
dag: OmoTaskDagSettingsLayerSchema.optional()
|
|
5700
5845
|
}).strict();
|
|
5701
5846
|
function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism) {
|
|
5702
5847
|
const record2 = record(string2(), unknown()).parse(input);
|
|
5703
5848
|
return OmoTaskSettingsSchema.parse({
|
|
5704
5849
|
...record2,
|
|
5705
|
-
residency_max_children: record2["residency_max_children"] ?? Math.max(8, resolveParallelism() *
|
|
5850
|
+
residency_max_children: record2["residency_max_children"] ?? Math.min(DEFAULT_RESIDENCY_MAX_CHILDREN, Math.max(8, resolveParallelism() * 2)),
|
|
5851
|
+
global_concurrency: record2["global_concurrency"] ?? Math.max(8, resolveParallelism() * 2)
|
|
5706
5852
|
});
|
|
5707
5853
|
}
|
|
5708
5854
|
|
|
@@ -5753,38 +5899,71 @@ var OmoTeamSpecLayerSchema = OmoTeamSpecBaseSchema.partial();
|
|
|
5753
5899
|
var OmoTeamsConfigSchema = record(string2(), OmoTeamSpecSchema);
|
|
5754
5900
|
var OmoTeamsConfigLayerSchema = record(string2(), OmoTeamSpecLayerSchema);
|
|
5755
5901
|
|
|
5902
|
+
// ../../omo-config-core/src/schema/telemetry.ts
|
|
5903
|
+
var OmoTelemetrySettingsShape = {
|
|
5904
|
+
enabled: boolean2()
|
|
5905
|
+
};
|
|
5906
|
+
var OmoTelemetrySettingsLayerSchema = object(OmoTelemetrySettingsShape).partial().strict();
|
|
5907
|
+
var OmoTelemetrySettingsSchema = OmoTelemetrySettingsLayerSchema.extend({
|
|
5908
|
+
enabled: boolean2().default(true)
|
|
5909
|
+
}).strict();
|
|
5910
|
+
|
|
5911
|
+
// ../../omo-config-core/src/schema/format-on-mutation.ts
|
|
5912
|
+
var mode = _enum(["off", "best-effort", "required"]);
|
|
5913
|
+
var languages = record(string2(), boolean2()).optional();
|
|
5914
|
+
var OmoFormatOnMutationLayerSchema = object({
|
|
5915
|
+
mode: mode.optional(),
|
|
5916
|
+
languages,
|
|
5917
|
+
maxFileBytes: number2().int().positive().optional(),
|
|
5918
|
+
timeoutMs: number2().int().positive().optional()
|
|
5919
|
+
}).strict();
|
|
5920
|
+
var OmoFormatOnMutationSchema = OmoFormatOnMutationLayerSchema.extend({
|
|
5921
|
+
mode: mode.default("best-effort"),
|
|
5922
|
+
maxFileBytes: number2().int().positive().default(1048576),
|
|
5923
|
+
timeoutMs: number2().int().positive().default(3000)
|
|
5924
|
+
}).strict();
|
|
5925
|
+
|
|
5756
5926
|
// ../../omo-config-core/src/schema/config.ts
|
|
5757
5927
|
var OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
5758
5928
|
var OmoTypedHarnessConfigSchema = object({
|
|
5929
|
+
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
5759
5930
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
5760
5931
|
agents: OmoAgentsConfigSchema.optional(),
|
|
5761
5932
|
codegraph: OmoCodegraphSettingsLayerSchema.optional(),
|
|
5933
|
+
git_master: OmoGitMasterSettingsLayerSchema.optional(),
|
|
5762
5934
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
5763
5935
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
5764
5936
|
models: OmoModelCatalogLayerSchema.optional(),
|
|
5765
|
-
memory: OmoMemorySettingsLayerSchema.optional()
|
|
5937
|
+
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
5938
|
+
telemetry: OmoTelemetrySettingsLayerSchema.optional()
|
|
5766
5939
|
}).strict();
|
|
5767
5940
|
var OmoConfigProfileSchema = object({
|
|
5941
|
+
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
5768
5942
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
5769
5943
|
agents: OmoAgentsConfigSchema.optional(),
|
|
5770
5944
|
codegraph: OmoCodegraphSettingsLayerSchema.optional(),
|
|
5945
|
+
git_master: OmoGitMasterSettingsLayerSchema.optional(),
|
|
5771
5946
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
5772
5947
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
5773
5948
|
models: OmoModelCatalogLayerSchema.optional(),
|
|
5774
5949
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
5950
|
+
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
5775
5951
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
5776
5952
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
5777
5953
|
"[codex]": OmoTypedHarnessConfigSchema.optional()
|
|
5778
5954
|
}).strict();
|
|
5779
5955
|
var OmoConfigSchema = object({
|
|
5956
|
+
formatOnMutation: OmoFormatOnMutationSchema.optional(),
|
|
5780
5957
|
$schema: string2().optional(),
|
|
5781
5958
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
5782
5959
|
agents: OmoAgentsConfigSchema.optional(),
|
|
5783
5960
|
codegraph: OmoCodegraphSettingsSchema.optional(),
|
|
5961
|
+
git_master: OmoGitMasterSettingsSchema.optional(),
|
|
5784
5962
|
task: OmoTaskSettingsSchema.optional(),
|
|
5785
5963
|
teams: OmoTeamsConfigSchema.optional(),
|
|
5786
5964
|
models: OmoModelCatalogSchema.optional(),
|
|
5787
5965
|
memory: OmoMemorySettingsSchema.optional(),
|
|
5966
|
+
telemetry: OmoTelemetrySettingsSchema.optional(),
|
|
5788
5967
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
5789
5968
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
5790
5969
|
"[codex]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -5793,14 +5972,17 @@ var OmoConfigSchema = object({
|
|
|
5793
5972
|
legacy_migrations: record(string2(), unknown()).optional()
|
|
5794
5973
|
}).strict();
|
|
5795
5974
|
var OmoConfigLayerSchema = object({
|
|
5975
|
+
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
5796
5976
|
$schema: string2().optional(),
|
|
5797
5977
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
5798
5978
|
agents: OmoAgentsConfigSchema.optional(),
|
|
5799
5979
|
codegraph: OmoCodegraphSettingsLayerSchema.optional(),
|
|
5980
|
+
git_master: OmoGitMasterSettingsLayerSchema.optional(),
|
|
5800
5981
|
task: OmoTaskSettingsLayerSchema.optional(),
|
|
5801
5982
|
teams: OmoTeamsConfigLayerSchema.optional(),
|
|
5802
5983
|
models: OmoModelCatalogLayerSchema.optional(),
|
|
5803
5984
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
5985
|
+
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
5804
5986
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
5805
5987
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
5806
5988
|
"[codex]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -9451,7 +9633,7 @@ function defaultPluginRoot() {
|
|
|
9451
9633
|
}
|
|
9452
9634
|
|
|
9453
9635
|
// components/codegraph/src/session-start-cooldown.ts
|
|
9454
|
-
import { mkdirSync as mkdirSync4, readFileSync as readFileSync6, rmSync as
|
|
9636
|
+
import { mkdirSync as mkdirSync4, readFileSync as readFileSync6, rmSync as rmSync3 } from "node:fs";
|
|
9455
9637
|
|
|
9456
9638
|
// ../../utils/src/atomic-write.ts
|
|
9457
9639
|
import {
|
|
@@ -9459,9 +9641,12 @@ import {
|
|
|
9459
9641
|
fsyncSync,
|
|
9460
9642
|
openSync,
|
|
9461
9643
|
renameSync as renameSync2,
|
|
9644
|
+
rmSync as rmSync2,
|
|
9462
9645
|
unlinkSync as unlinkSync2,
|
|
9463
9646
|
writeFileSync as writeFileSync4
|
|
9464
9647
|
} from "node:fs";
|
|
9648
|
+
import { randomUUID as randomUUID2 } from "node:crypto";
|
|
9649
|
+
import { dirname as dirname8 } from "node:path";
|
|
9465
9650
|
var TOLERATED_FSYNC_CODES = new Set([
|
|
9466
9651
|
"EPERM",
|
|
9467
9652
|
"EACCES",
|
|
@@ -9483,29 +9668,41 @@ function tolerantFsyncSync(fileDescriptor, fsyncImpl) {
|
|
|
9483
9668
|
}
|
|
9484
9669
|
}
|
|
9485
9670
|
function writeFileAtomically(filePath, content, options = {}) {
|
|
9486
|
-
const
|
|
9487
|
-
|
|
9488
|
-
const
|
|
9489
|
-
try {
|
|
9490
|
-
tolerantFsyncSync(tempFileDescriptor, options.fsyncSync ?? fsyncSync);
|
|
9491
|
-
} finally {
|
|
9492
|
-
closeSync(tempFileDescriptor);
|
|
9493
|
-
}
|
|
9671
|
+
const platform = options.platform ?? process.platform;
|
|
9672
|
+
const fsyncImpl = options.fsyncSync ?? fsyncSync;
|
|
9673
|
+
const tempPath = `${filePath}.${process.pid}.${randomUUID2()}.tmp`;
|
|
9494
9674
|
try {
|
|
9495
|
-
|
|
9496
|
-
|
|
9497
|
-
|
|
9498
|
-
|
|
9675
|
+
writeFileSync4(tempPath, content, "utf-8");
|
|
9676
|
+
const tempFileDescriptor = openSync(tempPath, "r+");
|
|
9677
|
+
try {
|
|
9678
|
+
tolerantFsyncSync(tempFileDescriptor, fsyncImpl);
|
|
9679
|
+
} finally {
|
|
9680
|
+
closeSync(tempFileDescriptor);
|
|
9681
|
+
}
|
|
9682
|
+
try {
|
|
9683
|
+
renameSync2(tempPath, filePath);
|
|
9684
|
+
} catch (error) {
|
|
9685
|
+
const isPermissionError = error instanceof Error && (error.message.includes("EPERM") || error.message.includes("EACCES"));
|
|
9686
|
+
if (platform !== "win32" || !isPermissionError)
|
|
9687
|
+
throw error;
|
|
9499
9688
|
unlinkSync2(filePath);
|
|
9500
9689
|
renameSync2(tempPath, filePath);
|
|
9690
|
+
}
|
|
9691
|
+
if (platform === "win32")
|
|
9501
9692
|
return;
|
|
9693
|
+
const directoryFileDescriptor = openSync(dirname8(filePath), "r");
|
|
9694
|
+
try {
|
|
9695
|
+
tolerantFsyncSync(directoryFileDescriptor, fsyncImpl);
|
|
9696
|
+
} finally {
|
|
9697
|
+
closeSync(directoryFileDescriptor);
|
|
9502
9698
|
}
|
|
9503
|
-
|
|
9699
|
+
} finally {
|
|
9700
|
+
rmSync2(tempPath, { force: true });
|
|
9504
9701
|
}
|
|
9505
9702
|
}
|
|
9506
9703
|
|
|
9507
9704
|
// components/codegraph/src/session-start-paths.ts
|
|
9508
|
-
import { basename as basename3, dirname as
|
|
9705
|
+
import { basename as basename3, dirname as dirname9, join as join14 } from "node:path";
|
|
9509
9706
|
function resolveSessionStartStatePaths(homeDir, projectRoot) {
|
|
9510
9707
|
const canonicalProjectRoot = canonicalizeCodegraphPath(projectRoot);
|
|
9511
9708
|
const workspacePaths = resolveCodegraphWorkspacePaths(canonicalProjectRoot, { homeDir });
|
|
@@ -9520,7 +9717,7 @@ function resolveSessionStartStatePaths(homeDir, projectRoot) {
|
|
|
9520
9717
|
};
|
|
9521
9718
|
}
|
|
9522
9719
|
function stateParent(path) {
|
|
9523
|
-
return
|
|
9720
|
+
return dirname9(path);
|
|
9524
9721
|
}
|
|
9525
9722
|
|
|
9526
9723
|
// components/codegraph/src/session-start-cooldown.ts
|
|
@@ -9556,7 +9753,7 @@ function recordSessionStartFailure(options) {
|
|
|
9556
9753
|
}
|
|
9557
9754
|
function clearSessionStartCooldown(options) {
|
|
9558
9755
|
const path = resolveSessionStartStatePaths(options.homeDir, options.projectRoot).cooldownPath;
|
|
9559
|
-
|
|
9756
|
+
rmSync3(path, { force: true });
|
|
9560
9757
|
}
|
|
9561
9758
|
function cooldownDuration(baseCooldownMs, failureCount, maxCooldownMs) {
|
|
9562
9759
|
let duration3 = Math.min(baseCooldownMs, maxCooldownMs);
|
|
@@ -9624,7 +9821,8 @@ function spawnDetachedSessionStartWorker(invocation) {
|
|
|
9624
9821
|
const child = spawn(invocation.command, [...invocation.args], {
|
|
9625
9822
|
detached: true,
|
|
9626
9823
|
env: invocation.env,
|
|
9627
|
-
stdio: "ignore"
|
|
9824
|
+
stdio: "ignore",
|
|
9825
|
+
windowsHide: true
|
|
9628
9826
|
});
|
|
9629
9827
|
child.unref();
|
|
9630
9828
|
}
|
|
@@ -9639,8 +9837,8 @@ function writeSessionStartNotice(stdout, notice) {
|
|
|
9639
9837
|
}
|
|
9640
9838
|
|
|
9641
9839
|
// components/codegraph/src/session-start-lock.ts
|
|
9642
|
-
import { randomUUID as
|
|
9643
|
-
import { mkdirSync as mkdirSync5, readFileSync as readFileSync7, rmSync as
|
|
9840
|
+
import { randomUUID as randomUUID3 } from "node:crypto";
|
|
9841
|
+
import { mkdirSync as mkdirSync5, readFileSync as readFileSync7, rmSync as rmSync4, statSync as statSync3, writeFileSync as writeFileSync5 } from "node:fs";
|
|
9644
9842
|
function acquireSessionStartLock(options) {
|
|
9645
9843
|
const paths = resolveSessionStartStatePaths(options.homeDir, options.projectRoot);
|
|
9646
9844
|
const lockPath = paths.lockPath;
|
|
@@ -9669,7 +9867,7 @@ function releaseSessionStartLock(lock) {
|
|
|
9669
9867
|
if (snapshot.kind !== "present" || snapshot.token !== lock.token)
|
|
9670
9868
|
return false;
|
|
9671
9869
|
try {
|
|
9672
|
-
|
|
9870
|
+
rmSync4(lock.path, { force: true });
|
|
9673
9871
|
return true;
|
|
9674
9872
|
} catch (error) {
|
|
9675
9873
|
if (error instanceof Error)
|
|
@@ -9694,7 +9892,7 @@ function reclaimStaleLock(lockPath, staleSnapshot, options) {
|
|
|
9694
9892
|
const changed = current.raw !== staleSnapshot.raw || current.mtimeMs !== staleSnapshot.mtimeMs;
|
|
9695
9893
|
if (changed || options.nowMs - current.mtimeMs < options.staleMs)
|
|
9696
9894
|
return { kind: "locked" };
|
|
9697
|
-
|
|
9895
|
+
rmSync4(lockPath, { force: true });
|
|
9698
9896
|
}
|
|
9699
9897
|
const acquired = tryCreateLock(lockPath, options.projectRoot);
|
|
9700
9898
|
return acquired.kind === "acquired" ? { ...acquired, recoveredStale: true } : acquired;
|
|
@@ -9703,11 +9901,11 @@ function reclaimStaleLock(lockPath, staleSnapshot, options) {
|
|
|
9703
9901
|
return { kind: "inconclusive", reason: error.message };
|
|
9704
9902
|
throw error;
|
|
9705
9903
|
} finally {
|
|
9706
|
-
|
|
9904
|
+
rmSync4(reclaimPath, { force: true });
|
|
9707
9905
|
}
|
|
9708
9906
|
}
|
|
9709
9907
|
function tryCreateLock(lockPath, projectRoot) {
|
|
9710
|
-
const token =
|
|
9908
|
+
const token = randomUUID3();
|
|
9711
9909
|
try {
|
|
9712
9910
|
writeFileSync5(lockPath, `${JSON.stringify({ projectRoot, token })}
|
|
9713
9911
|
`, {
|
|
@@ -9726,7 +9924,7 @@ function tryCreateLock(lockPath, projectRoot) {
|
|
|
9726
9924
|
}
|
|
9727
9925
|
function tryCreateMarker(path) {
|
|
9728
9926
|
try {
|
|
9729
|
-
writeFileSync5(path, `${
|
|
9927
|
+
writeFileSync5(path, `${randomUUID3()}
|
|
9730
9928
|
`, { encoding: "utf8", flag: "wx", mode: 384 });
|
|
9731
9929
|
return { kind: "acquired" };
|
|
9732
9930
|
} catch (error) {
|
|
@@ -9764,17 +9962,17 @@ function errorCode2(error) {
|
|
|
9764
9962
|
|
|
9765
9963
|
// components/codegraph/src/session-start-outcome.ts
|
|
9766
9964
|
import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync6 } from "node:fs";
|
|
9767
|
-
import { dirname as
|
|
9965
|
+
import { dirname as dirname10, join as join15 } from "node:path";
|
|
9768
9966
|
function appendSessionStartOutcome(homeDir, outcome, nowMs = Date.now()) {
|
|
9769
9967
|
const path = join15(codegraphDataRoot(homeDir), "session-start.jsonl");
|
|
9770
|
-
mkdirSync6(
|
|
9968
|
+
mkdirSync6(dirname10(path), { recursive: true });
|
|
9771
9969
|
appendFileSync2(path, `${JSON.stringify({ ...outcome, timestamp: new Date(nowMs).toISOString() })}
|
|
9772
9970
|
`);
|
|
9773
9971
|
}
|
|
9774
9972
|
|
|
9775
9973
|
// components/codegraph/src/session-start-project.ts
|
|
9776
9974
|
import { realpathSync as realpathSync7, statSync as statSync4 } from "node:fs";
|
|
9777
|
-
import { dirname as
|
|
9975
|
+
import { dirname as dirname11, join as join16 } from "node:path";
|
|
9778
9976
|
function probeCodegraphProject(projectRoot, options = {}) {
|
|
9779
9977
|
const resolved = resolveProjectRoot(projectRoot);
|
|
9780
9978
|
if (resolved.kind === "inconclusive")
|
|
@@ -9806,14 +10004,14 @@ function probeResolvedExactProject(projectRoot, probeDatabase) {
|
|
|
9806
10004
|
return { kind: "uninitialized" };
|
|
9807
10005
|
}
|
|
9808
10006
|
function probeResolvedAncestors(projectRoot, probeDatabase) {
|
|
9809
|
-
let ancestorRoot =
|
|
10007
|
+
let ancestorRoot = dirname11(projectRoot);
|
|
9810
10008
|
while (ancestorRoot !== projectRoot) {
|
|
9811
10009
|
const database = probeDatabase(ancestorRoot);
|
|
9812
10010
|
if (database.kind === "present")
|
|
9813
10011
|
return { ancestorRoot, kind: "nested-root" };
|
|
9814
10012
|
if (database.kind === "inconclusive")
|
|
9815
10013
|
return database;
|
|
9816
|
-
const parent =
|
|
10014
|
+
const parent = dirname11(ancestorRoot);
|
|
9817
10015
|
if (parent === ancestorRoot)
|
|
9818
10016
|
break;
|
|
9819
10017
|
ancestorRoot = parent;
|
|
@@ -9975,7 +10173,7 @@ function parseNodeMajor(version2) {
|
|
|
9975
10173
|
}
|
|
9976
10174
|
|
|
9977
10175
|
// ../../utils/src/codegraph/provision.ts
|
|
9978
|
-
import { createHash as createHash2, randomUUID as
|
|
10176
|
+
import { createHash as createHash2, randomUUID as randomUUID4 } from "node:crypto";
|
|
9979
10177
|
import { execFile as execFile2 } from "node:child_process";
|
|
9980
10178
|
import { chmod, mkdir, readdir, readFile, rename, rm, rmdir, stat, writeFile } from "node:fs/promises";
|
|
9981
10179
|
import { existsSync as existsSync9 } from "node:fs";
|
|
@@ -10095,7 +10293,7 @@ async function installExtractedBundle(extractDir, installDir, executableName) {
|
|
|
10095
10293
|
}
|
|
10096
10294
|
async function installAsset(layout) {
|
|
10097
10295
|
const { asset, downloader, installDir, version: version2 } = layout;
|
|
10098
|
-
const stagingDir = join18(installDir, ".staging",
|
|
10296
|
+
const stagingDir = join18(installDir, ".staging", randomUUID4());
|
|
10099
10297
|
const archivePath = join18(stagingDir, basename4(asset.url));
|
|
10100
10298
|
const extractDir = join18(stagingDir, "extract");
|
|
10101
10299
|
try {
|
|
@@ -10158,7 +10356,7 @@ async function ensureCodegraphProvisioned(options) {
|
|
|
10158
10356
|
import { existsSync as existsSync10 } from "node:fs";
|
|
10159
10357
|
import { homedir as homedir10 } from "node:os";
|
|
10160
10358
|
import { spawnSync } from "node:child_process";
|
|
10161
|
-
import { basename as basename5, dirname as
|
|
10359
|
+
import { basename as basename5, dirname as dirname12, join as join20 } from "node:path";
|
|
10162
10360
|
import { createRequire } from "node:module";
|
|
10163
10361
|
|
|
10164
10362
|
// ../../utils/src/runtime/which.ts
|
|
@@ -10311,7 +10509,7 @@ function defaultProvisionedBin(homeDir, fileExists) {
|
|
|
10311
10509
|
function resolveBundledShim(requireResolve, fileExists) {
|
|
10312
10510
|
try {
|
|
10313
10511
|
const packageJson = requireResolve(`${CODEGRAPH_PACKAGE}/package.json`);
|
|
10314
|
-
const packageRoot =
|
|
10512
|
+
const packageRoot = dirname12(packageJson);
|
|
10315
10513
|
const candidates = [join20(packageRoot, "bin", "codegraph.js"), join20(packageRoot, "npm-shim.js")];
|
|
10316
10514
|
return candidates.find((candidate) => fileExists(candidate)) ?? null;
|
|
10317
10515
|
} catch (error) {
|
|
@@ -11436,6 +11634,7 @@ async function runJsonRpcStdioServer(config2) {
|
|
|
11436
11634
|
const idleTimer = createIdleTimer(idleTimeoutMs, log, () => {
|
|
11437
11635
|
isClosed = true;
|
|
11438
11636
|
config2.onIdleTimeout?.();
|
|
11637
|
+
config2.input.destroy();
|
|
11439
11638
|
});
|
|
11440
11639
|
const watchdog = createParentWatchdog(config2.parentWatchdog, (parentPid, pollIntervalMs) => {
|
|
11441
11640
|
isClosed = true;
|
|
@@ -11532,7 +11731,11 @@ function createParentWatchdog(config2, onDeadParent) {
|
|
|
11532
11731
|
const probeAlive = config2.probeAlive ?? isProcessAlive2;
|
|
11533
11732
|
let fired = false;
|
|
11534
11733
|
const timer = setInterval(() => {
|
|
11535
|
-
if (fired
|
|
11734
|
+
if (fired)
|
|
11735
|
+
return;
|
|
11736
|
+
const alive = probeAlive(parentPid);
|
|
11737
|
+
config2.onPoll?.(alive);
|
|
11738
|
+
if (alive)
|
|
11536
11739
|
return;
|
|
11537
11740
|
fired = true;
|
|
11538
11741
|
onDeadParent(parentPid, pollIntervalMs);
|
|
@@ -11584,7 +11787,8 @@ async function runBridgedCodegraphProcess(command, args, options) {
|
|
|
11584
11787
|
const child = spawn3(invocation.command, invocation.args, {
|
|
11585
11788
|
cwd: options.cwd,
|
|
11586
11789
|
env: options.env,
|
|
11587
|
-
stdio: ["pipe", "pipe", "inherit"]
|
|
11790
|
+
stdio: ["pipe", "pipe", "inherit"],
|
|
11791
|
+
windowsHide: true
|
|
11588
11792
|
});
|
|
11589
11793
|
const childInput = child.stdin;
|
|
11590
11794
|
const childOutput = child.stdout;
|
|
@@ -11616,8 +11820,8 @@ async function runBridgedCodegraphProcess(command, args, options) {
|
|
|
11616
11820
|
destroyChildPipes();
|
|
11617
11821
|
terminateCodegraphChild(child);
|
|
11618
11822
|
});
|
|
11619
|
-
const clientForwardingDone = forwardClientToCodegraph(options.input, childInput, pendingResponses, (
|
|
11620
|
-
defaultResponseMode =
|
|
11823
|
+
const clientForwardingDone = forwardClientToCodegraph(options.input, childInput, pendingResponses, (mode2) => {
|
|
11824
|
+
defaultResponseMode = mode2;
|
|
11621
11825
|
}, () => parentWatchdogFired);
|
|
11622
11826
|
const responseForwardingDone = forwardCodegraphToClient(childOutput, options.output, pendingResponses, () => defaultResponseMode, () => parentWatchdogFired);
|
|
11623
11827
|
const bridgeDone = Promise.all([clientForwardingDone, responseForwardingDone]);
|
|
@@ -11824,7 +12028,9 @@ async function runUnavailableCodegraphMcpServer(options) {
|
|
|
11824
12028
|
},
|
|
11825
12029
|
input: options.input,
|
|
11826
12030
|
output: options.output,
|
|
11827
|
-
|
|
12031
|
+
idleTimeoutMs: 0,
|
|
12032
|
+
parentWatchdog: options.parentWatchdog ?? {},
|
|
12033
|
+
...options.lifecycleLog === undefined ? {} : { log: options.lifecycleLog }
|
|
11828
12034
|
});
|
|
11829
12035
|
}
|
|
11830
12036
|
async function handleUnavailableCodegraphMcpRequest(input, options) {
|