lazycodex-ai 5.0.0-beta.40 → 5.0.0-beta.43

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.
Files changed (106) hide show
  1. package/README.ja.md +2 -2
  2. package/README.ko.md +4 -4
  3. package/README.md +4 -4
  4. package/README.ru.md +2 -2
  5. package/README.zh-cn.md +2 -2
  6. package/dist/cli/index.js +174 -78
  7. package/dist/cli-node/index.js +174 -78
  8. package/package.json +1 -1
  9. package/packages/lsp-daemon/dist/cli.js +11 -6
  10. package/packages/lsp-daemon/dist/client.js +11 -6
  11. package/packages/lsp-daemon/dist/index.js +11 -6
  12. package/packages/lsp-tools-mcp/dist/cli.js +11 -6
  13. package/packages/lsp-tools-mcp/dist/lsp/manager.js +11 -6
  14. package/packages/lsp-tools-mcp/dist/mcp.js +11 -6
  15. package/packages/lsp-tools-mcp/dist/tools.js +11 -6
  16. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  17. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  18. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  19. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  20. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  21. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  22. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  23. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  24. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  25. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  26. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +11 -6
  27. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  28. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  30. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  32. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  33. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  34. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  35. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  36. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  37. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +2 -2
  38. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  39. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  40. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  41. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +1 -1
  42. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-ulw-execute-continuation.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  60. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  61. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  62. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  63. package/packages/omo-codex/plugin/package-lock.json +12 -12
  64. package/packages/omo-codex/plugin/package.json +1 -1
  65. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +6 -18
  66. package/packages/omo-codex/plugin/skills/ast-grep/SKILL.md +1 -1
  67. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +1 -1
  68. package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +1 -1
  69. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +1 -1
  70. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +1 -1
  71. package/packages/omo-codex/plugin/skills/git-master/SKILL.md +1 -1
  72. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +1 -1
  73. package/packages/omo-codex/plugin/skills/lsp-setup/SKILL.md +1 -1
  74. package/packages/omo-codex/plugin/skills/programming/SKILL.md +1 -1
  75. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +1 -1
  76. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +1 -1
  77. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +99 -417
  78. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +1 -1
  79. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +24 -9
  80. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +13 -10
  81. package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +1 -1
  82. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +1 -1
  83. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +5 -2
  84. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +2 -2
  85. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +1 -1
  86. package/packages/omo-codex/scripts/install-dist/install-local.mjs +3 -2
  87. package/packages/shared-skills/package.json +7 -1
  88. package/packages/shared-skills/skills/ast-grep/SKILL.md +1 -1
  89. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +1 -1
  90. package/packages/shared-skills/skills/data-scientist/SKILL.md +1 -1
  91. package/packages/shared-skills/skills/debugging/SKILL.md +1 -1
  92. package/packages/shared-skills/skills/frontend/SKILL.md +1 -1
  93. package/packages/shared-skills/skills/git-master/SKILL.md +1 -1
  94. package/packages/shared-skills/skills/init-deep/SKILL.md +1 -1
  95. package/packages/shared-skills/skills/lsp-setup/SKILL.md +1 -1
  96. package/packages/shared-skills/skills/programming/SKILL.md +1 -1
  97. package/packages/shared-skills/skills/refactor/SKILL.md +1 -1
  98. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +1 -1
  99. package/packages/shared-skills/skills/review-work/SKILL.md +99 -417
  100. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +1 -1
  101. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +24 -9
  102. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +13 -10
  103. package/packages/shared-skills/skills/ulw-execute/SKILL.md +1 -1
  104. package/packages/shared-skills/skills/ulw-plan/SKILL.md +1 -1
  105. package/packages/shared-skills/skills/ulw-research/SKILL.md +5 -2
  106. package/packages/shared-skills/skills/visual-qa/SKILL.md +2 -2
@@ -55,7 +55,7 @@ var package_default;
55
55
  var init_package = __esm(() => {
56
56
  package_default = {
57
57
  name: "oh-my-opencode",
58
- version: "5.0.0-beta.40",
58
+ version: "5.0.0-beta.43",
59
59
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
60
60
  main: "./dist/index.js",
61
61
  types: "dist/index.d.ts",
@@ -125,6 +125,8 @@ var init_package = __esm(() => {
125
125
  "packages/git-bash-mcp/dist",
126
126
  "packages/shared-skills/package.json",
127
127
  "packages/shared-skills/index.mjs",
128
+ "packages/shared-skills/skill-source-filter.d.ts",
129
+ "packages/shared-skills/skill-source-filter.mjs",
128
130
  "packages/shared-skills/skills",
129
131
  "packages/omo-codex/THIRD-PARTY-NOTICES.md",
130
132
  "packages/omo-codex/marketplace.json",
@@ -177,6 +179,7 @@ var init_package = __esm(() => {
177
179
  "build:binaries": "bun run script/build-binaries.ts",
178
180
  "build:schema": "bun run script/build-schema.ts",
179
181
  "build:omo-native": "bun run script/build-omo-native.ts",
182
+ omob: "bun run script/build-omob.ts",
180
183
  "build:omo-schema": "bun run script/build-omo-schema.ts",
181
184
  "build:model-capabilities": "bun run script/build-model-capabilities.ts",
182
185
  clean: "rm -rf dist",
@@ -184,14 +187,14 @@ var init_package = __esm(() => {
184
187
  prepare: "bun run build",
185
188
  postinstall: "node postinstall.mjs",
186
189
  prepublishOnly: "bun run clean && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && bun run build",
187
- "test:model-capabilities": "bun test packages/model-core/src/model-capability-aliases.test.ts packages/model-core/src/model-capability-guardrails.test.ts packages/model-core/src/model-capabilities.test.ts packages/omo-opencode/src/cli/doctor/checks/model-resolution.test.ts --bail",
190
+ "test:model-capabilities": "bun test --timeout 20000 packages/model-core/src/model-capability-aliases.test.ts packages/model-core/src/model-capability-guardrails.test.ts packages/model-core/src/model-capabilities.test.ts packages/omo-opencode/src/cli/doctor/checks/model-resolution.test.ts --bail",
188
191
  typecheck: "tsgo --noEmit && bun run typecheck:script && bun run typecheck:packages",
189
192
  "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/pi-goal/tsconfig.json && tsgo --noEmit -p packages/pi-webfetch/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json",
190
193
  "typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
191
- test: "bun test",
192
- "test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && npm --prefix packages/omo-codex/plugin/components/ulw-loop test && bun run --cwd packages/omo-codex/plugin build && node scripts/check-third-party-notices.mjs --ship && bun test packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
194
+ test: "bun test --timeout 20000",
195
+ "test:codex": "bun run build:codex-install && bun run build:git-bash-mcp && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && npm --prefix packages/lsp-tools-mcp test && npm --prefix packages/omo-codex/plugin ci && npm --prefix packages/omo-codex/plugin/components/ulw-loop test && bun run --cwd packages/omo-codex/plugin build && node scripts/check-third-party-notices.mjs --ship && bun test --timeout 20000 packages/omo-opencode/src/cli/cli-installer.platform.test.ts packages/omo-codex/src/install/codex-cache.test.ts packages/omo-codex/src/install/codex-cleanup.test.ts packages/omo-codex/src/install/codex-config-agent-cleanup.test.ts packages/omo-codex/src/install/codex-config-autonomous-features.test.ts packages/omo-codex/src/install/codex-config-reasoning.test.ts packages/omo-codex/src/install/codex-config-toml.test.ts packages/omo-codex/src/install/codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex-project-local-cleanup.test.ts packages/omo-codex/src/install/install-codex.test.ts packages/omo-codex/src/install/install-codex-packaged.test.ts packages/omo-codex/src/install/link-cached-plugin-agents.test.ts packages/omo-codex/src/**/*.test.ts packages/utils/src/jsonc-parser.test.ts packages/utils/src/frontmatter.test.ts packages/hashline-core/src/hash-computation.test.ts packages/hashline-core/src/smoke-untested-modules.test.ts packages/rules-engine/src/index.test.ts packages/rules-engine/src/security-boundary.test.ts packages/agents-md-core/src/injector.test.ts packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts && node --test packages/omo-codex/plugin/test/*.test.mjs packages/omo-codex/scripts/install-cache-copy.test.mjs packages/omo-codex/scripts/install-cli-args.test.mjs packages/omo-codex/scripts/install-delegated-command.test.mjs packages/omo-codex/scripts/install-config-autonomous-features.test.mjs packages/omo-codex/scripts/install-config-autonomous.test.mjs packages/omo-codex/scripts/install-config-reasoning.test.mjs packages/omo-codex/scripts/install-config.test.mjs packages/omo-codex/scripts/install-hook-targets.test.mjs packages/omo-codex/scripts/install-project-local-cleanup.test.mjs packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs packages/omo-codex/scripts/install-local-entrypoint.test.mjs packages/omo-codex/scripts/install-local-git-bash-preflight.test.mjs packages/omo-codex/scripts/install-local.test.mjs packages/omo-codex/scripts/install-marketplace-cache.test.mjs packages/omo-codex/scripts/install-mcp-context7-runtime.test.mjs packages/omo-codex/scripts/install-mcp-runtime.test.mjs packages/omo-codex/scripts/install-packaged-local.test.mjs packages/omo-codex/scripts/install-generated-bundle.test.mjs packages/omo-codex/scripts/install-agent-links.test.mjs packages/omo-codex/scripts/install-bin-links.test.mjs",
193
196
  "test:fast": "bun run script/test-fast.ts",
194
- "test:senpi": "bun run build:senpi-plugin && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && bun test packages/omo-senpi && bun test ./.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs",
197
+ "test:senpi": "bun run build:senpi-plugin && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && bun test --timeout 20000 packages/omo-senpi && bun test ./.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs",
195
198
  "test:windows-codex": "bun run test:codex",
196
199
  "build:git-bash-mcp": "bun run --cwd packages/git-bash-mcp build",
197
200
  "build:ast-grep-mcp": "bun run --cwd packages/ast-grep-mcp build"
@@ -235,7 +238,7 @@ var init_package = __esm(() => {
235
238
  zod: "^4.4.3"
236
239
  },
237
240
  devDependencies: {
238
- "@code-yeongyu/senpi": "2026.9.4",
241
+ "@code-yeongyu/senpi": "2026.9.5",
239
242
  "@oh-my-opencode/agents-md-core": "workspace:*",
240
243
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
241
244
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -276,18 +279,18 @@ var init_package = __esm(() => {
276
279
  typescript: "^7.0.2"
277
280
  },
278
281
  optionalDependencies: {
279
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.40",
280
- "oh-my-opencode-darwin-x64": "5.0.0-beta.40",
281
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.40",
282
- "oh-my-opencode-linux-arm64": "5.0.0-beta.40",
283
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.40",
284
- "oh-my-opencode-linux-x64": "5.0.0-beta.40",
285
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.40",
286
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.40",
287
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.40",
288
- "oh-my-opencode-windows-arm64": "5.0.0-beta.40",
289
- "oh-my-opencode-windows-x64": "5.0.0-beta.40",
290
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.40"
282
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.43",
283
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.43",
284
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.43",
285
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.43",
286
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.43",
287
+ "oh-my-opencode-linux-x64": "5.0.0-beta.43",
288
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.43",
289
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.43",
290
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.43",
291
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.43",
292
+ "oh-my-opencode-windows-x64": "5.0.0-beta.43",
293
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.43"
291
294
  },
292
295
  overrides: {
293
296
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -7124,7 +7127,7 @@ var init_agent_model_requirements = __esm(() => {
7124
7127
  fallbackChain: [
7125
7128
  {
7126
7129
  providers: ["anthropic", "github-copilot", "opencode"],
7127
- model: "claude-fable-5",
7130
+ model: "claude-fable-5-1",
7128
7131
  variant: "xhigh"
7129
7132
  },
7130
7133
  {
@@ -7150,10 +7153,9 @@ var init_agent_model_requirements = __esm(() => {
7150
7153
  },
7151
7154
  momus: {
7152
7155
  fallbackChain: [
7153
- { providers: ["openai", "openai-codex"], model: "gpt-5.6-terra", variant: "high" },
7154
- { providers: ["github-copilot"], model: "gpt-5.6-terra", variant: "high" },
7155
- { providers: ["openai", "openai-codex", "opencode"], model: "gpt-5.6-sol", variant: "xhigh" },
7156
- { providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "high" },
7156
+ { providers: ["openai", "openai-codex"], model: "gpt-6-astra", variant: "xhigh" },
7157
+ { providers: ["github-copilot"], model: "gpt-6-astra", variant: "high" },
7158
+ { providers: ["openai", "openai-codex", "opencode"], model: "gpt-6-astra", variant: "high" },
7157
7159
  {
7158
7160
  providers: ["anthropic", "github-copilot", "opencode"],
7159
7161
  model: "claude-opus-5",
@@ -7205,6 +7207,11 @@ var init_category_model_requirements = __esm(() => {
7205
7207
  CATEGORY_MODEL_REQUIREMENTS = {
7206
7208
  "visual-engineering": {
7207
7209
  fallbackChain: [
7210
+ {
7211
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
7212
+ model: "claude-fable-5-1",
7213
+ variant: "max"
7214
+ },
7208
7215
  {
7209
7216
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
7210
7217
  model: "claude-opus-5",
@@ -7214,17 +7221,14 @@ var init_category_model_requirements = __esm(() => {
7214
7221
  providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
7215
7222
  model: "kimi-k3",
7216
7223
  variant: "max"
7217
- },
7218
- { providers: ["zai-coding-plan", "opencode-go"], model: "glm-5.2", variant: "max" },
7219
- {
7220
- providers: ["openai", "openai-codex", "github-copilot", "opencode"],
7221
- model: "gpt-5.6-sol",
7222
- variant: "medium"
7223
7224
  }
7224
7225
  ]
7225
7226
  },
7226
7227
  ultrabrain: {
7227
7228
  fallbackChain: [
7229
+ { providers: ["openai", "openai-codex"], model: "gpt-6-astra", variant: "max" },
7230
+ { providers: ["github-copilot"], model: "gpt-6-astra", variant: "max" },
7231
+ { providers: ["openai", "openai-codex", "opencode"], model: "gpt-6-astra", variant: "max" },
7228
7232
  { providers: ["openai", "openai-codex"], model: "gpt-5.6-sol", variant: "max" },
7229
7233
  { providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "max" },
7230
7234
  { providers: ["openai", "openai-codex", "opencode"], model: "gpt-5.6-sol", variant: "max" }
@@ -7232,6 +7236,11 @@ var init_category_model_requirements = __esm(() => {
7232
7236
  },
7233
7237
  deep: {
7234
7238
  fallbackChain: [
7239
+ {
7240
+ providers: ["openai", "openai-codex", "github-copilot", "opencode"],
7241
+ model: "gpt-6-astra",
7242
+ variant: "high"
7243
+ },
7235
7244
  {
7236
7245
  providers: ["openai", "openai-codex", "github-copilot", "opencode"],
7237
7246
  model: "gpt-5.6-sol",
@@ -7243,7 +7252,7 @@ var init_category_model_requirements = __esm(() => {
7243
7252
  fallbackChain: [
7244
7253
  {
7245
7254
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
7246
- model: "claude-fable-5",
7255
+ model: "claude-fable-5-1",
7247
7256
  variant: "xhigh"
7248
7257
  },
7249
7258
  {
@@ -7302,6 +7311,11 @@ var init_category_model_requirements = __esm(() => {
7302
7311
  },
7303
7312
  "unspecified-high": {
7304
7313
  fallbackChain: [
7314
+ {
7315
+ providers: ["openai", "openai-codex", "github-copilot", "opencode"],
7316
+ model: "gpt-6-astra",
7317
+ variant: "high"
7318
+ },
7305
7319
  {
7306
7320
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
7307
7321
  model: "claude-opus-5",
@@ -7317,17 +7331,16 @@ var init_category_model_requirements = __esm(() => {
7317
7331
  },
7318
7332
  writing: {
7319
7333
  fallbackChain: [
7320
- {
7321
- providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
7322
- model: "kimi-k3",
7323
- variant: "low"
7324
- },
7325
7334
  {
7326
7335
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
7327
- model: "claude-opus-5",
7328
- variant: "low"
7336
+ model: "claude-fable-5-1",
7337
+ variant: "medium"
7329
7338
  },
7330
- { providers: ["google", "github-copilot", "opencode"], model: "gemini-3.6-flash" }
7339
+ {
7340
+ providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
7341
+ model: "kimi-k3",
7342
+ variant: "max"
7343
+ }
7331
7344
  ]
7332
7345
  }
7333
7346
  };
@@ -7430,11 +7443,11 @@ var init_model_capability_aliases = __esm(() => {
7430
7443
  EXACT_ALIAS_RULES_BY_MODEL = new Map(EXACT_ALIAS_RULES.map((rule) => [rule.aliasModelID, rule]));
7431
7444
  PATTERN_ALIAS_RULES = [
7432
7445
  {
7433
- ruleID: "openai-gpt-5.6-fast-service-tier-alias",
7434
- description: "Normalizes OpenCode's OpenAI GPT-5.6 fast service-tier IDs to canonical snapshot IDs.",
7446
+ ruleID: "openai-gpt-fast-service-tier-alias",
7447
+ description: "Normalizes OpenCode's OpenAI GPT fast service-tier IDs to canonical snapshot IDs.",
7435
7448
  providerIDs: ["openai"],
7436
7449
  allowedSubproviderHosts: ["vercel"],
7437
- match: (normalizedModelID) => /^gpt-5\.6-(?:sol|terra|luna)-fast$/.test(normalizedModelID),
7450
+ match: (normalizedModelID) => /^(?:gpt-5\.6-(?:sol|terra|luna)|gpt-6-astra)-fast$/.test(normalizedModelID),
7438
7451
  canonicalize: (normalizedModelID) => normalizedModelID.slice(0, -"-fast".length)
7439
7452
  },
7440
7453
  {
@@ -7574,6 +7587,14 @@ var init_model_capability_heuristics = __esm(() => {
7574
7587
  reasoningEfforts: ["none", "minimal", "low", "medium", "high"],
7575
7588
  supportsTemperature: false
7576
7589
  },
7590
+ {
7591
+ family: "gpt-6",
7592
+ includes: ["gpt-6"],
7593
+ variants: ["low", "medium", "high", "xhigh", "max"],
7594
+ reasoningEfforts: ["low", "medium", "high", "xhigh", "max"],
7595
+ reasoningEffortAliases: { none: "low", minimal: "low" },
7596
+ supportsTemperature: false
7597
+ },
7577
7598
  {
7578
7599
  family: "gpt-5",
7579
7600
  includes: ["gpt-5"],
@@ -7939,6 +7960,37 @@ var init_supplemental_entries = __esm(() => {
7939
7960
  output: 262144
7940
7961
  }
7941
7962
  },
7963
+ "claude-fable-5-1": {
7964
+ id: "claude-fable-5-1",
7965
+ family: "claude-fable",
7966
+ reasoning: true,
7967
+ temperature: false,
7968
+ toolCall: true,
7969
+ modalities: {
7970
+ input: ["text", "image", "pdf"],
7971
+ output: ["text"]
7972
+ },
7973
+ limit: {
7974
+ context: 1e6,
7975
+ output: 128000
7976
+ }
7977
+ },
7978
+ "gpt-6-astra": {
7979
+ id: "gpt-6-astra",
7980
+ family: "gpt",
7981
+ reasoning: true,
7982
+ temperature: false,
7983
+ toolCall: true,
7984
+ modalities: {
7985
+ input: ["text", "image"],
7986
+ output: ["text"]
7987
+ },
7988
+ limit: {
7989
+ context: 1050000,
7990
+ input: 922000,
7991
+ output: 128000
7992
+ }
7993
+ },
7942
7994
  "gpt-5.6-sol": {
7943
7995
  id: "gpt-5.6-sol",
7944
7996
  family: "gpt",
@@ -8279,7 +8331,7 @@ function getOverride(modelID) {
8279
8331
  function getProviderOverride(providerID, modelID) {
8280
8332
  if (providerID.trim().toLowerCase() !== "github-copilot")
8281
8333
  return;
8282
- return GITHUB_COPILOT_GPT5_MODEL.test(normalizeLookupModelID2(modelID)) ? GITHUB_COPILOT_GPT5_OVERRIDE : undefined;
8334
+ return GITHUB_COPILOT_GPT_MODEL.test(normalizeLookupModelID2(modelID)) ? GITHUB_COPILOT_GPT_OVERRIDE : undefined;
8283
8335
  }
8284
8336
  function stripSameProviderPrefix(providerID, modelID) {
8285
8337
  const prefix = `${providerID.trim()}/`;
@@ -8418,14 +8470,14 @@ function getModelCapabilities(input) {
8418
8470
  }
8419
8471
  };
8420
8472
  }
8421
- var MODEL_ID_OVERRIDES, GITHUB_COPILOT_GPT5_MODEL, GITHUB_COPILOT_GPT5_OVERRIDE;
8473
+ var MODEL_ID_OVERRIDES, GITHUB_COPILOT_GPT_MODEL, GITHUB_COPILOT_GPT_OVERRIDE;
8422
8474
  var init_get_model_capabilities = __esm(() => {
8423
8475
  init_model_capability_aliases();
8424
8476
  init_model_capability_heuristics();
8425
8477
  init_model_string_parser();
8426
8478
  MODEL_ID_OVERRIDES = {};
8427
- GITHUB_COPILOT_GPT5_MODEL = /(?:^|\/)gpt-5(?:[.-]|$)/;
8428
- GITHUB_COPILOT_GPT5_OVERRIDE = {
8479
+ GITHUB_COPILOT_GPT_MODEL = /(?:^|\/)gpt-[56](?:[.-]|$)/;
8480
+ GITHUB_COPILOT_GPT_OVERRIDE = {
8429
8481
  variants: ["low", "medium", "high"],
8430
8482
  reasoningEfforts: ["none", "minimal", "low", "medium", "high"]
8431
8483
  };
@@ -8777,22 +8829,6 @@ var init_agent_display_names = __esm(() => {
8777
8829
  "athena-junior (council)": "athena-junior"
8778
8830
  };
8779
8831
  });
8780
- // packages/omo-opencode/src/tools/delegate-task/anthropic-categories.ts
8781
- var UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
8782
- You are working on tasks that don't fit specific categories but require substantial effort.
8783
- </Category_Context>`, UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits and substantial effort spans systems/modules with broad impact. Use unspecified-low for contained moderate work.</Selection_Gate>`, ANTHROPIC_CATEGORIES;
8784
- var init_anthropic_categories = __esm(() => {
8785
- ANTHROPIC_CATEGORIES = [
8786
- {
8787
- name: "unspecified-high",
8788
- config: { model: "anthropic/claude-opus-5", variant: "xhigh" },
8789
- description: "Tasks that don't fit other categories, high effort required",
8790
- callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
8791
- promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND
8792
- }
8793
- ];
8794
- });
8795
-
8796
8832
  // packages/omo-opencode/src/tools/delegate-task/google-categories.ts
8797
8833
  var VISUAL_CATEGORY_PROMPT_APPEND = `<Category_Context>
8798
8834
  You are working on VISUAL/UI tasks.
@@ -8901,13 +8937,13 @@ var init_google_categories = __esm(() => {
8901
8937
  GOOGLE_CATEGORIES = [
8902
8938
  {
8903
8939
  name: "visual-engineering",
8904
- config: { model: "anthropic/claude-opus-5", variant: "max" },
8905
- description: "Frontend, UI/UX, design, styling, animation",
8940
+ config: { model: "anthropic/claude-fable-5-1", variant: "max" },
8941
+ description: "Visual design, UI/UX, frontend, styling, animation, and design systems",
8906
8942
  promptAppend: VISUAL_CATEGORY_PROMPT_APPEND
8907
8943
  },
8908
8944
  {
8909
8945
  name: "artistry",
8910
- config: { model: "anthropic/claude-fable-5", variant: "xhigh" },
8946
+ config: { model: "anthropic/claude-fable-5-1", variant: "max" },
8911
8947
  description: "Complex problem-solving with unconventional, creative approaches - beyond standard patterns",
8912
8948
  promptAppend: ARTISTRY_CATEGORY_PROMPT_APPEND
8913
8949
  }
@@ -8944,7 +8980,7 @@ var init_kimi_categories = __esm(() => {
8944
8980
  KIMI_CATEGORIES = [
8945
8981
  {
8946
8982
  name: "writing",
8947
- config: { model: "kimi-for-coding/k3", variant: "low" },
8983
+ config: { model: "anthropic/claude-fable-5-1", variant: "medium" },
8948
8984
  description: "Documentation, prose, technical writing",
8949
8985
  promptAppend: WRITING_CATEGORY_PROMPT_APPEND
8950
8986
  }
@@ -8963,16 +8999,58 @@ function isGpt5_6Model(model) {
8963
8999
  const modelName = extractModelName2(model).toLowerCase();
8964
9000
  return modelName.includes("gpt-5.6") || modelName.includes("gpt-5-6");
8965
9001
  }
9002
+ function isGpt6Model(model) {
9003
+ const modelName = extractModelName2(model).toLowerCase();
9004
+ return modelName.includes("gpt-6");
9005
+ }
8966
9006
  var init_types = () => {};
8967
9007
 
8968
9008
  // packages/omo-opencode/src/tools/delegate-task/openai-categories.ts
9009
+ function resolveUltrabrainCategoryPromptAppend(model) {
9010
+ if (model && isGpt6Model(model)) {
9011
+ return ULTRABRAIN_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA;
9012
+ }
9013
+ return ULTRABRAIN_CATEGORY_PROMPT_APPEND;
9014
+ }
8969
9015
  function resolveDeepCategoryPromptAppend(model) {
9016
+ if (model && isGpt6Model(model)) {
9017
+ return DEEP_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA;
9018
+ }
8970
9019
  if (model && (isGpt5_5Model(model) || isGpt5_6Model(model))) {
8971
9020
  return DEEP_CATEGORY_PROMPT_APPEND_GPT_5_5;
8972
9021
  }
8973
9022
  return DEEP_CATEGORY_PROMPT_APPEND;
8974
9023
  }
8975
- var ULTRABRAIN_CATEGORY_PROMPT_APPEND = `<Category_Context>
9024
+ function resolveUnspecifiedHighCategoryPromptAppend(model) {
9025
+ if (model && isGpt6Model(model)) {
9026
+ return UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA;
9027
+ }
9028
+ return UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND;
9029
+ }
9030
+ var ULTRABRAIN_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA = `<Category_Context name="ultrabrain">
9031
+ The orchestrator routed this task here because it is the one genuinely hard, logic-heavy problem in its plan, and it sent a goal rather than steps: choose the approach yourself, and let correctness outrank speed, brevity, and token cost.
9032
+
9033
+ Success means:
9034
+ - every load-bearing claim cites evidence from this turn: a file and line read, a command run, a test executed;
9035
+ - every executable claim was executed: a proposed fix runs, an algorithm passes the boundary cases you enumerated, a verdict on a diff names the failing line;
9036
+ - the conclusion survived your own attempt to break it, and the answer names the strongest counter-case you looked for;
9037
+ - rejected alternatives carry the reason that decided against them, and open assumptions are stated so the orchestrator can overturn them;
9038
+ - one decision-complete recommendation, actionable without a follow-up question.
9039
+
9040
+ Whatever that check leaves unsettled goes in the answer as an open question with what would settle it. When the goal bundles independent problems, solve the one the others depend on and return the rest as separately delegable items.
9041
+ </Category_Context>`, DEEP_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA = `<Category_Context name="deep">
9042
+ The orchestrator routed this task here for depth: one goal, one deliverable, and the time to earn it. The exploration budget is generous: read every file involved, trace callers and dependencies in both directions, and fan out explore and librarian subagents in parallel for the questions a single read wave cannot answer, until you can explain the full mechanism you are about to change; an edit made before that point is the failure this category exists to prevent.
9043
+
9044
+ **MUST USE \`deep\` FOR 3D GRAPHICS, COMPUTER USE, BROWSER USE, BACKEND, LOGIC, ALGORITHMS, CAPTCHA SOLVING, AND MULTIMODAL WORK.**
9045
+
9046
+ The goal is the authorization. Choose how to reach it yourself, and when it lists numbered steps or phases, deliver all of them in this turn as one task; a proposal, a plan awaiting approval, a simplified version, or a proof of concept is unfinished work. When the steps turn out to be independent problems sharing no reasoning, do the one the goal centers on and return the others as separately delegable items with what you learned. A question ends your turn and hands the task back unfinished, so decide from context, record each assumption in the final message, and stop early only for a blocker you cannot route around: a missing secret, a decision only the user can make, or three materially different attempts that all failed.
9047
+
9048
+ Fix the cause: trace at least two levels above the symptom before settling, and prefer the change that makes the failure impossible over the guard that hides it. Depth means understanding the mechanism, so the diff stays as small as the fix allows; on greenfield work choose strong defaults and finish something you would hand to a senior engineer. Close with the delivered change, the evidence that it works, and the assumptions you made.
9049
+ </Category_Context>`, UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND_GPT_6_ASTRA = `<Category_Context name="unspecified-high">
9050
+ The orchestrator routed this task here because it spans systems or modules and fits no specialist category, so breadth of consideration is what this category buys. Before committing to an approach, survey the whole surface the change touches: every caller and consumer of what you will modify, sibling modules that implement the same pattern, the tests, docs, schemas, config, scripts, and CI that encode the current behavior, and the history of the area (git log and blame) for the reasons it is shaped this way. Fan out explore and librarian subagents in parallel when that surface is wider than one read wave covers.
9051
+
9052
+ Weigh at least two ways to do it against what you found, choose one, and say in the final message why it won. Then deliver it across every surface you identified, so behavior stays consistent everywhere the change is observable and no caller, test, doc, schema, or config still describes the old state. A question ends your turn and hands the task back unfinished, so decide from context, record each assumption in the final message, and finish.
9053
+ </Category_Context>`, ULTRABRAIN_CATEGORY_PROMPT_APPEND = `<Category_Context>
8976
9054
  You are working on DEEP LOGICAL REASONING / COMPLEX ARCHITECTURE tasks.
8977
9055
 
8978
9056
  **CRITICAL - CODE STYLE REQUIREMENTS (NON-NEGOTIABLE)**:
@@ -8997,6 +9075,8 @@ You are working on GOAL-ORIENTED AUTONOMOUS tasks.
8997
9075
 
8998
9076
  You are NOT an interactive assistant. You are an autonomous problem-solver.
8999
9077
 
9078
+ **MUST USE \`deep\` FOR 3D GRAPHICS, COMPUTER USE, BROWSER USE, BACKEND, LOGIC, ALGORITHMS, CAPTCHA SOLVING, AND MULTIMODAL WORK.**
9079
+
9000
9080
  BEFORE making ANY changes:
9001
9081
  1. Silently explore the codebase extensively (5-15 minutes of reading is normal)
9002
9082
  2. Read related files, trace dependencies, understand the full context
@@ -9014,6 +9094,8 @@ Minimal status updates. Focus on results, not play-by-play. Report completion wi
9014
9094
  </Category_Context>`, DEEP_CATEGORY_PROMPT_APPEND_GPT_5_5 = `<Category_Context name="deep">
9015
9095
  You are operating in DEEP mode. This is the category reserved for goal-oriented autonomous work on hairy problems that reward thorough exploration and comprehensive solutions.
9016
9096
 
9097
+ **MUST USE \`deep\` FOR 3D GRAPHICS, COMPUTER USE, BROWSER USE, BACKEND, LOGIC, ALGORITHMS, CAPTCHA SOLVING, AND MULTIMODAL WORK.**
9098
+
9017
9099
  The orchestrator chose this category because the task benefits from depth over speed. You should feel empowered to spend the time needed: five to fifteen minutes of silent exploration before the first edit is normal and correct. Rushing to implementation on a deep task is a failure mode, not a feature.
9018
9100
 
9019
9101
  # How deep mode adjusts the base behavior
@@ -9047,23 +9129,27 @@ Approach:
9047
9129
  </Category_Context>`, QUICK_CATEGORY_CALLER_GUIDANCE = `<Caller_Warning>Small/fast model: before delegating, write an explicit prompt with numbered must-do steps, forbidden deviations, and concrete success criteria.</Caller_Warning>`, UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
9048
9130
  You are working on tasks that don't fit specific categories but require moderate effort.
9049
9131
  </Category_Context>`, UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits, effort is moderate, and scope stays within a few files/modules. Prefer any matching specialist category.</Selection_Gate>
9050
- <Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`, OPENAI_CATEGORIES;
9132
+ <Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`, UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
9133
+ You are working on tasks that don't fit specific categories but require substantial effort.
9134
+ </Category_Context>`, UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits and substantial effort spans systems/modules with broad impact. Use unspecified-low for contained moderate work.</Selection_Gate>`, GPT_FLAGSHIP_GATE_MODELS, OPENAI_CATEGORIES;
9051
9135
  var init_openai_categories = __esm(() => {
9052
9136
  init_types();
9137
+ GPT_FLAGSHIP_GATE_MODELS = ["gpt-6-astra", "gpt-5.6-sol"];
9053
9138
  OPENAI_CATEGORIES = [
9054
9139
  {
9055
9140
  name: "ultrabrain",
9056
- config: { model: "openai/gpt-5.6-sol", variant: "xhigh" },
9141
+ config: { model: "openai/gpt-6-astra", variant: "max" },
9057
9142
  description: "Use ONLY for genuinely hard, logic-heavy tasks. Give clear goals only, not step-by-step instructions.",
9058
- promptAppend: ULTRABRAIN_CATEGORY_PROMPT_APPEND
9143
+ promptAppend: ULTRABRAIN_CATEGORY_PROMPT_APPEND,
9144
+ resolvePromptAppend: resolveUltrabrainCategoryPromptAppend
9059
9145
  },
9060
9146
  {
9061
9147
  name: "deep",
9062
- config: { model: "openai/gpt-5.6-sol", variant: "medium" },
9063
- description: "Goal-oriented autonomous problem-solving on hairy problems requiring deep research. ONE goal + ONE deliverable per call — multiple goals must fan out as parallel `deep` calls, never bundled into one.",
9148
+ config: { model: "openai/gpt-6-astra", variant: "high" },
9149
+ description: "**MANDATORY: USE deep FOR 3D GRAPHICS, COMPUTER USE, BROWSER USE, BACKEND, LOGIC, ALGORITHMS, CAPTCHA SOLVING, AND MULTIMODAL WORK.** Deep autonomous problem-solving for complex research. ONE goal + ONE deliverable per call — multiple goals must fan out as parallel `deep` calls, never bundled into one.",
9064
9150
  promptAppend: DEEP_CATEGORY_PROMPT_APPEND,
9065
9151
  resolvePromptAppend: resolveDeepCategoryPromptAppend,
9066
- requiresModel: "gpt-5.6-sol"
9152
+ requiresModel: GPT_FLAGSHIP_GATE_MODELS
9067
9153
  },
9068
9154
  {
9069
9155
  name: "quick",
@@ -9078,6 +9164,14 @@ var init_openai_categories = __esm(() => {
9078
9164
  description: "Tasks that don't fit other categories, low effort required",
9079
9165
  callerGuidance: UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE,
9080
9166
  promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
9167
+ },
9168
+ {
9169
+ name: "unspecified-high",
9170
+ config: { model: "openai/gpt-6-astra", variant: "high" },
9171
+ description: "Tasks that don't fit other categories, high effort required",
9172
+ callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
9173
+ promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
9174
+ resolvePromptAppend: resolveUnspecifiedHighCategoryPromptAppend
9081
9175
  }
9082
9176
  ];
9083
9177
  });
@@ -9088,14 +9182,12 @@ function buildCategoryRecord(selector) {
9088
9182
  }
9089
9183
  var BUILTIN_CATEGORIES, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, CATEGORY_CALLER_GUIDANCE, CATEGORY_PROMPT_APPEND_RESOLVERS, BUILTIN_CATEGORY_REQUIRES_MODEL;
9090
9184
  var init_builtin_categories = __esm(() => {
9091
- init_anthropic_categories();
9092
9185
  init_google_categories();
9093
9186
  init_kimi_categories();
9094
9187
  init_openai_categories();
9095
9188
  BUILTIN_CATEGORIES = [
9096
9189
  ...GOOGLE_CATEGORIES,
9097
9190
  ...OPENAI_CATEGORIES,
9098
- ...ANTHROPIC_CATEGORIES,
9099
9191
  ...KIMI_CATEGORIES
9100
9192
  ];
9101
9193
  DEFAULT_CATEGORIES = buildCategoryRecord((definition) => definition.config);
@@ -9103,7 +9195,10 @@ var init_builtin_categories = __esm(() => {
9103
9195
  CATEGORY_DESCRIPTIONS = buildCategoryRecord((definition) => definition.description);
9104
9196
  CATEGORY_CALLER_GUIDANCE = buildCategoryRecord((definition) => definition.callerGuidance);
9105
9197
  CATEGORY_PROMPT_APPEND_RESOLVERS = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition) => definition.resolvePromptAppend !== undefined).map((definition) => [definition.name, definition.resolvePromptAppend]));
9106
- BUILTIN_CATEGORY_REQUIRES_MODEL = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition) => definition.requiresModel !== undefined).map((definition) => [definition.name, definition.requiresModel]));
9198
+ BUILTIN_CATEGORY_REQUIRES_MODEL = Object.fromEntries(BUILTIN_CATEGORIES.filter((definition) => definition.requiresModel !== undefined).map((definition) => [
9199
+ definition.name,
9200
+ typeof definition.requiresModel === "string" ? [definition.requiresModel] : definition.requiresModel
9201
+ ]));
9107
9202
  });
9108
9203
 
9109
9204
  // packages/omo-opencode/src/tools/delegate-task/constants.ts
@@ -82491,7 +82586,6 @@ var init_memory = __esm(() => {
82491
82586
  OmoMemorySettingsSchema = object({
82492
82587
  enabled: boolean2().default(true),
82493
82588
  agent: string2().min(1).default("auto"),
82494
- tool_exposure: _enum2(["direct", "search"]).default("direct"),
82495
82589
  reflection: OmoMemoryReflectionSchema.default({
82496
82590
  enabled: true,
82497
82591
  trigger: { step_count: 25, on_compaction: true },
@@ -82522,7 +82616,6 @@ var init_memory = __esm(() => {
82522
82616
  OmoMemorySettingsLayerSchema = object({
82523
82617
  enabled: boolean2().optional(),
82524
82618
  agent: string2().min(1).optional(),
82525
- tool_exposure: _enum2(["direct", "search"]).optional(),
82526
82619
  reflection: OmoMemoryReflectionLayerSchema.optional(),
82527
82620
  nudge: OmoMemoryNudgeLayerSchema.optional(),
82528
82621
  facts: OmoMemoryFactsLayerSchema.optional(),
@@ -94428,7 +94521,7 @@ var package_default2;
94428
94521
  var init_package2 = __esm(() => {
94429
94522
  package_default2 = {
94430
94523
  name: "@oh-my-opencode/omo-codex",
94431
- version: "5.0.0-beta.40",
94524
+ version: "5.0.0-beta.43",
94432
94525
  type: "module",
94433
94526
  private: true,
94434
94527
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -94459,6 +94552,7 @@ var init_package2 = __esm(() => {
94459
94552
  "sync:skills": "node plugin/scripts/sync-skills.mjs"
94460
94553
  },
94461
94554
  dependencies: {
94555
+ "@oh-my-opencode/shared-skills": "workspace:*",
94462
94556
  "@oh-my-opencode/utils": "workspace:*"
94463
94557
  },
94464
94558
  devDependencies: {
@@ -103612,6 +103706,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
103612
103706
  join61("skills", "ulw-plan", "SKILL.md"),
103613
103707
  join61("skills", "ulw-research", "SKILL.md"),
103614
103708
  join61("skills", "visual-qa", "SKILL.md"),
103709
+ join61("skills-conditional", "x-search", "SKILL.md"),
103615
103710
  join61("runtime", "ast-grep-mcp", "cli.js"),
103616
103711
  join61("runtime", "agent-toolkit", "cli.js"),
103617
103712
  join61("runtime", "agent-toolkit", "ulw-loop", "cli.js"),
@@ -103635,6 +103730,7 @@ async function ensurePluginArtifacts(context) {
103635
103730
  await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-lsp-daemon-runtime.mjs")], { cwd: context.repoRoot });
103636
103731
  await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-ast-grep-mcp-runtime.mjs")], { cwd: context.repoRoot });
103637
103732
  await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-agent-toolkit.mjs")], { cwd: context.repoRoot });
103733
+ await context.runCommand("node", [join61(context.pluginPath, "scripts", "stage-x-search-skill.mjs")], { cwd: context.repoRoot });
103638
103734
  }
103639
103735
  if (await hasMissingPluginArtifact(context.pluginPath)) {
103640
103736
  throw new Error(`Packed omo-senpi plugin is missing required runtime artifacts at ${context.pluginPath}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lazycodex-ai",
3
- "version": "5.0.0-beta.40",
3
+ "version": "5.0.0-beta.43",
4
4
  "description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -686,6 +686,7 @@ class JsonRpcConnection {
686
686
  let cancelAfterWrite = false;
687
687
  let settled = false;
688
688
  const writeCancel = () => this.writeMessage({ jsonrpc: "2.0", method: "$/cancelRequest", params: { id } });
689
+ let rejectAfterCancelWrite;
689
690
  const responsePromise = new Promise((resolve2, reject) => {
690
691
  const cleanup = () => {
691
692
  options.signal?.removeEventListener("abort", onAbort);
@@ -697,15 +698,19 @@ class JsonRpcConnection {
697
698
  this.pendingRequests.delete(key);
698
699
  cleanup();
699
700
  const rejectCancelled = () => reject(abortError(options.signal));
701
+ rejectAfterCancelWrite = async () => {
702
+ try {
703
+ await writeCancel();
704
+ } catch (error) {
705
+ this.emitError(toError(error));
706
+ }
707
+ rejectCancelled();
708
+ };
700
709
  if (!requestWritten) {
701
710
  cancelAfterWrite = true;
702
- rejectCancelled();
703
711
  return;
704
712
  }
705
- writeCancel().then(rejectCancelled, (error) => {
706
- this.emitError(toError(error));
707
- rejectCancelled();
708
- });
713
+ rejectAfterCancelWrite();
709
714
  };
710
715
  const onAbort = () => settleCancel();
711
716
  this.pendingRequests.set(key, {
@@ -733,7 +738,7 @@ class JsonRpcConnection {
733
738
  await this.writeMessage(message);
734
739
  requestWritten = true;
735
740
  if (cancelAfterWrite)
736
- await writeCancel();
741
+ await rejectAfterCancelWrite?.();
737
742
  } catch (error) {
738
743
  if (settled)
739
744
  return responsePromise;
@@ -1341,6 +1341,7 @@ class JsonRpcConnection {
1341
1341
  let cancelAfterWrite = false;
1342
1342
  let settled = false;
1343
1343
  const writeCancel = () => this.writeMessage({ jsonrpc: "2.0", method: "$/cancelRequest", params: { id } });
1344
+ let rejectAfterCancelWrite;
1344
1345
  const responsePromise = new Promise((resolve2, reject) => {
1345
1346
  const cleanup = () => {
1346
1347
  options.signal?.removeEventListener("abort", onAbort);
@@ -1352,15 +1353,19 @@ class JsonRpcConnection {
1352
1353
  this.pendingRequests.delete(key);
1353
1354
  cleanup();
1354
1355
  const rejectCancelled = () => reject(abortError2(options.signal));
1356
+ rejectAfterCancelWrite = async () => {
1357
+ try {
1358
+ await writeCancel();
1359
+ } catch (error) {
1360
+ this.emitError(toError(error));
1361
+ }
1362
+ rejectCancelled();
1363
+ };
1355
1364
  if (!requestWritten) {
1356
1365
  cancelAfterWrite = true;
1357
- rejectCancelled();
1358
1366
  return;
1359
1367
  }
1360
- writeCancel().then(rejectCancelled, (error) => {
1361
- this.emitError(toError(error));
1362
- rejectCancelled();
1363
- });
1368
+ rejectAfterCancelWrite();
1364
1369
  };
1365
1370
  const onAbort = () => settleCancel();
1366
1371
  this.pendingRequests.set(key, {
@@ -1388,7 +1393,7 @@ class JsonRpcConnection {
1388
1393
  await this.writeMessage(message);
1389
1394
  requestWritten = true;
1390
1395
  if (cancelAfterWrite)
1391
- await writeCancel();
1396
+ await rejectAfterCancelWrite?.();
1392
1397
  } catch (error) {
1393
1398
  if (settled)
1394
1399
  return responsePromise;