oh-my-opencode 4.7.4 → 4.8.0
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 +4492 -2265
- 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-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/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 +16 -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 +52 -0
- 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 +26 -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 +32 -5
- 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/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 +47 -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 +173 -61
- 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/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 +14 -202
- 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 +204 -26
- 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 +165 -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 +7 -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/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,21 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lcx-report-bug
|
|
3
|
-
description: "Create a high-signal
|
|
3
|
+
description: "Create a high-signal bug issue or PR in the repo that owns the defect. Use this whenever the user asks to report, file, open, or triage a LazyCodex, lazycodex-ai, omo-codex, Codex plugin, or upstream Codex CLI bug, especially when they need source-backed root cause, reproduction steps, fix guidance, and GitHub routing."
|
|
4
4
|
metadata:
|
|
5
|
-
short-description:
|
|
5
|
+
short-description: Route LazyCodex or Codex bugs with source evidence
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# lcx-report-bug
|
|
9
9
|
|
|
10
|
-
You are a LazyCodex bug reporter. Produce one useful GitHub issue in English
|
|
10
|
+
You are a LazyCodex bug router and reporter. Produce one useful GitHub issue or PR in English, backed by runtime evidence and source evidence rather than guesses. Route it to the repository that owns the defect:
|
|
11
|
+
|
|
12
|
+
- `code-yeongyu/lazycodex` for LazyCodex, lazycodex-ai, omo-codex, marketplace, bundled skill, hook, MCP, installer, or packaging bugs.
|
|
13
|
+
- `openai/codex` for upstream Codex CLI bugs that reproduce without LazyCodex or are caused by Codex core behavior.
|
|
11
14
|
|
|
12
15
|
Use GPT-5.5 style: outcome first, concise, evidence-bound. Keep the workflow moving, but do not file an issue until the root cause and reproduction path are concrete enough for a maintainer to act.
|
|
13
16
|
|
|
14
17
|
## Goal
|
|
15
18
|
|
|
16
|
-
Create or prepare a GitHub issue that includes:
|
|
19
|
+
Create or prepare a GitHub issue or PR that includes:
|
|
17
20
|
|
|
18
21
|
- clear title
|
|
22
|
+
- target repository decision
|
|
19
23
|
- environment
|
|
20
24
|
- reproducible steps
|
|
21
25
|
- expected behavior
|
|
@@ -23,24 +27,66 @@ Create or prepare a GitHub issue that includes:
|
|
|
23
27
|
- confirmed or strongly evidenced root cause
|
|
24
28
|
- fix approach, including files or components likely involved
|
|
25
29
|
- verification plan
|
|
30
|
+
- `lazycodex-generated` label and footer tag
|
|
26
31
|
|
|
27
32
|
## Required Workflow
|
|
28
33
|
|
|
29
34
|
1. Read the user's bug report and identify the affected surface: LazyCodex installer, Codex plugin, skill, hook, MCP, CLI alias, GitHub marketplace sync, or web/docs.
|
|
30
35
|
2. Invoke `$omo:debugging` for the investigation. If Codex exposes only unqualified skill names in the current session, invoke `$debugging` and state that it is the OMO debugging skill.
|
|
31
|
-
3.
|
|
36
|
+
3. Materialize upstream Codex source under `/tmp` before deciding ownership:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
CODEX_SRC="/tmp/openai-codex-source"
|
|
40
|
+
if [ ! -d "$CODEX_SRC/.git" ]; then
|
|
41
|
+
gh repo clone openai/codex "$CODEX_SRC" -- --depth=1
|
|
42
|
+
else
|
|
43
|
+
git -C "$CODEX_SRC" fetch --depth=1 origin
|
|
44
|
+
fi
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
If `gh` is unavailable, use `git clone --depth=1 https://github.com/openai/codex "$CODEX_SRC"`.
|
|
48
|
+
4. Follow the debugging skill far enough to gather runtime evidence:
|
|
32
49
|
- form at least three plausible hypotheses
|
|
33
50
|
- run the smallest reproduction that exercises the real surface
|
|
34
51
|
- confirm the root cause by observing the failing state
|
|
35
52
|
- identify the minimal fix path or maintainer action
|
|
36
|
-
|
|
53
|
+
5. Compare local LazyCodex evidence with `/tmp/openai-codex-source` before choosing the target repo. Cite exact files, commands, logs, or source paths that support the routing decision.
|
|
54
|
+
6. Choose the target repo:
|
|
55
|
+
- Use `code-yeongyu/lazycodex` when the bug is in LazyCodex integration, distribution, bundled plugin code, skills, hooks, MCP wiring, installer behavior, aliases, marketplace sync, docs, or any behavior that disappears in clean upstream Codex.
|
|
56
|
+
- Use `openai/codex` when the bug reproduces in clean upstream Codex without LazyCodex, or the failing behavior comes from Codex CLI core, plugin API contracts, sandboxing, approvals, config loading, or built-in tool behavior.
|
|
57
|
+
- If ownership remains ambiguous after evidence gathering, do not guess. Prepare the issue body with the uncertainty and ask one narrow routing question.
|
|
58
|
+
7. Search for an existing issue in the selected repo before creating a new one. Search the other repo too when the ownership boundary is close:
|
|
37
59
|
|
|
38
60
|
```bash
|
|
39
|
-
|
|
61
|
+
TARGET_REPO="code-yeongyu/lazycodex" # or openai/codex
|
|
62
|
+
gh issue list --repo "$TARGET_REPO" --search "<short error or symptom>" --state open
|
|
40
63
|
```
|
|
41
64
|
|
|
42
|
-
|
|
43
|
-
|
|
65
|
+
8. If a matching open issue exists, add a comment with the new evidence instead of creating a duplicate.
|
|
66
|
+
9. Ensure the generated label exists in repositories you control:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
LABEL_ARGS=()
|
|
70
|
+
if gh label create lazycodex-generated --repo "$TARGET_REPO" --color "7C3AED" --description "Created by LazyCodex" --force; then
|
|
71
|
+
LABEL_ARGS=(--label lazycodex-generated)
|
|
72
|
+
else
|
|
73
|
+
echo "Label management unavailable for $TARGET_REPO; keeping the footer tag only."
|
|
74
|
+
fi
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
If the selected repo is `openai/codex` and label management is not available, still include the footer tag in the body and continue without claiming label creation succeeded.
|
|
78
|
+
10. If no matching issue exists, create the issue with `gh` and apply the `lazycodex-generated` label.
|
|
79
|
+
11. Create a PR only when the user asked for a PR, the fix is already implemented on a branch, or the smallest correct fix can be safely made in the selected repo. Apply the `lazycodex-generated` label to every PR created by this skill. Otherwise create an issue with fix guidance.
|
|
80
|
+
|
|
81
|
+
## Required Label And Footer
|
|
82
|
+
|
|
83
|
+
Every issue body, evidence comment, and PR body created by this skill must use the GitHub label `lazycodex-generated` when the artifact supports labels. It must also end with this footer. Do not put content after it.
|
|
84
|
+
|
|
85
|
+
```markdown
|
|
86
|
+
---
|
|
87
|
+
This issue or PR was generated by LazyCodex.
|
|
88
|
+
Tag: lazycodex-generated
|
|
89
|
+
```
|
|
44
90
|
|
|
45
91
|
## Issue Body Template
|
|
46
92
|
|
|
@@ -57,6 +103,12 @@ Write the issue body in English and keep it direct:
|
|
|
57
103
|
- Install method:
|
|
58
104
|
- Relevant config:
|
|
59
105
|
|
|
106
|
+
## Repository Decision
|
|
107
|
+
- Target repository:
|
|
108
|
+
- Why this belongs there:
|
|
109
|
+
- LazyCodex evidence:
|
|
110
|
+
- Upstream Codex source evidence from `/tmp/openai-codex-source`:
|
|
111
|
+
|
|
60
112
|
## Reproduction
|
|
61
113
|
1. [Exact command or UI action]
|
|
62
114
|
2. [Exact next step]
|
|
@@ -81,6 +133,40 @@ Write the issue body in English and keep it direct:
|
|
|
81
133
|
- [Check that reproduces the original failure]
|
|
82
134
|
- [Check that proves the fix]
|
|
83
135
|
- [Regression check for adjacent LazyCodex/Codex plugin behavior]
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
This issue or PR was generated by LazyCodex.
|
|
139
|
+
Tag: lazycodex-generated
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## PR Body Template
|
|
143
|
+
|
|
144
|
+
Use this when a PR is the right artifact:
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
## Summary
|
|
148
|
+
[One or two sentences describing the fix and the user-visible failure it resolves.]
|
|
149
|
+
|
|
150
|
+
## Repository Decision
|
|
151
|
+
- Target repository:
|
|
152
|
+
- Why this belongs there:
|
|
153
|
+
- LazyCodex evidence:
|
|
154
|
+
- Upstream Codex source evidence from `/tmp/openai-codex-source`:
|
|
155
|
+
|
|
156
|
+
## Root Cause
|
|
157
|
+
[Confirmed cause. Cite runtime evidence and source paths.]
|
|
158
|
+
|
|
159
|
+
## Fix
|
|
160
|
+
[What changed and why.]
|
|
161
|
+
|
|
162
|
+
## Verification
|
|
163
|
+
- [Check that reproduced the original failure before the fix]
|
|
164
|
+
- [Check that passes after the fix]
|
|
165
|
+
- [Regression check for adjacent behavior]
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
This issue or PR was generated by LazyCodex.
|
|
169
|
+
Tag: lazycodex-generated
|
|
84
170
|
```
|
|
85
171
|
|
|
86
172
|
## GitHub Creation Path
|
|
@@ -90,18 +176,35 @@ Prefer `gh`:
|
|
|
90
176
|
```bash
|
|
91
177
|
ISSUE_BODY="/tmp/lcx-report-bug-$(date +%Y%m%d-%H%M%S).md"
|
|
92
178
|
$EDITOR "$ISSUE_BODY"
|
|
93
|
-
gh issue create --repo
|
|
179
|
+
gh issue create --repo "$TARGET_REPO" --title "<clear title>" "${LABEL_ARGS[@]}" --body-file "$ISSUE_BODY"
|
|
94
180
|
```
|
|
95
181
|
|
|
96
182
|
If `$EDITOR` is not usable, write the file with the available file-editing tool, then run the same `gh issue create` command.
|
|
97
183
|
|
|
98
|
-
|
|
184
|
+
For an existing issue:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
COMMENT_BODY="/tmp/lcx-report-bug-comment-$(date +%Y%m%d-%H%M%S).md"
|
|
188
|
+
gh issue comment "<issue-number>" --repo "$TARGET_REPO" --body-file "$COMMENT_BODY"
|
|
189
|
+
if [ "${#LABEL_ARGS[@]}" -gt 0 ]; then
|
|
190
|
+
gh issue edit "<issue-number>" --repo "$TARGET_REPO" --add-label lazycodex-generated
|
|
191
|
+
fi
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
For a PR from a branch pushed to the selected repo or fork:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
PR_BODY="/tmp/lcx-report-bug-pr-$(date +%Y%m%d-%H%M%S).md"
|
|
198
|
+
gh pr create --repo "$TARGET_REPO" --title "<clear title>" "${LABEL_ARGS[@]}" --body-file "$PR_BODY"
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
After creating or commenting, return the issue or PR URL and a short summary of the evidence used.
|
|
99
202
|
|
|
100
203
|
## Browser use fallback
|
|
101
204
|
|
|
102
205
|
If `gh` is unavailable, unauthenticated, or blocked, use Browser Use against the real GitHub page:
|
|
103
206
|
|
|
104
|
-
1. Open `https://github.com/code-yeongyu/lazycodex/issues/new`.
|
|
207
|
+
1. Open the new issue page for the selected repo: `https://github.com/code-yeongyu/lazycodex/issues/new` or `https://github.com/openai/codex/issues/new`.
|
|
105
208
|
2. Fill the title and body from the template.
|
|
106
209
|
3. Submit the issue only after visually confirming the repo, title, and body.
|
|
107
210
|
4. Capture the resulting issue URL.
|
|
@@ -110,7 +213,7 @@ If `gh` is unavailable, unauthenticated, or blocked, use Browser Use against the
|
|
|
110
213
|
|
|
111
214
|
If Browser Use is unavailable but a desktop browser is open and authenticated, use Computer Use:
|
|
112
215
|
|
|
113
|
-
1. Navigate to `https://github.com/code-yeongyu/lazycodex/issues/new`.
|
|
216
|
+
1. Navigate to the new issue page for the selected repo: `https://github.com/code-yeongyu/lazycodex/issues/new` or `https://github.com/openai/codex/issues/new`.
|
|
114
217
|
2. Fill the title and body.
|
|
115
218
|
3. Verify the target repository and final text before submission.
|
|
116
219
|
4. Submit and capture the issue URL.
|
|
@@ -124,4 +227,6 @@ Do not file:
|
|
|
124
227
|
- a vague issue without reproduction steps
|
|
125
228
|
- an issue that claims a root cause not supported by runtime evidence
|
|
126
229
|
- a duplicate when commenting on an existing issue is enough
|
|
127
|
-
-
|
|
230
|
+
- an upstream Codex issue without checking `/tmp/openai-codex-source`
|
|
231
|
+
- a LazyCodex issue when the bug is proven to reproduce in clean upstream Codex
|
|
232
|
+
- a fix PR without a concrete branch, implemented fix, and verification result
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "lcx-report-bug (omo)"
|
|
3
|
-
short_description: "
|
|
3
|
+
short_description: "Route LazyCodex or Codex bugs with source evidence"
|
|
4
4
|
search_terms:
|
|
5
5
|
- "lcx-report-bug"
|
|
6
6
|
- "lazycodex bug"
|
|
7
7
|
- "lazycodex issue"
|
|
8
8
|
- "omo-codex bug"
|
|
9
|
-
|
|
9
|
+
- "openai codex bug"
|
|
10
|
+
- "codex upstream issue"
|
|
11
|
+
default_prompt: "Use $lcx-report-bug to investigate this LazyCodex or Codex bug, compare LazyCodex evidence with /tmp openai/codex source, choose the correct GitHub repo, and file an issue or PR with reproduction, root cause, fix guidance, and the lazycodex-generated label and footer."
|
|
@@ -229,10 +229,10 @@ default: // already signaled, skip
|
|
|
229
229
|
Highest level (preferred)
|
|
230
230
|
channels (message passing — "share memory by communicating")
|
|
231
231
|
errgroup / wait group
|
|
232
|
-
|
|
232
|
+
|
|
233
233
|
sync.RWMutex (many readers, occasional writer)
|
|
234
234
|
sync.Mutex (mutual exclusion)
|
|
235
|
-
|
|
235
|
+
|
|
236
236
|
atomic.Int64 / atomic.Pointer (single-word lock-free)
|
|
237
237
|
|
|
238
238
|
Lowest level (rare)
|
|
@@ -27,9 +27,9 @@ async def main() -> None:
|
|
|
27
27
|
anyio.run(main)
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
**Signature**: `tg.start_soon(func, *args, name=None)`
|
|
31
|
-
- `func` must be a **coroutine function** (not a coroutine object).
|
|
32
|
-
- `name` is optional, for introspection/debugging.
|
|
30
|
+
**Signature**: `tg.start_soon(func, *args, name=None)`
|
|
31
|
+
- `func` must be a **coroutine function** (not a coroutine object).
|
|
32
|
+
- `name` is optional, for introspection/debugging.
|
|
33
33
|
- No return value; exceptions propagate as `ExceptionGroup` on exit.
|
|
34
34
|
|
|
35
35
|
### `start` — wait for ready signal
|
|
@@ -74,9 +74,9 @@ async def main() -> None:
|
|
|
74
74
|
anyio.run(main)
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
-
**Signature**: `tg.create_task(coro, *, name=None, context=None) -> TaskHandle[T]`
|
|
78
|
-
- Returns a `TaskHandle` you can `await` for the result.
|
|
79
|
-
- If the task raises, awaiting raises `TaskFailed` (or `TaskCancelled`).
|
|
77
|
+
**Signature**: `tg.create_task(coro, *, name=None, context=None) -> TaskHandle[T]`
|
|
78
|
+
- Returns a `TaskHandle` you can `await` for the result.
|
|
79
|
+
- If the task raises, awaiting raises `TaskFailed` (or `TaskCancelled`).
|
|
80
80
|
- This is the canonical replacement for `asyncio.gather` when you need results.
|
|
81
81
|
|
|
82
82
|
---
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
from pydantic_ai import Agent
|
|
12
12
|
|
|
13
13
|
agent = Agent(
|
|
14
|
-
'openai:gpt-5.
|
|
14
|
+
'openai:gpt-5.5', # model (str | Model | None)
|
|
15
15
|
output_type=MyOutputModel, # structured output type; default=str
|
|
16
16
|
instructions='You are a...', # static or callable instructions
|
|
17
17
|
system_prompt='Be concise.', # static system prompt(s)
|
|
@@ -35,7 +35,7 @@ Format: `provider:model-name`. The framework infers the provider from the prefix
|
|
|
35
35
|
|
|
36
36
|
| Provider prefix | Example |
|
|
37
37
|
|---|---|
|
|
38
|
-
| `openai:` | `'openai:gpt-5.
|
|
38
|
+
| `openai:` | `'openai:gpt-5.5'`, `'openai:gpt-4o'` |
|
|
39
39
|
| `anthropic:` | `'anthropic:claude-sonnet-4-6'`, `'anthropic:claude-opus-4-1'` |
|
|
40
40
|
| `google-gla:` | `'google-gla:gemini-3-flash-preview'` |
|
|
41
41
|
| `google-vertex:` | `'google-vertex:gemini-3-pro-preview'` |
|
|
@@ -43,9 +43,9 @@ Format: `provider:model-name`. The framework infers the provider from the prefix
|
|
|
43
43
|
| `xai:` / `grok:` | `'xai:grok-3'`, `'grok:grok-3-fast'` |
|
|
44
44
|
| `deepseek:` | `'deepseek:deepseek-chat'` |
|
|
45
45
|
| `cohere:` | `'cohere:command-r-08-2024'` |
|
|
46
|
-
| `gateway/...` | `'gateway/openai:gpt-5.
|
|
46
|
+
| `gateway/...` | `'gateway/openai:gpt-5.5'` (PydanticAI Gateway) |
|
|
47
47
|
|
|
48
|
-
Model can also be omitted at construction and passed per-run: `agent.run(prompt, model='openai:gpt-5.
|
|
48
|
+
Model can also be omitted at construction and passed per-run: `agent.run(prompt, model='openai:gpt-5.5')`.
|
|
49
49
|
|
|
50
50
|
---
|
|
51
51
|
|
|
@@ -56,7 +56,7 @@ Model can also be omitted at construction and passed per-run: `agent.run(prompt,
|
|
|
56
56
|
```python
|
|
57
57
|
from pydantic_ai import Agent, RunContext
|
|
58
58
|
|
|
59
|
-
agent = Agent('openai:gpt-5.
|
|
59
|
+
agent = Agent('openai:gpt-5.5', deps_type=str)
|
|
60
60
|
|
|
61
61
|
@agent.tool # default: receives RunContext as first arg
|
|
62
62
|
async def greet(ctx: RunContext[str], name: str) -> str:
|
|
@@ -96,7 +96,7 @@ class City(BaseModel):
|
|
|
96
96
|
country: str
|
|
97
97
|
population_millions: float
|
|
98
98
|
|
|
99
|
-
agent = Agent('openai:gpt-5.
|
|
99
|
+
agent = Agent('openai:gpt-5.5', output_type=City)
|
|
100
100
|
result = agent.run_sync('Tell me about Tokyo')
|
|
101
101
|
print(result.output) # City(name='Tokyo', country='Japan', ...)
|
|
102
102
|
print(result.output.name) # 'Tokyo'
|
|
@@ -150,7 +150,7 @@ class Deps:
|
|
|
150
150
|
http_client: httpx.AsyncClient
|
|
151
151
|
|
|
152
152
|
agent = Agent(
|
|
153
|
-
'openai:gpt-5.
|
|
153
|
+
'openai:gpt-5.5',
|
|
154
154
|
deps_type=Deps,
|
|
155
155
|
)
|
|
156
156
|
|
|
@@ -177,7 +177,7 @@ async def main():
|
|
|
177
177
|
```python
|
|
178
178
|
from pydantic_ai import Agent, ModelRetry, UnexpectedModelBehavior, capture_run_messages
|
|
179
179
|
|
|
180
|
-
agent = Agent('openai:gpt-5.
|
|
180
|
+
agent = Agent('openai:gpt-5.5', retries=3)
|
|
181
181
|
|
|
182
182
|
@agent.tool_plain
|
|
183
183
|
def calc_volume(size: int) -> int:
|
|
@@ -214,7 +214,7 @@ logfire.instrument_pydantic_ai() # auto-traces all agent runs
|
|
|
214
214
|
Alternatively, set `instrument=True` on the agent:
|
|
215
215
|
|
|
216
216
|
```python
|
|
217
|
-
agent = Agent('openai:gpt-5.
|
|
217
|
+
agent = Agent('openai:gpt-5.5', instrument=True)
|
|
218
218
|
```
|
|
219
219
|
|
|
220
220
|
---
|
|
@@ -231,7 +231,7 @@ class City(BaseModel):
|
|
|
231
231
|
name: str
|
|
232
232
|
country: str
|
|
233
233
|
|
|
234
|
-
agent = Agent('openai:gpt-5.
|
|
234
|
+
agent = Agent('openai:gpt-5.5', output_type=City)
|
|
235
235
|
result = agent.run_sync('Tell me about Paris')
|
|
236
236
|
print(result.output) # City(name='Paris', country='France')
|
|
237
237
|
```
|
|
@@ -246,7 +246,7 @@ from pydantic_ai import Agent, RunContext
|
|
|
246
246
|
class Deps:
|
|
247
247
|
api_key: str
|
|
248
248
|
|
|
249
|
-
agent = Agent('openai:gpt-5.
|
|
249
|
+
agent = Agent('openai:gpt-5.5', deps_type=Deps)
|
|
250
250
|
|
|
251
251
|
@agent.tool
|
|
252
252
|
async def get_secret(ctx: RunContext[Deps], code: str) -> str:
|
|
@@ -264,7 +264,7 @@ print(result.output)
|
|
|
264
264
|
import anyio
|
|
265
265
|
from pydantic_ai import Agent
|
|
266
266
|
|
|
267
|
-
agent = Agent('openai:gpt-5.
|
|
267
|
+
agent = Agent('openai:gpt-5.5')
|
|
268
268
|
|
|
269
269
|
async def main() -> None:
|
|
270
270
|
async with agent.run_stream('Write a haiku about Python') as response:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Hono Backend Stack Reference (2026)
|
|
2
2
|
|
|
3
|
-
> **Canonical stack**: `hono` + `hono-openapi` + `@scalar/hono-api-reference` + `@hono/swagger-ui`
|
|
4
|
-
> **Runtime**: Bun (TypeScript-first)
|
|
3
|
+
> **Canonical stack**: `hono` + `hono-openapi` + `@scalar/hono-api-reference` + `@hono/swagger-ui`
|
|
4
|
+
> **Runtime**: Bun (TypeScript-first)
|
|
5
5
|
> **Validator**: Zod v4 (Standard Schema compliant, zero extra deps for OpenAPI)
|
|
6
6
|
|
|
7
7
|
---
|
|
@@ -628,19 +628,19 @@ export function setupOpenAPI(app: Hono<any, any>, prefix = '/openapi') {
|
|
|
628
628
|
|
|
629
629
|
## 10. Common Pitfalls
|
|
630
630
|
|
|
631
|
-
1. **Using `openAPISpecs` instead of `openAPIRouteHandler`**
|
|
631
|
+
1. **Using `openAPISpecs` instead of `openAPIRouteHandler`**
|
|
632
632
|
Some docs (e.g. HONC) use `openAPISpecs` — this is **not** the current export name. The correct function is `openAPIRouteHandler` ([source](https://github.com/rhinobase/hono-openapi/blob/10f45a66ede3764b5e6065805fb60fd5df090466/src/index.ts#L1)).
|
|
633
633
|
|
|
634
|
-
2. **Importing from `hono-openapi/zod`**
|
|
634
|
+
2. **Importing from `hono-openapi/zod`**
|
|
635
635
|
There are **no subpath exports**. Always import from `hono-openapi` directly.
|
|
636
636
|
|
|
637
|
-
3. **Forgetting `@hono/standard-validator`**
|
|
637
|
+
3. **Forgetting `@hono/standard-validator`**
|
|
638
638
|
It is a peer dependency of `hono-openapi`. Modern package managers (npm ≥ 7, pnpm, bun) auto-install it. If you see validation errors, ensure it is present in `node_modules`.
|
|
639
639
|
|
|
640
|
-
4. **Using `@hono/zod-openapi` (the OLD package)**
|
|
640
|
+
4. **Using `@hono/zod-openapi` (the OLD package)**
|
|
641
641
|
The user explicitly wants `hono-openapi` (the newer, middleware-based, Standard Schema package). Do not confuse with `@hono/zod-openapi` which wraps the `Hono` class into `OpenAPIHono`.
|
|
642
642
|
|
|
643
|
-
5. **Swagger UI `spec` option**
|
|
643
|
+
5. **Swagger UI `spec` option**
|
|
644
644
|
`@hono/swagger-ui` does **not** accept a `spec` option to embed the document directly. It only accepts `url` (or `urls`) pointing to an external spec endpoint. If you need embedded specs, use Scalar's `content` option instead.
|
|
645
645
|
|
|
646
646
|
---
|
|
@@ -109,13 +109,13 @@ Fire ALL of these simultaneously using \`call_omo_agent\`:
|
|
|
109
109
|
call_omo_agent(
|
|
110
110
|
subagent_type="explore",
|
|
111
111
|
run_in_background=true,
|
|
112
|
-
prompt="Find all occurrences and definitions of [TARGET].
|
|
112
|
+
prompt="Find all occurrences and definitions of [TARGET].
|
|
113
113
|
Report: file paths, line numbers, usage patterns."
|
|
114
114
|
)
|
|
115
115
|
|
|
116
116
|
// Agent 2: Find related code
|
|
117
117
|
call_omo_agent(
|
|
118
|
-
subagent_type="explore",
|
|
118
|
+
subagent_type="explore",
|
|
119
119
|
run_in_background=true,
|
|
120
120
|
prompt="Find all code that imports, uses, or depends on [TARGET].
|
|
121
121
|
Report: dependency chains, import graphs."
|
|
@@ -221,8 +221,8 @@ Based on Phase 1 results, build:
|
|
|
221
221
|
|
|
222
222
|
### Dependency Graph
|
|
223
223
|
\`\`\`
|
|
224
|
-
[TARGET]
|
|
225
|
-
├── imports from:
|
|
224
|
+
[TARGET]
|
|
225
|
+
├── imports from:
|
|
226
226
|
│ ├── module-a (types)
|
|
227
227
|
│ └── module-b (utils)
|
|
228
228
|
├── imported by:
|
|
@@ -193,7 +193,7 @@ For each skipped issue, give reason.
|
|
|
193
193
|
)
|
|
194
194
|
```
|
|
195
195
|
|
|
196
|
-
**Batch failure handling**:
|
|
196
|
+
**Batch failure handling**: a `wait_agent` timeout only means no new mailbox update arrived, not that a `deep` agent failed. For long passes, require each child to send `WORKING: <file> - <current phase>` and `BLOCKED: <reason>` only when it cannot progress. If you need reassurance after a timeout, run a single `list_agents` check for the named child; a running child or latest `WORKING:` message is alive. Mark a file for retry only when the child is completed without the deliverable, ack-only after followup, explicitly `BLOCKED:`, or no longer running. Do NOT block the remaining 4 in that batch; collect successful results and retry the failed file once later. If retry also fails, escalate that file under "Issues Found & Fixed" in the final report.
|
|
197
197
|
|
|
198
198
|
### Phase 5: Verify with quality gates + critical review
|
|
199
199
|
|
|
@@ -8,35 +8,48 @@ This skill may include examples copied from the OpenCode harness. In Codex, do n
|
|
|
8
8
|
|
|
9
9
|
| OpenCode example | Codex tool to use |
|
|
10
10
|
| --- | --- |
|
|
11
|
-
| `call_omo_agent(subagent_type="explore", ...)` | `spawn_agent(
|
|
12
|
-
| `call_omo_agent(subagent_type="librarian", ...)` | `spawn_agent(
|
|
13
|
-
| `task(subagent_type="plan", ...)` | `spawn_agent(
|
|
14
|
-
| `task(subagent_type="oracle", ...)` for final verification | `spawn_agent(
|
|
15
|
-
| `task(category="...", ...)` for implementation or QA | `spawn_agent(
|
|
16
|
-
| `background_output(task_id="...")` | `wait_agent(...)`
|
|
11
|
+
| `call_omo_agent(subagent_type="explore", ...)` | `spawn_agent({"task_name":"...","message":"TASK: act as an explorer. ...","fork_turns":"none"})` |
|
|
12
|
+
| `call_omo_agent(subagent_type="librarian", ...)` | `spawn_agent({"task_name":"...","message":"TASK: act as a librarian. ...","fork_turns":"none"})` |
|
|
13
|
+
| `task(subagent_type="plan", ...)` | `spawn_agent({"task_name":"...","message":"TASK: act as a planning agent. ...","fork_turns":"none"})` |
|
|
14
|
+
| `task(subagent_type="oracle", ...)` for final verification | `spawn_agent({"task_name":"...","message":"TASK: act as a rigorous reviewer. ...","fork_turns":"none"})` |
|
|
15
|
+
| `task(category="...", ...)` for implementation or QA | `spawn_agent({"task_name":"...","message":"TASK: act as an implementation or QA worker. ...","fork_turns":"none"})` |
|
|
16
|
+
| `background_output(task_id="...")` | `wait_agent(...)` for mailbox signals; after a timeout, run one `list_agents` check for the named child if reassurance is needed |
|
|
17
17
|
| `team_*(...)` | Use Codex native subagents plus `send_message`, `followup_task`, `wait_agent`, and `close_agent` |
|
|
18
18
|
|
|
19
|
-
Codex full-history forks inherit
|
|
19
|
+
Codex full-history forks inherit parent context, so role-specific behavior must be described in a self-contained `message` and usually should use a non-full-history fork mode such as `fork_turns="none"`. Include any required conversation context, files, diffs, constraints, and requested skill names directly in the spawned agent's `message`. If a code block below conflicts with this section, this section wins.
|
|
20
20
|
|
|
21
21
|
## Codex Subagent Reliability
|
|
22
22
|
|
|
23
23
|
Every `spawn_agent` message must be self-contained. Start with
|
|
24
24
|
`TASK: <imperative assignment>`, then name `DELIVERABLE`, `SCOPE`, and
|
|
25
25
|
`VERIFY`. State that it is an executable assignment, not a context
|
|
26
|
-
handoff. Role
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
handoff. Role or specialty instructions belong inside `message`; the
|
|
27
|
+
Codex tool schema only accepts `task_name`, `message`, and `fork_turns`.
|
|
28
|
+
Prefer `fork_turns: "none"` unless full history is truly
|
|
29
29
|
required; paste only the review context that worker needs.
|
|
30
30
|
|
|
31
|
-
Plan and reviewer agents may run for a long time; spawn them in the background, keep doing independent root work, and poll with short wait_agent cycles. Never use a single long blocking wait for them
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
Plan and reviewer agents may run for a long time; spawn them in the background, keep doing independent root work, and poll with short wait_agent cycles sized to the work. Never use a single long blocking wait for them, and never spin on tiny timeouts as a failure budget.
|
|
32
|
+
|
|
33
|
+
Treat child status as a progress signal, not a timeout counter. For
|
|
34
|
+
work likely to exceed one wait cycle, require the child to send
|
|
35
|
+
`WORKING: <task> - <current phase>` before long reading, testing, or
|
|
36
|
+
review passes, and `BLOCKED: <reason>` only when it cannot progress.
|
|
37
|
+
While any child is active, keep the parent visibly alive with active
|
|
38
|
+
subagent count, agent names, latest `WORKING:` phase, and whether the
|
|
39
|
+
parent is waiting for mailbox updates. Track spawned agent names
|
|
40
|
+
locally. Use `wait_agent` for mailbox signals, not proof of completion.
|
|
41
|
+
A timeout only means no new mailbox update arrived; after a timeout,
|
|
42
|
+
run a single `list_agents` check for the named child when you need
|
|
43
|
+
reassurance. If it is running or its latest message is `WORKING:`,
|
|
44
|
+
treat it as alive. Do not use `list_agents` as a polling loop or status
|
|
45
|
+
feed; it can replay large payloads. Fallback only when the child is
|
|
46
|
+
completed without the deliverable, ack-only after followup, explicitly
|
|
47
|
+
`BLOCKED:`, or no longer running. Then mark that review lane
|
|
48
|
+
`INCONCLUSIVE`, do not count it as PASS or approval, close if safe, and
|
|
49
|
+
respawn a smaller `fork_turns: "none"` reviewer with the missing
|
|
50
|
+
deliverable. Preserve completed lane results immediately. If the retry
|
|
51
|
+
budget is exhausted, keep the lane `INCONCLUSIVE` and still emit a final
|
|
52
|
+
aggregate result.
|
|
40
53
|
|
|
41
54
|
# Review Work - 5-Agent Parallel Review Orchestrator
|
|
42
55
|
|
|
@@ -518,19 +531,27 @@ cycles. Do not treat a timeout, ack-only reply, or empty child result as
|
|
|
518
531
|
a PASS.
|
|
519
532
|
|
|
520
533
|
As each completes, collect via the Codex mapping above (`wait_agent`,
|
|
521
|
-
then the child's substantive final result).
|
|
534
|
+
then the child's substantive final result). Preserve completed lane
|
|
535
|
+
results immediately; never lose a PASS/FAIL because another lane is
|
|
536
|
+
still running. Store each verdict independently:
|
|
522
537
|
|
|
523
538
|
| Agent | Verdict | Notes |
|
|
524
539
|
|-------|---------|-------|
|
|
525
|
-
| 1. Goal Verification | pending | - |
|
|
526
|
-
| 2. QA Execution | pending | - |
|
|
527
|
-
| 3. Code Quality | pending | - |
|
|
528
|
-
| 4. Security | pending | - |
|
|
529
|
-
| 5. Context Mining | pending | - |
|
|
530
|
-
|
|
531
|
-
Do NOT deliver the final report until ALL 5 have
|
|
540
|
+
| 1. Goal Verification | pending/PASS/FAIL/INCONCLUSIVE | - |
|
|
541
|
+
| 2. QA Execution | pending/PASS/FAIL/INCONCLUSIVE | - |
|
|
542
|
+
| 3. Code Quality | pending/PASS/FAIL/INCONCLUSIVE | - |
|
|
543
|
+
| 4. Security | pending/PASS/FAIL/INCONCLUSIVE | - |
|
|
544
|
+
| 5. Context Mining | pending/PASS/FAIL/INCONCLUSIVE | - |
|
|
545
|
+
|
|
546
|
+
Do NOT deliver the final report until ALL 5 lanes have a terminal state:
|
|
547
|
+
PASS, FAIL, or INCONCLUSIVE.
|
|
532
548
|
If a lane remains silent after the reliability followup, record it as
|
|
533
549
|
inconclusive and respawn a smaller reviewer/worker for that exact lane.
|
|
550
|
+
If it still remains unfinished after that retry, close the still-running
|
|
551
|
+
agent if safe, keep the lane INCONCLUSIVE, and emit the final aggregate
|
|
552
|
+
review result with the incomplete lane named. Do not spin in repeated
|
|
553
|
+
wait/followup cycles. Do not use `send_message` as an interrupt; queued
|
|
554
|
+
followups are not cancellation.
|
|
534
555
|
|
|
535
556
|
---
|
|
536
557
|
|
|
@@ -540,6 +561,7 @@ inconclusive and respawn a smaller reviewer/worker for that exact lane.
|
|
|
540
561
|
|
|
541
562
|
ALL 5 agents returned PASS → **REVIEW PASSED**
|
|
542
563
|
ANY agent returned FAIL → **REVIEW FAILED - criteria not met**
|
|
564
|
+
ANY lane is INCONCLUSIVE and none failed → **REVIEW INCONCLUSIVE - not approved**
|
|
543
565
|
|
|
544
566
|
</verdict_logic>
|
|
545
567
|
|
|
@@ -548,15 +570,15 @@ Compile the final report in this format:
|
|
|
548
570
|
```markdown
|
|
549
571
|
# Review Work - Final Report
|
|
550
572
|
|
|
551
|
-
## Overall Verdict: PASSED / FAILED
|
|
573
|
+
## Overall Verdict: PASSED / FAILED / INCONCLUSIVE
|
|
552
574
|
|
|
553
575
|
| # | Review Area | Agent Type | Verdict | Confidence |
|
|
554
576
|
|---|------------|------------|---------|------------|
|
|
555
|
-
| 1 | Goal & Constraint Verification | Oracle | PASS/FAIL | HIGH/MED/LOW |
|
|
556
|
-
| 2 | QA Execution | unspecified-high | PASS/FAIL | HIGH/MED/LOW |
|
|
557
|
-
| 3 | Code Quality | Oracle | PASS/FAIL | HIGH/MED/LOW |
|
|
558
|
-
| 4 | Security (supplementary) | Oracle | PASS/FAIL | Severity |
|
|
559
|
-
| 5 | Context Mining | unspecified-high | PASS/FAIL | HIGH/MED/LOW |
|
|
577
|
+
| 1 | Goal & Constraint Verification | Oracle | PASS/FAIL/INCONCLUSIVE | HIGH/MED/LOW |
|
|
578
|
+
| 2 | QA Execution | unspecified-high | PASS/FAIL/INCONCLUSIVE | HIGH/MED/LOW |
|
|
579
|
+
| 3 | Code Quality | Oracle | PASS/FAIL/INCONCLUSIVE | HIGH/MED/LOW |
|
|
580
|
+
| 4 | Security (supplementary) | Oracle | PASS/FAIL/INCONCLUSIVE | Severity |
|
|
581
|
+
| 5 | Context Mining | unspecified-high | PASS/FAIL/INCONCLUSIVE | HIGH/MED/LOW |
|
|
560
582
|
|
|
561
583
|
## Blocking Issues
|
|
562
584
|
[Aggregated from all agents - deduplicated, prioritized]
|