@reinamaccredy/oh-my-opencode 3.0.1-beta.3 → 3.1.0-beta.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.
package/README.md CHANGED
@@ -820,6 +820,34 @@ When both `oh-my-opencode.jsonc` and `oh-my-opencode.json` files exist, `.jsonc`
820
820
  }
821
821
  ```
822
822
 
823
+ ### ProxyPal Mode (Fork Feature)
824
+
825
+ This fork adds ProxyPal model integration via the `opencode-openai-codex-auth` plugin. Enable ProxyPal mode to use GPT-5.2 and GPT-5.1 models:
826
+
827
+ ```json
828
+ {
829
+ "proxypal_mode": true
830
+ }
831
+ ```
832
+
833
+ **During Installation:**
834
+ ```bash
835
+ bunx @reinamaccredy/oh-my-opencode install --proxypal=yes
836
+ ```
837
+
838
+ **ProxyPal Models Available:**
839
+ - **Agent Models**: `proxypal/gpt-5.2-codex`, `proxypal/gpt-5.1-codex`, `proxypal/gpt-5.1-codex-mini`
840
+ - **Category Models**: Used for task delegation with different reasoning effort levels
841
+
842
+ **Requirements:**
843
+ 1. Install the ProxyPal auth plugin: `opencode-openai-codex-auth@4.3.0`
844
+ 2. Configure provider/models in `opencode.json` (see [Installation > OpenAI](#openai-chatgpt-pluspro))
845
+ 3. Authenticate with ChatGPT Plus/Pro subscription
846
+
847
+ **See Also:**
848
+ - [Fork Architecture Documentation](#fork-architecture) (in `AGENTS.md`)
849
+ - [Upstream Sync Strategy](#upstream-sync-strategy) (in `AGENTS.md`)
850
+
823
851
  ### Google Auth
824
852
 
825
853
  **Recommended**: Use the external [`opencode-antigravity-auth`](https://github.com/NoeFabris/opencode-antigravity-auth) plugin. It provides multi-account load balancing, more models (including Claude via Antigravity), and active maintenance. See [Installation > Google Gemini](#google-gemini-antigravity-oauth).
package/dist/cli/index.js CHANGED
@@ -26,6 +26,7 @@ var __export = (target, all) => {
26
26
  set: (newValue) => all[name] = () => newValue
27
27
  });
28
28
  };
29
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
29
30
  var __require = import.meta.require;
30
31
 
31
32
  // node_modules/commander/lib/error.js
@@ -2249,11 +2250,38 @@ var require_picocolors = __commonJS((exports, module) => {
2249
2250
  module.exports.createColors = createColors;
2250
2251
  });
2251
2252
 
2253
+ // src/fork/proxypal/models.ts
2254
+ var PROXYPAL_AGENT_MODELS, PROXYPAL_CATEGORY_MODELS;
2255
+ var init_models = __esm(() => {
2256
+ PROXYPAL_AGENT_MODELS = {
2257
+ oracle: "proxypal/gpt-5.2-codex",
2258
+ "Momus (Plan Reviewer)": "proxypal/gpt-5.2-codex",
2259
+ "Metis (Plan Consultant)": "proxypal/gemini-claude-opus-4-5-thinking",
2260
+ librarian: "proxypal/gemini-claude-opus-4-5-thinking",
2261
+ explore: "proxypal/gemini-3-flash-preview",
2262
+ "frontend-ui-ux-engineer": "proxypal/gemini-3-pro-preview",
2263
+ "document-writer": "proxypal/gemini-3-flash-preview",
2264
+ "multimodal-looker": "proxypal/gemini-3-flash-preview",
2265
+ Sisyphus: "proxypal/gemini-claude-opus-4-5-thinking",
2266
+ "orchestrator-sisyphus": "proxypal/gemini-claude-sonnet-4-5-thinking",
2267
+ "Sisyphus-Junior": "proxypal/gemini-claude-sonnet-4-5-thinking"
2268
+ };
2269
+ PROXYPAL_CATEGORY_MODELS = {
2270
+ "visual-engineering": "proxypal/gemini-3-pro-preview",
2271
+ ultrabrain: "proxypal/gpt-5.2-codex",
2272
+ artistry: "proxypal/gemini-3-pro-preview",
2273
+ quick: "proxypal/gemini-3-flash-preview",
2274
+ "most-capable": "proxypal/gemini-claude-opus-4-5-thinking",
2275
+ writing: "proxypal/gemini-3-flash-preview",
2276
+ general: "proxypal/gemini-claude-sonnet-4-5-thinking"
2277
+ };
2278
+ });
2279
+
2252
2280
  // package.json
2253
2281
  var require_package = __commonJS((exports, module) => {
2254
2282
  module.exports = {
2255
2283
  name: "@reinamaccredy/oh-my-opencode",
2256
- version: "3.0.1-beta.3",
2284
+ version: "3.1.0-beta.1",
2257
2285
  description: "Fork of oh-my-opencode with Maestro workflow integration - Multi-Model Orchestration, Parallel Background Agents, Design Phases, and TDD Methodology",
2258
2286
  main: "dist/index.js",
2259
2287
  types: "dist/index.d.ts",
@@ -2318,7 +2346,7 @@ var require_package = __commonJS((exports, module) => {
2318
2346
  "@openauthjs/openauth": "^0.4.3",
2319
2347
  "@opencode-ai/plugin": "^1.1.1",
2320
2348
  "@opencode-ai/sdk": "^1.1.1",
2321
- "@reinamaccredy/oh-my-opencode": "^3.0.0-beta.13",
2349
+ "@reinamaccredy/oh-my-opencode": "^3.0.1-beta.3",
2322
2350
  commander: "^14.0.2",
2323
2351
  hono: "^4.10.4",
2324
2352
  "js-yaml": "^4.1.1",
@@ -6480,6 +6508,8 @@ function detectConfigFile(basePath) {
6480
6508
  }
6481
6509
  return { format: "none", path: jsonPath };
6482
6510
  }
6511
+ // src/shared/migration.ts
6512
+ init_models();
6483
6513
  // src/shared/opencode-config-dir.ts
6484
6514
  import { existsSync as existsSync2 } from "fs";
6485
6515
  import { homedir } from "os";
@@ -6555,6 +6585,7 @@ function getOpenCodeConfigPaths(options) {
6555
6585
  // src/shared/opencode-version.ts
6556
6586
  var NOT_CACHED = Symbol("NOT_CACHED");
6557
6587
  // src/cli/config-manager.ts
6588
+ init_models();
6558
6589
  var OPENCODE_BINARIES = ["opencode", "opencode-desktop"];
6559
6590
  var configContext = null;
6560
6591
  function initConfigContext(binary2, version) {
@@ -6728,32 +6759,33 @@ function deepMerge(target, source) {
6728
6759
  }
6729
6760
  function generateOmoConfig(installConfig) {
6730
6761
  const config = {
6731
- $schema: "https://raw.githubusercontent.com/ReinaMacCredy/oh-my-opencode/main/assets/oh-my-opencode.schema.json"
6762
+ $schema: "https://raw.githubusercontent.com/ReinaMacCredy/oh-my-opencode/main/assets/oh-my-opencode.schema.json",
6763
+ proxypal_mode: installConfig.hasProxyPal
6732
6764
  };
6733
6765
  if (installConfig.hasProxyPal || installConfig.hasGemini) {}
6734
6766
  const agents = {};
6735
6767
  if (installConfig.hasProxyPal) {
6736
- agents["Sisyphus"] = { model: "proxypal/gemini-claude-opus-4-5-thinking" };
6737
- agents["librarian"] = { model: "proxypal/gemini-claude-opus-4-5-thinking" };
6738
- agents["explore"] = { model: "proxypal/gemini-3-flash-preview" };
6739
- agents["frontend-ui-ux-engineer"] = { model: "proxypal/gemini-3-pro-preview" };
6740
- agents["document-writer"] = { model: "proxypal/gemini-3-flash-preview" };
6741
- agents["multimodal-looker"] = { model: "proxypal/gemini-3-flash-preview" };
6742
- agents["orchestrator-sisyphus"] = { model: "proxypal/gemini-claude-sonnet-4-5-thinking" };
6743
- agents["Prometheus (Planner)"] = { model: "proxypal/gemini-claude-opus-4-5-thinking" };
6744
- agents["Metis (Plan Consultant)"] = { model: "proxypal/gemini-claude-opus-4-5-thinking" };
6745
- agents["oracle"] = { model: "proxypal/gpt-5.2-codex" };
6746
- agents["Momus (Plan Reviewer)"] = { model: "proxypal/gpt-5.2-codex" };
6768
+ agents["Sisyphus"] = { model: PROXYPAL_AGENT_MODELS.Sisyphus };
6769
+ agents["librarian"] = { model: PROXYPAL_AGENT_MODELS.librarian };
6770
+ agents["explore"] = { model: PROXYPAL_AGENT_MODELS.explore };
6771
+ agents["frontend-ui-ux-engineer"] = { model: PROXYPAL_AGENT_MODELS["frontend-ui-ux-engineer"] };
6772
+ agents["document-writer"] = { model: PROXYPAL_AGENT_MODELS["document-writer"] };
6773
+ agents["multimodal-looker"] = { model: PROXYPAL_AGENT_MODELS["multimodal-looker"] };
6774
+ agents["orchestrator-sisyphus"] = { model: PROXYPAL_AGENT_MODELS["orchestrator-sisyphus"] };
6775
+ agents["Prometheus (Planner)"] = { model: PROXYPAL_AGENT_MODELS.Sisyphus };
6776
+ agents["Metis (Plan Consultant)"] = { model: PROXYPAL_AGENT_MODELS.Sisyphus };
6777
+ agents["oracle"] = { model: PROXYPAL_AGENT_MODELS.oracle };
6778
+ agents["Momus (Plan Reviewer)"] = { model: PROXYPAL_AGENT_MODELS["Momus (Plan Reviewer)"] };
6747
6779
  } else if (installConfig.hasGemini) {
6748
- agents["Sisyphus"] = { model: "proxypal/gemini-claude-opus-4-5-thinking" };
6749
- agents["librarian"] = { model: "proxypal/gemini-claude-opus-4-5-thinking" };
6750
- agents["explore"] = { model: "proxypal/gemini-3-flash-preview" };
6751
- agents["frontend-ui-ux-engineer"] = { model: "proxypal/gemini-3-pro-preview" };
6752
- agents["document-writer"] = { model: "proxypal/gemini-3-flash-preview" };
6753
- agents["multimodal-looker"] = { model: "proxypal/gemini-3-flash-preview" };
6754
- agents["orchestrator-sisyphus"] = { model: "proxypal/gemini-claude-sonnet-4-5-thinking" };
6755
- agents["Prometheus (Planner)"] = { model: "proxypal/gemini-claude-opus-4-5-thinking" };
6756
- agents["Metis (Plan Consultant)"] = { model: "proxypal/gemini-claude-opus-4-5-thinking" };
6780
+ agents["Sisyphus"] = { model: PROXYPAL_AGENT_MODELS.Sisyphus };
6781
+ agents["librarian"] = { model: PROXYPAL_AGENT_MODELS.librarian };
6782
+ agents["explore"] = { model: PROXYPAL_AGENT_MODELS.explore };
6783
+ agents["frontend-ui-ux-engineer"] = { model: PROXYPAL_AGENT_MODELS["frontend-ui-ux-engineer"] };
6784
+ agents["document-writer"] = { model: PROXYPAL_AGENT_MODELS["document-writer"] };
6785
+ agents["multimodal-looker"] = { model: PROXYPAL_AGENT_MODELS["multimodal-looker"] };
6786
+ agents["orchestrator-sisyphus"] = { model: PROXYPAL_AGENT_MODELS["orchestrator-sisyphus"] };
6787
+ agents["Prometheus (Planner)"] = { model: PROXYPAL_AGENT_MODELS.Sisyphus };
6788
+ agents["Metis (Plan Consultant)"] = { model: PROXYPAL_AGENT_MODELS.Sisyphus };
6757
6789
  } else if (installConfig.hasClaude) {
6758
6790
  agents["Sisyphus"] = { model: "anthropic/claude-opus-4-5" };
6759
6791
  agents["librarian"] = { model: "anthropic/claude-sonnet-4-5" };
@@ -6771,8 +6803,8 @@ function generateOmoConfig(installConfig) {
6771
6803
  }
6772
6804
  if (!installConfig.hasProxyPal) {
6773
6805
  if (installConfig.hasChatGPT) {
6774
- agents["oracle"] = { model: "proxypal/gpt-5.2-codex" };
6775
- agents["Momus (Plan Reviewer)"] = { model: "proxypal/gpt-5.2-codex" };
6806
+ agents["oracle"] = { model: PROXYPAL_AGENT_MODELS.oracle };
6807
+ agents["Momus (Plan Reviewer)"] = { model: PROXYPAL_AGENT_MODELS["Momus (Plan Reviewer)"] };
6776
6808
  } else if (installConfig.hasClaude) {
6777
6809
  agents["oracle"] = { model: "anthropic/claude-opus-4-5" };
6778
6810
  agents["Momus (Plan Reviewer)"] = { model: "anthropic/claude-opus-4-5" };
@@ -6785,27 +6817,27 @@ function generateOmoConfig(installConfig) {
6785
6817
  }
6786
6818
  if (installConfig.hasProxyPal) {
6787
6819
  config.categories = {
6788
- "visual-engineering": { model: "proxypal/gemini-3-pro-preview" },
6789
- ultrabrain: { model: "proxypal/gpt-5.2-codex" },
6790
- artistry: { model: "proxypal/gemini-3-pro-preview" },
6791
- quick: { model: "proxypal/gemini-3-flash-preview" },
6792
- "most-capable": { model: "proxypal/gemini-claude-opus-4-5-thinking" },
6793
- writing: { model: "proxypal/gemini-3-flash-preview" },
6794
- general: { model: "proxypal/gemini-claude-opus-4-5-thinking" }
6820
+ "visual-engineering": { model: PROXYPAL_CATEGORY_MODELS["visual-engineering"] },
6821
+ ultrabrain: { model: PROXYPAL_CATEGORY_MODELS.ultrabrain },
6822
+ artistry: { model: PROXYPAL_CATEGORY_MODELS.artistry },
6823
+ quick: { model: PROXYPAL_CATEGORY_MODELS.quick },
6824
+ "most-capable": { model: PROXYPAL_CATEGORY_MODELS["most-capable"] },
6825
+ writing: { model: PROXYPAL_CATEGORY_MODELS.writing },
6826
+ general: { model: PROXYPAL_CATEGORY_MODELS.general }
6795
6827
  };
6796
6828
  } else if (installConfig.hasGemini) {
6797
6829
  config.categories = {
6798
- "visual-engineering": { model: "proxypal/gemini-3-pro-preview" },
6799
- ultrabrain: { model: "proxypal/gpt-5.2-codex" },
6800
- artistry: { model: "proxypal/gemini-3-pro-preview" },
6801
- quick: { model: "proxypal/gemini-3-flash-preview" },
6802
- "most-capable": { model: "proxypal/gemini-claude-opus-4-5-thinking" },
6803
- writing: { model: "proxypal/gemini-3-flash-preview" },
6804
- general: { model: "proxypal/gemini-claude-opus-4-5-thinking" }
6830
+ "visual-engineering": { model: PROXYPAL_CATEGORY_MODELS["visual-engineering"] },
6831
+ ultrabrain: { model: PROXYPAL_CATEGORY_MODELS.ultrabrain },
6832
+ artistry: { model: PROXYPAL_CATEGORY_MODELS.artistry },
6833
+ quick: { model: PROXYPAL_CATEGORY_MODELS.quick },
6834
+ "most-capable": { model: PROXYPAL_CATEGORY_MODELS["most-capable"] },
6835
+ writing: { model: PROXYPAL_CATEGORY_MODELS.writing },
6836
+ general: { model: PROXYPAL_CATEGORY_MODELS.general }
6805
6837
  };
6806
6838
  } else if (installConfig.hasChatGPT) {
6807
6839
  config.categories = {
6808
- ultrabrain: { model: "proxypal/gpt-5.2-codex" }
6840
+ ultrabrain: { model: PROXYPAL_CATEGORY_MODELS.ultrabrain }
6809
6841
  };
6810
6842
  }
6811
6843
  return config;
@@ -7149,7 +7181,7 @@ function detectCurrentConfig() {
7149
7181
  return result;
7150
7182
  }
7151
7183
  const agents = omoConfig.agents ?? {};
7152
- if (agents["Sisyphus"]?.model?.startsWith("proxypal/")) {
7184
+ if (agents["Sisyphus"]?.model?.includes("proxypal/") || agents["Sisyphus"]?.model?.includes("openai/")) {
7153
7185
  result.hasProxyPal = true;
7154
7186
  result.hasClaude = false;
7155
7187
  result.isMax20 = false;
@@ -22329,7 +22361,7 @@ function date4(params) {
22329
22361
  config(en_default());
22330
22362
  // src/config/schema.ts
22331
22363
  var McpNameSchema = exports_external.enum(["context7", "grep_app", "websearch"]);
22332
- var AnyMcpNameSchema = exports_external.union([McpNameSchema, exports_external.string()]);
22364
+ var AnyMcpNameSchema = exports_external.union([McpNameSchema, exports_external.string().min(1)]);
22333
22365
  var PermissionValue = exports_external.enum(["ask", "allow", "deny"]);
22334
22366
  var BashPermission = exports_external.union([
22335
22367
  PermissionValue,
package/dist/index.js CHANGED
@@ -43,6 +43,47 @@ var __export = (target, all) => {
43
43
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
44
44
  var __require = import.meta.require;
45
45
 
46
+ // src/fork/proxypal/models.ts
47
+ function isProxyPalGptModel(model) {
48
+ return model.startsWith("proxypal/") && model.includes("gpt-");
49
+ }
50
+ function getGptReasoningEffort(model) {
51
+ return isProxyPalGptModel(model) ? "xhigh" : "medium";
52
+ }
53
+ var PROXYPAL_AGENT_MODELS, PROXYPAL_CATEGORY_MODELS, GOOGLE_TO_PROXYPAL_MODEL_MAP;
54
+ var init_models = __esm(() => {
55
+ PROXYPAL_AGENT_MODELS = {
56
+ oracle: "proxypal/gpt-5.2-codex",
57
+ "Momus (Plan Reviewer)": "proxypal/gpt-5.2-codex",
58
+ "Metis (Plan Consultant)": "proxypal/gemini-claude-opus-4-5-thinking",
59
+ librarian: "proxypal/gemini-claude-opus-4-5-thinking",
60
+ explore: "proxypal/gemini-3-flash-preview",
61
+ "frontend-ui-ux-engineer": "proxypal/gemini-3-pro-preview",
62
+ "document-writer": "proxypal/gemini-3-flash-preview",
63
+ "multimodal-looker": "proxypal/gemini-3-flash-preview",
64
+ Sisyphus: "proxypal/gemini-claude-opus-4-5-thinking",
65
+ "orchestrator-sisyphus": "proxypal/gemini-claude-sonnet-4-5-thinking",
66
+ "Sisyphus-Junior": "proxypal/gemini-claude-sonnet-4-5-thinking"
67
+ };
68
+ PROXYPAL_CATEGORY_MODELS = {
69
+ "visual-engineering": "proxypal/gemini-3-pro-preview",
70
+ ultrabrain: "proxypal/gpt-5.2-codex",
71
+ artistry: "proxypal/gemini-3-pro-preview",
72
+ quick: "proxypal/gemini-3-flash-preview",
73
+ "most-capable": "proxypal/gemini-claude-opus-4-5-thinking",
74
+ writing: "proxypal/gemini-3-flash-preview",
75
+ general: "proxypal/gemini-claude-sonnet-4-5-thinking"
76
+ };
77
+ GOOGLE_TO_PROXYPAL_MODEL_MAP = {
78
+ "google/gemini-3-pro-preview": "proxypal/gemini-3-pro-preview",
79
+ "google/gemini-3-flash-preview": "proxypal/gemini-3-flash-preview",
80
+ "google/gemini-3-flash": "proxypal/gemini-3-flash-preview",
81
+ "google/gemini-3-pro": "proxypal/gemini-3-pro-preview",
82
+ "google/gemini-3-pro-high": "proxypal/gemini-3-pro-preview",
83
+ "google/gemini-3-pro-low": "proxypal/gemini-3-pro-preview"
84
+ };
85
+ });
86
+
46
87
  // src/tools/sisyphus-task/constants.ts
47
88
  var exports_constants = {};
48
89
  __export(exports_constants, {
@@ -229,33 +270,34 @@ EXPECTED OUTPUT:
229
270
  The more explicit your prompt, the better the results.
230
271
  </Caller_Warning>`, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS, CATEGORY_DESCRIPTIONS, BUILTIN_CATEGORIES, SISYPHUS_TASK_DESCRIPTION;
231
272
  var init_constants = __esm(() => {
273
+ init_models();
232
274
  DEFAULT_CATEGORIES = {
233
275
  "visual-engineering": {
234
- model: "proxypal/gemini-3-pro-preview",
276
+ model: PROXYPAL_CATEGORY_MODELS["visual-engineering"],
235
277
  temperature: 0.7
236
278
  },
237
279
  ultrabrain: {
238
- model: "proxypal/gpt-5.2-codex",
280
+ model: PROXYPAL_CATEGORY_MODELS.ultrabrain,
239
281
  temperature: 0.1
240
282
  },
241
283
  artistry: {
242
- model: "proxypal/gemini-3-pro-preview",
284
+ model: PROXYPAL_CATEGORY_MODELS.artistry,
243
285
  temperature: 0.9
244
286
  },
245
287
  quick: {
246
- model: "proxypal/gemini-3-flash-preview",
288
+ model: PROXYPAL_CATEGORY_MODELS.quick,
247
289
  temperature: 0.3
248
290
  },
249
291
  "most-capable": {
250
- model: "proxypal/gemini-claude-opus-4-5-thinking",
292
+ model: PROXYPAL_CATEGORY_MODELS["most-capable"],
251
293
  temperature: 0.1
252
294
  },
253
295
  writing: {
254
- model: "proxypal/gemini-3-flash-preview",
296
+ model: PROXYPAL_CATEGORY_MODELS.writing,
255
297
  temperature: 0.5
256
298
  },
257
299
  general: {
258
- model: "proxypal/gemini-claude-sonnet-4-5-thinking",
300
+ model: PROXYPAL_CATEGORY_MODELS.general,
259
301
  temperature: 0.3
260
302
  }
261
303
  };
@@ -9897,6 +9939,7 @@ function detectConfigFile(basePath) {
9897
9939
  }
9898
9940
  // src/shared/migration.ts
9899
9941
  import * as fs6 from "fs";
9942
+ init_models();
9900
9943
  var AGENT_NAME_MAP = {
9901
9944
  omo: "Sisyphus",
9902
9945
  OmO: "Sisyphus",
@@ -9919,17 +9962,10 @@ var AGENT_NAME_MAP = {
9919
9962
  var HOOK_NAME_MAP = {
9920
9963
  "anthropic-auto-compact": "anthropic-context-window-limit-recovery"
9921
9964
  };
9922
- var GOOGLE_TO_PROXYPAL_MODEL_MAP = {
9923
- "google/gemini-3-pro-preview": "proxypal/gemini-3-pro-preview",
9924
- "google/gemini-3-flash-preview": "proxypal/gemini-3-flash-preview",
9925
- "google/gemini-3-flash": "proxypal/gemini-3-flash-preview",
9926
- "google/gemini-3-pro": "proxypal/gemini-3-pro-preview",
9927
- "google/gemini-3-pro-high": "proxypal/gemini-3-pro-preview",
9928
- "google/gemini-3-pro-low": "proxypal/gemini-3-pro-preview"
9929
- };
9965
+ var GOOGLE_TO_PROXYPAL_MODEL_MAP2 = GOOGLE_TO_PROXYPAL_MODEL_MAP;
9930
9966
  var MODEL_TO_CATEGORY_MAP = {};
9931
9967
  function migrateGoogleToProxypalModel(model) {
9932
- const proxypalModel = GOOGLE_TO_PROXYPAL_MODEL_MAP[model];
9968
+ const proxypalModel = GOOGLE_TO_PROXYPAL_MODEL_MAP2[model];
9933
9969
  if (proxypalModel) {
9934
9970
  return { migrated: proxypalModel, changed: true };
9935
9971
  }
@@ -12531,6 +12567,7 @@ function invalidatePackage(packageName = PACKAGE_NAME) {
12531
12567
  }
12532
12568
 
12533
12569
  // src/cli/config-manager.ts
12570
+ init_models();
12534
12571
  var configContext = null;
12535
12572
  function getConfigContext() {
12536
12573
  if (!configContext) {
@@ -15328,14 +15365,14 @@ to resume: sisyphus_task(resume="${sessionId}", prompt="...")`;
15328
15365
  "tool.execute.after": toolExecuteAfter
15329
15366
  };
15330
15367
  }
15331
- // src/features/boulder-state/constants.ts
15368
+ // src/plugins/maestro/features/boulder-state/constants.ts
15332
15369
  var BOULDER_DIR = ".sisyphus";
15333
15370
  var BOULDER_FILE = "boulder.json";
15334
15371
  var BOULDER_STATE_PATH = `${BOULDER_DIR}/${BOULDER_FILE}`;
15335
15372
  var NOTEPAD_DIR = "notepads";
15336
15373
  var NOTEPAD_BASE_PATH = `${BOULDER_DIR}/${NOTEPAD_DIR}`;
15337
15374
  var PROMETHEUS_PLANS_DIR = ".sisyphus/plans";
15338
- // src/features/boulder-state/storage.ts
15375
+ // src/plugins/maestro/features/boulder-state/storage.ts
15339
15376
  import { existsSync as existsSync38, readFileSync as readFileSync25, writeFileSync as writeFileSync15, mkdirSync as mkdirSync11, readdirSync as readdirSync13 } from "fs";
15340
15377
  import { dirname as dirname9, join as join46, basename as basename3 } from "path";
15341
15378
  function getBoulderFilePath(directory) {
@@ -15424,7 +15461,7 @@ function createBoulderState(planPath, sessionId) {
15424
15461
  plan_name: getPlanName(planPath)
15425
15462
  };
15426
15463
  }
15427
- // src/features/boulder-state/unified-state.ts
15464
+ // src/plugins/maestro/features/boulder-state/unified-state.ts
15428
15465
  import { existsSync as existsSync39, readFileSync as readFileSync26, writeFileSync as writeFileSync16, mkdirSync as mkdirSync12, readdirSync as readdirSync14 } from "fs";
15429
15466
  import { join as join47, dirname as dirname10, basename as basename4 } from "path";
15430
15467
  var UNIFIED_STATE_FILE = "workflow-state.json";
@@ -16233,11 +16270,11 @@ ${buildStandaloneVerificationReminder(subagentSessionId)}
16233
16270
  }
16234
16271
  };
16235
16272
  }
16236
- // src/hooks/maestro-sisyphus-bridge/index.ts
16273
+ // src/plugins/maestro/hooks/sisyphus-bridge/index.ts
16237
16274
  import { existsSync as existsSync41, readdirSync as readdirSync16, statSync as statSync4, watch } from "fs";
16238
16275
  import { join as join49, basename as basename5 } from "path";
16239
16276
 
16240
- // src/hooks/maestro-sisyphus-bridge/constants.ts
16277
+ // src/plugins/maestro/hooks/sisyphus-bridge/constants.ts
16241
16278
  var HOOK_NAME7 = "maestro-sisyphus-bridge";
16242
16279
  var PLAN_READY_PROMPT = `
16243
16280
  ## Plan Ready for Execution
@@ -16285,7 +16322,7 @@ You are operating within a Maestro workflow at **Phase $PHASE/10**:
16285
16322
  Respect the current phase constraints. Do not skip ahead.
16286
16323
  `;
16287
16324
 
16288
- // src/hooks/maestro-sisyphus-bridge/index.ts
16325
+ // src/plugins/maestro/hooks/sisyphus-bridge/index.ts
16289
16326
  var emittedPlans = new Set;
16290
16327
  var currentDesignPhase = null;
16291
16328
  var workflowProgress = null;
@@ -16425,7 +16462,7 @@ ${workflowProgress.currentTask ? `**Current Task**: ${workflowProgress.currentTa
16425
16462
  }
16426
16463
  };
16427
16464
  }
16428
- // src/hooks/tdd-enforcement/constants.ts
16465
+ // src/plugins/maestro/hooks/tdd-enforcement/constants.ts
16429
16466
  var HOOK_NAME8 = "tdd-enforcement";
16430
16467
  var TDD_PHASES = {
16431
16468
  RED: "red",
@@ -16512,7 +16549,7 @@ var TEST_FILE_PATTERNS = [
16512
16549
  "test_"
16513
16550
  ];
16514
16551
 
16515
- // src/hooks/tdd-enforcement/index.ts
16552
+ // src/plugins/maestro/hooks/tdd-enforcement/index.ts
16516
16553
  var sessionTddPhase = new Map;
16517
16554
  var sessionHasFailingTest = new Map;
16518
16555
  var sessionTestsPassing = new Map;
@@ -33787,6 +33824,7 @@ function initTaskToastManager(client2, concurrencyManager) {
33787
33824
  return instance;
33788
33825
  }
33789
33826
  // src/tools/sisyphus-task/tools.ts
33827
+ init_models();
33790
33828
  var SISYPHUS_JUNIOR_AGENT = "Sisyphus-Junior";
33791
33829
  var CATEGORY_EXAMPLES = Object.keys(DEFAULT_CATEGORIES).map((k) => `'${k}'`).join(", ");
33792
33830
  function parseModelString(model) {
@@ -33830,7 +33868,7 @@ function resolveCategoryConfig(categoryName, userCategories) {
33830
33868
  const config3 = {
33831
33869
  ...defaultConfig,
33832
33870
  ...userConfig,
33833
- model: userConfig?.model ?? defaultConfig?.model ?? "proxypal/gemini-claude-sonnet-4-5-thinking"
33871
+ model: userConfig?.model ?? defaultConfig?.model ?? PROXYPAL_AGENT_MODELS["Sisyphus-Junior"]
33834
33872
  };
33835
33873
  let promptAppend = defaultPromptAppend;
33836
33874
  if (userConfig?.prompt_append) {
@@ -34969,7 +35007,7 @@ import * as path8 from "path";
34969
35007
 
34970
35008
  // src/config/schema.ts
34971
35009
  var McpNameSchema = exports_external.enum(["context7", "grep_app", "websearch"]);
34972
- var AnyMcpNameSchema = exports_external.union([McpNameSchema, exports_external.string()]);
35010
+ var AnyMcpNameSchema = exports_external.union([McpNameSchema, exports_external.string().min(1)]);
34973
35011
  var PermissionValue = exports_external.enum(["ask", "allow", "deny"]);
34974
35012
  var BashPermission = exports_external.union([
34975
35013
  PermissionValue,
@@ -35343,15 +35381,11 @@ function getModelLimit(state2, providerID, modelID) {
35343
35381
  }
35344
35382
 
35345
35383
  // src/agents/types.ts
35384
+ init_models();
35346
35385
  function isGptModel(model) {
35347
35386
  return model.startsWith("openai/") || model.startsWith("github-copilot/gpt-") || model.includes("/gpt-");
35348
35387
  }
35349
- function isProxyPalGptModel(model) {
35350
- return model.startsWith("proxypal/") && model.includes("gpt-");
35351
- }
35352
- function getGptReasoningEffort(model) {
35353
- return isProxyPalGptModel(model) ? "xhigh" : "medium";
35354
- }
35388
+ var getGptReasoningEffort2 = getGptReasoningEffort;
35355
35389
 
35356
35390
  // src/agents/sisyphus-prompt-builder.ts
35357
35391
  function categorizeTools(toolNames) {
@@ -35601,7 +35635,8 @@ ${patterns.join(`
35601
35635
  }
35602
35636
 
35603
35637
  // src/agents/sisyphus.ts
35604
- var DEFAULT_MODEL = "proxypal/gemini-claude-opus-4-5-thinking";
35638
+ init_models();
35639
+ var DEFAULT_MODEL = PROXYPAL_AGENT_MODELS.Sisyphus;
35605
35640
  var SISYPHUS_ROLE_SECTION = `<Role>
35606
35641
  You are "Sisyphus" - Powerful AI Agent with orchestration capabilities from OhMyOpenCode.
35607
35642
 
@@ -36222,14 +36257,15 @@ function createSisyphusAgent(model = DEFAULT_MODEL, availableAgents, availableTo
36222
36257
  tools: { call_omo_agent: false }
36223
36258
  };
36224
36259
  if (isGptModel(model)) {
36225
- return { ...base, reasoningEffort: getGptReasoningEffort(model) };
36260
+ return { ...base, reasoningEffort: getGptReasoningEffort2(model) };
36226
36261
  }
36227
36262
  return { ...base, thinking: { type: "enabled", budgetTokens: 32000 } };
36228
36263
  }
36229
36264
  var sisyphusAgent = createSisyphusAgent();
36230
36265
 
36231
36266
  // src/agents/oracle.ts
36232
- var DEFAULT_MODEL2 = "proxypal/gpt-5.2-codex";
36267
+ init_models();
36268
+ var DEFAULT_MODEL2 = PROXYPAL_AGENT_MODELS.oracle;
36233
36269
  var ORACLE_PROMPT_METADATA = {
36234
36270
  category: "advisor",
36235
36271
  cost: "EXPENSIVE",
@@ -36335,14 +36371,15 @@ function createOracleAgent(model = DEFAULT_MODEL2) {
36335
36371
  prompt: ORACLE_SYSTEM_PROMPT
36336
36372
  };
36337
36373
  if (isGptModel(model)) {
36338
- return { ...base, reasoningEffort: getGptReasoningEffort(model), textVerbosity: "high" };
36374
+ return { ...base, reasoningEffort: getGptReasoningEffort2(model), textVerbosity: "high" };
36339
36375
  }
36340
36376
  return { ...base, thinking: { type: "enabled", budgetTokens: 32000 } };
36341
36377
  }
36342
36378
  var oracleAgent = createOracleAgent();
36343
36379
 
36344
36380
  // src/agents/librarian.ts
36345
- var DEFAULT_MODEL3 = "proxypal/gemini-claude-opus-4-5-thinking";
36381
+ init_models();
36382
+ var DEFAULT_MODEL3 = PROXYPAL_AGENT_MODELS.librarian;
36346
36383
  var LIBRARIAN_PROMPT_METADATA = {
36347
36384
  category: "exploration",
36348
36385
  cost: "CHEAP",
@@ -36775,7 +36812,8 @@ Flood with parallel calls. Cross-validate findings across multiple tools.`
36775
36812
  var exploreAgent = createExploreAgent();
36776
36813
 
36777
36814
  // src/agents/frontend-ui-ux-engineer.ts
36778
- var DEFAULT_MODEL5 = "proxypal/gemini-3-pro-preview";
36815
+ init_models();
36816
+ var DEFAULT_MODEL5 = PROXYPAL_AGENT_MODELS["frontend-ui-ux-engineer"];
36779
36817
  var FRONTEND_PROMPT_METADATA = {
36780
36818
  category: "specialist",
36781
36819
  cost: "CHEAP",
@@ -36875,7 +36913,8 @@ Interpret creatively and make unexpected choices that feel genuinely designed fo
36875
36913
  var frontendUiUxEngineerAgent = createFrontendUiUxEngineerAgent();
36876
36914
 
36877
36915
  // src/agents/document-writer.ts
36878
- var DEFAULT_MODEL6 = "proxypal/gemini-3-flash-preview";
36916
+ init_models();
36917
+ var DEFAULT_MODEL6 = PROXYPAL_AGENT_MODELS["document-writer"];
36879
36918
  var DOCUMENT_WRITER_PROMPT_METADATA = {
36880
36919
  category: "specialist",
36881
36920
  cost: "CHEAP",
@@ -37090,7 +37129,8 @@ You are a technical writer who creates documentation that developers actually wa
37090
37129
  var documentWriterAgent = createDocumentWriterAgent();
37091
37130
 
37092
37131
  // src/agents/multimodal-looker.ts
37093
- var DEFAULT_MODEL7 = "proxypal/gemini-3-flash-preview";
37132
+ init_models();
37133
+ var DEFAULT_MODEL7 = PROXYPAL_AGENT_MODELS["multimodal-looker"];
37094
37134
  var MULTIMODAL_LOOKER_PROMPT_METADATA = {
37095
37135
  category: "utility",
37096
37136
  cost: "CHEAP",
@@ -37146,6 +37186,7 @@ Your output goes straight to the main agent for continued work.`
37146
37186
  var multimodalLookerAgent = createMultimodalLookerAgent();
37147
37187
 
37148
37188
  // src/agents/metis.ts
37189
+ init_models();
37149
37190
  var METIS_SYSTEM_PROMPT = `# Metis - Pre-Planning Consultant
37150
37191
 
37151
37192
  ## CONSTRAINTS
@@ -37406,7 +37447,7 @@ var metisRestrictions = createAgentToolRestrictions([
37406
37447
  "task",
37407
37448
  "sisyphus_task"
37408
37449
  ]);
37409
- var DEFAULT_MODEL8 = "proxypal/gemini-claude-opus-4-5-thinking";
37450
+ var DEFAULT_MODEL8 = PROXYPAL_AGENT_MODELS["Metis (Plan Consultant)"];
37410
37451
  function createMetisAgent(model = DEFAULT_MODEL8) {
37411
37452
  return {
37412
37453
  description: "Pre-planning consultant that analyzes requests to identify hidden intentions, ambiguities, and AI failure points.",
@@ -37422,6 +37463,7 @@ var metisAgent = createMetisAgent();
37422
37463
 
37423
37464
  // src/agents/orchestrator-sisyphus.ts
37424
37465
  init_constants();
37466
+ init_models();
37425
37467
  function buildAgentSelectionSection(agents) {
37426
37468
  if (agents.length === 0) {
37427
37469
  return `##### Option B: Use AGENT directly (for specialized experts)
@@ -38861,7 +38903,7 @@ function buildDynamicOrchestratorPrompt(ctx) {
38861
38903
  const skillsSection = buildSkillsSection(skills);
38862
38904
  return ORCHESTRATOR_SISYPHUS_SYSTEM_PROMPT.replace("{CATEGORY_SECTION}", categorySection).replace("{AGENT_SECTION}", agentSection).replace("{DECISION_MATRIX}", decisionMatrix).replace("{SKILLS_SECTION}", skillsSection);
38863
38905
  }
38864
- var DEFAULT_MODEL9 = "proxypal/gemini-claude-sonnet-4-5-thinking";
38906
+ var DEFAULT_MODEL9 = PROXYPAL_AGENT_MODELS["orchestrator-sisyphus"];
38865
38907
  function createOrchestratorSisyphusAgent(ctx) {
38866
38908
  const restrictions = createAgentToolRestrictions([
38867
38909
  "task",
@@ -38880,7 +38922,8 @@ function createOrchestratorSisyphusAgent(ctx) {
38880
38922
  var orchestratorSisyphusAgent = createOrchestratorSisyphusAgent();
38881
38923
 
38882
38924
  // src/agents/momus.ts
38883
- var DEFAULT_MODEL10 = "proxypal/gpt-5.2-codex";
38925
+ init_models();
38926
+ var DEFAULT_MODEL10 = PROXYPAL_AGENT_MODELS["Momus (Plan Reviewer)"];
38884
38927
  var MOMUS_SYSTEM_PROMPT = `You are a work plan review expert. You review the provided work plan (.sisyphus/plans/{name}.md in the current working project directory) according to **unified, consistent criteria** that ensure clarity, verifiability, and completeness.
38885
38928
 
38886
38929
  **CRITICAL FIRST RULE**:
@@ -39226,7 +39269,7 @@ function createMomusAgent(model = DEFAULT_MODEL10) {
39226
39269
  prompt: MOMUS_SYSTEM_PROMPT
39227
39270
  };
39228
39271
  if (isGptModel(model)) {
39229
- return { ...base, reasoningEffort: getGptReasoningEffort(model), textVerbosity: "high" };
39272
+ return { ...base, reasoningEffort: getGptReasoningEffort2(model), textVerbosity: "high" };
39230
39273
  }
39231
39274
  return { ...base, thinking: { type: "enabled", budgetTokens: 32000 } };
39232
39275
  }
@@ -39472,7 +39515,7 @@ function createSisyphusJuniorAgent(categoryConfig, promptAppend) {
39472
39515
  };
39473
39516
  }
39474
39517
  if (isGptModel(model)) {
39475
- return { ...base, reasoningEffort: getGptReasoningEffort(model) };
39518
+ return { ...base, reasoningEffort: getGptReasoningEffort2(model) };
39476
39519
  }
39477
39520
  return {
39478
39521
  ...base,
@@ -41166,6 +41209,9 @@ async function loadAllPluginComponents(options) {
41166
41209
  errors: errors3
41167
41210
  };
41168
41211
  }
41212
+ // src/plugin-handlers/config-handler.ts
41213
+ init_models();
41214
+
41169
41215
  // src/agents/prometheus-prompt.ts
41170
41216
  var PROMETHEUS_SYSTEM_PROMPT = `<system-reminder>
41171
41217
  # Prometheus - Strategic Planning Consultant
@@ -42185,7 +42231,7 @@ function createConfigHandler(deps) {
42185
42231
  Sisyphus: builtinAgents.Sisyphus
42186
42232
  };
42187
42233
  agentConfig["Sisyphus-Junior"] = createSisyphusJuniorAgent({
42188
- model: "proxypal/gemini-claude-sonnet-4-5-thinking",
42234
+ model: PROXYPAL_AGENT_MODELS["Sisyphus-Junior"],
42189
42235
  temperature: 0.1
42190
42236
  });
42191
42237
  if (builderEnabled) {
@@ -42204,7 +42250,7 @@ function createConfigHandler(deps) {
42204
42250
  const prometheusOverride = pluginConfig.agents?.["Prometheus (Planner)"];
42205
42251
  const defaultModel = config3.model;
42206
42252
  const prometheusBase = {
42207
- model: defaultModel ?? "proxypal/gemini-claude-opus-4-5-thinking",
42253
+ model: defaultModel ?? PROXYPAL_AGENT_MODELS.Sisyphus,
42208
42254
  mode: "primary",
42209
42255
  prompt: PROMETHEUS_SYSTEM_PROMPT,
42210
42256
  permission: PROMETHEUS_PERMISSION,
@@ -42325,10 +42371,88 @@ function createConfigHandler(deps) {
42325
42371
  };
42326
42372
  };
42327
42373
  }
42374
+ // src/fork/index.ts
42375
+ init_models();
42376
+
42377
+ // src/plugins/maestro/schema.ts
42378
+ var tddGatesConfigSchema = exports_external.object({
42379
+ requireFailingTest: exports_external.boolean().optional().describe("Require failing test before implementation"),
42380
+ requirePassingTest: exports_external.boolean().optional().describe("Require passing test after implementation"),
42381
+ runFullSuiteAfterRefactor: exports_external.boolean().optional().describe("Run full test suite after refactoring")
42382
+ }).strict().partial();
42383
+ var maestroConfigSchema = exports_external.object({
42384
+ enabled: exports_external.boolean().optional().describe("Enable Maestro workflow features"),
42385
+ boulder_state_enabled: exports_external.boolean().optional().describe("Enable boulder state management"),
42386
+ tdd_enforcement_enabled: exports_external.boolean().optional().describe("Enable TDD enforcement"),
42387
+ auto_execute: exports_external.boolean().optional().describe("Auto-execute Sisyphus on plan ready"),
42388
+ tdd_gates: tddGatesConfigSchema.optional().describe("TDD gate configuration")
42389
+ }).strict().partial();
42390
+
42391
+ // src/plugins/maestro/index.ts
42392
+ function createMaestroPlugin(ctx, maestroConfig) {
42393
+ const enabled = maestroConfig?.enabled ?? true;
42394
+ if (!enabled) {
42395
+ return {};
42396
+ }
42397
+ const bridgeHooks = createMaestroSisyphusBridgeHook(ctx, maestroConfig);
42398
+ const tddHooks = createTddEnforcementHook(ctx, maestroConfig);
42399
+ return {
42400
+ ...bridgeHooks,
42401
+ ...tddHooks
42402
+ };
42403
+ }
42404
+
42405
+ // src/fork/index.ts
42406
+ init_models();
42407
+
42408
+ // src/fork/schema-extensions.ts
42409
+ var proxypalModeSchema = exports_external.boolean().optional().describe("Enable ProxyPal models for all agents (fork-specific)");
42410
+ var forkConfigSchema = exports_external.object({
42411
+ proxypal_mode: proxypalModeSchema
42412
+ }).strict().partial();
42413
+
42414
+ // src/fork/index.ts
42415
+ function initFork(config3) {
42416
+ const proxypalMode = config3.proxypal_mode ?? false;
42417
+ if (!proxypalMode) {
42418
+ return config3;
42419
+ }
42420
+ config3.agents = config3.agents || {};
42421
+ config3.categories = config3.categories || {};
42422
+ Object.assign(config3.agents, {
42423
+ Sisyphus: { ...config3.agents["Sisyphus"], model: PROXYPAL_AGENT_MODELS.Sisyphus },
42424
+ librarian: { ...config3.agents["librarian"], model: PROXYPAL_AGENT_MODELS.librarian },
42425
+ explore: { ...config3.agents["explore"], model: PROXYPAL_AGENT_MODELS.explore },
42426
+ "frontend-ui-ux-engineer": { ...config3.agents["frontend-ui-ux-engineer"], model: PROXYPAL_AGENT_MODELS["frontend-ui-ux-engineer"] },
42427
+ "document-writer": { ...config3.agents["document-writer"], model: PROXYPAL_AGENT_MODELS["document-writer"] },
42428
+ "multimodal-looker": { ...config3.agents["multimodal-looker"], model: PROXYPAL_AGENT_MODELS["multimodal-looker"] },
42429
+ "orchestrator-sisyphus": { ...config3.agents["orchestrator-sisyphus"], model: PROXYPAL_AGENT_MODELS["orchestrator-sisyphus"] },
42430
+ "Prometheus (Planner)": { ...config3.agents["Prometheus (Planner)"], model: PROXYPAL_AGENT_MODELS.Sisyphus },
42431
+ "Metis (Plan Consultant)": { ...config3.agents["Metis (Plan Consultant)"], model: PROXYPAL_AGENT_MODELS.Sisyphus },
42432
+ oracle: { ...config3.agents["oracle"], model: PROXYPAL_AGENT_MODELS.oracle },
42433
+ "Momus (Plan Reviewer)": { ...config3.agents["Momus (Plan Reviewer)"], model: PROXYPAL_AGENT_MODELS["Momus (Plan Reviewer)"] }
42434
+ });
42435
+ Object.assign(config3.categories, {
42436
+ "visual-engineering": { model: PROXYPAL_CATEGORY_MODELS["visual-engineering"] },
42437
+ ultrabrain: { model: PROXYPAL_CATEGORY_MODELS.ultrabrain },
42438
+ artistry: { model: PROXYPAL_CATEGORY_MODELS.artistry },
42439
+ quick: { model: PROXYPAL_CATEGORY_MODELS.quick },
42440
+ "most-capable": { model: PROXYPAL_CATEGORY_MODELS["most-capable"] },
42441
+ writing: { model: PROXYPAL_CATEGORY_MODELS.writing },
42442
+ general: { model: PROXYPAL_CATEGORY_MODELS.general }
42443
+ });
42444
+ return config3;
42445
+ }
42446
+ function initMaestroHooks(ctx, config3) {
42447
+ return createMaestroPlugin(ctx, config3?.maestro);
42448
+ }
42449
+
42328
42450
  // src/index.ts
42329
42451
  var OhMyOpenCodePlugin = async (ctx) => {
42330
42452
  startBackgroundCheck2();
42331
- const pluginConfig = loadPluginConfig(ctx.directory, ctx);
42453
+ let pluginConfig = loadPluginConfig(ctx.directory, ctx);
42454
+ pluginConfig = initFork(pluginConfig);
42455
+ const maestroHooks = initMaestroHooks(ctx, pluginConfig);
42332
42456
  const disabledHooks = new Set(pluginConfig.disabled_hooks ?? []);
42333
42457
  const isHookEnabled = (hookName) => !disabledHooks.has(hookName);
42334
42458
  const modelCacheState = createModelCacheState();
@@ -42391,8 +42515,6 @@ var OhMyOpenCodePlugin = async (ctx) => {
42391
42515
  const editErrorRecovery = isHookEnabled("edit-error-recovery") ? createEditErrorRecoveryHook(ctx) : null;
42392
42516
  const startWork = isHookEnabled("start-work") ? createStartWorkHook(ctx) : null;
42393
42517
  const sisyphusOrchestrator = isHookEnabled("sisyphus-orchestrator") ? createSisyphusOrchestratorHook(ctx) : null;
42394
- const tddEnforcement = isHookEnabled("tdd-enforcement") ? createTddEnforcementHook(ctx, pluginConfig.maestro) : null;
42395
- const maestroSisyphusBridge = isHookEnabled("maestro-sisyphus-bridge") ? createMaestroSisyphusBridgeHook(ctx, pluginConfig.maestro) : null;
42396
42518
  const prometheusMdOnly = isHookEnabled("prometheus-md-only") ? createPrometheusMdOnlyHook(ctx) : null;
42397
42519
  const taskResumeInfo = createTaskResumeInfoHook();
42398
42520
  const backgroundManager = new BackgroundManager(ctx);
@@ -42543,6 +42665,7 @@ var OhMyOpenCodePlugin = async (ctx) => {
42543
42665
  },
42544
42666
  "tool.execute.before": async (input, output) => {
42545
42667
  await claudeCodeHooks["tool.execute.before"](input, output);
42668
+ await maestroHooks?.["tool.execute.before"]?.(input, output);
42546
42669
  await nonInteractiveEnv?.["tool.execute.before"](input, output);
42547
42670
  await commentChecker?.["tool.execute.before"](input, output);
42548
42671
  await directoryAgentsInjector?.["tool.execute.before"]?.(input, output);
@@ -42580,6 +42703,7 @@ var OhMyOpenCodePlugin = async (ctx) => {
42580
42703
  },
42581
42704
  "tool.execute.after": async (input, output) => {
42582
42705
  await claudeCodeHooks["tool.execute.after"](input, output);
42706
+ await maestroHooks?.["tool.execute.after"]?.(input, output);
42583
42707
  await toolOutputTruncator?.["tool.execute.after"](input, output);
42584
42708
  await contextWindowMonitor?.["tool.execute.after"](input, output);
42585
42709
  await commentChecker?.["tool.execute.after"](input, output);
@@ -42592,7 +42716,6 @@ var OhMyOpenCodePlugin = async (ctx) => {
42592
42716
  await editErrorRecovery?.["tool.execute.after"](input, output);
42593
42717
  await sisyphusOrchestrator?.["tool.execute.after"]?.(input, output);
42594
42718
  await taskResumeInfo["tool.execute.after"](input, output);
42595
- await backgroundNotificationHook?.["tool.execute.after"]?.(input, output);
42596
42719
  }
42597
42720
  };
42598
42721
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reinamaccredy/oh-my-opencode",
3
- "version": "3.0.1-beta.3",
3
+ "version": "3.1.0-beta.1",
4
4
  "description": "Fork of oh-my-opencode with Maestro workflow integration - Multi-Model Orchestration, Parallel Background Agents, Design Phases, and TDD Methodology",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -65,7 +65,7 @@
65
65
  "@openauthjs/openauth": "^0.4.3",
66
66
  "@opencode-ai/plugin": "^1.1.1",
67
67
  "@opencode-ai/sdk": "^1.1.1",
68
- "@reinamaccredy/oh-my-opencode": "^3.0.0-beta.13",
68
+ "@reinamaccredy/oh-my-opencode": "^3.0.1-beta.3",
69
69
  "commander": "^14.0.2",
70
70
  "hono": "^4.10.4",
71
71
  "js-yaml": "^4.1.1",