opencode-resolve 0.1.20 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/scripts/cli.mjs CHANGED
@@ -20,15 +20,21 @@ if (command !== "setup") {
20
20
  }
21
21
 
22
22
  const env = { ...process.env }
23
- if (args.includes("--fresh")) env.OPENCODE_RESOLVE_REINSTALL = "fresh"
24
- if (args.includes("--reset-config")) {
23
+ // All reset flavors collapse into one full wipe — back up resolve.json and run setup
24
+ // from scratch, dropping model pins along with everything else.
25
+ if (
26
+ args.includes("--reset") ||
27
+ args.includes("--fresh") ||
28
+ args.includes("--reset-config") ||
29
+ args.includes("--nuke") ||
30
+ args.includes("--wipe") ||
31
+ args.includes("--full-reset")
32
+ ) {
25
33
  env.OPENCODE_RESOLVE_REINSTALL = "fresh"
26
- env.OPENCODE_RESOLVE_RESET_MODELS = "1"
27
34
  }
28
35
  if (args.includes("--update")) env.OPENCODE_RESOLVE_REINSTALL = "update"
29
36
  if (args.includes("--models") || args.includes("--configure-models")) env.OPENCODE_RESOLVE_CONFIGURE_MODELS = "1"
30
37
  if (args.includes("--auto-preset")) env.OPENCODE_RESOLVE_AUTO_PRESET = "1"
31
- if (args.includes("--no-companions")) env.OPENCODE_RESOLVE_SKIP_COMPANIONS = "1"
32
38
  if (args.includes("--force-cache") || args.includes("--refresh-cache")) env.OPENCODE_RESOLVE_FORCE_CACHE_REFRESH = "1"
33
39
 
34
40
  const child = spawn(process.execPath, [postinstall], {
@@ -53,22 +59,20 @@ function printHelp() {
53
59
  console.log(`opencode-resolve
54
60
 
55
61
  Usage:
56
- opencode-resolve setup [--fresh|--update|--reset-config] [--models] [--auto-preset] [--force-cache] [--no-companions]
62
+ opencode-resolve setup [--reset|--update] [--models] [--auto-preset] [--force-cache]
57
63
 
58
64
  Commands:
59
65
  setup Register the OpenCode plugin, create or migrate resolve.json, and refresh stale plugin cache.
60
66
 
61
67
  Options:
62
- --fresh Back up existing resolve.json and run setup again, preserving existing model pins.
68
+ --reset Back up existing resolve.json and wipe EVERYTHING (model pins included). Aliases: --fresh, --reset-config, --nuke, --wipe, --full-reset.
63
69
  --update Preserve existing resolve.json and add missing defaults.
64
- --reset-config Back up existing resolve.json and regenerate it, including model pins.
65
70
  --models Reconfigure model pins without replacing the rest of resolve.json.
66
71
  --auto-preset Non-interactive provider-based model preset.
67
72
  --force-cache Force OpenCode plugin cache refresh without deleting resolve.json.
68
- --no-companions Skip companion plugin suggestions.
69
73
 
70
74
  Examples:
71
- opencode-resolve setup --fresh
75
+ opencode-resolve setup --reset
72
76
  opencode-resolve setup --update
73
77
  opencode-resolve setup --force-cache
74
78
  `)
@@ -56,7 +56,7 @@ async function chooseExistingResolveConfigAction() {
56
56
  }
57
57
 
58
58
  if (!process.stdin.isTTY || !process.stdout.isTTY) {
59
- console.log("Existing resolve config found; preserving it. Run `opencode-resolve setup --models` for model setup or `opencode-resolve setup --fresh` to regenerate without dropping model pins.")
59
+ console.log("Existing resolve config found; preserving it. Run `opencode-resolve setup --models` for model setup or `opencode-resolve setup --reset` to reset from scratch (model pins wiped).")
60
60
  return "update"
61
61
  }
62
62
 
@@ -106,18 +106,8 @@ async function createAdaptiveResolveConfig(options = {}) {
106
106
 
107
107
  const resolveConfig = { ...example }
108
108
  let preset = {}
109
- if (process.env.OPENCODE_RESOLVE_AUTO_PRESET === "1") {
110
- const currentModel = detectOpenCodeModel(opencodeConfig)
111
- preset = buildModelPreset(currentModel)
112
- } else {
113
- resolveConfig.profile = "mix"
114
- resolveConfig.models = {}
115
- resolveConfig.agents = {
116
- ...resolveConfig.agents,
117
- gpt: { ...(resolveConfig.agents?.gpt ?? {}), enabled: true },
118
- glm: { ...(resolveConfig.agents?.glm ?? {}), enabled: true },
119
- }
120
- }
109
+ const currentModel = detectOpenCodeModel(opencodeConfig)
110
+ preset = buildModelPreset(currentModel)
121
111
  if (preset && Object.keys(preset).length > 0) {
122
112
  resolveConfig.models = preservedModels ? { ...preset, ...preservedModels } : preset
123
113
  } else if (preservedModels) {
@@ -186,11 +176,7 @@ function buildModelPreset(currentModel) {
186
176
  }
187
177
 
188
178
  function getPresetLabel(currentModel) {
189
- if (!currentModel) return "inherited"
190
- const lower = currentModel.toLowerCase()
191
- if (lower.includes("glm") || lower.includes("zai")) return "glm+gpt"
192
- if (lower.includes("openai/") || lower.includes("gpt")) return "gpt-only"
193
- return "inherited"
179
+ return currentModel ? "configured" : "inherited"
194
180
  }
195
181
 
196
182
  async function assertFile(path) {