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/README.ko.md +39 -46
- package/README.md +39 -46
- package/dist/agents.d.ts +3 -19
- package/dist/agents.js +45 -205
- package/dist/checkpoint.d.ts +22 -0
- package/dist/checkpoint.js +72 -0
- package/dist/config.d.ts +3 -1
- package/dist/config.js +30 -47
- package/dist/hooks/index.js +299 -118
- package/dist/index.d.ts +5 -1
- package/dist/index.js +4 -1
- package/dist/messages.d.ts +1 -1
- package/dist/messages.js +28 -56
- package/dist/state.d.ts +13 -0
- package/dist/state.js +9 -0
- package/dist/tools/index.d.ts +11 -2
- package/dist/tools/index.js +131 -21
- package/dist/types.d.ts +12 -5
- package/dist/utils.d.ts +11 -11
- package/dist/utils.js +55 -97
- package/opencode-resolve.example.json +0 -15
- package/opencode-resolve.reference.jsonc +94 -130
- package/package.json +1 -1
- package/scripts/cli.mjs +13 -9
- package/scripts/install-local.mjs +4 -18
- package/scripts/postinstall.mjs +132 -495
package/scripts/cli.mjs
CHANGED
|
@@ -20,15 +20,21 @@ if (command !== "setup") {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
const env = { ...process.env }
|
|
23
|
-
|
|
24
|
-
|
|
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 [--
|
|
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
|
-
--
|
|
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 --
|
|
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 --
|
|
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
|
-
|
|
110
|
-
|
|
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
|
-
|
|
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) {
|