oh-my-opencode 5.0.0-beta.83 → 5.0.0-beta.85

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 (65) hide show
  1. package/.agents/skills/hyperplan/SKILL.md +1 -1
  2. package/.opencode/skills/hyperplan/SKILL.md +1 -1
  3. package/dist/agents/gpt-prompt-identity.d.ts +1 -1
  4. package/dist/cli/index.js +418 -65
  5. package/dist/cli-node/index.js +418 -65
  6. package/dist/config-migration/subscription-provider-rename.d.ts +4 -0
  7. package/dist/index.js +419 -62
  8. package/dist/tui.js +327 -45
  9. package/package.json +14 -14
  10. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  11. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  12. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  13. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  14. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  15. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  16. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  17. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  18. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  19. package/packages/omo-codex/plugin/components/lcx/skills/lcx-contribute-bug-fix/SKILL.md +1 -1
  20. package/packages/omo-codex/plugin/components/lcx/skills/lcx-doctor/SKILL.md +3 -3
  21. package/packages/omo-codex/plugin/components/lcx/skills/lcx-report-bug/SKILL.md +5 -5
  22. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  23. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  24. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  25. package/packages/omo-codex/plugin/components/rules/dist/cli.js +12 -0
  26. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  27. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  28. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +12 -0
  29. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  30. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  31. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  32. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  33. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  34. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  35. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  36. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  37. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  38. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  60. package/packages/omo-codex/plugin/package-lock.json +12 -12
  61. package/packages/omo-codex/plugin/package.json +1 -1
  62. package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/SKILL.md +1 -1
  63. package/packages/omo-codex/plugin/skills/lcx-doctor/SKILL.md +3 -3
  64. package/packages/omo-codex/plugin/skills/lcx-report-bug/SKILL.md +5 -5
  65. package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
package/dist/index.js CHANGED
@@ -20003,7 +20003,7 @@ var AGENT_MODEL_REQUIREMENTS = {
20003
20003
  fallbackChain: [
20004
20004
  {
20005
20005
  providers: ["anthropic", "github-copilot", "opencode"],
20006
- model: "claude-opus-5",
20006
+ model: "claude-opus-5-5",
20007
20007
  variant: "max"
20008
20008
  },
20009
20009
  {
@@ -20011,7 +20011,7 @@ var AGENT_MODEL_REQUIREMENTS = {
20011
20011
  model: "kimi-k3"
20012
20012
  },
20013
20013
  {
20014
- providers: ["openai", "openai-codex", "github-copilot", "opencode"],
20014
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20015
20015
  model: "gpt-5.6-sol",
20016
20016
  variant: "medium"
20017
20017
  },
@@ -20023,17 +20023,22 @@ var AGENT_MODEL_REQUIREMENTS = {
20023
20023
  hephaestus: {
20024
20024
  fallbackChain: [
20025
20025
  {
20026
- providers: ["openai", "openai-codex", "github-copilot", "opencode"],
20026
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20027
+ model: "gpt-6-sol",
20028
+ variant: "medium"
20029
+ },
20030
+ {
20031
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20027
20032
  model: "gpt-5.6-sol",
20028
20033
  variant: "medium"
20029
20034
  }
20030
20035
  ],
20031
- requiresProvider: ["openai", "openai-codex", "github-copilot", "opencode"],
20036
+ requiresProvider: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20032
20037
  requiresAnyModel: true
20033
20038
  },
20034
20039
  oracle: {
20035
20040
  fallbackChain: [
20036
- { providers: ["openai", "openai-codex", "opencode"], model: "gpt-5.6-sol", variant: "xhigh" },
20041
+ { providers: ["openai", "chatgpt-subscription", "opencode"], model: "gpt-5.6-sol", variant: "xhigh" },
20037
20042
  { providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "high" },
20038
20043
  {
20039
20044
  providers: ["google", "github-copilot", "opencode"],
@@ -20042,7 +20047,7 @@ var AGENT_MODEL_REQUIREMENTS = {
20042
20047
  },
20043
20048
  {
20044
20049
  providers: ["anthropic", "github-copilot", "opencode"],
20045
- model: "claude-opus-5",
20050
+ model: "claude-opus-5-5",
20046
20051
  variant: "max"
20047
20052
  },
20048
20053
  { providers: ["opencode-go"], model: "glm-5.2" }
@@ -20051,35 +20056,35 @@ 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", "openai-codex"], model: "gpt-5.6-luna-fast", variant: "low" },
20059
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
20055
20060
  { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "max" },
20056
20061
  { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
20057
20062
  { providers: ["opencode-go"], model: "minimax-m3" },
20058
20063
  { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
20059
20064
  { providers: ["opencode-go"], model: "minimax-m2.7" },
20060
20065
  { providers: ["anthropic", "github-copilot"], model: "claude-haiku-4-5" },
20061
- { providers: ["openai", "openai-codex"], model: "gpt-5.4-nano" }
20066
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.4-nano" }
20062
20067
  ]
20063
20068
  },
20064
20069
  explore: {
20065
20070
  fallbackChain: [
20066
20071
  { providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed", variant: "off" },
20067
- { providers: ["openai", "openai-codex"], model: "gpt-5.6-luna-fast", variant: "low" },
20072
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
20068
20073
  { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "max" },
20069
20074
  { providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
20070
20075
  { providers: ["opencode-go"], model: "minimax-m3" },
20071
20076
  { providers: ["minimax-coding-plan", "minimax-cn-coding-plan"], model: "MiniMax-M3" },
20072
20077
  { providers: ["opencode-go"], model: "minimax-m2.7" },
20073
20078
  { providers: ["anthropic", "github-copilot"], model: "claude-haiku-4-5" },
20074
- { providers: ["openai", "openai-codex"], model: "gpt-5.4-nano" }
20079
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.4-nano" }
20075
20080
  ]
20076
20081
  },
20077
20082
  "multimodal-looker": {
20078
20083
  fallbackChain: [
20079
- { providers: ["openai", "openai-codex", "opencode"], model: "gpt-5.6-sol", variant: "low" },
20084
+ { providers: ["openai", "chatgpt-subscription", "opencode"], model: "gpt-5.6-sol", variant: "low" },
20080
20085
  { providers: ["opencode-go"], model: "kimi-k3" },
20081
20086
  { providers: ["zai-coding-plan"], model: "glm-4.6v" },
20082
- { providers: ["openai", "openai-codex", "github-copilot", "opencode"], model: "gpt-5-nano" }
20087
+ { providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"], model: "gpt-5-nano" }
20083
20088
  ]
20084
20089
  },
20085
20090
  prometheus: {
@@ -20089,6 +20094,11 @@ var AGENT_MODEL_REQUIREMENTS = {
20089
20094
  model: "claude-fable-5-1",
20090
20095
  variant: "xhigh"
20091
20096
  },
20097
+ {
20098
+ providers: ["anthropic", "github-copilot", "opencode"],
20099
+ model: "claude-opus-5-5",
20100
+ variant: "max"
20101
+ },
20092
20102
  {
20093
20103
  providers: ["opencode-go", "kimi-for-coding", "moonshotai", "opencode"],
20094
20104
  model: "kimi-k3",
@@ -20105,7 +20115,7 @@ var AGENT_MODEL_REQUIREMENTS = {
20105
20115
  },
20106
20116
  {
20107
20117
  providers: ["anthropic", "github-copilot", "opencode"],
20108
- model: "claude-opus-5",
20118
+ model: "claude-opus-5-5",
20109
20119
  variant: "max"
20110
20120
  },
20111
20121
  {
@@ -20117,12 +20127,12 @@ var AGENT_MODEL_REQUIREMENTS = {
20117
20127
  },
20118
20128
  momus: {
20119
20129
  fallbackChain: [
20120
- { providers: ["openai", "openai-codex"], model: "gpt-6-astra", variant: "xhigh" },
20130
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-6-astra", variant: "xhigh" },
20121
20131
  { providers: ["github-copilot"], model: "gpt-6-astra", variant: "high" },
20122
- { providers: ["openai", "openai-codex", "opencode"], model: "gpt-6-astra", variant: "high" },
20132
+ { providers: ["openai", "chatgpt-subscription", "opencode"], model: "gpt-6-astra", variant: "high" },
20123
20133
  {
20124
20134
  providers: ["anthropic", "github-copilot", "opencode"],
20125
- model: "claude-opus-5",
20135
+ model: "claude-opus-5-5",
20126
20136
  variant: "max"
20127
20137
  },
20128
20138
  {
@@ -20138,7 +20148,7 @@ var AGENT_MODEL_REQUIREMENTS = {
20138
20148
  { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-5" },
20139
20149
  { providers: ["opencode-go"], model: "kimi-k3" },
20140
20150
  {
20141
- providers: ["openai", "openai-codex", "github-copilot", "opencode"],
20151
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20142
20152
  model: "gpt-5.6-sol",
20143
20153
  variant: "medium"
20144
20154
  },
@@ -20152,7 +20162,7 @@ var AGENT_MODEL_REQUIREMENTS = {
20152
20162
  { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-5" },
20153
20163
  { providers: ["opencode-go"], model: "kimi-k3" },
20154
20164
  {
20155
- providers: ["openai", "openai-codex", "github-copilot", "opencode"],
20165
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20156
20166
  model: "gpt-5.6-sol",
20157
20167
  variant: "medium"
20158
20168
  },
@@ -20174,7 +20184,7 @@ var CATEGORY_MODEL_REQUIREMENTS = {
20174
20184
  },
20175
20185
  {
20176
20186
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
20177
- model: "claude-opus-5",
20187
+ model: "claude-opus-5-5",
20178
20188
  variant: "max"
20179
20189
  },
20180
20190
  {
@@ -20186,18 +20196,23 @@ var CATEGORY_MODEL_REQUIREMENTS = {
20186
20196
  },
20187
20197
  ultrabrain: {
20188
20198
  fallbackChain: [
20189
- { providers: ["openai", "openai-codex"], model: "gpt-6-astra", variant: "max" },
20199
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-6-astra", variant: "max" },
20190
20200
  { providers: ["github-copilot"], model: "gpt-6-astra", variant: "max" },
20191
- { providers: ["openai", "openai-codex", "opencode"], model: "gpt-6-astra", variant: "max" },
20192
- { providers: ["openai", "openai-codex"], model: "gpt-5.6-sol", variant: "max" },
20201
+ { providers: ["openai", "chatgpt-subscription", "opencode"], model: "gpt-6-astra", variant: "max" },
20202
+ { providers: ["openai", "chatgpt-subscription"], model: "gpt-5.6-sol", variant: "max" },
20193
20203
  { providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "max" },
20194
- { providers: ["openai", "openai-codex", "opencode"], model: "gpt-5.6-sol", variant: "max" }
20204
+ { providers: ["openai", "chatgpt-subscription", "opencode"], model: "gpt-5.6-sol", variant: "max" }
20195
20205
  ]
20196
20206
  },
20197
20207
  "deep-low": {
20198
20208
  fallbackChain: [
20199
20209
  {
20200
- providers: ["openai", "openai-codex", "github-copilot", "opencode"],
20210
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20211
+ model: "gpt-6-sol",
20212
+ variant: "medium"
20213
+ },
20214
+ {
20215
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20201
20216
  model: "gpt-5.6-sol",
20202
20217
  variant: "medium"
20203
20218
  }
@@ -20206,7 +20221,7 @@ var CATEGORY_MODEL_REQUIREMENTS = {
20206
20221
  "deep-high": {
20207
20222
  fallbackChain: [
20208
20223
  {
20209
- providers: ["openai", "openai-codex", "github-copilot", "opencode"],
20224
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20210
20225
  model: "gpt-6-astra",
20211
20226
  variant: "high"
20212
20227
  }
@@ -20220,20 +20235,20 @@ var CATEGORY_MODEL_REQUIREMENTS = {
20220
20235
  variant: "max"
20221
20236
  },
20222
20237
  {
20223
- providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
20224
- model: "kimi-k3",
20238
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
20239
+ model: "claude-opus-5-5",
20225
20240
  variant: "max"
20226
20241
  },
20227
20242
  {
20228
- providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
20229
- model: "claude-opus-5",
20230
- variant: "xhigh"
20243
+ providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
20244
+ model: "kimi-k3",
20245
+ variant: "max"
20231
20246
  }
20232
20247
  ]
20233
20248
  },
20234
20249
  quick: {
20235
20250
  fallbackChain: [
20236
- { providers: ["openai-codex"], model: "gpt-5.6-luna-fast", variant: "low" },
20251
+ { providers: ["chatgpt-subscription"], model: "gpt-6-luna-fast", variant: "low" },
20237
20252
  { providers: ["deepseek"], model: "deepseek-v4-flash", variant: "off" },
20238
20253
  {
20239
20254
  providers: ["qwen-token-plan", "alibaba-token-plan", "bailian-coding-plan"],
@@ -20255,7 +20270,7 @@ var CATEGORY_MODEL_REQUIREMENTS = {
20255
20270
  { providers: ["xiaomi", "opencode-go"], model: "mimo-v2.6-pro", variant: "max" },
20256
20271
  { providers: ["xai", "github-copilot", "opencode-go"], model: "grok-4.7", variant: "xhigh" },
20257
20272
  {
20258
- providers: ["openai", "openai-codex", "github-copilot", "opencode"],
20273
+ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
20259
20274
  model: "gpt-5.6-terra",
20260
20275
  variant: "high"
20261
20276
  },
@@ -20277,8 +20292,8 @@ var CATEGORY_MODEL_REQUIREMENTS = {
20277
20292
  fallbackChain: [
20278
20293
  {
20279
20294
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
20280
- model: "claude-opus-5",
20281
- variant: "xhigh"
20295
+ model: "claude-opus-5-5",
20296
+ variant: "max"
20282
20297
  },
20283
20298
  { providers: ["zai-coding-plan", "opencode-go"], model: "glm-5.3", variant: "max" },
20284
20299
  {
@@ -20296,14 +20311,14 @@ var CATEGORY_MODEL_REQUIREMENTS = {
20296
20311
  variant: "low"
20297
20312
  },
20298
20313
  {
20299
- providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
20300
- model: "kimi-k3",
20314
+ providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
20315
+ model: "claude-opus-5-5",
20301
20316
  variant: "low"
20302
20317
  },
20303
20318
  {
20304
20319
  providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
20305
20320
  model: "claude-opus-4-6",
20306
- variant: "low"
20321
+ variant: "max"
20307
20322
  }
20308
20323
  ]
20309
20324
  }
@@ -20445,7 +20460,7 @@ var PATTERN_ALIAS_RULES = [
20445
20460
  description: "Normalizes OpenCode's OpenAI GPT fast service-tier IDs to canonical snapshot IDs.",
20446
20461
  providerIDs: ["openai"],
20447
20462
  allowedSubproviderHosts: ["vercel"],
20448
- match: (normalizedModelID) => /^(?:gpt-5\.6-(?:sol|terra|luna)|gpt-6-astra)-fast$/.test(normalizedModelID),
20463
+ match: (normalizedModelID) => /^(?:gpt-5\.6-(?:sol|terra|luna)|gpt-6-(?:astra|sol|luna))-fast$/.test(normalizedModelID),
20449
20464
  canonicalize: (normalizedModelID) => normalizedModelID.slice(0, -"-fast".length)
20450
20465
  },
20451
20466
  {
@@ -20652,13 +20667,21 @@ var HEURISTIC_MODEL_FAMILY_REGISTRY = [
20652
20667
  supportsTemperature: false
20653
20668
  },
20654
20669
  {
20655
- family: "gpt-6",
20656
- includes: ["gpt-6"],
20670
+ family: "gpt-6-astra",
20671
+ pattern: /gpt-6-astra/,
20657
20672
  variants: ["low", "medium", "high", "xhigh", "max"],
20658
20673
  reasoningEfforts: ["low", "medium", "high", "xhigh", "max"],
20659
20674
  reasoningEffortAliases: { none: "low", minimal: "low" },
20660
20675
  supportsTemperature: false
20661
20676
  },
20677
+ {
20678
+ family: "gpt-6",
20679
+ includes: ["gpt-6"],
20680
+ variants: ["low", "medium", "high", "xhigh", "max"],
20681
+ reasoningEfforts: ["none", "low", "medium", "high", "xhigh", "max"],
20682
+ reasoningEffortAliases: { minimal: "low" },
20683
+ supportsTemperature: false
20684
+ },
20662
20685
  {
20663
20686
  family: "gpt-5",
20664
20687
  includes: ["gpt-5"],
@@ -21876,6 +21899,38 @@ var SUPPLEMENTAL_MODEL_CAPABILITIES = {
21876
21899
  output: 128000
21877
21900
  }
21878
21901
  },
21902
+ "gpt-6-sol": {
21903
+ id: "gpt-6-sol",
21904
+ family: "gpt",
21905
+ reasoning: true,
21906
+ temperature: false,
21907
+ toolCall: true,
21908
+ modalities: {
21909
+ input: ["text", "image"],
21910
+ output: ["text"]
21911
+ },
21912
+ limit: {
21913
+ context: 1050000,
21914
+ input: 922000,
21915
+ output: 128000
21916
+ }
21917
+ },
21918
+ "gpt-6-luna": {
21919
+ id: "gpt-6-luna",
21920
+ family: "gpt-nano",
21921
+ reasoning: true,
21922
+ temperature: false,
21923
+ toolCall: true,
21924
+ modalities: {
21925
+ input: ["text", "image"],
21926
+ output: ["text"]
21927
+ },
21928
+ limit: {
21929
+ context: 1050000,
21930
+ input: 922000,
21931
+ output: 128000
21932
+ }
21933
+ },
21879
21934
  "gpt-5.6-sol": {
21880
21935
  id: "gpt-5.6-sol",
21881
21936
  family: "gpt",
@@ -21940,6 +21995,22 @@ var SUPPLEMENTAL_MODEL_CAPABILITIES = {
21940
21995
  output: 128000
21941
21996
  }
21942
21997
  },
21998
+ "gpt-6-luna-fast": {
21999
+ id: "gpt-6-luna-fast",
22000
+ family: "gpt-nano",
22001
+ reasoning: true,
22002
+ temperature: false,
22003
+ toolCall: true,
22004
+ modalities: {
22005
+ input: ["text", "image"],
22006
+ output: ["text"]
22007
+ },
22008
+ limit: {
22009
+ context: 1050000,
22010
+ input: 922000,
22011
+ output: 128000
22012
+ }
22013
+ },
21943
22014
  "gpt-5.6-luna-fast": {
21944
22015
  id: "gpt-5.6-luna-fast",
21945
22016
  family: "gpt-mini",
@@ -27221,7 +27292,7 @@ You are working on tasks that don't fit specific categories but require substant
27221
27292
  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
27293
  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
27294
  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";
27295
+ var DEEP_LOW_GATE_MODELS = ["gpt-6-sol", "gpt-5.6-sol"];
27225
27296
  var DEEP_HIGH_GATE_MODEL = "gpt-6-astra";
27226
27297
  var OPENAI_CATEGORIES = [
27227
27298
  {
@@ -27233,12 +27304,12 @@ var OPENAI_CATEGORIES = [
27233
27304
  },
27234
27305
  {
27235
27306
  name: "deep-low",
27236
- config: { model: "openai/gpt-5.6-sol", variant: "medium" },
27307
+ config: { model: "openai/gpt-6-sol", variant: "medium" },
27237
27308
  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
27309
  callerGuidance: DEEP_LOW_CATEGORY_CALLER_GUIDANCE,
27239
27310
  promptAppend: DEEP_LOW_CATEGORY_PROMPT_APPEND,
27240
27311
  resolvePromptAppend: resolveDeepLowCategoryPromptAppend,
27241
- requiresModel: DEEP_LOW_GATE_MODEL
27312
+ requiresModel: DEEP_LOW_GATE_MODELS
27242
27313
  },
27243
27314
  {
27244
27315
  name: "deep-high",
@@ -27251,7 +27322,7 @@ var OPENAI_CATEGORIES = [
27251
27322
  },
27252
27323
  {
27253
27324
  name: "quick",
27254
- config: { model: "openai/gpt-5.6-luna-fast", variant: "low" },
27325
+ config: { model: "openai/gpt-6-luna-fast", variant: "low" },
27255
27326
  description: "Trivial tasks - single file changes, typo fixes, simple modifications",
27256
27327
  callerGuidance: QUICK_CATEGORY_CALLER_GUIDANCE,
27257
27328
  promptAppend: QUICK_CATEGORY_PROMPT_APPEND
@@ -27265,7 +27336,7 @@ var OPENAI_CATEGORIES = [
27265
27336
  },
27266
27337
  {
27267
27338
  name: "unspecified-high",
27268
- config: { model: "anthropic/claude-opus-5", variant: "xhigh" },
27339
+ config: { model: "anthropic/claude-opus-5-5", variant: "max" },
27269
27340
  description: "Tasks that don't fit other categories, high effort required",
27270
27341
  callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
27271
27342
  promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
@@ -82652,6 +82723,216 @@ var model_capabilities_generated_default = {
82652
82723
  context: 500000,
82653
82724
  output: 500000
82654
82725
  }
82726
+ },
82727
+ "claude-opus-5-5": {
82728
+ id: "claude-opus-5-5",
82729
+ family: "claude-opus",
82730
+ reasoning: true,
82731
+ temperature: false,
82732
+ toolCall: true,
82733
+ modalities: {
82734
+ input: [
82735
+ "text",
82736
+ "image",
82737
+ "pdf"
82738
+ ],
82739
+ output: [
82740
+ "text"
82741
+ ]
82742
+ },
82743
+ limit: {
82744
+ context: 1e6,
82745
+ output: 128000
82746
+ }
82747
+ },
82748
+ "claude-opus-5-5@default": {
82749
+ id: "claude-opus-5-5@default",
82750
+ family: "claude-opus",
82751
+ reasoning: true,
82752
+ temperature: false,
82753
+ toolCall: true,
82754
+ modalities: {
82755
+ input: [
82756
+ "text",
82757
+ "image",
82758
+ "pdf"
82759
+ ],
82760
+ output: [
82761
+ "text"
82762
+ ]
82763
+ },
82764
+ limit: {
82765
+ context: 1e6,
82766
+ output: 128000
82767
+ }
82768
+ },
82769
+ "anthropic/claude-opus-5.5": {
82770
+ id: "anthropic/claude-opus-5.5",
82771
+ family: "claude-opus",
82772
+ reasoning: true,
82773
+ temperature: true,
82774
+ toolCall: true,
82775
+ modalities: {
82776
+ input: [
82777
+ "text",
82778
+ "image",
82779
+ "pdf"
82780
+ ],
82781
+ output: [
82782
+ "text"
82783
+ ]
82784
+ },
82785
+ limit: {
82786
+ context: 1e6,
82787
+ output: 128000
82788
+ }
82789
+ },
82790
+ "au.anthropic.claude-opus-5-5": {
82791
+ id: "au.anthropic.claude-opus-5-5",
82792
+ family: "claude-opus",
82793
+ reasoning: true,
82794
+ temperature: false,
82795
+ toolCall: true,
82796
+ modalities: {
82797
+ input: [
82798
+ "text",
82799
+ "image",
82800
+ "pdf"
82801
+ ],
82802
+ output: [
82803
+ "text"
82804
+ ]
82805
+ },
82806
+ limit: {
82807
+ context: 1e6,
82808
+ output: 128000
82809
+ }
82810
+ },
82811
+ "anthropic.claude-opus-5-5": {
82812
+ id: "anthropic.claude-opus-5-5",
82813
+ family: "claude-opus",
82814
+ reasoning: true,
82815
+ temperature: false,
82816
+ toolCall: true,
82817
+ modalities: {
82818
+ input: [
82819
+ "text",
82820
+ "image",
82821
+ "pdf"
82822
+ ],
82823
+ output: [
82824
+ "text"
82825
+ ]
82826
+ },
82827
+ limit: {
82828
+ context: 1e6,
82829
+ output: 128000
82830
+ }
82831
+ },
82832
+ "eu.anthropic.claude-opus-5-5": {
82833
+ id: "eu.anthropic.claude-opus-5-5",
82834
+ family: "claude-opus",
82835
+ reasoning: true,
82836
+ temperature: false,
82837
+ toolCall: true,
82838
+ modalities: {
82839
+ input: [
82840
+ "text",
82841
+ "image",
82842
+ "pdf"
82843
+ ],
82844
+ output: [
82845
+ "text"
82846
+ ]
82847
+ },
82848
+ limit: {
82849
+ context: 1e6,
82850
+ output: 128000
82851
+ }
82852
+ },
82853
+ "global.anthropic.claude-opus-5-5": {
82854
+ id: "global.anthropic.claude-opus-5-5",
82855
+ family: "claude-opus",
82856
+ reasoning: true,
82857
+ temperature: false,
82858
+ toolCall: true,
82859
+ modalities: {
82860
+ input: [
82861
+ "text",
82862
+ "image",
82863
+ "pdf"
82864
+ ],
82865
+ output: [
82866
+ "text"
82867
+ ]
82868
+ },
82869
+ limit: {
82870
+ context: 1e6,
82871
+ output: 128000
82872
+ }
82873
+ },
82874
+ "jp.anthropic.claude-opus-5-5": {
82875
+ id: "jp.anthropic.claude-opus-5-5",
82876
+ family: "claude-opus",
82877
+ reasoning: true,
82878
+ temperature: false,
82879
+ toolCall: true,
82880
+ modalities: {
82881
+ input: [
82882
+ "text",
82883
+ "image",
82884
+ "pdf"
82885
+ ],
82886
+ output: [
82887
+ "text"
82888
+ ]
82889
+ },
82890
+ limit: {
82891
+ context: 1e6,
82892
+ output: 128000
82893
+ }
82894
+ },
82895
+ "us.anthropic.claude-opus-5-5": {
82896
+ id: "us.anthropic.claude-opus-5-5",
82897
+ family: "claude-opus",
82898
+ reasoning: true,
82899
+ temperature: false,
82900
+ toolCall: true,
82901
+ modalities: {
82902
+ input: [
82903
+ "text",
82904
+ "image",
82905
+ "pdf"
82906
+ ],
82907
+ output: [
82908
+ "text"
82909
+ ]
82910
+ },
82911
+ limit: {
82912
+ context: 1e6,
82913
+ output: 128000
82914
+ }
82915
+ },
82916
+ "anthropic/claude-opus-5-5": {
82917
+ id: "anthropic/claude-opus-5-5",
82918
+ family: "claude-opus",
82919
+ reasoning: true,
82920
+ temperature: false,
82921
+ toolCall: true,
82922
+ modalities: {
82923
+ input: [
82924
+ "text",
82925
+ "image",
82926
+ "pdf"
82927
+ ],
82928
+ output: [
82929
+ "text"
82930
+ ]
82931
+ },
82932
+ limit: {
82933
+ context: 1e6,
82934
+ output: 128000
82935
+ }
82655
82936
  }
82656
82937
  }
82657
82938
  };
@@ -97410,7 +97691,7 @@ function getCachedVersion(options = {}) {
97410
97691
  // package.json
97411
97692
  var package_default = {
97412
97693
  name: "oh-my-opencode",
97413
- version: "5.0.0-beta.83",
97694
+ version: "5.0.0-beta.85",
97414
97695
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
97415
97696
  main: "./dist/index.js",
97416
97697
  types: "dist/index.d.ts",
@@ -97593,7 +97874,7 @@ var package_default = {
97593
97874
  zod: "^4.6.5"
97594
97875
  },
97595
97876
  devDependencies: {
97596
- "@code-yeongyu/senpi": "2026.9.22-2",
97877
+ "@code-yeongyu/senpi": "2026.9.23",
97597
97878
  "@oh-my-opencode/agents-md-core": "workspace:*",
97598
97879
  "@oh-my-opencode/ast-grep-mcp": "workspace:*",
97599
97880
  "@oh-my-opencode/boulder-state": "workspace:*",
@@ -97633,18 +97914,18 @@ var package_default = {
97633
97914
  typescript: "^7.0.2"
97634
97915
  },
97635
97916
  optionalDependencies: {
97636
- "oh-my-opencode-darwin-arm64": "5.0.0-beta.83",
97637
- "oh-my-opencode-darwin-x64": "5.0.0-beta.83",
97638
- "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.83",
97639
- "oh-my-opencode-linux-arm64": "5.0.0-beta.83",
97640
- "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.83",
97641
- "oh-my-opencode-linux-x64": "5.0.0-beta.83",
97642
- "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.83",
97643
- "oh-my-opencode-linux-x64-musl": "5.0.0-beta.83",
97644
- "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.83",
97645
- "oh-my-opencode-windows-arm64": "5.0.0-beta.83",
97646
- "oh-my-opencode-windows-x64": "5.0.0-beta.83",
97647
- "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.83"
97917
+ "oh-my-opencode-darwin-arm64": "5.0.0-beta.85",
97918
+ "oh-my-opencode-darwin-x64": "5.0.0-beta.85",
97919
+ "oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.85",
97920
+ "oh-my-opencode-linux-arm64": "5.0.0-beta.85",
97921
+ "oh-my-opencode-linux-arm64-musl": "5.0.0-beta.85",
97922
+ "oh-my-opencode-linux-x64": "5.0.0-beta.85",
97923
+ "oh-my-opencode-linux-x64-baseline": "5.0.0-beta.85",
97924
+ "oh-my-opencode-linux-x64-musl": "5.0.0-beta.85",
97925
+ "oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.85",
97926
+ "oh-my-opencode-windows-arm64": "5.0.0-beta.85",
97927
+ "oh-my-opencode-windows-x64": "5.0.0-beta.85",
97928
+ "oh-my-opencode-windows-x64-baseline": "5.0.0-beta.85"
97648
97929
  },
97649
97930
  overrides: {
97650
97931
  "@earendil-works/pi-agent-core": "0.84.2",
@@ -98483,6 +98764,61 @@ function transformHarnessNativeRename(document) {
98483
98764
  };
98484
98765
  }
98485
98766
 
98767
+ // packages/omo-opencode/src/config-migration/subscription-provider-rename.ts
98768
+ var SUBSCRIPTION_PROVIDER_RENAME_MIGRATION_ID = "2026-09-subscription-provider-rename";
98769
+ var LEGACY_PROVIDER_IDS = Object.freeze({
98770
+ "claude-sdk-oauth": "anthropic-subscription",
98771
+ "openai-codex": "chatgpt-subscription"
98772
+ });
98773
+ function renameProviderId(providerId) {
98774
+ return LEGACY_PROVIDER_IDS[providerId];
98775
+ }
98776
+ function renameModelReference(modelReference) {
98777
+ const providerSeparator = modelReference.indexOf("/");
98778
+ if (providerSeparator <= 0)
98779
+ return;
98780
+ const canonicalProvider = renameProviderId(modelReference.slice(0, providerSeparator));
98781
+ if (canonicalProvider === undefined)
98782
+ return;
98783
+ const modelPartVerbatim = modelReference.slice(providerSeparator);
98784
+ return `${canonicalProvider}${modelPartVerbatim}`;
98785
+ }
98786
+ function rewriteValue(value, path, rewrites) {
98787
+ if (typeof value === "string") {
98788
+ const renamed = renameModelReference(value) ?? renameProviderId(value);
98789
+ if (renamed === undefined)
98790
+ return value;
98791
+ rewrites.push({ from: value, path, to: renamed });
98792
+ return renamed;
98793
+ }
98794
+ if (Array.isArray(value))
98795
+ return value.map((entry, index) => rewriteValue(entry, `${path}[${index}]`, rewrites));
98796
+ if (value !== null && typeof value === "object") {
98797
+ return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
98798
+ const canonicalKey = renameModelReference(key) ?? renameProviderId(key);
98799
+ const nextKey = canonicalKey ?? key;
98800
+ if (canonicalKey !== undefined)
98801
+ rewrites.push({ from: key, path: `${path}.${key}`, to: canonicalKey });
98802
+ return [nextKey, rewriteValue(entry, `${path}.${nextKey}`, rewrites)];
98803
+ }));
98804
+ }
98805
+ return value;
98806
+ }
98807
+ function hasLegacySubscriptionProviderIds(document) {
98808
+ const rewrites = [];
98809
+ rewriteValue(document, "$", rewrites);
98810
+ return rewrites.length > 0;
98811
+ }
98812
+ function transformSubscriptionProviderRename(document) {
98813
+ const rewrites = [];
98814
+ const rewritten = rewriteValue(document, "$", rewrites);
98815
+ const next = rewritten !== null && typeof rewritten === "object" && !Array.isArray(rewritten) ? rewritten : {};
98816
+ return {
98817
+ diagnostics: rewrites.map((rewrite) => `${rewrite.path}: ${rewrite.from} renamed to ${rewrite.to}`),
98818
+ document: next
98819
+ };
98820
+ }
98821
+
98486
98822
  // packages/omo-opencode/src/config-migration/migration-plans.ts
98487
98823
  function backupTimestamp(value) {
98488
98824
  return value ?? new Date().toISOString().replace(/[:.]/g, "-");
@@ -98573,6 +98909,18 @@ function harnessNativeRenamePlan(targetPath) {
98573
98909
  transform: inspect
98574
98910
  };
98575
98911
  }
98912
+ function subscriptionProviderRenamePlan(targetPath) {
98913
+ const inspect = (sources) => transformSubscriptionProviderRename(sources[0]?.value);
98914
+ return {
98915
+ id: SUBSCRIPTION_PROVIDER_RENAME_MIGRATION_ID,
98916
+ inspect,
98917
+ mode: "replace-target",
98918
+ shouldRun: hasLegacySubscriptionProviderIds,
98919
+ sources: [],
98920
+ targetPath,
98921
+ transform: inspect
98922
+ };
98923
+ }
98576
98924
  function existingOmoConfigPath(directory, options) {
98577
98925
  const fileSystem = discoveryFileSystem(options);
98578
98926
  for (const fileName of ["omo.jsonc", "omo.json"]) {
@@ -98637,7 +98985,8 @@ function createLegacyConfigMigrationPlans(options) {
98637
98985
  ...legacyPlans,
98638
98986
  ...inPlaceTargets.map(reasoningPlan),
98639
98987
  ...inPlaceTargets.map(categoryDeepSplitPlan),
98640
- ...inPlaceTargets.map(harnessNativeRenamePlan)
98988
+ ...inPlaceTargets.map(harnessNativeRenamePlan),
98989
+ ...inPlaceTargets.map(subscriptionProviderRenamePlan)
98641
98990
  ];
98642
98991
  }
98643
98992
  // packages/omo-opencode/src/startup-migration.ts
@@ -155975,6 +156324,10 @@ function buildClaudeOpus5SisyphusPrompt(model, availableAgents, availableTools =
155975
156324
  const todoHookNote = useTaskSystem ? "YOUR TASK CREATION WOULD BE TRACKED BY HOOK([SYSTEM REMINDER - TASK CONTINUATION])" : "YOUR TODO CREATION WOULD BE TRACKED BY HOOK([SYSTEM REMINDER - TODO CONTINUATION])";
155976
156325
  const browserQaInstruction = availableSkills.some((skill) => skill.name === "playwright") ? "**Web / browser / UI work** \u2192 load the `playwright` skill and DRIVE A REAL BROWSER. Open the page. Click the elements. Fill the forms. WATCH THE CONSOLE. Screenshot if helpful. Visual changes NOT RENDERED in a browser are NOT VALIDATED." : "**Web / browser / UI work** \u2192 use the available browser automation surface and DRIVE A REAL BROWSER. Open the page. Click the elements. Fill the forms. WATCH THE CONSOLE. Screenshot if helpful. Visual changes NOT RENDERED in a browser are NOT VALIDATED.";
155977
156326
  const agentIdentity = buildAgentIdentitySection("Sisyphus", "Powerful AI Agent with orchestration capabilities from OhMyOpenCode");
156327
+ const isOpus55 = /opus-5[-.]5/i.test(model);
156328
+ const modelDisplayName = isOpus55 ? "Claude Opus 5.5" : "Claude Opus 5";
156329
+ const modelIdentifier = isOpus55 ? "claude-opus-5-5" : "claude-opus-5";
156330
+ const modelFamilyLabel = isOpus55 ? "Opus 5.5" : "Opus 5";
155978
156331
  return `${agentIdentity}
155979
156332
  <Role>
155980
156333
  You are **Sisyphus** - Powerful AI Agent with orchestration capabilities from OhMyOpenCode.
@@ -155989,9 +156342,9 @@ You are **Sisyphus** - Powerful AI Agent with orchestration capabilities from Oh
155989
156342
  </Role>
155990
156343
 
155991
156344
  <self_knowledge>
155992
- You are **Claude Opus 5** (\`claude-opus-5\`) - built for long-horizon agentic coding. You complete full tasks without stubs or placeholders, and you verify your own work without being told.
156345
+ You are **${modelDisplayName}** (\`${modelIdentifier}\`) - built for long-horizon agentic coding. You complete full tasks without stubs or placeholders, and you verify your own work without being told.
155993
156346
 
155994
- Five Opus 5 defaults you MUST counter:
156347
+ Five ${modelFamilyLabel} defaults you MUST counter:
155995
156348
 
155996
156349
  1. **LITERAL FOLLOWING**: When this prompt says "every", "all", "for each" - apply to EVERY case. NEVER infer "first item only".
155997
156350
  2. **SCOPE EXPANSION**: You add steps that were not requested and reinterpret what the task "should" be. Deliver what was asked, at the scope intended. Make routine judgment calls yourself; check in only when different readings of the request lead to materially different work. If the request seems mistaken or a better approach exists, say so in ONE sentence and continue with the task as asked - NEVER quietly narrow, widen, or transform it.
@@ -156906,6 +157259,7 @@ var GPT_PROMPT_IDENTITIES = {
156906
157259
  "gpt-5.5": "GPT-5.5",
156907
157260
  "gpt-5.6-sol": "GPT-5.6 Sol",
156908
157261
  "gpt-6-astra": "GPT-6 Astra",
157262
+ "gpt-6-sol": "GPT-6 Sol",
156909
157263
  "gpt-family": "a GPT-family model"
156910
157264
  };
156911
157265
  function getGptPromptIdentityKey(model) {
@@ -156913,6 +157267,9 @@ function getGptPromptIdentityKey(model) {
156913
157267
  if (modelID?.includes("gpt-6-astra")) {
156914
157268
  return "gpt-6-astra";
156915
157269
  }
157270
+ if (modelID?.includes("gpt-6-sol")) {
157271
+ return "gpt-6-sol";
157272
+ }
156916
157273
  if (modelID?.includes("gpt-5.6-sol") || modelID?.includes("gpt-5-6-sol")) {
156917
157274
  return "gpt-5.6-sol";
156918
157275
  }