oh-my-opencode 4.7.5 → 4.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/command/get-unpublished-changes.md +35 -6
- package/.agents/command/omomomo.md +1 -1
- package/.agents/command/publish.md +13 -0
- package/.agents/command/security-research.md +0 -1
- package/.agents/skills/get-unpublished-changes/SKILL.md +21 -5
- package/.agents/skills/omomomo/SKILL.md +1 -2
- package/.agents/skills/opencode-qa/scripts/export-roundtrip.sh +57 -19
- package/.agents/skills/opencode-qa/scripts/lib/common.sh +19 -7
- package/.agents/skills/opencode-qa/scripts/sse-hook-probe.sh +3 -0
- package/.agents/skills/opencode-qa/scripts/tui-smoke.sh +1 -1
- package/.agents/skills/pre-publish-review/SKILL.md +24 -4
- package/.agents/skills/publish/SKILL.md +13 -0
- package/.agents/skills/remove-deadcode/SKILL.md +0 -1
- package/.agents/skills/security-research/SKILL.md +0 -1
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +1 -1
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +2 -2
- package/.agents/skills/work-with-pr-workspace/iteration-1/review.html +1 -1
- package/.opencode/command/get-unpublished-changes.md +35 -6
- package/.opencode/command/omomomo.md +1 -1
- package/.opencode/command/publish.md +13 -0
- package/.opencode/command/security-research.md +0 -1
- package/.opencode/skills/pre-publish-review/SKILL.md +24 -4
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +1 -1
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +2 -2
- package/.opencode/skills/work-with-pr-workspace/iteration-1/review.html +1 -1
- package/README.ja.md +7 -7
- package/README.ko.md +9 -7
- package/README.md +14 -8
- package/README.ru.md +5 -5
- package/README.zh-cn.md +7 -7
- package/bin/oh-my-opencode.js +24 -1
- package/bin/oh-my-opencode.test.ts +79 -20
- package/dist/agents/hephaestus/agent.d.ts +1 -1
- package/dist/agents/kimi-tool-loop-guard.d.ts +1 -0
- package/dist/agents/momus.d.ts +1 -1
- package/dist/agents/sisyphus-agent-config.d.ts +4 -0
- package/dist/agents/sisyphus-agent-factory.d.ts +6 -0
- package/dist/agents/sisyphus-dynamic-prompt-builder.d.ts +2 -0
- package/dist/agents/sisyphus-dynamic-prompt-execution.d.ts +2 -0
- package/dist/agents/sisyphus-dynamic-prompt-exploration.d.ts +2 -0
- package/dist/agents/sisyphus-dynamic-prompt-role.d.ts +2 -0
- package/dist/agents/sisyphus-dynamic-prompt-sections.d.ts +18 -0
- package/dist/agents/sisyphus-dynamic-prompt-style.d.ts +2 -0
- package/dist/agents/sisyphus-dynamic-prompt.d.ts +3 -0
- package/dist/agents/sisyphus-gemini-fallback-overrides.d.ts +1 -0
- package/dist/agents/sisyphus-junior/agent.d.ts +1 -1
- package/dist/agents/sisyphus-junior/index.d.ts +0 -1
- package/dist/agents/sisyphus.d.ts +1 -6
- package/dist/agents/types.d.ts +14 -3
- package/dist/cli/cli-program.d.ts +3 -0
- package/dist/cli/doctor/checks/codex.d.ts +11 -0
- package/dist/cli/doctor/checks/dependencies.d.ts +1 -0
- package/dist/cli/doctor/checks/index.d.ts +3 -0
- package/dist/cli/doctor/checks/system.d.ts +4 -0
- package/dist/cli/doctor/constants.d.ts +1 -0
- package/dist/cli/doctor/doctor-target.d.ts +2 -0
- package/dist/cli/doctor/index.d.ts +1 -0
- package/dist/cli/doctor/types.d.ts +26 -0
- package/dist/cli/index.js +4466 -2212
- package/dist/cli/install-codex/codex-cache-bins.d.ts +21 -0
- package/dist/cli/install-codex/codex-cache-fs.d.ts +3 -0
- package/dist/cli/install-codex/codex-cache-install.d.ts +13 -0
- package/dist/cli/install-codex/codex-cache-mcp-manifest.d.ts +2 -0
- package/dist/cli/install-codex/codex-cache-prune.d.ts +10 -0
- package/dist/cli/install-codex/codex-cache.d.ts +4 -32
- package/dist/cli/install-codex/codex-cached-marketplace-manifest.d.ts +6 -0
- package/dist/cli/install-codex/codex-config-agents.d.ts +3 -0
- package/dist/cli/install-codex/codex-config-features.d.ts +1 -0
- package/dist/cli/install-codex/codex-config-marketplaces.d.ts +6 -0
- package/dist/cli/install-codex/codex-config-plugins.d.ts +8 -0
- package/dist/cli/install-codex/codex-config-toml-sections.d.ts +9 -0
- package/dist/cli/install-codex/codex-multi-agent-v2-config.d.ts +11 -0
- package/dist/cli/install-codex/codex-process.d.ts +5 -0
- package/dist/cli/install-codex/index.d.ts +1 -1
- package/dist/cli/install-codex/lazycodex-version-stamp.d.ts +19 -0
- package/dist/cli/install-codex/link-cached-plugin-agents.d.ts +4 -0
- package/dist/cli/install-validators.d.ts +3 -0
- package/dist/cli/model-fallback-types.d.ts +3 -0
- package/dist/cli/run/event-handlers.d.ts +4 -11
- package/dist/cli/run/event-message-handlers.d.ts +5 -0
- package/dist/cli/run/event-session-handlers.d.ts +5 -0
- package/dist/cli/run/event-session-ids.d.ts +24 -0
- package/dist/cli/run/event-think-block.d.ts +3 -0
- package/dist/cli/run/event-toast-handlers.d.ts +3 -0
- package/dist/cli/run/event-tool-handlers.d.ts +4 -0
- package/dist/cli/run/event-tool-output.d.ts +2 -0
- package/dist/cli/run/on-complete-hook.d.ts +8 -1
- package/dist/cli/run/opencode-binary-resolver.d.ts +2 -1
- package/dist/cli/run/runnable-agent-resolver.d.ts +11 -0
- package/dist/cli/runtime-commands.d.ts +2 -0
- package/dist/cli/sparkshell-appserver-websocket.d.ts +4 -0
- package/dist/cli/sparkshell-appserver.d.ts +16 -0
- package/dist/cli/sparkshell-parse.d.ts +21 -0
- package/dist/cli/sparkshell.d.ts +26 -0
- package/dist/cli/types.d.ts +9 -0
- package/dist/config/schema/claude-code.d.ts +1 -0
- package/dist/config/schema/hooks.d.ts +1 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +1 -0
- package/dist/create-hooks.d.ts +1 -0
- package/dist/features/background-agent/concurrency.d.ts +6 -1
- package/dist/features/background-agent/constants.d.ts +1 -0
- package/dist/features/background-agent/empty-assistant-turn.d.ts +7 -0
- package/dist/features/background-agent/manager.d.ts +12 -0
- package/dist/features/background-agent/message-updated-parent-wake-output.d.ts +1 -0
- package/dist/features/background-agent/parent-wake-dedupe.d.ts +2 -0
- package/dist/features/background-agent/parent-wake-dispatched-tracker.d.ts +21 -0
- package/dist/features/background-agent/parent-wake-flush-runner.d.ts +24 -0
- package/dist/features/background-agent/parent-wake-history-state.d.ts +5 -0
- package/dist/features/background-agent/parent-wake-notifier-types.d.ts +50 -0
- package/dist/features/background-agent/parent-wake-notifier.d.ts +8 -50
- package/dist/features/background-agent/parent-wake-pending-queue.d.ts +22 -0
- package/dist/features/background-agent/parent-wake-prompt-dispatch.d.ts +19 -0
- package/dist/features/background-agent/parent-wake-session-history.d.ts +73 -0
- package/dist/features/background-agent/parent-wake-session-inspector.d.ts +35 -0
- package/dist/features/background-agent/parent-wake-timer-handle.d.ts +5 -0
- package/dist/features/background-agent/parent-wake-window-recovery.d.ts +13 -0
- package/dist/features/background-agent/process-cleanup.d.ts +2 -0
- package/dist/features/background-agent/process-cleanup.test-helpers.d.ts +3 -0
- package/dist/features/background-agent/session-stream-activity.d.ts +6 -0
- package/dist/features/background-agent/spawner/fallback-agent.d.ts +5 -0
- package/dist/features/background-agent/spawner/task-prompt-body.d.ts +34 -0
- package/dist/features/background-agent/spawner/task-record.d.ts +2 -0
- package/dist/features/background-agent/spawner.d.ts +2 -5
- package/dist/features/builtin-commands/templates/refactor-sections/codemap-and-tests.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor-sections/intro-and-analysis.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor-sections/plan-and-execution.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor-sections/team-mode-addendum.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor-sections/verification-and-tooling.d.ts +1 -0
- package/dist/features/builtin-commands/templates/refactor.d.ts +2 -2
- package/dist/features/builtin-skills/skills/agent-browser-skill.d.ts +2 -0
- package/dist/features/builtin-skills/skills/agent-browser-template.d.ts +2 -0
- package/dist/features/builtin-skills/skills/git-master-sections/commit-atomic-planning.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-sections/commit-context-analysis.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-sections/commit-execution-verification.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +1 -1
- package/dist/features/builtin-skills/skills/index.d.ts +1 -0
- package/dist/features/builtin-skills/skills/playwright-mcp-skill.d.ts +2 -0
- package/dist/features/builtin-skills/skills/playwright.d.ts +2 -3
- package/dist/features/builtin-skills/skills/visual-qa.d.ts +2 -0
- package/dist/features/claude-code-agent-loader/agent-definitions-loader.d.ts +2 -2
- package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +1 -1
- package/dist/features/claude-code-agent-loader/loader.d.ts +2 -2
- package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +1 -1
- package/dist/features/claude-code-plugin-loader/discovery-core.d.ts +2 -0
- package/dist/features/claude-code-plugin-loader/discovery-paths.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/discovery.d.ts +3 -4
- package/dist/features/claude-code-plugin-loader/install-path-resolver.d.ts +1 -0
- package/dist/features/claude-code-plugin-loader/installed-plugin-database.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/loaded-plugin.d.ts +2 -0
- package/dist/features/claude-code-plugin-loader/plugin-key.d.ts +1 -0
- package/dist/features/claude-code-plugin-loader/plugin-manifest.d.ts +4 -0
- package/dist/features/claude-code-plugin-loader/plugin-settings.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/types.d.ts +1 -0
- package/dist/features/hook-message-injector/context-resolver.d.ts +6 -0
- package/dist/features/hook-message-injector/id-generation.d.ts +2 -0
- package/dist/features/hook-message-injector/index.d.ts +1 -1
- package/dist/features/hook-message-injector/injector.d.ts +7 -69
- package/dist/features/hook-message-injector/json-message-lookup.d.ts +3 -0
- package/dist/features/hook-message-injector/message-directory.d.ts +1 -0
- package/dist/features/hook-message-injector/message-injection.d.ts +2 -0
- package/dist/features/hook-message-injector/sdk-message-context.d.ts +6 -0
- package/dist/features/hook-message-injector/sdk-message-lookup.d.ts +28 -0
- package/dist/features/hook-message-injector/types.d.ts +9 -0
- package/dist/features/mcp-oauth/callback-server.d.ts +10 -2
- package/dist/features/opencode-runtime-skills/source-server.d.ts +1 -0
- package/dist/features/skill-mcp-manager/http-client.d.ts +2 -0
- package/dist/features/team-mode/deps.d.ts +8 -1
- package/dist/features/team-mode/team-layout-tmux/layout.d.ts +2 -0
- package/dist/features/team-mode/team-mailbox/send.d.ts +3 -0
- package/dist/features/team-mode/team-registry/paths.d.ts +17 -2
- package/dist/features/team-mode/team-runtime/shutdown.d.ts +1 -1
- package/dist/features/team-mode/team-runtime/unresolved-team-members.d.ts +3 -0
- package/dist/features/team-mode/team-state-store/active-resume.d.ts +5 -0
- package/dist/features/team-mode/team-state-store/creating-resume.d.ts +4 -0
- package/dist/features/team-mode/team-state-store/deleting-resume.d.ts +4 -0
- package/dist/features/team-mode/team-state-store/error-normalization.d.ts +2 -0
- package/dist/features/team-mode/team-state-store/reservation-reconciliation.d.ts +4 -0
- package/dist/features/team-mode/team-state-store/resume-report.d.ts +7 -0
- package/dist/features/team-mode/team-state-store/resume.d.ts +2 -7
- package/dist/features/team-mode/team-state-store/runtime-cleanup.d.ts +4 -0
- package/dist/features/team-mode/team-state-store/session-liveness.d.ts +9 -0
- package/dist/features/team-mode/team-state-store/worker-resume-status.d.ts +9 -0
- package/dist/features/team-mode/tools/lifecycle-create-tool.d.ts +17 -0
- package/dist/features/team-mode/tools/lifecycle-inline-spec.d.ts +19 -0
- package/dist/features/team-mode/tools/lifecycle-participant.d.ts +25 -0
- package/dist/features/team-mode/tools/lifecycle-shutdown-tools.d.ts +18 -0
- package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +3 -3
- package/dist/features/team-mode/tools/lifecycle.d.ts +3 -37
- package/dist/features/team-mode/tools/messaging-live-delivery-client.d.ts +25 -0
- package/dist/features/team-mode/tools/messaging-live-delivery-recipient.d.ts +19 -0
- package/dist/features/team-mode/tools/messaging-live-delivery-reservation.d.ts +10 -0
- package/dist/features/team-mode/tools/messaging-live-delivery-state.d.ts +5 -0
- package/dist/features/team-mode/tools/messaging-live-delivery.d.ts +6 -0
- package/dist/features/team-mode/tools/messaging-runtime.d.ts +17 -0
- package/dist/features/team-mode/tools/messaging.d.ts +4 -29
- package/dist/features/tmux-subagent/manager.d.ts +20 -1
- package/dist/features/tmux-subagent/session-created-handler.d.ts +4 -0
- package/dist/features/tmux-subagent/types.d.ts +1 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/message-builder.d.ts +1 -1
- package/dist/hooks/atlas/idle-completion-nudge.d.ts +10 -0
- package/dist/hooks/atlas/idle-constants.d.ts +4 -0
- package/dist/hooks/atlas/idle-continuation.d.ts +23 -0
- package/dist/hooks/atlas/idle-session-eligibility.d.ts +8 -0
- package/dist/hooks/atlas/tool-execute-after-direct-work.d.ts +9 -0
- package/dist/hooks/atlas/tool-execute-after-plan-tasks.d.ts +3 -0
- package/dist/hooks/atlas/tool-execute-after-subagent-completion.d.ts +14 -0
- package/dist/hooks/auto-update-checker/hook/background-update-check.d.ts +6 -0
- package/dist/hooks/auto-update-checker/hook/ignore-toast-error.d.ts +1 -0
- package/dist/hooks/hephaestus-agents-md-injector/hook.d.ts +37 -0
- package/dist/hooks/hephaestus-agents-md-injector/index.d.ts +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/json-error-recovery/hook.d.ts +1 -1
- package/dist/hooks/ralph-loop/command-arguments.d.ts +1 -0
- package/dist/hooks/ralph-loop/event-handler-activity.d.ts +10 -0
- package/dist/hooks/ralph-loop/event-handler-completion.d.ts +9 -0
- package/dist/hooks/ralph-loop/event-handler-continuation.d.ts +16 -0
- package/dist/hooks/ralph-loop/event-handler-feedback.d.ts +16 -0
- package/dist/hooks/ralph-loop/event-handler-idle.d.ts +15 -0
- package/dist/hooks/ralph-loop/event-handler-impl.d.ts +10 -0
- package/dist/hooks/ralph-loop/event-handler-runtime-error.d.ts +4 -0
- package/dist/hooks/ralph-loop/event-handler-types.d.ts +20 -0
- package/dist/hooks/ralph-loop/loop-state-controller.d.ts +1 -0
- package/dist/hooks/ralph-loop/ralph-loop-event-handler.d.ts +4 -24
- package/dist/hooks/ralph-loop/ralph-loop-hook.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-chunks.d.ts +6 -0
- package/dist/hooks/read-image-resizer/png-constants.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-crc.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-decoder.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-encoder.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-filters.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-ihdr.d.ts +11 -0
- package/dist/hooks/read-image-resizer/png-nearest-neighbor.d.ts +1 -0
- package/dist/hooks/rules-injector/injection-output.d.ts +2 -0
- package/dist/hooks/rules-injector/injection-processor.d.ts +22 -0
- package/dist/hooks/rules-injector/injection-types.d.ts +43 -0
- package/dist/hooks/rules-injector/injector.d.ts +3 -47
- package/dist/hooks/rules-injector/match-decision-cache.d.ts +4 -0
- package/dist/hooks/rules-injector/parsed-rule-cache.d.ts +11 -0
- package/dist/hooks/rules-injector/path-resolution.d.ts +1 -0
- package/dist/hooks/rules-injector/rule-match-reason.d.ts +12 -0
- package/dist/hooks/rules-injector/transcript-hydration.d.ts +13 -2
- package/dist/hooks/runtime-fallback/auto-retry-abort.d.ts +2 -0
- package/dist/hooks/runtime-fallback/auto-retry-agent-context.d.ts +2 -0
- package/dist/hooks/runtime-fallback/auto-retry-cleanup.d.ts +2 -0
- package/dist/hooks/runtime-fallback/auto-retry-dispatch.d.ts +2 -0
- package/dist/hooks/runtime-fallback/auto-retry-metadata.d.ts +9 -0
- package/dist/hooks/runtime-fallback/auto-retry-timeout.d.ts +5 -0
- package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +1 -1
- package/dist/hooks/runtime-fallback/fallback-state.d.ts +4 -1
- package/dist/hooks/runtime-fallback/normalize-model.d.ts +12 -0
- package/dist/hooks/session-notification-linux.d.ts +3 -0
- package/dist/hooks/session-notification-log.d.ts +2 -0
- package/dist/hooks/session-notification-macos.d.ts +3 -0
- package/dist/hooks/session-notification-platform.d.ts +3 -0
- package/dist/hooks/session-notification-runner.d.ts +9 -0
- package/dist/hooks/session-notification-send.d.ts +3 -0
- package/dist/hooks/session-notification-sender.d.ts +5 -6
- package/dist/hooks/session-notification-sound.d.ts +3 -0
- package/dist/hooks/session-notification-windows.d.ts +3 -0
- package/dist/hooks/session-recovery/error-recovery.d.ts +4 -0
- package/dist/hooks/session-recovery/hook-types.d.ts +22 -0
- package/dist/hooks/session-recovery/hook.d.ts +2 -19
- package/dist/hooks/session-recovery/interrupted-tool-results.d.ts +3 -0
- package/dist/hooks/session-recovery/message-state.d.ts +4 -0
- package/dist/hooks/session-recovery/storage/thinking-strip.d.ts +7 -1
- package/dist/hooks/start-work/context-info-builder.d.ts +9 -9
- package/dist/hooks/start-work/context-info-formatters.d.ts +21 -0
- package/dist/hooks/start-work/explicit-plan-context.d.ts +9 -0
- package/dist/hooks/start-work/plan-discovery-context.d.ts +25 -0
- package/dist/hooks/start-work/plan-selection.d.ts +4 -0
- package/dist/hooks/start-work/work-initializer.d.ts +17 -0
- package/dist/hooks/tool-pair-validator/hook.d.ts +1 -37
- package/dist/hooks/tool-pair-validator/message-transform.d.ts +2 -0
- package/dist/hooks/tool-pair-validator/tool-part-ids.d.ts +6 -0
- package/dist/hooks/tool-pair-validator/tool-result-repair.d.ts +4 -0
- package/dist/hooks/tool-pair-validator/types.d.ts +36 -0
- package/dist/index.js +12708 -9988
- package/dist/oh-my-opencode.schema.json +4 -0
- package/dist/openclaw/reply-listener-poll-loop.d.ts +3 -0
- package/dist/openclaw/reply-listener-signature.d.ts +2 -0
- package/dist/openclaw/reply-listener-sleep.d.ts +1 -0
- package/dist/openclaw/reply-listener-start.d.ts +9 -0
- package/dist/openclaw/reply-listener-status.d.ts +4 -0
- package/dist/openclaw/reply-listener-stop.d.ts +7 -0
- package/dist/openclaw/reply-listener.d.ts +5 -18
- package/dist/openclaw/session-registry-lock.d.ts +2 -0
- package/dist/openclaw/session-registry-paths.d.ts +9 -0
- package/dist/openclaw/session-registry-storage.d.ts +4 -0
- package/dist/openclaw/session-registry-types.d.ts +11 -0
- package/dist/openclaw/session-registry.d.ts +2 -11
- package/dist/plugin/chat-message/loop-commands.d.ts +9 -0
- package/dist/plugin/chat-message/model-cache-warning.d.ts +12 -0
- package/dist/plugin/chat-message/prompt-text.d.ts +2 -0
- package/dist/plugin/chat-message/session-model.d.ts +4 -0
- package/dist/plugin/chat-message/start-work-message.d.ts +5 -0
- package/dist/plugin/chat-message/types.d.ts +67 -0
- package/dist/plugin/chat-message.d.ts +3 -24
- package/dist/plugin/event-error-utils.d.ts +14 -0
- package/dist/plugin/event-hook-dispatcher.d.ts +5 -0
- package/dist/plugin/event-model-fallback-state.d.ts +30 -0
- package/dist/plugin/event-model-fallback.d.ts +39 -0
- package/dist/plugin/event-session-lifecycle.d.ts +49 -0
- package/dist/plugin/event-session-recovery.d.ts +9 -0
- package/dist/plugin/event-team-handlers.d.ts +13 -0
- package/dist/plugin/event-types.d.ts +78 -0
- package/dist/plugin/event.d.ts +3 -12
- package/dist/plugin/hooks/create-core-hooks.d.ts +1 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts +2 -1
- package/dist/plugin/hooks/model-fallback-title-updater.d.ts +8 -0
- package/dist/plugin/session-compacting.d.ts +4 -1
- package/dist/plugin/system-transform.d.ts +1 -1
- package/dist/plugin/tool-execute-after.d.ts +2 -0
- package/dist/plugin/tool-registry-core-tools.d.ts +15 -0
- package/dist/plugin/tool-registry-factories.d.ts +36 -0
- package/dist/plugin/tool-registry-gated-tools.d.ts +16 -0
- package/dist/plugin/tool-registry-team-tools.d.ts +14 -0
- package/dist/plugin/tool-registry-trimming.d.ts +2 -0
- package/dist/plugin/tool-registry.d.ts +3 -38
- package/dist/plugin/ultrawork-db-model-override.d.ts +1 -1
- package/dist/plugin-config/agent-order-warnings.d.ts +1 -0
- package/dist/plugin-config/config-merger.d.ts +2 -0
- package/dist/plugin-config/layered-config-loader.d.ts +2 -0
- package/dist/plugin-config/single-config-loader.d.ts +4 -0
- package/dist/plugin-config.d.ts +3 -5
- package/dist/plugin-handlers/agent-config-assembly.d.ts +19 -0
- package/dist/plugin-handlers/agent-config-finalizer.d.ts +4 -0
- package/dist/plugin-handlers/agent-config-handler.d.ts +2 -11
- package/dist/plugin-handlers/agent-config-types.d.ts +30 -0
- package/dist/plugin-handlers/agent-skill-discovery.d.ts +3 -0
- package/dist/plugin-handlers/agent-source-loader.d.ts +2 -0
- package/dist/plugin-handlers/hook-config-handler.d.ts +0 -3
- package/dist/shared/context-window-usage.d.ts +7 -0
- package/dist/shared/dynamic-truncator-types.d.ts +17 -0
- package/dist/shared/dynamic-truncator.d.ts +8 -23
- package/dist/shared/migration/migrations-sidecar.d.ts +2 -2
- package/dist/shared/migration/model-versions.d.ts +7 -4
- package/dist/shared/model-availability.d.ts +1 -1
- package/dist/shared/opencode-version.d.ts +2 -2
- package/dist/shared/sparkshell-awareness.d.ts +5 -0
- package/dist/shared/spawn-with-windows-hide.d.ts +2 -0
- package/dist/shared/token-limit-truncator.d.ts +2 -0
- package/dist/testing/module-mock-lifecycle.d.ts +8 -0
- package/dist/tools/delegate-task/openai-categories.d.ts +0 -1
- package/dist/tools/delegate-task/subagent-agent-match.d.ts +3 -0
- package/dist/tools/delegate-task/subagent-model-resolution.d.ts +4 -0
- package/dist/tools/delegate-task/subagent-request-preflight.d.ts +3 -0
- package/dist/tools/delegate-task/subagent-resolution-types.d.ts +32 -0
- package/dist/tools/delegate-task/subagent-resolver.d.ts +3 -12
- package/dist/tools/delegate-task/sync-completion-message.d.ts +20 -0
- package/dist/tools/delegate-task/sync-poll-error-recovery.d.ts +1 -0
- package/dist/tools/delegate-task/sync-session-lifecycle.d.ts +12 -0
- package/dist/tools/delegate-task/sync-session-poller.d.ts +2 -0
- package/dist/tools/delegate-task/sync-spawn-reservation.d.ts +10 -0
- package/dist/tools/delegate-task/sync-task-metadata.d.ts +11 -0
- package/dist/tools/delegate-task/sync-task-runner.d.ts +30 -0
- package/dist/tools/delegate-task/sync-task.d.ts +2 -1
- package/dist/tools/hashline-edit/formatter-trigger.d.ts +2 -2
- package/package.json +15 -14
- package/packages/git-bash-mcp/dist/cli.js +29 -12
- package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.d.ts +1 -1
- package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.js +1 -1
- package/packages/lsp-tools-mcp/dist/lsp/config-loader.js +95 -30
- package/packages/lsp-tools-mcp/dist/lsp/server-installation.d.ts +1 -2
- package/packages/lsp-tools-mcp/dist/lsp/server-installation.js +1 -11
- package/packages/lsp-tools-mcp/dist/lsp/transport.d.ts +1 -0
- package/packages/lsp-tools-mcp/dist/lsp/transport.js +5 -10
- package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.d.ts +4 -1
- package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.js +84 -23
- package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +2 -0
- package/packages/lsp-tools-mcp/dist/missing-dependency-result.js +14 -0
- package/packages/lsp-tools-mcp/dist/tools.js +64 -80
- package/packages/lsp-tools-mcp/package.json +4 -4
- package/packages/omo-codex/lazycodex-repository/.github/workflows/pr-source-guidance.yml +36 -0
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/README.md +3 -1
- package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +188 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/core-values.ts +1 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +15 -361
- package/packages/omo-codex/plugin/components/comment-checker/src/hook-input.ts +19 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/record.ts +11 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +102 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/types.ts +51 -0
- package/packages/omo-codex/plugin/components/comment-checker/test/codex-hook.test.ts +145 -0
- package/packages/omo-codex/plugin/components/comment-checker/test/core.test.ts +200 -0
- package/packages/omo-codex/plugin/components/lsp/CHANGELOG.md +2 -2
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus.md +11 -5
- package/packages/omo-codex/plugin/components/rules/src/hook-output.ts +11 -1
- package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +0 -1
- package/packages/omo-codex/plugin/components/rules/src/rules/constants.ts +1 -4
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-dynamic-cache.ts +87 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-dynamic-loader.ts +94 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-loader.ts +84 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-paths.ts +103 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-static-loader.ts +43 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine-types.ts +45 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine.ts +8 -419
- package/packages/omo-codex/plugin/components/rules/src/rules/formatter.ts +39 -13
- package/packages/omo-codex/plugin/components/rules/src/rules/parser-frontmatter.ts +39 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/parser-yaml.ts +271 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/parser.ts +3 -294
- package/packages/omo-codex/plugin/components/rules/src/rules/truncator.ts +17 -0
- package/packages/omo-codex/plugin/components/rules/src/sparkshell-awareness.ts +57 -0
- package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +13 -2
- package/packages/omo-codex/plugin/components/rules/src/transcript-rule-filter.ts +17 -0
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +2 -1
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +26 -11
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-context-pressure.test.ts +104 -138
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +5 -2
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +12 -5
- package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +10 -4
- package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +65 -3
- package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +67 -2
- package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +16 -0
- package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +153 -0
- package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +12 -0
- package/packages/omo-codex/plugin/components/rules/test/sparkshell-awareness.test.ts +236 -0
- package/packages/omo-codex/plugin/components/rules/test/tool-paths.test.ts +28 -50
- package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +6 -3
- package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +13 -6
- package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +21 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +64 -2
- package/packages/omo-codex/plugin/components/telemetry/README.md +11 -1
- package/packages/omo-codex/plugin/components/telemetry/biome.json +12 -0
- package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +30 -3
- package/packages/omo-codex/plugin/components/telemetry/src/diagnostics.ts +154 -0
- package/packages/omo-codex/plugin/components/telemetry/src/posthog-activity-state.ts +18 -2
- package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +36 -4
- package/packages/omo-codex/plugin/components/telemetry/test/codex-hook-diagnostics.test.ts +115 -0
- package/packages/omo-codex/plugin/components/telemetry/test/codex-hook.test.ts +16 -25
- package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +119 -0
- package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/README.md +5 -5
- package/packages/omo-codex/plugin/components/ultrawork/agents/codex-ultrawork-reviewer.toml +2 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/metis.toml +0 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +0 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +1 -2
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +97 -32
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +65 -0
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/agents/openai.yaml +7 -0
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +131 -0
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +38 -10
- package/packages/omo-codex/plugin/components/ultrawork/test/directive-contract.test.ts +18 -0
- package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +47 -0
- 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 +12 -8
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +28 -21
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +2 -3
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +7 -7
- package/packages/omo-codex/plugin/components/ulw-loop/src/command-types.ts +36 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/constants.ts +64 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +98 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +17 -2
- package/packages/omo-codex/plugin/components/ulw-loop/src/runtime.ts +22 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/steering-types.ts +69 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/types.ts +5 -277
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +35 -13
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-complete-goals.test.ts +52 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering.test.ts +67 -111
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +2 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +31 -2
- package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +46 -9
- package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +20 -29
- package/packages/omo-codex/plugin/model-catalog.json +5 -11
- package/packages/omo-codex/plugin/package-lock.json +1 -1
- package/packages/omo-codex/plugin/scripts/auto-update-state.mjs +78 -0
- package/packages/omo-codex/plugin/scripts/auto-update.mjs +166 -76
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +71 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/config-paths.mjs +44 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-v2-guard.mjs +40 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/root-settings.mjs +74 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config/state.mjs +29 -0
- package/packages/omo-codex/plugin/scripts/migrate-codex-config.mjs +33 -204
- package/packages/omo-codex/plugin/scripts/spawn-command.mjs +11 -0
- package/packages/omo-codex/plugin/scripts/sync-hook-status-messages.mjs +23 -9
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +131 -28
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/04-oracle-triple.md +3 -3
- package/packages/omo-codex/plugin/skills/git-master/SKILL.md +100 -0
- package/packages/omo-codex/plugin/skills/git-master/agents/openai.yaml +13 -0
- package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +9 -7
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/SKILL.md +176 -0
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/agents/openai.yaml +12 -0
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +107 -0
- package/packages/omo-codex/plugin/skills/lcx-report-bug/SKILL.md +119 -14
- package/packages/omo-codex/plugin/skills/lcx-report-bug/agents/openai.yaml +4 -2
- package/packages/omo-codex/plugin/skills/programming/references/go/concurrency.md +2 -2
- package/packages/omo-codex/plugin/skills/programming/references/python/async-anyio.md +6 -6
- package/packages/omo-codex/plugin/skills/programming/references/python/pydantic-ai.md +12 -12
- package/packages/omo-codex/plugin/skills/programming/references/typescript/backend-hono.md +7 -7
- package/packages/omo-codex/plugin/skills/refactor/SKILL.md +13 -11
- package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +10 -8
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +68 -33
- package/packages/omo-codex/plugin/skills/start-work/SKILL.md +86 -22
- package/packages/omo-codex/plugin/skills/ultraresearch/SKILL.md +770 -0
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +12 -8
- package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +28 -21
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +45 -379
- package/packages/omo-codex/plugin/skills/ulw-plan/agents/openai.yaml +7 -0
- package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +131 -0
- package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +237 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/ansi.ts +17 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/cli.ts +82 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/east-asian-width.ts +72 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/image-diff.ts +109 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-crc.ts +27 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-decode.ts +206 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-synth.ts +57 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/tui-grid.ts +88 -0
- package/packages/omo-codex/plugin/skills/visual-qa/scripts/types.ts +54 -0
- package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +55 -0
- package/packages/omo-codex/plugin/test/aggregate-build.test.mjs +38 -0
- package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +164 -0
- package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +73 -0
- package/packages/omo-codex/plugin/test/aggregate-mcp.test.mjs +69 -0
- package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +53 -0
- package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +83 -0
- package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +67 -0
- package/packages/omo-codex/plugin/test/aggregate.test.mjs +2 -514
- package/packages/omo-codex/plugin/test/auto-update-state-persistence.test.mjs +36 -0
- package/packages/omo-codex/plugin/test/auto-update.test.mjs +191 -29
- package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +1 -1
- package/packages/omo-codex/plugin/test/global-review-debug-gate.test.mjs +29 -0
- package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +23 -10
- package/packages/omo-codex/plugin/test/lcx-bug-skills.test.mjs +81 -0
- package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +91 -0
- package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +244 -9
- package/packages/omo-codex/plugin/test/node-install-surface.test.mjs +0 -19
- package/packages/omo-codex/plugin/test/start-work-skill.test.mjs +107 -0
- package/packages/omo-codex/plugin/test/subagent-guidance.test.mjs +82 -7
- package/packages/omo-codex/plugin/test/sync-hook-status-messages.test.mjs +58 -6
- package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +152 -0
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +158 -50
- package/packages/omo-codex/plugin/test/ulw-plan-skill.test.mjs +43 -0
- package/packages/omo-codex/scripts/install/agent-source-roots.mjs +13 -0
- package/packages/omo-codex/scripts/install/agents.mjs +84 -14
- package/packages/omo-codex/scripts/install/bin-links.mjs +239 -0
- package/packages/omo-codex/scripts/install/cache.mjs +152 -108
- package/packages/omo-codex/scripts/install/cached-marketplace-manifest.mjs +21 -0
- package/packages/omo-codex/scripts/install/cli-args.mjs +39 -2
- package/packages/omo-codex/scripts/install/config.mjs +9 -5
- package/packages/omo-codex/scripts/install/lazycodex-version-stamp.mjs +102 -0
- package/packages/omo-codex/scripts/install/legacy-bins.mjs +9 -1
- package/packages/omo-codex/scripts/install/model-catalog.mjs +9 -1
- package/packages/omo-codex/scripts/install/multi-agent-v2-config.mjs +12 -10
- package/packages/omo-codex/scripts/install/process.mjs +3 -1
- package/packages/omo-codex/scripts/install/project-local-cleanup.mjs +0 -1
- package/packages/omo-codex/scripts/install/snapshot.mjs +0 -1
- package/packages/omo-codex/scripts/install-agent-links.test.mjs +205 -11
- package/packages/omo-codex/scripts/install-bin-links.test.mjs +123 -1
- package/packages/omo-codex/scripts/install-cache-copy.test.mjs +129 -5
- package/packages/omo-codex/scripts/install-cli-args.test.mjs +82 -1
- package/packages/omo-codex/scripts/install-config-preservation.test.mjs +43 -0
- package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +14 -1
- package/packages/omo-codex/scripts/install-config.test.mjs +49 -1
- package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +84 -0
- package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +51 -0
- package/packages/omo-codex/scripts/install-local.mjs +42 -40
- package/packages/omo-codex/scripts/install-local.test.mjs +17 -241
- package/packages/omo-codex/scripts/install-marketplace-cache.test.mjs +162 -0
- package/packages/omo-codex/scripts/install-packaged-local.test.mjs +10 -6
- package/packages/omo-codex/scripts/install-project-local-cleanup.test.mjs +73 -2
- package/packages/omo-codex/scripts/sync-telemetry-component.mjs +1 -0
- package/packages/shared-skills/skills/debugging/references/methodology/04-oracle-triple.md +3 -3
- package/packages/shared-skills/skills/git-master/SKILL.md +100 -0
- package/packages/shared-skills/skills/git-master/agents/openai.yaml +13 -0
- package/packages/shared-skills/skills/lcx-contribute-bug-fix/SKILL.md +176 -0
- package/packages/shared-skills/skills/lcx-contribute-bug-fix/agents/openai.yaml +12 -0
- package/packages/shared-skills/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +107 -0
- package/packages/shared-skills/skills/lcx-report-bug/SKILL.md +119 -14
- package/packages/shared-skills/skills/lcx-report-bug/agents/openai.yaml +4 -2
- package/packages/shared-skills/skills/programming/references/go/concurrency.md +2 -2
- package/packages/shared-skills/skills/programming/references/python/async-anyio.md +6 -6
- package/packages/shared-skills/skills/programming/references/python/pydantic-ai.md +12 -12
- package/packages/shared-skills/skills/programming/references/typescript/backend-hono.md +7 -7
- package/packages/shared-skills/skills/refactor/SKILL.md +4 -4
- package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +1 -1
- package/packages/shared-skills/skills/review-work/SKILL.md +55 -33
- package/packages/shared-skills/skills/start-work/SKILL.md +76 -19
- package/packages/shared-skills/skills/ultraresearch/SKILL.md +770 -0
- package/packages/shared-skills/skills/visual-qa/SKILL.md +219 -0
- package/packages/shared-skills/skills/visual-qa/scripts/ansi.test.ts +45 -0
- package/packages/shared-skills/skills/visual-qa/scripts/ansi.ts +17 -0
- package/packages/shared-skills/skills/visual-qa/scripts/cli.test.ts +73 -0
- package/packages/shared-skills/skills/visual-qa/scripts/cli.ts +82 -0
- package/packages/shared-skills/skills/visual-qa/scripts/east-asian-width.test.ts +60 -0
- package/packages/shared-skills/skills/visual-qa/scripts/east-asian-width.ts +72 -0
- package/packages/shared-skills/skills/visual-qa/scripts/image-diff.test.ts +70 -0
- package/packages/shared-skills/skills/visual-qa/scripts/image-diff.ts +109 -0
- package/packages/shared-skills/skills/visual-qa/scripts/png-crc.ts +27 -0
- package/packages/shared-skills/skills/visual-qa/scripts/png-decode.test.ts +44 -0
- package/packages/shared-skills/skills/visual-qa/scripts/png-decode.ts +206 -0
- package/packages/shared-skills/skills/visual-qa/scripts/png-synth.ts +57 -0
- package/packages/shared-skills/skills/visual-qa/scripts/skill-prompt-contract.test.ts +83 -0
- package/packages/shared-skills/skills/visual-qa/scripts/tui-grid.test.ts +57 -0
- package/packages/shared-skills/skills/visual-qa/scripts/tui-grid.ts +88 -0
- package/packages/shared-skills/skills/visual-qa/scripts/types.ts +54 -0
- package/postinstall.mjs +24 -1
- package/dist/agents/custom-agent-summaries.d.ts +0 -8
- package/dist/agents/hephaestus/gpt-5-3-codex.d.ts +0 -20
- package/dist/agents/prometheus/gemini.d.ts +0 -1
- package/dist/agents/prometheus/gpt.d.ts +0 -1
- package/dist/agents/sisyphus-junior/gpt-5-3-codex.d.ts +0 -8
- package/dist/features/background-agent/session-route.d.ts +0 -12
- package/dist/features/background-agent/spawner/parent-directory-resolver.d.ts +0 -6
- package/dist/features/background-agent/state.d.ts +0 -35
- package/dist/features/claude-tasks/session-storage.d.ts +0 -9
- package/dist/features/mcp-oauth/resource-indicator.d.ts +0 -2
- package/dist/features/mcp-oauth/schema.d.ts +0 -6
- package/dist/features/opencode-skill-loader/async-loader.d.ts +0 -6
- package/dist/features/opencode-skill-loader/blocking.d.ts +0 -2
- package/dist/features/opencode-skill-loader/discover-worker.d.ts +0 -1
- package/dist/hooks/session-recovery/recover-empty-content-message-sdk.d.ts +0 -13
- package/dist/shared/bun-hash-shim.d.ts +0 -1
- package/dist/tools/delegate-task/resolve-call-id.d.ts +0 -2
- package/packages/shared-skills/skills/ulw-plan/SKILL.md +0 -383
- /package/packages/lsp-tools-mcp/dist/lsp/{utils.d.ts → startup-failure.d.ts} +0 -0
- /package/packages/lsp-tools-mcp/dist/lsp/{utils.js → startup-failure.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Compare HEAD with the latest published npm
|
|
2
|
+
description: Compare HEAD with the latest published npm versions and list all unpublished changes by release layer
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
<command-instruction>
|
|
@@ -12,11 +12,23 @@ For each commit, you MUST:
|
|
|
12
12
|
2. Describe the REAL change in plain language
|
|
13
13
|
3. Explain WHY it matters (if not obvious)
|
|
14
14
|
|
|
15
|
+
## Release Layers
|
|
16
|
+
|
|
17
|
+
Analyze every change against these exact layers:
|
|
18
|
+
|
|
19
|
+
| Layer | Includes | Version question |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `omo pure components` | `packages/*-core`, MCP packages, `packages/shared-skills`, reusable scripts | Do shared components need a patch/minor/major release note even if adapters only consume them internally? |
|
|
22
|
+
| `omo opencode` | Root `oh-my-opencode` / `oh-my-openagent`, `src/`, `.opencode/`, `.agents/`, CLI, config, hooks, tools, docs | What semver bump should the OpenCode/OpenAgent npm packages use? |
|
|
23
|
+
| `omo codex` | `packages/omo-codex`, `lazycodex-ai`, Codex plugin metadata/hooks, bundled MCP runtimes, `code-yeongyu/lazycodex` marketplace payload | Does LazyCodex need the same bump, a Codex-only note, or a marketplace release? |
|
|
24
|
+
|
|
15
25
|
## Steps:
|
|
16
|
-
1.
|
|
17
|
-
2.
|
|
18
|
-
3.
|
|
19
|
-
4.
|
|
26
|
+
1. Detect latest published versions for `oh-my-opencode`, `oh-my-openagent`, and `lazycodex-ai`.
|
|
27
|
+
2. Run `git diff v{published-version}..HEAD` to see actual changes.
|
|
28
|
+
3. Classify every file into one or more release layers before grouping by feat/fix/refactor/docs.
|
|
29
|
+
4. Describe the REAL changes and why each layer cares.
|
|
30
|
+
5. Note breaking changes by affected layer.
|
|
31
|
+
6. Recommend a layer-specific version bump and one overall workflow bump.
|
|
20
32
|
|
|
21
33
|
## Output Format:
|
|
22
34
|
- feat: "Added X that does Y" (not just "add X feature")
|
|
@@ -31,6 +43,9 @@ For each commit, you MUST:
|
|
|
31
43
|
<local-version>
|
|
32
44
|
!`node -p "require('./package.json').version" 2>/dev/null || echo "unknown"`
|
|
33
45
|
</local-version>
|
|
46
|
+
<lazycodex-version>
|
|
47
|
+
!`npm view lazycodex-ai version 2>/dev/null || echo "not published"`
|
|
48
|
+
</lazycodex-version>
|
|
34
49
|
<latest-tag>
|
|
35
50
|
!`git tag --sort=-v:refname | head -1 2>/dev/null || echo "no tags"`
|
|
36
51
|
</latest-tag>
|
|
@@ -77,7 +92,21 @@ None or list
|
|
|
77
92
|
### Files Changed
|
|
78
93
|
{diff-stat}
|
|
79
94
|
|
|
80
|
-
###
|
|
95
|
+
### Layered Impact Matrix
|
|
96
|
+
| Layer | Impact | Breaking Risk |
|
|
97
|
+
|-------|--------|---------------|
|
|
98
|
+
| omo pure components | ... | ... |
|
|
99
|
+
| omo opencode | ... | ... |
|
|
100
|
+
| omo codex | ... | ... |
|
|
101
|
+
|
|
102
|
+
### Layer-specific Version Recommendation
|
|
103
|
+
| Layer | Recommendation | Reason |
|
|
104
|
+
|-------|----------------|--------|
|
|
105
|
+
| omo pure components | patch|minor|major | ... |
|
|
106
|
+
| omo opencode | patch|minor|major | ... |
|
|
107
|
+
| omo codex | patch|minor|major | ... |
|
|
108
|
+
|
|
109
|
+
### Overall Suggested Version Bump
|
|
81
110
|
- **Recommendation**: patch|minor|major
|
|
82
111
|
- **Reason**: Reason for recommendation
|
|
83
112
|
</output-format>
|
|
@@ -17,7 +17,7 @@ Print the following message to the user EXACTLY as written (in a friendly, celeb
|
|
|
17
17
|
|
|
18
18
|
**Oh My OpenCode** is a powerful OpenCode plugin that transforms your AI agent into a full development team:
|
|
19
19
|
|
|
20
|
-
- 🤖 **Multi-Agent Orchestration**: Oracle (GPT-5.
|
|
20
|
+
- 🤖 **Multi-Agent Orchestration**: Oracle (GPT-5.5), Librarian (Claude), Explore (Grok), Frontend Engineer (Gemini), and more
|
|
21
21
|
- 🔧 **LSP Tools**: Full IDE capabilities for your agents - hover, goto definition, find references, rename, code actions
|
|
22
22
|
- 🔍 **AST-Grep**: Structural code search and replace across 25 languages
|
|
23
23
|
- 📚 **Built-in MCPs**: Context7 for docs, Exa for web search, grep.app for GitHub code search
|
|
@@ -6,6 +6,18 @@ argument-hint: <patch|minor|major>
|
|
|
6
6
|
<command-instruction>
|
|
7
7
|
You are the release manager for oh-my-opencode. Execute the FULL publish workflow from start to finish.
|
|
8
8
|
|
|
9
|
+
## CRITICAL: FULL WORKFLOW MEANS THREE RELEASE SURFACES
|
|
10
|
+
|
|
11
|
+
Publishing is complete only after all release surfaces are verified:
|
|
12
|
+
|
|
13
|
+
| Release layer | Surface | Required proof |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| `omo pure components` | Core/MCP/shared-skill changes inside the published package payload | `/get-unpublished-changes` and pre-publish review include layer-specific version impact. |
|
|
16
|
+
| `omo opencode` | `oh-my-opencode` and `oh-my-openagent` npm packages plus platform packages | npm versions and GitHub release exist for the selected bump. |
|
|
17
|
+
| `omo codex` | `lazycodex-ai`, Codex plugin metadata, and `code-yeongyu/lazycodex` marketplace release | Codex plugin metadata is stamped with the release version, `lazycodex-ai` publishes, and the LazyCodex repo release is created when the marketplace payload changed. |
|
|
18
|
+
|
|
19
|
+
The publish workflow must not be reported complete while any of `oh-my-opencode`, `oh-my-openagent`, `lazycodex-ai`, or `code-yeongyu/lazycodex` verification is unresolved.
|
|
20
|
+
|
|
9
21
|
## CRITICAL: ARGUMENT REQUIREMENT
|
|
10
22
|
|
|
11
23
|
**You MUST receive a version bump type from the user.** Valid options:
|
|
@@ -35,6 +47,7 @@ You are the release manager for oh-my-opencode. Execute the FULL publish workflo
|
|
|
35
47
|
{ "id": "draft-summary", "content": "Draft enhanced release summary (mandatory for minor/major, optional for patch — ask user)", "status": "pending", "priority": "high" },
|
|
36
48
|
{ "id": "apply-summary", "content": "Prepend enhanced summary to release (if user opted in)", "status": "pending", "priority": "high" },
|
|
37
49
|
{ "id": "verify-npm", "content": "Verify npm package published successfully", "status": "pending", "priority": "high" },
|
|
50
|
+
{ "id": "verify-lazycodex", "content": "Verify lazycodex-ai publish, Codex plugin metadata version stamp, and code-yeongyu/lazycodex release/sync", "status": "pending", "priority": "high" },
|
|
38
51
|
{ "id": "wait-platform-workflow", "content": "Wait for publish-platform workflow completion", "status": "pending", "priority": "high" },
|
|
39
52
|
{ "id": "verify-platform-binaries", "content": "Verify all 7 platform binary packages published", "status": "pending", "priority": "high" },
|
|
40
53
|
{ "id": "final-confirmation", "content": "Final confirmation to user with links", "status": "pending", "priority": "low" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: get-unpublished-changes
|
|
3
|
-
description: "Compare HEAD with the latest published npm
|
|
3
|
+
description: "Compare HEAD with the latest published npm versions and list all unpublished changes by release layer. Triggers: unpublished changes, changelog, what changed, whats new."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
IMMEDIATELY output the analysis. NO questions. NO preamble.
|
|
@@ -12,13 +12,29 @@ For each commit, you MUST:
|
|
|
12
12
|
2. Describe the REAL change in plain language
|
|
13
13
|
3. Explain WHY it matters (if not obvious)
|
|
14
14
|
|
|
15
|
+
## Release Layers
|
|
16
|
+
|
|
17
|
+
Analyze every change against these exact layers:
|
|
18
|
+
|
|
19
|
+
| Layer | Includes | Version question |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `omo pure components` | `packages/*-core`, MCP packages, `packages/shared-skills`, reusable scripts | Do shared components need a patch/minor/major release note even if adapters only consume them internally? |
|
|
22
|
+
| `omo opencode` | Root `oh-my-opencode` / `oh-my-openagent`, `src/`, `.opencode/`, `.agents/`, CLI, config, hooks, tools, docs | What semver bump should the OpenCode/OpenAgent npm packages use? |
|
|
23
|
+
| `omo codex` | `packages/omo-codex`, `lazycodex-ai`, Codex plugin metadata/hooks, bundled MCP runtimes, `code-yeongyu/lazycodex` marketplace payload | Does LazyCodex need the same bump, a Codex-only note, or a marketplace release? |
|
|
24
|
+
|
|
15
25
|
## Steps:
|
|
16
|
-
1.
|
|
17
|
-
2.
|
|
18
|
-
3.
|
|
19
|
-
4.
|
|
26
|
+
1. Detect latest published versions for `oh-my-opencode`, `oh-my-openagent`, and `lazycodex-ai`.
|
|
27
|
+
2. Run `git diff v{published-version}..HEAD` to see actual changes.
|
|
28
|
+
3. Classify every file into one or more release layers before grouping by feat/fix/refactor/docs.
|
|
29
|
+
4. Describe the REAL changes and why each layer cares.
|
|
30
|
+
5. Note breaking changes by affected layer.
|
|
31
|
+
6. Recommend a layer-specific version bump and one overall workflow bump.
|
|
20
32
|
|
|
21
33
|
## Output Format:
|
|
22
34
|
- feat: "Added X that does Y" (not just "add X feature")
|
|
23
35
|
- fix: "Fixed bug where X happened, now Y" (not just "fix X bug")
|
|
24
36
|
- refactor: "Changed X from A to B, now supports C" (not just "rename X")
|
|
37
|
+
|
|
38
|
+
Include:
|
|
39
|
+
- `Layered Impact Matrix`: rows for `omo pure components`, `omo opencode`, `omo codex`
|
|
40
|
+
- `Layer-specific Version Recommendation`: patch/minor/major per layer plus one overall release bump
|
|
@@ -17,7 +17,7 @@ Print the following message to the user EXACTLY as written (in a friendly, celeb
|
|
|
17
17
|
|
|
18
18
|
**Oh My OpenCode** is a powerful OpenCode plugin that transforms your AI agent into a full development team:
|
|
19
19
|
|
|
20
|
-
- 🤖 **Multi-Agent Orchestration**: Oracle (GPT-5.
|
|
20
|
+
- 🤖 **Multi-Agent Orchestration**: Oracle (GPT-5.5), Librarian (Claude), Explore (Grok), Frontend Engineer (Gemini), and more
|
|
21
21
|
- 🔧 **LSP Tools**: Full IDE capabilities for your agents - hover, goto definition, find references, rename, code actions
|
|
22
22
|
- 🔍 **AST-Grep**: Structural code search and replace across 25 languages
|
|
23
23
|
- 📚 **Built-in MCPs**: Context7 for docs, Exa for web search, grep.app for GitHub code search
|
|
@@ -33,4 +33,3 @@ Created with ❤️ by **[code-yeongyu](https://github.com/code-yeongyu)**
|
|
|
33
33
|
---
|
|
34
34
|
|
|
35
35
|
*Enjoy coding on steroids!* 🚀
|
|
36
|
-
|
|
@@ -16,34 +16,72 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
16
16
|
. "$SCRIPT_DIR/lib/common.sh"
|
|
17
17
|
|
|
18
18
|
oqa_export() {
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
local id="$1" out
|
|
20
|
+
out="$(mktemp -t oqa-export.XXXXXX)" || return 1
|
|
21
|
+
OQA_TMPDIRS+=("$out")
|
|
22
|
+
oqa_export_to_file "$id" "$out" || return 1
|
|
23
|
+
oqa_validate_export_file "$id" "$out" || return 1
|
|
24
|
+
cat "$out"
|
|
21
25
|
}
|
|
22
26
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
oqa_extract_json_stdout() {
|
|
28
|
+
local raw="$1" clean="$2"
|
|
29
|
+
awk '
|
|
30
|
+
BEGIN { started = 0 }
|
|
31
|
+
started { print; next }
|
|
32
|
+
{
|
|
33
|
+
pos = index($0, "{")
|
|
34
|
+
if (pos > 0) {
|
|
35
|
+
print substr($0, pos)
|
|
36
|
+
started = 1
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
' "$raw" >"$clean"
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
oqa_export_to_file() {
|
|
43
|
+
local id="$1" out="$2" raw
|
|
44
|
+
if [ -z "$id" ]; then
|
|
45
|
+
oqa_log "FAIL: missing session id"
|
|
46
|
+
return 2
|
|
47
|
+
fi
|
|
48
|
+
raw="$(mktemp -t oqa-export-raw.XXXXXX)" || return 1
|
|
49
|
+
OQA_TMPDIRS+=("$raw")
|
|
50
|
+
opencode export "$id" >"$raw" 2>/dev/null || return 1
|
|
51
|
+
oqa_extract_json_stdout "$raw" "$out"
|
|
52
|
+
}
|
|
28
53
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if !
|
|
32
|
-
oqa_log "FAIL: export stdout is not valid JSON for $id"
|
|
54
|
+
oqa_validate_export_file() {
|
|
55
|
+
local id="$1" file="$2" got title msgtype
|
|
56
|
+
if ! jq -e . "$file" >/dev/null 2>&1; then
|
|
57
|
+
oqa_log "FAIL: export stdout is not valid JSON for $id"
|
|
58
|
+
return 1
|
|
33
59
|
fi
|
|
34
|
-
|
|
35
|
-
got="$(printf '%s' "$out" | jq -r '.info.id // empty')"
|
|
60
|
+
got="$(jq -r '.info.id // empty' "$file")"
|
|
36
61
|
if [ "$got" != "$id" ]; then
|
|
37
|
-
oqa_log "FAIL: export .info.id '$got' != '$id'"
|
|
62
|
+
oqa_log "FAIL: export .info.id '$got' != '$id'"
|
|
63
|
+
return 1
|
|
38
64
|
fi
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
msgtype="$(printf '%s' "$out" | jq -r '.messages|type' 2>/dev/null)"
|
|
65
|
+
title="$(jq -r '.info.title|type' "$file" 2>/dev/null)"
|
|
66
|
+
msgtype="$(jq -r '.messages|type' "$file" 2>/dev/null)"
|
|
42
67
|
if [ "$title" = "string" ] && { [ "$msgtype" = "array" ] || [ "$msgtype" = "null" ]; }; then
|
|
43
|
-
oqa_pass "export round-trips $id (info.id matches, valid JSON)"
|
|
44
68
|
return 0
|
|
45
69
|
fi
|
|
46
|
-
oqa_log "FAIL: unexpected shape (title=$title messages=$msgtype)"
|
|
70
|
+
oqa_log "FAIL: unexpected shape (title=$title messages=$msgtype)"
|
|
71
|
+
return 1
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
oqa_self_test() {
|
|
75
|
+
oqa_require opencode jq || return 1
|
|
76
|
+
local id out
|
|
77
|
+
id="$(oqa_db_query "SELECT id FROM session ORDER BY time_created DESC LIMIT 1" | jq -r '.[0].id // empty')"
|
|
78
|
+
if [ -z "$id" ]; then oqa_log "FAIL: no sessions to export"; return 1; fi
|
|
79
|
+
|
|
80
|
+
out="$(mktemp -t oqa-export.XXXXXX)" || return 1
|
|
81
|
+
OQA_TMPDIRS+=("$out")
|
|
82
|
+
oqa_export_to_file "$id" "$out" || return 1
|
|
83
|
+
oqa_validate_export_file "$id" "$out" || return 1
|
|
84
|
+
oqa_pass "export round-trips $id (info.id matches, valid JSON)"
|
|
47
85
|
}
|
|
48
86
|
|
|
49
87
|
case "${1:-}" in
|
|
@@ -45,8 +45,7 @@ oqa_db_path() {
|
|
|
45
45
|
|
|
46
46
|
# Escape a value for safe embedding inside a single-quoted SQL literal.
|
|
47
47
|
oqa_sql_escape() {
|
|
48
|
-
|
|
49
|
-
printf '%s' "$s"
|
|
48
|
+
printf '%s' "$1" | sed "s/'/''/g"
|
|
50
49
|
}
|
|
51
50
|
|
|
52
51
|
# Run a read-only SQL query against the active DB; emit JSON rows.
|
|
@@ -67,8 +66,10 @@ oqa_mk_isolated_xdg() {
|
|
|
67
66
|
local root
|
|
68
67
|
root="$(mktemp -d -t oqa-xdg.XXXXXX)" || return 1
|
|
69
68
|
OQA_TMPDIRS+=("$root")
|
|
70
|
-
mkdir -p "$root/data" "$root/config" "$root/cache" "$root/state" "$root/proj"
|
|
69
|
+
mkdir -p "$root/data" "$root/config" "$root/cache" "$root/state" "$root/home" "$root/proj"
|
|
71
70
|
export OQA_XDG_ROOT="$root"
|
|
71
|
+
export HOME="$root/home"
|
|
72
|
+
export OPENCODE_TEST_HOME="$root/home"
|
|
72
73
|
export XDG_DATA_HOME="$root/data"
|
|
73
74
|
export XDG_CONFIG_HOME="$root/config"
|
|
74
75
|
export XDG_CACHE_HOME="$root/cache"
|
|
@@ -123,6 +124,7 @@ oqa_start_server() {
|
|
|
123
124
|
OPENCODE_SERVER_PASSWORD="$pass" opencode serve --port "$port" --hostname 127.0.0.1 \
|
|
124
125
|
>"$XDG_STATE_HOME/serve.log" 2>&1 &
|
|
125
126
|
OQA_SERVER_PID=$!
|
|
127
|
+
disown "$OQA_SERVER_PID" 2>/dev/null || true
|
|
126
128
|
export OQA_SERVER_PORT="$port"
|
|
127
129
|
export OQA_SERVER_PASS="$pass"
|
|
128
130
|
export OQA_SERVER_URL="http://127.0.0.1:$port"
|
|
@@ -138,7 +140,7 @@ oqa_cleanup() {
|
|
|
138
140
|
if [ -n "${OQA_SERVER_PID:-}" ]; then
|
|
139
141
|
kill "$OQA_SERVER_PID" 2>/dev/null || true
|
|
140
142
|
sleep 0.3
|
|
141
|
-
kill -9 "$OQA_SERVER_PID" 2>/dev/null || true
|
|
143
|
+
kill -0 "$OQA_SERVER_PID" 2>/dev/null && kill -9 "$OQA_SERVER_PID" 2>/dev/null || true
|
|
142
144
|
OQA_SERVER_PID=""
|
|
143
145
|
fi
|
|
144
146
|
local s p d
|
|
@@ -147,6 +149,8 @@ oqa_cleanup() {
|
|
|
147
149
|
done
|
|
148
150
|
for p in "${OQA_CURL_PIDS[@]:-}"; do
|
|
149
151
|
[ -n "$p" ] && kill "$p" 2>/dev/null || true
|
|
152
|
+
[ -n "$p" ] && sleep 0.1
|
|
153
|
+
[ -n "$p" ] && kill -0 "$p" 2>/dev/null && kill -9 "$p" 2>/dev/null || true
|
|
150
154
|
done
|
|
151
155
|
for d in "${OQA_TMPDIRS[@]:-}"; do
|
|
152
156
|
[ -n "$d" ] && rm -rf "$d" 2>/dev/null || true
|
|
@@ -192,15 +196,23 @@ oqa__self_check() {
|
|
|
192
196
|
# isolation + trap teardown: an inner shell creates a sandbox (calling the
|
|
193
197
|
# helper DIRECTLY so the cleanup registration survives) and exits; the EXIT
|
|
194
198
|
# trap must remove it. We pass the sandbox path out via a marker file.
|
|
195
|
-
local marker isodir
|
|
199
|
+
local marker isodir home test_home
|
|
196
200
|
marker="$(mktemp -t oqa-marker.XXXXXX)"
|
|
197
|
-
bash -c '. "'"${BASH_SOURCE[0]}"'"; oqa_mk_isolated_xdg; printf "%s" "$OQA_XDG_ROOT" > "'"$marker"'"'
|
|
198
|
-
isodir="$(
|
|
201
|
+
bash -c '. "'"${BASH_SOURCE[0]}"'"; oqa_mk_isolated_xdg; printf "%s\n%s\n%s\n" "$OQA_XDG_ROOT" "$HOME" "$OPENCODE_TEST_HOME" > "'"$marker"'"'
|
|
202
|
+
isodir="$(sed -n '1p' "$marker" 2>/dev/null)"
|
|
203
|
+
home="$(sed -n '2p' "$marker" 2>/dev/null)"
|
|
204
|
+
test_home="$(sed -n '3p' "$marker" 2>/dev/null)"
|
|
205
|
+
rm -f "$marker"
|
|
199
206
|
if [ -n "$isodir" ] && [ ! -d "$isodir" ]; then
|
|
200
207
|
oqa_pass "isolated XDG sandbox auto-removed on exit ($isodir)"
|
|
201
208
|
else
|
|
202
209
|
oqa_log "FAIL: sandbox not cleaned: '$isodir' (exists=$([ -d "$isodir" ] && echo yes || echo no))"; fails=$((fails+1))
|
|
203
210
|
fi
|
|
211
|
+
if [ -n "$isodir" ] && [ "$home" = "$isodir/home" ] && [ "$test_home" = "$isodir/home" ]; then
|
|
212
|
+
oqa_pass "isolated HOME points inside sandbox"
|
|
213
|
+
else
|
|
214
|
+
oqa_log "FAIL: sandbox HOME not isolated (HOME='$home' OPENCODE_TEST_HOME='$test_home' root='$isodir')"; fails=$((fails+1))
|
|
215
|
+
fi
|
|
204
216
|
|
|
205
217
|
if [ "$fails" -eq 0 ]; then
|
|
206
218
|
oqa_pass "common.sh self-check"
|
|
@@ -47,6 +47,7 @@ oqa_sse_watch() {
|
|
|
47
47
|
curl -sN "$url/event?directory=$dir" >"$out" 2>/dev/null &
|
|
48
48
|
fi
|
|
49
49
|
cpid=$!; OQA_CURL_PIDS+=("$cpid")
|
|
50
|
+
disown "$cpid" 2>/dev/null || true
|
|
50
51
|
deadline=$(( $(date +%s) + timeout ))
|
|
51
52
|
while [ "$(date +%s)" -lt "$deadline" ]; do
|
|
52
53
|
if grep -q "\"$want\"" "$out" 2>/dev/null; then found=1; break; fi
|
|
@@ -54,6 +55,8 @@ oqa_sse_watch() {
|
|
|
54
55
|
sleep 0.2
|
|
55
56
|
done
|
|
56
57
|
kill "$cpid" 2>/dev/null || true
|
|
58
|
+
sleep 0.1
|
|
59
|
+
kill -0 "$cpid" 2>/dev/null && kill -9 "$cpid" 2>/dev/null || true
|
|
57
60
|
if [ -n "$found" ]; then
|
|
58
61
|
printf 'first matching event: '
|
|
59
62
|
grep -m1 "\"$want\"" "$out" | sed 's/^data: //' | jq -c '{type: .type}' 2>/dev/null || true
|
|
@@ -34,7 +34,7 @@ oqa_tui_smoke() {
|
|
|
34
34
|
tmux new-session -d -s "$sess" -x 200 -y 50
|
|
35
35
|
# launch the TUI inside the pane, carrying the isolated sandbox env
|
|
36
36
|
tmux send-keys -t "$sess" \
|
|
37
|
-
"XDG_DATA_HOME='$XDG_DATA_HOME' XDG_CONFIG_HOME='$XDG_CONFIG_HOME' XDG_CACHE_HOME='$XDG_CACHE_HOME' XDG_STATE_HOME='$XDG_STATE_HOME' OPENCODE_DISABLE_AUTOUPDATE=1 OPENCODE_DISABLE_MODELS_FETCH=1 opencode '$OQA_PROJ'" Enter
|
|
37
|
+
"HOME='$HOME' OPENCODE_TEST_HOME='$OPENCODE_TEST_HOME' XDG_DATA_HOME='$XDG_DATA_HOME' XDG_CONFIG_HOME='$XDG_CONFIG_HOME' XDG_CACHE_HOME='$XDG_CACHE_HOME' XDG_STATE_HOME='$XDG_STATE_HOME' OPENCODE_DISABLE_AUTOUPDATE=1 OPENCODE_DISABLE_MODELS_FETCH=1 opencode '$OQA_PROJ'" Enter
|
|
38
38
|
|
|
39
39
|
# poll for a render marker (version string, composer placeholder, or footer)
|
|
40
40
|
for ((i=0; i<50; i++)); do
|
|
@@ -5,7 +5,7 @@ description: "Nuclear-grade 16-agent pre-publish release gate. Runs /get-unpubli
|
|
|
5
5
|
|
|
6
6
|
# Pre-Publish Review — 16-Agent Release Gate
|
|
7
7
|
|
|
8
|
-
Three-layer review before publishing to npm. Every layer covers a different angle
|
|
8
|
+
Three-agent-layer review before publishing to npm. Every layer covers a different angle, and every result is mapped onto the release layers below.
|
|
9
9
|
|
|
10
10
|
| Layer | Agents | Type | What They Check |
|
|
11
11
|
|-------|--------|------|-----------------|
|
|
@@ -13,11 +13,21 @@ Three-layer review before publishing to npm. Every layer covers a different angl
|
|
|
13
13
|
| Holistic Review | 5 | review-work | Goal compliance, QA execution, code quality, security, context mining across full changeset |
|
|
14
14
|
| Release Synthesis | 1 | oracle | Overall release readiness, version bump, breaking changes, deployment risk |
|
|
15
15
|
|
|
16
|
+
## Release Layer Taxonomy
|
|
17
|
+
|
|
18
|
+
Every phase classifies evidence and risk across:
|
|
19
|
+
|
|
20
|
+
| Release Layer | Scope | Required version decision |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `omo pure components` | Core packages, MCP packages, shared skills, reusable scripts, platform binary inputs | Patch/minor/major impact for shared logic consumed by adapters. |
|
|
23
|
+
| `omo opencode` | Root `oh-my-opencode` / `oh-my-openagent`, `src/`, OpenCode plugin hooks/tools/CLI/config/docs, `.opencode/`, `.agents/` | Semver bump for the OpenCode/OpenAgent npm release. |
|
|
24
|
+
| `omo codex` | `packages/omo-codex`, `lazycodex-ai`, Codex plugin metadata/hooks, bundled MCP runtimes, `code-yeongyu/lazycodex` marketplace payload | Codex adapter bump, LazyCodex npm publish risk, and marketplace/GitHub release need. |
|
|
25
|
+
|
|
16
26
|
---
|
|
17
27
|
|
|
18
28
|
## Phase 0: Detect Unpublished Changes
|
|
19
29
|
|
|
20
|
-
Run `/get-unpublished-changes` FIRST. This is the single source of truth for what changed.
|
|
30
|
+
Run `/get-unpublished-changes` FIRST. This is the single source of truth for what changed and must include `omo pure components`, `omo opencode`, and `omo codex` layer-specific version recommendations.
|
|
21
31
|
|
|
22
32
|
```
|
|
23
33
|
skill(name="get-unpublished-changes")
|
|
@@ -29,7 +39,7 @@ This command automatically:
|
|
|
29
39
|
- Reads actual diffs (not just commit messages) to describe REAL changes
|
|
30
40
|
- Groups changes by type (feat/fix/refactor/docs) with scope
|
|
31
41
|
- Identifies breaking changes
|
|
32
|
-
- Recommends version bump
|
|
42
|
+
- Recommends a layer-specific version bump plus one overall workflow bump
|
|
33
43
|
|
|
34
44
|
**Save the full output** — it feeds directly into Phase 1 grouping and all agent prompts.
|
|
35
45
|
|
|
@@ -61,6 +71,7 @@ Use the `/get-unpublished-changes` output as the starting point — it already g
|
|
|
61
71
|
3. Target **up to 10 groups**. If fewer than 10 commits, each commit is its own group. If more than 10 logical areas, merge the smallest groups.
|
|
62
72
|
4. For each group, extract:
|
|
63
73
|
- **Group name**: Short descriptive label (e.g., "agent-model-resolution", "hook-system-refactor")
|
|
74
|
+
- **Release layer(s)**: `omo pure components`, `omo opencode`, `omo codex`
|
|
64
75
|
- **Commits**: List of commit hashes and messages
|
|
65
76
|
- **Files**: Changed files in this group
|
|
66
77
|
- **Diff**: The relevant portion of the full diff (`git diff v${PUBLISHED}..HEAD -- {group files}`)
|
|
@@ -224,7 +235,7 @@ SYNTHESIS CHECKLIST:
|
|
|
224
235
|
- PATCH: Bug fixes only, no behavior changes
|
|
225
236
|
- MINOR: New features, backward-compatible changes
|
|
226
237
|
- MAJOR: Breaking changes to public API, config format, or behavior
|
|
227
|
-
Recommend the correct bump with specific justification.
|
|
238
|
+
Recommend the correct bump for each release layer and the overall workflow with specific justification.
|
|
228
239
|
|
|
229
240
|
3. **Breaking Changes Audit**: Exhaustively list every change that could break existing users. Check:
|
|
230
241
|
- Config schema changes (new required fields, removed fields, renamed fields)
|
|
@@ -256,6 +267,7 @@ SYNTHESIS CHECKLIST:
|
|
|
256
267
|
OUTPUT FORMAT:
|
|
257
268
|
<verdict>SAFE / CAUTION / RISKY / BLOCK</verdict>
|
|
258
269
|
<recommended_version_bump>PATCH / MINOR / MAJOR</recommended_version_bump>
|
|
270
|
+
<layer_specific_version_bump>omo pure components: PATCH/MINOR/MAJOR; omo opencode: PATCH/MINOR/MAJOR; omo codex: PATCH/MINOR/MAJOR</layer_specific_version_bump>
|
|
259
271
|
<version_bump_justification>Why this bump level</version_bump_justification>
|
|
260
272
|
<release_coherence>Assessment of whether changes belong in one release</release_coherence>
|
|
261
273
|
<breaking_changes>
|
|
@@ -337,6 +349,14 @@ Compile the final report:
|
|
|
337
349
|
## Recommended Version Bump: PATCH / MINOR / MAJOR
|
|
338
350
|
{Justification from Oracle}
|
|
339
351
|
|
|
352
|
+
## Layer-specific Version Recommendation
|
|
353
|
+
|
|
354
|
+
| Layer | Recommendation | Reason |
|
|
355
|
+
|---|---|---|
|
|
356
|
+
| omo pure components | PATCH/MINOR/MAJOR | ... |
|
|
357
|
+
| omo opencode | PATCH/MINOR/MAJOR | ... |
|
|
358
|
+
| omo codex | PATCH/MINOR/MAJOR | ... |
|
|
359
|
+
|
|
340
360
|
---
|
|
341
361
|
|
|
342
362
|
## Per-Change Analysis (Ultrabrains)
|
|
@@ -5,6 +5,18 @@ description: "Publish oh-my-opencode to npm via GitHub Actions workflow. Argumen
|
|
|
5
5
|
|
|
6
6
|
You are the release manager for oh-my-opencode. Execute the FULL publish workflow from start to finish.
|
|
7
7
|
|
|
8
|
+
## CRITICAL: FULL WORKFLOW MEANS THREE RELEASE SURFACES
|
|
9
|
+
|
|
10
|
+
Publishing is complete only after all release surfaces are verified:
|
|
11
|
+
|
|
12
|
+
| Release layer | Surface | Required proof |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| `omo pure components` | Core/MCP/shared-skill changes inside the published package payload | `/get-unpublished-changes` and pre-publish review include layer-specific version impact. |
|
|
15
|
+
| `omo opencode` | `oh-my-opencode` and `oh-my-openagent` npm packages plus platform packages | npm versions and GitHub release exist for the selected bump. |
|
|
16
|
+
| `omo codex` | `lazycodex-ai`, Codex plugin metadata, and `code-yeongyu/lazycodex` marketplace release | Codex plugin metadata is stamped with the release version, `lazycodex-ai` publishes, and the LazyCodex repo release is created when the marketplace payload changed. |
|
|
17
|
+
|
|
18
|
+
The publish workflow must not be reported complete while any of `oh-my-opencode`, `oh-my-openagent`, `lazycodex-ai`, or `code-yeongyu/lazycodex` verification is unresolved.
|
|
19
|
+
|
|
8
20
|
## CRITICAL: FULL WORKFLOW MEANS DISCORD TOO
|
|
9
21
|
|
|
10
22
|
Publishing is not complete until the Discord release announcement has been attempted.
|
|
@@ -45,6 +57,7 @@ Publishing is not complete until the Discord release announcement has been attem
|
|
|
45
57
|
{ "id": "apply-summary", "content": "Prepend enhanced summary to release", "status": "pending", "priority": "high" },
|
|
46
58
|
{ "id": "discord-announce", "content": "MANDATORY: post release announcement to Discord channel immediately after release notes are finalized", "status": "pending", "priority": "high" },
|
|
47
59
|
{ "id": "verify-npm", "content": "Verify npm package published successfully", "status": "pending", "priority": "high" },
|
|
60
|
+
{ "id": "verify-lazycodex", "content": "Verify lazycodex-ai publish, Codex plugin metadata version stamp, and code-yeongyu/lazycodex release/sync", "status": "pending", "priority": "high" },
|
|
48
61
|
{ "id": "wait-platform-workflow", "content": "Wait for publish-platform workflow completion", "status": "pending", "priority": "high" },
|
|
49
62
|
{ "id": "verify-platform-binaries", "content": "Verify all 7 platform binary packages published", "status": "pending", "priority": "high" },
|
|
50
63
|
{ "id": "final-confirmation", "content": "Final confirmation to user with links", "status": "pending", "priority": "low" }
|
package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md
CHANGED
|
@@ -8,7 +8,7 @@ import type { CategoryConfig } from "../../config/schema"
|
|
|
8
8
|
export const DEFAULT_CATEGORIES: Record<string, CategoryConfig> = {
|
|
9
9
|
"visual-engineering": { model: "google/gemini-3.1-pro", variant: "high" },
|
|
10
10
|
ultrabrain: { model: "openai/gpt-5.4", variant: "xhigh" },
|
|
11
|
-
deep: { model: "openai/gpt-5.
|
|
11
|
+
deep: { model: "openai/gpt-5.5-codex", variant: "medium" },
|
|
12
12
|
artistry: { model: "google/gemini-3.1-pro", variant: "high" },
|
|
13
13
|
quick: { model: "anthropic/claude-haiku-4-5" },
|
|
14
14
|
"unspecified-low": { model: "anthropic/claude-sonnet-4-6" },
|
|
@@ -8,7 +8,7 @@ import type { CategoryConfig } from "../../config/schema"
|
|
|
8
8
|
export const DEFAULT_CATEGORIES: Record<string, CategoryConfig> = {
|
|
9
9
|
"visual-engineering": { model: "google/gemini-3.1-pro", variant: "high" },
|
|
10
10
|
ultrabrain: { model: "openai/gpt-5.4", variant: "xhigh" },
|
|
11
|
-
deep: { model: "openai/gpt-5.
|
|
11
|
+
deep: { model: "openai/gpt-5.5-codex", variant: "medium" },
|
|
12
12
|
artistry: { model: "google/gemini-3.1-pro", variant: "high" },
|
|
13
13
|
quick: { model: "anthropic/claude-haiku-4-5" },
|
|
14
14
|
"unspecified-low": { model: "anthropic/claude-sonnet-4-6" },
|
|
@@ -267,7 +267,7 @@ export const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
|
|
267
267
|
fallbackChain: [
|
|
268
268
|
// ... full content from original
|
|
269
269
|
],
|
|
270
|
-
requiresModel: "gpt-5.
|
|
270
|
+
requiresModel: "gpt-5.5-codex",
|
|
271
271
|
},
|
|
272
272
|
artistry: {
|
|
273
273
|
fallbackChain: [
|