@osovv/vv-opencode 1.0.2 → 1.1.1

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 (75) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +87 -19
  3. package/dist/cli.js +4 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/completion.js +34 -6
  6. package/dist/commands/completion.js.map +1 -1
  7. package/dist/commands/doctor.js +7 -1
  8. package/dist/commands/doctor.js.map +1 -1
  9. package/dist/commands/init.js +14 -5
  10. package/dist/commands/init.js.map +1 -1
  11. package/dist/commands/install.js +6 -3
  12. package/dist/commands/install.js.map +1 -1
  13. package/dist/commands/launch.d.ts +1 -0
  14. package/dist/commands/launch.js +20 -8
  15. package/dist/commands/launch.js.map +1 -1
  16. package/dist/commands/orchestration.d.ts +25 -0
  17. package/dist/commands/orchestration.js +185 -0
  18. package/dist/commands/orchestration.js.map +1 -0
  19. package/dist/commands/patch-provider.d.ts +18 -29
  20. package/dist/commands/patch-provider.js +28 -31
  21. package/dist/commands/patch-provider.js.map +1 -1
  22. package/dist/commands/preset.d.ts +8 -1
  23. package/dist/commands/preset.js +49 -18
  24. package/dist/commands/preset.js.map +1 -1
  25. package/dist/commands/status.js +11 -3
  26. package/dist/commands/status.js.map +1 -1
  27. package/dist/commands/sync.js +6 -3
  28. package/dist/commands/sync.js.map +1 -1
  29. package/dist/lib/config-layers.d.ts +6 -0
  30. package/dist/lib/config-layers.js +65 -3
  31. package/dist/lib/config-layers.js.map +1 -1
  32. package/dist/lib/opencode.d.ts +20 -0
  33. package/dist/lib/opencode.js +157 -11
  34. package/dist/lib/opencode.js.map +1 -1
  35. package/dist/lib/orchestration.d.ts +21 -0
  36. package/dist/lib/orchestration.js +118 -0
  37. package/dist/lib/orchestration.js.map +1 -0
  38. package/dist/lib/plugin-toggle-config.d.ts +1 -1
  39. package/dist/lib/plugin-toggle-config.js +2 -0
  40. package/dist/lib/plugin-toggle-config.js.map +1 -1
  41. package/dist/lib/vvoc-config.d.ts +25 -0
  42. package/dist/lib/vvoc-config.js +24 -7
  43. package/dist/lib/vvoc-config.js.map +1 -1
  44. package/dist/lib/vvoc-preset-registry.d.ts +26 -8
  45. package/dist/lib/vvoc-preset-registry.js +18 -10
  46. package/dist/lib/vvoc-preset-registry.js.map +1 -1
  47. package/dist/plugins/system-context-injection/index.js +17 -38
  48. package/dist/plugins/system-context-injection/index.js.map +1 -1
  49. package/dist/plugins/workflow/index.js +42 -6
  50. package/dist/plugins/workflow/index.js.map +1 -1
  51. package/dist/tui/context/analyze.d.ts +4 -0
  52. package/dist/tui/context/analyze.js +256 -0
  53. package/dist/tui/context/analyze.js.map +1 -0
  54. package/dist/tui/context/collect.d.ts +3 -0
  55. package/dist/tui/context/collect.js +94 -0
  56. package/dist/tui/context/collect.js.map +1 -0
  57. package/dist/tui/context/estimate.d.ts +2 -0
  58. package/dist/tui/context/estimate.js +49 -0
  59. package/dist/tui/context/estimate.js.map +1 -0
  60. package/dist/tui/context/plugin.d.ts +10 -0
  61. package/dist/tui/context/plugin.js +91 -0
  62. package/dist/tui/context/plugin.js.map +1 -0
  63. package/dist/tui/context/types.d.ts +61 -0
  64. package/dist/tui/context/types.js +25 -0
  65. package/dist/tui/context/types.js.map +1 -0
  66. package/dist/tui/context/view.d.ts +3 -0
  67. package/dist/tui/context/view.js +45 -0
  68. package/dist/tui/context/view.js.map +1 -0
  69. package/dist/tui.d.ts +7 -0
  70. package/dist/tui.js +27 -0
  71. package/dist/tui.js.map +1 -0
  72. package/package.json +16 -4
  73. package/schemas/vvoc/v3.json +23 -1
  74. package/templates/agents/vv-controller.md +77 -111
  75. package/templates/skills/vv-execute/SKILL.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  // FILE: src/commands/install.ts
2
2
  // VERSION: 0.4.0
3
3
  // START_MODULE_CONTRACT
4
- // PURPOSE: Install vv-opencode into OpenCode config and bootstrap the canonical vvoc.json config plus managed prompts.
5
- // SCOPE: Scope parsing, path resolution, pinned plugin registration, managed OpenCode agent registration, managed agent prompt and plan directory scaffolding, and canonical vvoc config creation.
4
+ // PURPOSE: Install vv-opencode into OpenCode runtime/TUI config and bootstrap the canonical vvoc.json config plus managed prompts.
5
+ // SCOPE: Scope parsing, path resolution, pinned runtime/TUI plugin registration, managed OpenCode agent registration, managed agent prompt and plan directory scaffolding, and canonical vvoc config creation.
6
6
  // DEPENDS: [citty, src/lib/opencode.ts]
7
7
  // LINKS: [M-CLI-COMMANDS, M-CLI-CONFIG]
8
8
  // ROLE: RUNTIME
@@ -14,13 +14,14 @@
14
14
  // END_MODULE_MAP
15
15
  //
16
16
  // START_CHANGE_SUMMARY
17
+ // LAST_CHANGE: [C-CONTEXT-TUI-PLUGIN - Registered the managed TUI subpath during installation.]
17
18
  // LAST_CHANGE: [v0.6.0 - Skipped global managed skill symlink creation for project-scope installs.]
18
19
  // LAST_CHANGE: [v0.5.0 - Added managed skill file install during vvoc install.]
19
20
  // LAST_CHANGE: [v0.4.0 - Ensured the project-local managed planning artifact directory exists during project-scope install.]
20
21
  // LAST_CHANGE: [v0.3.0 - Replaced per-feature vvoc config scaffolding with canonical vvoc.json creation.]
21
22
  // END_CHANGE_SUMMARY
22
23
  import { defineCommand } from "citty";
23
- import { describeWriteResult, ensureManagedSkillSymlink, ensurePackageInstalled, installManagedAgentPrompts, installVvocConfig, installManagedSkillFiles, resolvePaths, syncManagedAgentRegistrations, } from "../lib/opencode.js";
24
+ import { describeWriteResult, ensureManagedSkillSymlink, ensurePackageInstalled, ensureTuiPackageInstalled, installManagedAgentPrompts, installVvocConfig, installManagedSkillFiles, resolvePaths, syncManagedAgentRegistrations, } from "../lib/opencode.js";
24
25
  export default defineCommand({
25
26
  meta: {
26
27
  name: "install",
@@ -52,8 +53,10 @@ export default defineCommand({
52
53
  configDir,
53
54
  });
54
55
  const opencode = await ensurePackageInstalled(paths);
56
+ const tui = await ensureTuiPackageInstalled(paths);
55
57
  const managedAgents = await syncManagedAgentRegistrations(paths);
56
58
  console.log(`${opencode.changed ? "Updated" : "Kept"} ${opencode.path}`);
59
+ console.log(describeWriteResult(tui));
57
60
  console.log(`${managedAgents.changed ? "Updated" : "Kept"} ${managedAgents.path} (managed agents)`);
58
61
  for (const result of await installManagedAgentPrompts(paths, {
59
62
  force: Boolean(args.force),
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export type LaunchPlan = {
4
4
  command: string[];
5
5
  env: Record<string, string>;
6
6
  opencodeSource: ConfigSource;
7
+ opencodeTuiSource: ConfigSource;
7
8
  vvocSource: ConfigSource;
8
9
  };
9
10
  export declare function buildLaunchPlan(options: {
@@ -1,8 +1,8 @@
1
1
  // FILE: src/commands/launch.ts
2
2
  // VERSION: 1.0.0
3
3
  // START_MODULE_CONTRACT
4
- // PURPOSE: Launch OpenCode with deterministic vvoc and OpenCode config layer environment variables.
5
- // SCOPE: Scope parsing, config source selection, subprocess env construction, arg forwarding, stdio forwarding, and exit-code preservation.
4
+ // PURPOSE: Launch OpenCode with deterministic vvoc, OpenCode runtime, and managed TUI config layer environment variables.
5
+ // SCOPE: Scope parsing, runtime/TUI config source selection, subprocess env construction, arg forwarding, stdio forwarding, and exit-code preservation.
6
6
  // DEPENDS: [citty, src/lib/config-layers.ts]
7
7
  // LINKS: [M-CLI-COMMANDS]
8
8
  // ROLE: RUNTIME
@@ -18,10 +18,11 @@
18
18
  // END_MODULE_MAP
19
19
  //
20
20
  // START_CHANGE_SUMMARY
21
+ // LAST_CHANGE: [C-CONTEXT-TUI-PLUGIN - Added conditional OPENCODE_TUI_CONFIG selection for existing managed TUI files.]
21
22
  // LAST_CHANGE: [v1.0.0 - Added deterministic OpenCode launch planning and subprocess execution.]
22
23
  // END_CHANGE_SUMMARY
23
24
  import { defineCommand } from "citty";
24
- import { OPENCODE_CONFIG_ENV, VVOC_CONFIG_ENV, resolveOpenCodeConfigSource, resolveVvocConfigSource, } from "../lib/config-layers.js";
25
+ import { OPENCODE_CONFIG_ENV, OPENCODE_TUI_CONFIG_ENV, VVOC_CONFIG_ENV, resolveOpenCodeConfigSource, resolveOpenCodeTuiConfigSource, resolveVvocConfigSource, } from "../lib/config-layers.js";
25
26
  const launchScopeArg = {
26
27
  type: "enum",
27
28
  options: ["effective", "project", "global"],
@@ -29,13 +30,19 @@ const launchScopeArg = {
29
30
  description: "Launch with effective, project-local, or global config paths.",
30
31
  };
31
32
  export async function buildLaunchPlan(options) {
32
- const [opencodeSource, vvocSource] = await Promise.all([
33
+ const [opencodeSource, opencodeTuiSource, vvocSource] = await Promise.all([
33
34
  resolveOpenCodeConfigSource({
34
35
  scope: options.scope,
35
36
  cwd: options.cwd,
36
37
  configDir: options.configDir,
37
38
  env: options.env,
38
39
  }),
40
+ resolveOpenCodeTuiConfigSource({
41
+ scope: options.scope,
42
+ cwd: options.cwd,
43
+ configDir: options.configDir,
44
+ env: options.env,
45
+ }),
39
46
  resolveVvocConfigSource({
40
47
  scope: options.scope,
41
48
  cwd: options.cwd,
@@ -56,13 +63,18 @@ export async function buildLaunchPlan(options) {
56
63
  if (!vvocSource.path) {
57
64
  throw new Error("vvoc config source has no path; run vvoc install --scope project or vvoc install");
58
65
  }
66
+ const env = {
67
+ [OPENCODE_CONFIG_ENV]: opencodeSource.path,
68
+ [VVOC_CONFIG_ENV]: vvocSource.path,
69
+ };
70
+ if (opencodeTuiSource.kind !== "missing" && opencodeTuiSource.path) {
71
+ env[OPENCODE_TUI_CONFIG_ENV] = opencodeTuiSource.path;
72
+ }
59
73
  return {
60
74
  command: ["opencode", ...options.passthroughArgs],
61
- env: {
62
- [OPENCODE_CONFIG_ENV]: opencodeSource.path,
63
- [VVOC_CONFIG_ENV]: vvocSource.path,
64
- },
75
+ env,
65
76
  opencodeSource,
77
+ opencodeTuiSource,
66
78
  vvocSource,
67
79
  };
68
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type ConfigReadScope, type ConfigSource, type ConfigWriteScope } from "../lib/config-layers.js";
2
+ import { type OrchestrationProfile } from "../lib/orchestration.js";
3
+ /** Result returned by a scoped orchestration profile write. */
4
+ export type OrchestrationWriteResult = {
5
+ action: "updated" | "kept";
6
+ profile: OrchestrationProfile;
7
+ path: string;
8
+ };
9
+ declare const _default: import("citty").CommandDef<import("citty").ArgsDef>;
10
+ export default _default;
11
+ /** Reads one resolved profile and selected source without mutation. */
12
+ export declare function showOrchestrationProfile(options?: {
13
+ cwd?: string;
14
+ configDir?: string;
15
+ scope?: ConfigReadScope;
16
+ }): Promise<{
17
+ profile: OrchestrationProfile;
18
+ source: ConfigSource;
19
+ }>;
20
+ /** Writes one explicit profile to global or project vvoc.json. */
21
+ export declare function setOrchestrationProfile(profile: OrchestrationProfile, options?: {
22
+ cwd?: string;
23
+ configDir?: string;
24
+ scope?: ConfigWriteScope;
25
+ }): Promise<OrchestrationWriteResult>;
@@ -0,0 +1,185 @@
1
+ // FILE: src/commands/orchestration.ts
2
+ // VERSION: 1.0.0
3
+ // START_MODULE_CONTRACT
4
+ // PURPOSE: Show and set scoped orchestration profiles with effective source and restart diagnostics.
5
+ // SCOPE: Global/project/effective reads, global/project conservative writes, strict profile parsing, canonical bootstrap, and CLI output.
6
+ // DEPENDS: [citty, node:fs/promises, node:path, src/lib/config-layers.ts, src/lib/opencode.ts, src/lib/orchestration.ts, src/lib/vvoc-config.ts]
7
+ // LINKS: [M-CLI-ORCHESTRATION, M-ORCHESTRATION-PROFILES, M-CONFIG-LAYERS, M-CLI-CONFIG]
8
+ // ROLE: RUNTIME
9
+ // MAP_MODE: EXPORTS
10
+ // END_MODULE_CONTRACT
11
+ //
12
+ // START_MODULE_MAP
13
+ // default - Orchestration show/set command group.
14
+ // OrchestrationWriteResult - Result returned by a scoped profile write.
15
+ // showOrchestrationProfile - Resolves one profile and selected source without mutation.
16
+ // setOrchestrationProfile - Conservatively writes one explicit root profile.
17
+ // END_MODULE_MAP
18
+ //
19
+ // START_CHANGE_SUMMARY
20
+ // LAST_CHANGE: [C-PRESET-ORCHESTRATION-PROFILES - Added scoped orchestration profile reads, writes, validation, and restart output.]
21
+ // END_CHANGE_SUMMARY
22
+ import { defineCommand } from "citty";
23
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
24
+ import { dirname } from "node:path";
25
+ import { loadVvocConfigForRead, } from "../lib/config-layers.js";
26
+ import { resolvePaths } from "../lib/opencode.js";
27
+ import { ORCHESTRATION_PROFILE_NAMES, parseOrchestrationProfile, resolveOrchestrationPolicy, } from "../lib/orchestration.js";
28
+ import { createDefaultVvocConfig, renderVvocConfig, validateVvocConfigDocument, } from "../lib/vvoc-config.js";
29
+ const configDirArg = {
30
+ type: "string",
31
+ description: "Override the global config home used for vvoc/.",
32
+ };
33
+ const showCommand = defineCommand({
34
+ meta: {
35
+ name: "show",
36
+ description: "Show the resolved orchestration profile and selected source.",
37
+ },
38
+ args: {
39
+ scope: {
40
+ type: "enum",
41
+ options: ["global", "project", "effective"],
42
+ default: "effective",
43
+ description: "Read global, project-local, or effective layered config.",
44
+ },
45
+ "config-dir": configDirArg,
46
+ },
47
+ async run({ args }) {
48
+ const result = await showOrchestrationProfile({
49
+ cwd: process.cwd(),
50
+ configDir: resolveConfigDir(args),
51
+ scope: resolveReadScope(args.scope),
52
+ });
53
+ console.log(`Orchestration profile: ${result.profile}`);
54
+ console.log(`Source: ${formatSource(result.source)}`);
55
+ },
56
+ });
57
+ const setCommand = defineCommand({
58
+ meta: {
59
+ name: "set",
60
+ description: "Set an explicit orchestration profile.",
61
+ },
62
+ args: {
63
+ profile: {
64
+ type: "positional",
65
+ required: true,
66
+ description: `Profile (${ORCHESTRATION_PROFILE_NAMES.join(", ")}).`,
67
+ },
68
+ scope: {
69
+ type: "enum",
70
+ options: ["global", "project"],
71
+ default: "global",
72
+ description: "Write global or project-local vvoc config.",
73
+ },
74
+ "config-dir": configDirArg,
75
+ },
76
+ async run({ args }) {
77
+ const profile = parseOrchestrationProfile(args.profile, "orchestration set");
78
+ const result = await setOrchestrationProfile(profile, {
79
+ cwd: process.cwd(),
80
+ configDir: resolveConfigDir(args),
81
+ scope: resolveWriteScope(args.scope),
82
+ });
83
+ console.log(`${result.action}: orchestration profile ${result.profile}`);
84
+ console.log(`Target: ${result.path}`);
85
+ if (result.action === "updated") {
86
+ console.log("Restart OpenCode to apply the changed orchestration profile.");
87
+ }
88
+ },
89
+ });
90
+ export default defineCommand({
91
+ meta: {
92
+ name: "orchestration",
93
+ description: "Show or set the vv-controller orchestration profile.",
94
+ },
95
+ subCommands: {
96
+ show: showCommand,
97
+ set: setCommand,
98
+ },
99
+ });
100
+ /** Reads one resolved profile and selected source without mutation. */
101
+ export async function showOrchestrationProfile(options = {}) {
102
+ const { config, source } = await loadVvocConfigForRead({
103
+ scope: options.scope ?? "effective",
104
+ cwd: options.cwd ?? process.cwd(),
105
+ configDir: options.configDir,
106
+ allowDefault: true,
107
+ });
108
+ return {
109
+ profile: resolveOrchestrationPolicy(config).profile,
110
+ source,
111
+ };
112
+ }
113
+ /** Writes one explicit profile to global or project vvoc.json. */
114
+ export async function setOrchestrationProfile(profile, options = {}) {
115
+ const normalizedProfile = parseOrchestrationProfile(profile, "orchestration set");
116
+ const scope = assertWriteScope(options.scope ?? "global");
117
+ const paths = await resolvePaths({
118
+ scope,
119
+ cwd: options.cwd ?? process.cwd(),
120
+ configDir: options.configDir,
121
+ });
122
+ const currentText = await readOptionalText(paths.vvocConfigPath);
123
+ if (currentText === undefined) {
124
+ const config = createDefaultVvocConfig();
125
+ config.orchestration = { profile: normalizedProfile };
126
+ await mkdir(dirname(paths.vvocConfigPath), { recursive: true });
127
+ await writeFile(paths.vvocConfigPath, renderVvocConfig(config), "utf8");
128
+ return { action: "updated", profile: normalizedProfile, path: paths.vvocConfigPath };
129
+ }
130
+ const config = parseRawVvocConfigText(currentText, paths.vvocConfigPath);
131
+ if (config.orchestration?.profile === normalizedProfile) {
132
+ return { action: "kept", profile: normalizedProfile, path: paths.vvocConfigPath };
133
+ }
134
+ const nextConfig = {
135
+ ...config,
136
+ orchestration: { profile: normalizedProfile },
137
+ };
138
+ await writeFile(paths.vvocConfigPath, `${JSON.stringify(nextConfig, null, 2)}\n`, "utf8");
139
+ return { action: "updated", profile: normalizedProfile, path: paths.vvocConfigPath };
140
+ }
141
+ function parseRawVvocConfigText(text, label) {
142
+ let value;
143
+ try {
144
+ value = JSON.parse(text);
145
+ }
146
+ catch {
147
+ throw new Error(`${label}: invalid JSON`);
148
+ }
149
+ const errors = validateVvocConfigDocument(value);
150
+ if (errors.length > 0)
151
+ throw new Error(`${label}: ${errors.join("; ")}`);
152
+ return value;
153
+ }
154
+ async function readOptionalText(path) {
155
+ try {
156
+ return await readFile(path, "utf8");
157
+ }
158
+ catch (error) {
159
+ if (error instanceof Error && "code" in error && error.code === "ENOENT")
160
+ return undefined;
161
+ throw error;
162
+ }
163
+ }
164
+ function assertWriteScope(scope) {
165
+ if (scope !== "global" && scope !== "project") {
166
+ throw new Error("orchestration set supports --scope global or --scope project, not effective");
167
+ }
168
+ return scope;
169
+ }
170
+ function resolveReadScope(value) {
171
+ return value === "global" || value === "project" ? value : "effective";
172
+ }
173
+ function resolveWriteScope(value) {
174
+ if (value === "effective") {
175
+ throw new Error("orchestration set supports --scope global or --scope project, not effective");
176
+ }
177
+ return value === "project" ? "project" : "global";
178
+ }
179
+ function resolveConfigDir(args) {
180
+ return typeof args["config-dir"] === "string" ? args["config-dir"] : undefined;
181
+ }
182
+ function formatSource(source) {
183
+ return `${source.kind}${source.path ? ` ${source.path}` : ""}`;
184
+ }
185
+ //# sourceMappingURL=orchestration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../src/commands/orchestration.ts"],"names":[],"mappings":"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"}
@@ -54,32 +54,34 @@ declare const PATCH_PROVIDER_PRESETS: {
54
54
  };
55
55
  readonly summary: "provider.zai-coding-plan.models.glm-4.5-airx patched";
56
56
  };
57
- readonly openai: {
57
+ readonly codex: {
58
58
  readonly kind: "provider-object";
59
59
  readonly providerID: "openai";
60
60
  readonly value: {
61
61
  readonly models: {
62
- readonly "vv-gpt-5.4-xhigh": {
63
- readonly name: "VV GPT-5.4-XHigh";
64
- readonly id: "gpt-5.4";
62
+ readonly "vv-codex-gpt-5.4-mini-low": {
63
+ readonly name: "VV Codex GPT-5.4 Mini Low";
64
+ readonly id: "gpt-5.4-mini";
65
65
  readonly variants: {};
66
66
  readonly limit: {
67
67
  readonly context: 400000;
68
+ readonly input: 272000;
68
69
  readonly output: 128000;
69
70
  };
70
71
  readonly reasoning: true;
71
72
  readonly options: {
72
- readonly reasoningEffort: "xhigh";
73
+ readonly reasoningEffort: "low";
73
74
  readonly reasoningSummary: "auto";
74
75
  readonly include: readonly ["reasoning.encrypted_content"];
75
76
  };
76
77
  };
77
- readonly "vv-gpt-5.5-xhigh": {
78
- readonly name: "VV GPT-5.5-XHigh";
78
+ readonly "vv-codex-gpt-5.5-xhigh": {
79
+ readonly name: "VV Codex GPT-5.5-XHigh";
79
80
  readonly id: "gpt-5.5";
80
81
  readonly variants: {};
81
82
  readonly limit: {
82
83
  readonly context: 400000;
84
+ readonly input: 272000;
83
85
  readonly output: 128000;
84
86
  };
85
87
  readonly reasoning: true;
@@ -89,27 +91,13 @@ declare const PATCH_PROVIDER_PRESETS: {
89
91
  readonly include: readonly ["reasoning.encrypted_content"];
90
92
  };
91
93
  };
92
- readonly "vv-gpt-5.4-mini-low": {
93
- readonly name: "VV GPT-5.4 Mini Low";
94
- readonly id: "gpt-5.4-mini";
95
- readonly variants: {};
96
- readonly limit: {
97
- readonly context: 400000;
98
- readonly output: 128000;
99
- };
100
- readonly reasoning: true;
101
- readonly options: {
102
- readonly reasoningEffort: "low";
103
- readonly reasoningSummary: "auto";
104
- readonly include: readonly ["reasoning.encrypted_content"];
105
- };
106
- };
107
- readonly "vv-gpt-5.6-terra-high": {
108
- readonly name: "VV GPT-5.6 Terra High";
94
+ readonly "vv-codex-gpt-5.6-terra-high": {
95
+ readonly name: "VV Codex GPT-5.6 Terra High";
109
96
  readonly id: "gpt-5.6-terra";
110
97
  readonly variants: {};
111
98
  readonly limit: {
112
- readonly context: 1050000;
99
+ readonly context: 500000;
100
+ readonly input: 372000;
113
101
  readonly output: 128000;
114
102
  };
115
103
  readonly reasoning: true;
@@ -119,12 +107,13 @@ declare const PATCH_PROVIDER_PRESETS: {
119
107
  readonly include: readonly ["reasoning.encrypted_content"];
120
108
  };
121
109
  };
122
- readonly "vv-gpt-5.6-sol-xhigh": {
123
- readonly name: "VV GPT-5.6 Sol XHigh";
110
+ readonly "vv-codex-gpt-5.6-sol-xhigh": {
111
+ readonly name: "VV Codex GPT-5.6 Sol XHigh";
124
112
  readonly id: "gpt-5.6-sol";
125
113
  readonly variants: {};
126
114
  readonly limit: {
127
- readonly context: 1050000;
115
+ readonly context: 500000;
116
+ readonly input: 372000;
128
117
  readonly output: 128000;
129
118
  };
130
119
  readonly reasoning: true;
@@ -136,7 +125,7 @@ declare const PATCH_PROVIDER_PRESETS: {
136
125
  };
137
126
  };
138
127
  };
139
- readonly summary: "provider.openai.models vv-gpt-5.4/5.5/5.6 aliases patched";
128
+ readonly summary: "provider.openai.models vv-codex-gpt-5.4/5.5/5.6 aliases patched";
140
129
  };
141
130
  };
142
131
  export type PatchProviderPresetName = keyof typeof PATCH_PROVIDER_PRESETS;
@@ -21,6 +21,7 @@
21
21
  // LAST_CHANGE: [v0.4.3 - Added reasoning:true to vv-gpt-5.4-xhigh and vv-gpt-5.5-xhigh in openai patch preset.]
22
22
  // LAST_CHANGE: [v0.6.0 - Added vv-gpt-5.6-luna-low, vv-gpt-5.6-terra-high, vv-gpt-5.6-sol-xhigh to openai patch preset.]
23
23
  // LAST_CHANGE: [v0.7.0 - Replaced the unavailable vv-gpt-5.6-luna-low alias with vv-gpt-5.4-mini-low.]
24
+ // LAST_CHANGE: [C-CODEX-PRESET-LIMITS - Renamed managed aliases to vv-codex-gpt-* namespace with explicit Codex subscription limits and made codex the canonical patch-provider preset.]
24
25
  // END_CHANGE_SUMMARY
25
26
  import { defineCommand } from "citty";
26
27
  import { describeWriteResult, resolvePaths, writeOpenCodeProviderObject, writeProviderBaseUrl, } from "../lib/opencode.js";
@@ -57,27 +58,29 @@ const STEPFUN_PATCH = {
57
58
  };
58
59
  const OPENAI_PATCH = {
59
60
  models: {
60
- "vv-gpt-5.4-xhigh": {
61
- name: "VV GPT-5.4-XHigh",
62
- id: "gpt-5.4",
61
+ "vv-codex-gpt-5.4-mini-low": {
62
+ name: "VV Codex GPT-5.4 Mini Low",
63
+ id: "gpt-5.4-mini",
63
64
  variants: {},
64
65
  limit: {
65
66
  context: 400000,
67
+ input: 272000,
66
68
  output: 128000,
67
69
  },
68
70
  reasoning: true,
69
71
  options: {
70
- reasoningEffort: "xhigh",
72
+ reasoningEffort: "low",
71
73
  reasoningSummary: "auto",
72
74
  include: ["reasoning.encrypted_content"],
73
75
  },
74
76
  },
75
- "vv-gpt-5.5-xhigh": {
76
- name: "VV GPT-5.5-XHigh",
77
+ "vv-codex-gpt-5.5-xhigh": {
78
+ name: "VV Codex GPT-5.5-XHigh",
77
79
  id: "gpt-5.5",
78
80
  variants: {},
79
81
  limit: {
80
82
  context: 400000,
83
+ input: 272000,
81
84
  output: 128000,
82
85
  },
83
86
  reasoning: true,
@@ -87,27 +90,13 @@ const OPENAI_PATCH = {
87
90
  include: ["reasoning.encrypted_content"],
88
91
  },
89
92
  },
90
- "vv-gpt-5.4-mini-low": {
91
- name: "VV GPT-5.4 Mini Low",
92
- id: "gpt-5.4-mini",
93
- variants: {},
94
- limit: {
95
- context: 400000,
96
- output: 128000,
97
- },
98
- reasoning: true,
99
- options: {
100
- reasoningEffort: "low",
101
- reasoningSummary: "auto",
102
- include: ["reasoning.encrypted_content"],
103
- },
104
- },
105
- "vv-gpt-5.6-terra-high": {
106
- name: "VV GPT-5.6 Terra High",
93
+ "vv-codex-gpt-5.6-terra-high": {
94
+ name: "VV Codex GPT-5.6 Terra High",
107
95
  id: "gpt-5.6-terra",
108
96
  variants: {},
109
97
  limit: {
110
- context: 1050000,
98
+ context: 500000,
99
+ input: 372000,
111
100
  output: 128000,
112
101
  },
113
102
  reasoning: true,
@@ -117,12 +106,13 @@ const OPENAI_PATCH = {
117
106
  include: ["reasoning.encrypted_content"],
118
107
  },
119
108
  },
120
- "vv-gpt-5.6-sol-xhigh": {
121
- name: "VV GPT-5.6 Sol XHigh",
109
+ "vv-codex-gpt-5.6-sol-xhigh": {
110
+ name: "VV Codex GPT-5.6 Sol XHigh",
122
111
  id: "gpt-5.6-sol",
123
112
  variants: {},
124
113
  limit: {
125
- context: 1050000,
114
+ context: 500000,
115
+ input: 372000,
126
116
  output: 128000,
127
117
  },
128
118
  reasoning: true,
@@ -147,13 +137,16 @@ const PATCH_PROVIDER_PRESETS = {
147
137
  value: ZAI_CODING_PLAN_PATCH,
148
138
  summary: "provider.zai-coding-plan.models.glm-4.5-airx patched",
149
139
  },
150
- openai: {
140
+ codex: {
151
141
  kind: "provider-object",
152
142
  providerID: "openai",
153
143
  value: OPENAI_PATCH,
154
- summary: "provider.openai.models vv-gpt-5.4/5.5/5.6 aliases patched",
144
+ summary: "provider.openai.models vv-codex-gpt-5.4/5.5/5.6 aliases patched",
155
145
  },
156
146
  };
147
+ const PATCH_PROVIDER_PRESET_ALIASES = {
148
+ openai: "codex",
149
+ };
157
150
  const presetArg = {
158
151
  type: "positional",
159
152
  required: true,
@@ -171,12 +164,16 @@ const writeScopeArg = {
171
164
  };
172
165
  // START_BLOCK_PROVIDER_PRESET_RESOLUTION
173
166
  export function resolvePatchProviderPreset(name) {
174
- const presetName = name.trim();
167
+ const requestedName = name.trim();
168
+ const presetName = requestedName in PATCH_PROVIDER_PRESET_ALIASES
169
+ ? PATCH_PROVIDER_PRESET_ALIASES[requestedName]
170
+ : requestedName;
175
171
  if (presetName in PATCH_PROVIDER_PRESETS) {
176
172
  return PATCH_PROVIDER_PRESETS[presetName];
177
173
  }
178
174
  const supported = Object.keys(PATCH_PROVIDER_PRESETS).join(", ");
179
- throw new Error(`Unsupported OpenCode patch preset: ${name}. Supported presets: ${supported}`);
175
+ const aliases = Object.keys(PATCH_PROVIDER_PRESET_ALIASES).join(", ");
176
+ throw new Error(`Unsupported OpenCode patch preset: ${name}. Supported presets: ${supported}. Compatibility aliases: ${aliases}`);
180
177
  }
181
178
  export async function applyPatchProviderPreset(presetName, options = {}) {
182
179
  const preset = resolvePatchProviderPreset(presetName);