oh-my-opencode 5.0.0-beta.84 → 5.0.0-beta.86

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 (60) hide show
  1. package/.agents/skills/codex-qa/SKILL.md +2 -0
  2. package/.agents/skills/senpi-qa/SKILL.md +9 -3
  3. package/.agents/skills/senpi-qa/scripts/resolve-evidence-dir.mjs +4 -4
  4. package/README.md +1 -1
  5. package/dist/agents/gpt-prompt-identity.d.ts +1 -1
  6. package/dist/cli/index.js +140 -47
  7. package/dist/cli-node/index.js +140 -47
  8. package/dist/index.js +138 -42
  9. package/dist/tui.js +121 -28
  10. package/package.json +14 -14
  11. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  12. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  13. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  14. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  15. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  16. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  17. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  19. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  20. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  21. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  22. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  23. package/packages/omo-codex/plugin/components/rules/dist/cli.js +12 -0
  24. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  25. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +12 -0
  27. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  28. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  30. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  32. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  33. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  34. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  35. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  36. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  37. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  38. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  58. package/packages/omo-codex/plugin/package-lock.json +12 -12
  59. package/packages/omo-codex/plugin/package.json +1 -1
  60. package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
package/dist/index.js CHANGED
@@ -20022,6 +20022,11 @@ var AGENT_MODEL_REQUIREMENTS = {
20022
20022
  },
20023
20023
  hephaestus: {
20024
20024
  fallbackChain: [
20025
+ {
20026
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20027
+ model: "gpt-6-sol",
20028
+ variant: "medium"
20029
+ },
20025
20030
  {
20026
20031
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20027
20032
  model: "gpt-5.6-sol",
@@ -20051,27 +20056,21 @@ var AGENT_MODEL_REQUIREMENTS = {
20051
20056
  librarian: {
20052
20057
  fallbackChain: [
20053
20058
  { providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed", variant: "off" },
20054
- { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.6-luna-fast", variant: "low" },
20055
- { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "max" },
20059
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
20060
+ { providers: ["deepseek"], model: "deepseek-flash", variant: "max" },
20056
20061
  { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
20057
- { providers: ["opencode-go"], model: "minimax-m3" },
20058
- { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
20059
20062
  { providers: ["opencode-go"], model: "minimax-m2.7" },
20060
- { providers: ["anthropic", "github-copilot"], model: "claude-haiku-4-5" },
20061
- { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.4-nano" }
20063
+ { providers: ["anthropic", "github-copilot"], model: "claude-haiku-4-5" }
20062
20064
  ]
20063
20065
  },
20064
20066
  explore: {
20065
20067
  fallbackChain: [
20066
20068
  { providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed", variant: "off" },
20067
- { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.6-luna-fast", variant: "low" },
20068
- { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "max" },
20069
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
20070
+ { providers: ["deepseek"], model: "deepseek-flash", variant: "max" },
20069
20071
  { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
20070
- { providers: ["opencode-go"], model: "minimax-m3" },
20071
- { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
20072
20072
  { providers: ["opencode-go"], model: "minimax-m2.7" },
20073
- { providers: ["anthropic", "github-copilot"], model: "claude-haiku-4-5" },
20074
- { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.4-nano" }
20073
+ { providers: ["anthropic", "github-copilot"], model: "claude-haiku-4-5" }
20075
20074
  ]
20076
20075
  },
20077
20076
  "multimodal-looker": {
@@ -20089,6 +20088,11 @@ var AGENT_MODEL_REQUIREMENTS = {
20089
20088
  model: "claude-fable-5-1",
20090
20089
  variant: "xhigh"
20091
20090
  },
20091
+ {
20092
+ providers: ["anthropic", "github-copilot", "opencode"],
20093
+ model: "claude-opus-5-5",
20094
+ variant: "max"
20095
+ },
20092
20096
  {
20093
20097
  providers: ["opencode-go", "kimi-for-coding", "moonshotai", "opencode"],
20094
20098
  model: "kimi-k3",
@@ -20196,9 +20200,10 @@ var CATEGORY_MODEL_REQUIREMENTS = {
20196
20200
  },
20197
20201
  "deep-low": {
20198
20202
  fallbackChain: [
20203
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-6-sol-fast", variant: "medium" },
20199
20204
  {
20200
20205
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20201
- model: "gpt-5.6-sol",
20206
+ model: "gpt-6-sol",
20202
20207
  variant: "medium"
20203
20208
  }
20204
20209
  ]
@@ -20208,7 +20213,7 @@ var CATEGORY_MODEL_REQUIREMENTS = {
20208
20213
  {
20209
20214
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20210
20215
  model: "gpt-6-astra",
20211
- variant: "high"
20216
+ variant: "xhigh"
20212
20217
  }
20213
20218
  ]
20214
20219
  },
@@ -20220,21 +20225,21 @@ var CATEGORY_MODEL_REQUIREMENTS = {
20220
20225
  variant: "max"
20221
20226
  },
20222
20227
  {
20223
- providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
20224
- model: "kimi-k3",
20228
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
20229
+ model: "claude-opus-5-5",
20225
20230
  variant: "max"
20226
20231
  },
20227
20232
  {
20228
- providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
20229
- model: "claude-opus-5-5",
20233
+ providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
20234
+ model: "kimi-k3",
20230
20235
  variant: "max"
20231
20236
  }
20232
20237
  ]
20233
20238
  },
20234
20239
  quick: {
20235
20240
  fallbackChain: [
20236
- { providers: ["chatgpt-subscription"], model: "gpt-5.6-luna-fast", variant: "low" },
20237
- { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "off" },
20241
+ { providers: ["chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
20242
+ { providers: ["deepseek"], model: "deepseek-flash", variant: "off" },
20238
20243
  {
20239
20244
  providers: ["qwen-token-plan", "alibaba-token-plan", "bailian-coding-plan"],
20240
20245
  model: "qwen3.6-flash",
@@ -20445,7 +20450,7 @@ var PATTERN_ALIAS_RULES = [
20445
20450
  description: "Normalizes OpenCode's OpenAI GPT fast service-tier IDs to canonical snapshot IDs.",
20446
20451
  providerIDs: ["openai"],
20447
20452
  allowedSubproviderHosts: ["vercel"],
20448
- match: (normalizedModelID) => /^(?:gpt-5\.6-(?:sol|terra|luna)|gpt-6-astra)-fast$/.test(normalizedModelID),
20453
+ match: (normalizedModelID) => /^(?:gpt-5\.6-(?:sol|terra|luna)|gpt-6-(?:astra|sol|luna))-fast$/.test(normalizedModelID),
20449
20454
  canonicalize: (normalizedModelID) => normalizedModelID.slice(0, -"-fast".length)
20450
20455
  },
20451
20456
  {
@@ -20652,13 +20657,21 @@ var HEURISTIC_MODEL_FAMILY_REGISTRY = [
20652
20657
  supportsTemperature: false
20653
20658
  },
20654
20659
  {
20655
- family: "gpt-6",
20656
- includes: ["gpt-6"],
20660
+ family: "gpt-6-astra",
20661
+ pattern: /gpt-6-astra/,
20657
20662
  variants: ["low", "medium", "high", "xhigh", "max"],
20658
20663
  reasoningEfforts: ["low", "medium", "high", "xhigh", "max"],
20659
20664
  reasoningEffortAliases: { none: "low", minimal: "low" },
20660
20665
  supportsTemperature: false
20661
20666
  },
20667
+ {
20668
+ family: "gpt-6",
20669
+ includes: ["gpt-6"],
20670
+ variants: ["low", "medium", "high", "xhigh", "max"],
20671
+ reasoningEfforts: ["none", "low", "medium", "high", "xhigh", "max"],
20672
+ reasoningEffortAliases: { minimal: "low" },
20673
+ supportsTemperature: false
20674
+ },
20662
20675
  {
20663
20676
  family: "gpt-5",
20664
20677
  includes: ["gpt-5"],
@@ -21876,6 +21889,54 @@ var SUPPLEMENTAL_MODEL_CAPABILITIES = {
21876
21889
  output: 128000
21877
21890
  }
21878
21891
  },
21892
+ "gpt-6-sol": {
21893
+ id: "gpt-6-sol",
21894
+ family: "gpt",
21895
+ reasoning: true,
21896
+ temperature: false,
21897
+ toolCall: true,
21898
+ modalities: {
21899
+ input: ["text", "image"],
21900
+ output: ["text"]
21901
+ },
21902
+ limit: {
21903
+ context: 1050000,
21904
+ input: 922000,
21905
+ output: 128000
21906
+ }
21907
+ },
21908
+ "gpt-6-sol-fast": {
21909
+ id: "gpt-6-sol-fast",
21910
+ family: "gpt",
21911
+ reasoning: true,
21912
+ temperature: false,
21913
+ toolCall: true,
21914
+ modalities: {
21915
+ input: ["text", "image"],
21916
+ output: ["text"]
21917
+ },
21918
+ limit: {
21919
+ context: 1050000,
21920
+ input: 922000,
21921
+ output: 128000
21922
+ }
21923
+ },
21924
+ "gpt-6-luna": {
21925
+ id: "gpt-6-luna",
21926
+ family: "gpt-nano",
21927
+ reasoning: true,
21928
+ temperature: false,
21929
+ toolCall: true,
21930
+ modalities: {
21931
+ input: ["text", "image"],
21932
+ output: ["text"]
21933
+ },
21934
+ limit: {
21935
+ context: 1050000,
21936
+ input: 922000,
21937
+ output: 128000
21938
+ }
21939
+ },
21879
21940
  "gpt-5.6-sol": {
21880
21941
  id: "gpt-5.6-sol",
21881
21942
  family: "gpt",
@@ -21940,6 +22001,37 @@ var SUPPLEMENTAL_MODEL_CAPABILITIES = {
21940
22001
  output: 128000
21941
22002
  }
21942
22003
  },
22004
+ "deepseek-flash": {
22005
+ id: "deepseek-flash",
22006
+ family: "deepseek-flash",
22007
+ reasoning: true,
22008
+ temperature: true,
22009
+ toolCall: true,
22010
+ modalities: {
22011
+ input: ["text", "image"],
22012
+ output: ["text"]
22013
+ },
22014
+ limit: {
22015
+ context: 1e6,
22016
+ output: 384000
22017
+ }
22018
+ },
22019
+ "gpt-6-luna-fast": {
22020
+ id: "gpt-6-luna-fast",
22021
+ family: "gpt-nano",
22022
+ reasoning: true,
22023
+ temperature: false,
22024
+ toolCall: true,
22025
+ modalities: {
22026
+ input: ["text", "image"],
22027
+ output: ["text"]
22028
+ },
22029
+ limit: {
22030
+ context: 1050000,
22031
+ input: 922000,
22032
+ output: 128000
22033
+ }
22034
+ },
21943
22035
  "gpt-5.6-luna-fast": {
21944
22036
  id: "gpt-5.6-luna-fast",
21945
22037
  family: "gpt-mini",
@@ -27221,7 +27313,7 @@ You are working on tasks that don't fit specific categories but require substant
27221
27313
  var 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>`;
27222
27314
  var DEEP_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Route here when one subsystem plus its callers holds the mechanism and the evidence, once read, leaves one right answer. Wide but mechanical work belongs here or in a quick batch. When unsure, choose deep-low: a misrouted child returns \`ESCALATE: deep-high\` after one cheap attempt; re-spawn the same brief as deep-high with its findings.</Selection_Gate>`;
27223
27315
  var DEEP_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Route here only when you can name the decision evidence cannot settle: a trade-off with no single right answer, a contract change crossing a package or process boundary, a mechanism with no in-repo pattern to copy, or correctness argued from invariants rather than observed in a test. Wide scope with easy decisions is deep-low or unspecified-high; reasoning as the deliverable is ultrabrain.</Selection_Gate>`;
27224
- var DEEP_LOW_GATE_MODEL = "gpt-5.6-sol";
27316
+ var DEEP_LOW_GATE_MODELS = ["gpt-6-sol-fast", "gpt-6-sol"];
27225
27317
  var DEEP_HIGH_GATE_MODEL = "gpt-6-astra";
27226
27318
  var OPENAI_CATEGORIES = [
27227
27319
  {
@@ -27233,16 +27325,16 @@ var OPENAI_CATEGORIES = [
27233
27325
  },
27234
27326
  {
27235
27327
  name: "deep-low",
27236
- config: { model: "openai/gpt-5.6-sol", variant: "medium" },
27328
+ config: { model: "openai/gpt-6-sol-fast", variant: "medium" },
27237
27329
  description: "Default deep lane: one goal, one deliverable, decisions the child can settle from what it reads. **3D graphics, computer/browser use, CAPTCHA, multimodal, backend, logic, and algorithm work is routed here.** Multiple goals fan out as parallel calls.",
27238
27330
  callerGuidance: DEEP_LOW_CATEGORY_CALLER_GUIDANCE,
27239
27331
  promptAppend: DEEP_LOW_CATEGORY_PROMPT_APPEND,
27240
27332
  resolvePromptAppend: resolveDeepLowCategoryPromptAppend,
27241
- requiresModel: DEEP_LOW_GATE_MODEL
27333
+ requiresModel: DEEP_LOW_GATE_MODELS
27242
27334
  },
27243
27335
  {
27244
27336
  name: "deep-high",
27245
- config: { model: "openai/gpt-6-astra", variant: "high" },
27337
+ config: { model: "openai/gpt-6-astra", variant: "xhigh" },
27246
27338
  description: "Escalation deep lane: a goal whose central decision cannot be settled from evidence alone. Same one-goal, one-deliverable contract as deep-low.",
27247
27339
  callerGuidance: DEEP_HIGH_CATEGORY_CALLER_GUIDANCE,
27248
27340
  promptAppend: DEEP_HIGH_CATEGORY_PROMPT_APPEND,
@@ -27251,7 +27343,7 @@ var OPENAI_CATEGORIES = [
27251
27343
  },
27252
27344
  {
27253
27345
  name: "quick",
27254
- config: { model: "openai/gpt-5.6-luna-fast", variant: "low" },
27346
+ config: { model: "openai/gpt-6-luna-fast", variant: "low" },
27255
27347
  description: "Trivial tasks - single file changes, typo fixes, simple modifications",
27256
27348
  callerGuidance: QUICK_CATEGORY_CALLER_GUIDANCE,
27257
27349
  promptAppend: QUICK_CATEGORY_PROMPT_APPEND
@@ -97620,7 +97712,7 @@ function getCachedVersion(options = {}) {
97620
97712
  // package.json
97621
97713
  var package_default = {
97622
97714
  name: "oh-my-opencode",
97623
- version: "5.0.0-beta.84",
97715
+ version: "5.0.0-beta.86",
97624
97716
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
97625
97717
  main: "./dist/index.js",
97626
97718
  types: "dist/index.d.ts",
@@ -97803,7 +97895,7 @@ var package_default = {
97803
97895
  zod: "^4.6.5"
97804
97896
  },
97805
97897
  devDependencies: {
97806
- "@code-yeongyu/senpi": "2026.9.22-4",
97898
+ "@code-yeongyu/senpi": "2026.9.23-2",
97807
97899
  "@oh-my-opencode/agents-md-core": "workspace:*",
97808
97900
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
97809
97901
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -97843,18 +97935,18 @@ var package_default = {
97843
97935
  typescript: "^7.0.2"
97844
97936
  },
97845
97937
  optionalDependencies: {
97846
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.84",
97847
- "oh-my-opencode-darwin-x64": "5.0.0-beta.84",
97848
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.84",
97849
- "oh-my-opencode-linux-arm64": "5.0.0-beta.84",
97850
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.84",
97851
- "oh-my-opencode-linux-x64": "5.0.0-beta.84",
97852
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.84",
97853
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.84",
97854
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.84",
97855
- "oh-my-opencode-windows-arm64": "5.0.0-beta.84",
97856
- "oh-my-opencode-windows-x64": "5.0.0-beta.84",
97857
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.84"
97938
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.86",
97939
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.86",
97940
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.86",
97941
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.86",
97942
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.86",
97943
+ "oh-my-opencode-linux-x64": "5.0.0-beta.86",
97944
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.86",
97945
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.86",
97946
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.86",
97947
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.86",
97948
+ "oh-my-opencode-windows-x64": "5.0.0-beta.86",
97949
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.86"
97858
97950
  },
97859
97951
  overrides: {
97860
97952
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -157188,6 +157280,7 @@ var GPT_PROMPT_IDENTITIES = {
157188
157280
  "gpt-5.5": "GPT-5.5",
157189
157281
  "gpt-5.6-sol": "GPT-5.6 Sol",
157190
157282
  "gpt-6-astra": "GPT-6 Astra",
157283
+ "gpt-6-sol": "GPT-6 Sol",
157191
157284
  "gpt-family": "a GPT-family model"
157192
157285
  };
157193
157286
  function getGptPromptIdentityKey(model) {
@@ -157195,6 +157288,9 @@ function getGptPromptIdentityKey(model) {
157195
157288
  if (modelID?.includes("gpt-6-astra")) {
157196
157289
  return "gpt-6-astra";
157197
157290
  }
157291
+ if (modelID?.includes("gpt-6-sol")) {
157292
+ return "gpt-6-sol";
157293
+ }
157198
157294
  if (modelID?.includes("gpt-5.6-sol") || modelID?.includes("gpt-5-6-sol")) {
157199
157295
  return "gpt-5.6-sol";
157200
157296
  }
package/dist/tui.js CHANGED
@@ -3317,6 +3317,11 @@ var init_agent_model_requirements = __esm(() => {
3317
3317
  },
3318
3318
  hephaestus: {
3319
3319
  fallbackChain: [
3320
+ {
3321
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
3322
+ model: "gpt-6-sol",
3323
+ variant: "medium"
3324
+ },
3320
3325
  {
3321
3326
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
3322
3327
  model: "gpt-5.6-sol",
@@ -3346,27 +3351,21 @@ var init_agent_model_requirements = __esm(() => {
3346
3351
  librarian: {
3347
3352
  fallbackChain: [
3348
3353
  { providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed", variant: "off" },
3349
- { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.6-luna-fast", variant: "low" },
3350
- { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "max" },
3354
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
3355
+ { providers: ["deepseek"], model: "deepseek-flash", variant: "max" },
3351
3356
  { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
3352
- { providers: ["opencode-go"], model: "minimax-m3" },
3353
- { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
3354
3357
  { providers: ["opencode-go"], model: "minimax-m2.7" },
3355
- { providers: ["anthropic", "github-copilot"], model: "claude-haiku-4-5" },
3356
- { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.4-nano" }
3358
+ { providers: ["anthropic", "github-copilot"], model: "claude-haiku-4-5" }
3357
3359
  ]
3358
3360
  },
3359
3361
  explore: {
3360
3362
  fallbackChain: [
3361
3363
  { providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed", variant: "off" },
3362
- { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.6-luna-fast", variant: "low" },
3363
- { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "max" },
3364
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
3365
+ { providers: ["deepseek"], model: "deepseek-flash", variant: "max" },
3364
3366
  { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
3365
- { providers: ["opencode-go"], model: "minimax-m3" },
3366
- { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
3367
3367
  { providers: ["opencode-go"], model: "minimax-m2.7" },
3368
- { providers: ["anthropic", "github-copilot"], model: "claude-haiku-4-5" },
3369
- { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.4-nano" }
3368
+ { providers: ["anthropic", "github-copilot"], model: "claude-haiku-4-5" }
3370
3369
  ]
3371
3370
  },
3372
3371
  "multimodal-looker": {
@@ -3384,6 +3383,11 @@ var init_agent_model_requirements = __esm(() => {
3384
3383
  model: "claude-fable-5-1",
3385
3384
  variant: "xhigh"
3386
3385
  },
3386
+ {
3387
+ providers: ["anthropic", "github-copilot", "opencode"],
3388
+ model: "claude-opus-5-5",
3389
+ variant: "max"
3390
+ },
3387
3391
  {
3388
3392
  providers: ["opencode-go", "kimi-for-coding", "moonshotai", "opencode"],
3389
3393
  model: "kimi-k3",
@@ -3495,9 +3499,10 @@ var init_category_model_requirements = __esm(() => {
3495
3499
  },
3496
3500
  "deep-low": {
3497
3501
  fallbackChain: [
3502
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-6-sol-fast", variant: "medium" },
3498
3503
  {
3499
3504
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
3500
- model: "gpt-5.6-sol",
3505
+ model: "gpt-6-sol",
3501
3506
  variant: "medium"
3502
3507
  }
3503
3508
  ]
@@ -3507,7 +3512,7 @@ var init_category_model_requirements = __esm(() => {
3507
3512
  {
3508
3513
  providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
3509
3514
  model: "gpt-6-astra",
3510
- variant: "high"
3515
+ variant: "xhigh"
3511
3516
  }
3512
3517
  ]
3513
3518
  },
@@ -3519,21 +3524,21 @@ var init_category_model_requirements = __esm(() => {
3519
3524
  variant: "max"
3520
3525
  },
3521
3526
  {
3522
- providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
3523
- model: "kimi-k3",
3527
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
3528
+ model: "claude-opus-5-5",
3524
3529
  variant: "max"
3525
3530
  },
3526
3531
  {
3527
- providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
3528
- model: "claude-opus-5-5",
3532
+ providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
3533
+ model: "kimi-k3",
3529
3534
  variant: "max"
3530
3535
  }
3531
3536
  ]
3532
3537
  },
3533
3538
  quick: {
3534
3539
  fallbackChain: [
3535
- { providers: ["chatgpt-subscription"], model: "gpt-5.6-luna-fast", variant: "low" },
3536
- { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "off" },
3540
+ { providers: ["chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
3541
+ { providers: ["deepseek"], model: "deepseek-flash", variant: "off" },
3537
3542
  {
3538
3543
  providers: ["qwen-token-plan", "alibaba-token-plan", "bailian-coding-plan"],
3539
3544
  model: "qwen3.6-flash",
@@ -3691,7 +3696,7 @@ var init_model_capability_aliases = __esm(() => {
3691
3696
  description: "Normalizes OpenCode's OpenAI GPT fast service-tier IDs to canonical snapshot IDs.",
3692
3697
  providerIDs: ["openai"],
3693
3698
  allowedSubproviderHosts: ["vercel"],
3694
- match: (normalizedModelID) => /^(?:gpt-5\.6-(?:sol|terra|luna)|gpt-6-astra)-fast$/.test(normalizedModelID),
3699
+ match: (normalizedModelID) => /^(?:gpt-5\.6-(?:sol|terra|luna)|gpt-6-(?:astra|sol|luna))-fast$/.test(normalizedModelID),
3695
3700
  canonicalize: (normalizedModelID) => normalizedModelID.slice(0, -"-fast".length)
3696
3701
  },
3697
3702
  {
@@ -3820,13 +3825,21 @@ var init_model_capability_heuristics = __esm(() => {
3820
3825
  supportsTemperature: false
3821
3826
  },
3822
3827
  {
3823
- family: "gpt-6",
3824
- includes: ["gpt-6"],
3828
+ family: "gpt-6-astra",
3829
+ pattern: /gpt-6-astra/,
3825
3830
  variants: ["low", "medium", "high", "xhigh", "max"],
3826
3831
  reasoningEfforts: ["low", "medium", "high", "xhigh", "max"],
3827
3832
  reasoningEffortAliases: { none: "low", minimal: "low" },
3828
3833
  supportsTemperature: false
3829
3834
  },
3835
+ {
3836
+ family: "gpt-6",
3837
+ includes: ["gpt-6"],
3838
+ variants: ["low", "medium", "high", "xhigh", "max"],
3839
+ reasoningEfforts: ["none", "low", "medium", "high", "xhigh", "max"],
3840
+ reasoningEffortAliases: { minimal: "low" },
3841
+ supportsTemperature: false
3842
+ },
3830
3843
  {
3831
3844
  family: "gpt-5",
3832
3845
  includes: ["gpt-5"],
@@ -4032,6 +4045,54 @@ var init_supplemental_entries = __esm(() => {
4032
4045
  output: 128000
4033
4046
  }
4034
4047
  },
4048
+ "gpt-6-sol": {
4049
+ id: "gpt-6-sol",
4050
+ family: "gpt",
4051
+ reasoning: true,
4052
+ temperature: false,
4053
+ toolCall: true,
4054
+ modalities: {
4055
+ input: ["text", "image"],
4056
+ output: ["text"]
4057
+ },
4058
+ limit: {
4059
+ context: 1050000,
4060
+ input: 922000,
4061
+ output: 128000
4062
+ }
4063
+ },
4064
+ "gpt-6-sol-fast": {
4065
+ id: "gpt-6-sol-fast",
4066
+ family: "gpt",
4067
+ reasoning: true,
4068
+ temperature: false,
4069
+ toolCall: true,
4070
+ modalities: {
4071
+ input: ["text", "image"],
4072
+ output: ["text"]
4073
+ },
4074
+ limit: {
4075
+ context: 1050000,
4076
+ input: 922000,
4077
+ output: 128000
4078
+ }
4079
+ },
4080
+ "gpt-6-luna": {
4081
+ id: "gpt-6-luna",
4082
+ family: "gpt-nano",
4083
+ reasoning: true,
4084
+ temperature: false,
4085
+ toolCall: true,
4086
+ modalities: {
4087
+ input: ["text", "image"],
4088
+ output: ["text"]
4089
+ },
4090
+ limit: {
4091
+ context: 1050000,
4092
+ input: 922000,
4093
+ output: 128000
4094
+ }
4095
+ },
4035
4096
  "gpt-5.6-sol": {
4036
4097
  id: "gpt-5.6-sol",
4037
4098
  family: "gpt",
@@ -4096,6 +4157,37 @@ var init_supplemental_entries = __esm(() => {
4096
4157
  output: 128000
4097
4158
  }
4098
4159
  },
4160
+ "deepseek-flash": {
4161
+ id: "deepseek-flash",
4162
+ family: "deepseek-flash",
4163
+ reasoning: true,
4164
+ temperature: true,
4165
+ toolCall: true,
4166
+ modalities: {
4167
+ input: ["text", "image"],
4168
+ output: ["text"]
4169
+ },
4170
+ limit: {
4171
+ context: 1e6,
4172
+ output: 384000
4173
+ }
4174
+ },
4175
+ "gpt-6-luna-fast": {
4176
+ id: "gpt-6-luna-fast",
4177
+ family: "gpt-nano",
4178
+ reasoning: true,
4179
+ temperature: false,
4180
+ toolCall: true,
4181
+ modalities: {
4182
+ input: ["text", "image"],
4183
+ output: ["text"]
4184
+ },
4185
+ limit: {
4186
+ context: 1050000,
4187
+ input: 922000,
4188
+ output: 128000
4189
+ }
4190
+ },
4099
4191
  "gpt-5.6-luna-fast": {
4100
4192
  id: "gpt-5.6-luna-fast",
4101
4193
  family: "gpt-mini",
@@ -5133,9 +5225,10 @@ You are working on tasks that don't fit specific categories but require moderate
5133
5225
  </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>
5134
5226
  <Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`, UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
5135
5227
  You are working on tasks that don't fit specific categories but require substantial effort.
5136
- </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>`, DEEP_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Route here when one subsystem plus its callers holds the mechanism and the evidence, once read, leaves one right answer. Wide but mechanical work belongs here or in a quick batch. When unsure, choose deep-low: a misrouted child returns \`ESCALATE: deep-high\` after one cheap attempt; re-spawn the same brief as deep-high with its findings.</Selection_Gate>`, DEEP_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Route here only when you can name the decision evidence cannot settle: a trade-off with no single right answer, a contract change crossing a package or process boundary, a mechanism with no in-repo pattern to copy, or correctness argued from invariants rather than observed in a test. Wide scope with easy decisions is deep-low or unspecified-high; reasoning as the deliverable is ultrabrain.</Selection_Gate>`, DEEP_LOW_GATE_MODEL = "gpt-5.6-sol", DEEP_HIGH_GATE_MODEL = "gpt-6-astra", OPENAI_CATEGORIES;
5228
+ </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>`, DEEP_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Route here when one subsystem plus its callers holds the mechanism and the evidence, once read, leaves one right answer. Wide but mechanical work belongs here or in a quick batch. When unsure, choose deep-low: a misrouted child returns \`ESCALATE: deep-high\` after one cheap attempt; re-spawn the same brief as deep-high with its findings.</Selection_Gate>`, DEEP_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Route here only when you can name the decision evidence cannot settle: a trade-off with no single right answer, a contract change crossing a package or process boundary, a mechanism with no in-repo pattern to copy, or correctness argued from invariants rather than observed in a test. Wide scope with easy decisions is deep-low or unspecified-high; reasoning as the deliverable is ultrabrain.</Selection_Gate>`, DEEP_LOW_GATE_MODELS, DEEP_HIGH_GATE_MODEL = "gpt-6-astra", OPENAI_CATEGORIES;
5137
5229
  var init_openai_categories = __esm(() => {
5138
5230
  init_types();
5231
+ DEEP_LOW_GATE_MODELS = ["gpt-6-sol-fast", "gpt-6-sol"];
5139
5232
  OPENAI_CATEGORIES = [
5140
5233
  {
5141
5234
  name: "ultrabrain",
@@ -5146,16 +5239,16 @@ var init_openai_categories = __esm(() => {
5146
5239
  },
5147
5240
  {
5148
5241
  name: "deep-low",
5149
- config: { model: "openai/gpt-5.6-sol", variant: "medium" },
5242
+ config: { model: "openai/gpt-6-sol-fast", variant: "medium" },
5150
5243
  description: "Default deep lane: one goal, one deliverable, decisions the child can settle from what it reads. **3D graphics, computer/browser use, CAPTCHA, multimodal, backend, logic, and algorithm work is routed here.** Multiple goals fan out as parallel calls.",
5151
5244
  callerGuidance: DEEP_LOW_CATEGORY_CALLER_GUIDANCE,
5152
5245
  promptAppend: DEEP_LOW_CATEGORY_PROMPT_APPEND,
5153
5246
  resolvePromptAppend: resolveDeepLowCategoryPromptAppend,
5154
- requiresModel: DEEP_LOW_GATE_MODEL
5247
+ requiresModel: DEEP_LOW_GATE_MODELS
5155
5248
  },
5156
5249
  {
5157
5250
  name: "deep-high",
5158
- config: { model: "openai/gpt-6-astra", variant: "high" },
5251
+ config: { model: "openai/gpt-6-astra", variant: "xhigh" },
5159
5252
  description: "Escalation deep lane: a goal whose central decision cannot be settled from evidence alone. Same one-goal, one-deliverable contract as deep-low.",
5160
5253
  callerGuidance: DEEP_HIGH_CATEGORY_CALLER_GUIDANCE,
5161
5254
  promptAppend: DEEP_HIGH_CATEGORY_PROMPT_APPEND,
@@ -5164,7 +5257,7 @@ var init_openai_categories = __esm(() => {
5164
5257
  },
5165
5258
  {
5166
5259
  name: "quick",
5167
- config: { model: "openai/gpt-5.6-luna-fast", variant: "low" },
5260
+ config: { model: "openai/gpt-6-luna-fast", variant: "low" },
5168
5261
  description: "Trivial tasks - single file changes, typo fixes, simple modifications",
5169
5262
  callerGuidance: QUICK_CATEGORY_CALLER_GUIDANCE,
5170
5263
  promptAppend: QUICK_CATEGORY_PROMPT_APPEND
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode",
3
- "version": "5.0.0-beta.84",
3
+ "version": "5.0.0-beta.86",
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",
@@ -183,7 +183,7 @@
183
183
  "zod": "^4.6.5"
184
184
  },
185
185
  "devDependencies": {
186
- "@code-yeongyu/senpi": "2026.9.22-4",
186
+ "@code-yeongyu/senpi": "2026.9.23-2",
187
187
  "@oh-my-opencode/agents-md-core": "workspace:*",
188
188
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
189
189
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -223,18 +223,18 @@
223
223
  "typescript": "^7.0.2"
224
224
  },
225
225
  "optionalDependencies": {
226
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.84",
227
- "oh-my-opencode-darwin-x64": "5.0.0-beta.84",
228
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.84",
229
- "oh-my-opencode-linux-arm64": "5.0.0-beta.84",
230
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.84",
231
- "oh-my-opencode-linux-x64": "5.0.0-beta.84",
232
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.84",
233
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.84",
234
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.84",
235
- "oh-my-opencode-windows-arm64": "5.0.0-beta.84",
236
- "oh-my-opencode-windows-x64": "5.0.0-beta.84",
237
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.84"
226
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.86",
227
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.86",
228
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.86",
229
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.86",
230
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.86",
231
+ "oh-my-opencode-linux-x64": "5.0.0-beta.86",
232
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.86",
233
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.86",
234
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.86",
235
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.86",
236
+ "oh-my-opencode-windows-x64": "5.0.0-beta.86",
237
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.86"
238
238
  },
239
239
  "overrides": {
240
240
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "5.0.0-beta.84",
3
+ "version": "5.0.0-beta.86",
4
4
  "description": "One Codex plugin namespace for Yeongyu's local Codex components.",
5
5
  "author": {
6
6
  "name": "Yeongyu Kim",