@skj1724/oh-my-opencode 3.18.1 → 3.18.3

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.
@@ -14,4 +14,6 @@ export declare function maybeCreateAtlasConfig(input: {
14
14
  directory?: string;
15
15
  userCategories?: CategoriesConfig;
16
16
  useTaskSystem?: boolean;
17
+ disableOmoEnv?: boolean;
18
+ language?: string;
17
19
  }): AgentConfig | undefined;
@@ -1,6 +1,7 @@
1
1
  import type { AgentConfig } from "@opencode-ai/sdk";
2
2
  type ApplyEnvironmentContextOptions = {
3
3
  disableOmoEnv?: boolean;
4
+ language?: string;
4
5
  };
5
6
  export declare function applyEnvironmentContext(config: AgentConfig, directory?: string, options?: ApplyEnvironmentContextOptions): AgentConfig;
6
7
  export {};
@@ -19,6 +19,7 @@ export declare function collectPendingBuiltinAgents(input: {
19
19
  disabledSkills?: Set<string>;
20
20
  useTaskSystem?: boolean;
21
21
  disableOmoEnv?: boolean;
22
+ language?: string;
22
23
  }): {
23
24
  pendingAgentConfigs: Map<string, AgentConfig>;
24
25
  availableAgents: AvailableAgent[];
@@ -15,4 +15,5 @@ export declare function maybeCreateHephaestusConfig(input: {
15
15
  directory?: string;
16
16
  useTaskSystem: boolean;
17
17
  disableOmoEnv?: boolean;
18
+ language?: string;
18
19
  }): AgentConfig | undefined;
@@ -17,4 +17,5 @@ export declare function maybeCreateSisyphusConfig(input: {
17
17
  userCategories?: CategoriesConfig;
18
18
  useTaskSystem: boolean;
19
19
  disableOmoEnv?: boolean;
20
+ language?: string;
20
21
  }): AgentConfig | undefined;
@@ -3,4 +3,4 @@ import type { AgentOverrides } from "./types";
3
3
  import type { CategoriesConfig, GitMasterConfig } from "../config/schema";
4
4
  import type { LoadedSkill } from "../features/opencode-skill-loader/types";
5
5
  import type { BrowserAutomationProvider } from "../config/schema";
6
- export declare function createBuiltinAgents(disabledAgents?: string[], agentOverrides?: AgentOverrides, directory?: string, systemDefaultModel?: string, categories?: CategoriesConfig, gitMasterConfig?: GitMasterConfig, discoveredSkills?: LoadedSkill[], customAgentSummaries?: unknown, browserProvider?: BrowserAutomationProvider, uiSelectedModel?: string, disabledSkills?: Set<string>, useTaskSystem?: boolean, disableOmoEnv?: boolean): Promise<Record<string, AgentConfig>>;
6
+ export declare function createBuiltinAgents(disabledAgents?: string[], agentOverrides?: AgentOverrides, directory?: string, systemDefaultModel?: string, categories?: CategoriesConfig, gitMasterConfig?: GitMasterConfig, discoveredSkills?: LoadedSkill[], customAgentSummaries?: unknown, browserProvider?: BrowserAutomationProvider, uiSelectedModel?: string, disabledSkills?: Set<string>, useTaskSystem?: boolean, disableOmoEnv?: boolean, language?: string): Promise<Record<string, AgentConfig>>;
@@ -21,7 +21,7 @@ export declare function getSisyphusJuniorPromptSource(model?: string): SisyphusJ
21
21
  * Builds the appropriate Sisyphus-Junior prompt based on model.
22
22
  */
23
23
  export declare function buildSisyphusJuniorPrompt(model: string | undefined, useTaskSystem: boolean, promptAppend?: string): string;
24
- export declare function createSisyphusJuniorAgentWithOverrides(override: AgentOverrideConfig | undefined, systemDefaultModel?: string, useTaskSystem?: boolean): AgentConfig;
24
+ export declare function createSisyphusJuniorAgentWithOverrides(override: AgentOverrideConfig | undefined, systemDefaultModel?: string, useTaskSystem?: boolean, directory?: string, language?: string, disableOmoEnv?: boolean): AgentConfig;
25
25
  export declare namespace createSisyphusJuniorAgentWithOverrides {
26
26
  var mode: "subagent";
27
27
  }
package/dist/cli/index.js CHANGED
@@ -53770,7 +53770,7 @@ var {
53770
53770
  // package.json
53771
53771
  var package_default = {
53772
53772
  name: "@skj1724/oh-my-opencode",
53773
- version: "3.18.1",
53773
+ version: "3.18.3",
53774
53774
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
53775
53775
  main: "./dist/index.js",
53776
53776
  types: "dist/index.d.ts",
@@ -73964,6 +73964,7 @@ var AgentOverrideConfigSchema = exports_external.object({
73964
73964
  top_p: exports_external.number().min(0).max(1).optional(),
73965
73965
  prompt: exports_external.string().optional(),
73966
73966
  prompt_append: exports_external.string().optional(),
73967
+ language: exports_external.string().optional(),
73967
73968
  tools: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
73968
73969
  disable: exports_external.boolean().optional(),
73969
73970
  description: exports_external.string().optional(),
@@ -74093,7 +74094,8 @@ var BuiltinCommandNameSchema = exports_external.enum([
74093
74094
  "refactor",
74094
74095
  "start-work",
74095
74096
  "stop-continuation",
74096
- "remove-ai-slops"
74097
+ "remove-ai-slops",
74098
+ "open-plan"
74097
74099
  ]);
74098
74100
  // src/config/schema/dynamic-context-pruning.ts
74099
74101
  var DynamicContextPruningConfigSchema = exports_external.object({
@@ -51,6 +51,7 @@ export declare const AgentOverrideConfigSchema: z.ZodObject<{
51
51
  top_p: z.ZodOptional<z.ZodNumber>;
52
52
  prompt: z.ZodOptional<z.ZodString>;
53
53
  prompt_append: z.ZodOptional<z.ZodString>;
54
+ language: z.ZodOptional<z.ZodString>;
54
55
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
55
56
  disable: z.ZodOptional<z.ZodBoolean>;
56
57
  description: z.ZodOptional<z.ZodString>;
@@ -180,6 +181,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
180
181
  top_p: z.ZodOptional<z.ZodNumber>;
181
182
  prompt: z.ZodOptional<z.ZodString>;
182
183
  prompt_append: z.ZodOptional<z.ZodString>;
184
+ language: z.ZodOptional<z.ZodString>;
183
185
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
184
186
  disable: z.ZodOptional<z.ZodBoolean>;
185
187
  description: z.ZodOptional<z.ZodString>;
@@ -308,6 +310,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
308
310
  top_p: z.ZodOptional<z.ZodNumber>;
309
311
  prompt: z.ZodOptional<z.ZodString>;
310
312
  prompt_append: z.ZodOptional<z.ZodString>;
313
+ language: z.ZodOptional<z.ZodString>;
311
314
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
312
315
  disable: z.ZodOptional<z.ZodBoolean>;
313
316
  description: z.ZodOptional<z.ZodString>;
@@ -436,6 +439,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
436
439
  top_p: z.ZodOptional<z.ZodNumber>;
437
440
  prompt: z.ZodOptional<z.ZodString>;
438
441
  prompt_append: z.ZodOptional<z.ZodString>;
442
+ language: z.ZodOptional<z.ZodString>;
439
443
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
440
444
  disable: z.ZodOptional<z.ZodBoolean>;
441
445
  description: z.ZodOptional<z.ZodString>;
@@ -564,6 +568,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
564
568
  top_p: z.ZodOptional<z.ZodNumber>;
565
569
  prompt: z.ZodOptional<z.ZodString>;
566
570
  prompt_append: z.ZodOptional<z.ZodString>;
571
+ language: z.ZodOptional<z.ZodString>;
567
572
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
568
573
  disable: z.ZodOptional<z.ZodBoolean>;
569
574
  description: z.ZodOptional<z.ZodString>;
@@ -693,6 +698,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
693
698
  top_p: z.ZodOptional<z.ZodNumber>;
694
699
  prompt: z.ZodOptional<z.ZodString>;
695
700
  prompt_append: z.ZodOptional<z.ZodString>;
701
+ language: z.ZodOptional<z.ZodString>;
696
702
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
697
703
  disable: z.ZodOptional<z.ZodBoolean>;
698
704
  description: z.ZodOptional<z.ZodString>;
@@ -821,6 +827,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
821
827
  top_p: z.ZodOptional<z.ZodNumber>;
822
828
  prompt: z.ZodOptional<z.ZodString>;
823
829
  prompt_append: z.ZodOptional<z.ZodString>;
830
+ language: z.ZodOptional<z.ZodString>;
824
831
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
825
832
  disable: z.ZodOptional<z.ZodBoolean>;
826
833
  description: z.ZodOptional<z.ZodString>;
@@ -949,6 +956,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
949
956
  top_p: z.ZodOptional<z.ZodNumber>;
950
957
  prompt: z.ZodOptional<z.ZodString>;
951
958
  prompt_append: z.ZodOptional<z.ZodString>;
959
+ language: z.ZodOptional<z.ZodString>;
952
960
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
953
961
  disable: z.ZodOptional<z.ZodBoolean>;
954
962
  description: z.ZodOptional<z.ZodString>;
@@ -1077,6 +1085,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1077
1085
  top_p: z.ZodOptional<z.ZodNumber>;
1078
1086
  prompt: z.ZodOptional<z.ZodString>;
1079
1087
  prompt_append: z.ZodOptional<z.ZodString>;
1088
+ language: z.ZodOptional<z.ZodString>;
1080
1089
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1081
1090
  disable: z.ZodOptional<z.ZodBoolean>;
1082
1091
  description: z.ZodOptional<z.ZodString>;
@@ -1205,6 +1214,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1205
1214
  top_p: z.ZodOptional<z.ZodNumber>;
1206
1215
  prompt: z.ZodOptional<z.ZodString>;
1207
1216
  prompt_append: z.ZodOptional<z.ZodString>;
1217
+ language: z.ZodOptional<z.ZodString>;
1208
1218
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1209
1219
  disable: z.ZodOptional<z.ZodBoolean>;
1210
1220
  description: z.ZodOptional<z.ZodString>;
@@ -1333,6 +1343,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1333
1343
  top_p: z.ZodOptional<z.ZodNumber>;
1334
1344
  prompt: z.ZodOptional<z.ZodString>;
1335
1345
  prompt_append: z.ZodOptional<z.ZodString>;
1346
+ language: z.ZodOptional<z.ZodString>;
1336
1347
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1337
1348
  disable: z.ZodOptional<z.ZodBoolean>;
1338
1349
  description: z.ZodOptional<z.ZodString>;
@@ -1461,6 +1472,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1461
1472
  top_p: z.ZodOptional<z.ZodNumber>;
1462
1473
  prompt: z.ZodOptional<z.ZodString>;
1463
1474
  prompt_append: z.ZodOptional<z.ZodString>;
1475
+ language: z.ZodOptional<z.ZodString>;
1464
1476
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1465
1477
  disable: z.ZodOptional<z.ZodBoolean>;
1466
1478
  description: z.ZodOptional<z.ZodString>;
@@ -1589,6 +1601,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1589
1601
  top_p: z.ZodOptional<z.ZodNumber>;
1590
1602
  prompt: z.ZodOptional<z.ZodString>;
1591
1603
  prompt_append: z.ZodOptional<z.ZodString>;
1604
+ language: z.ZodOptional<z.ZodString>;
1592
1605
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1593
1606
  disable: z.ZodOptional<z.ZodBoolean>;
1594
1607
  description: z.ZodOptional<z.ZodString>;
@@ -1717,6 +1730,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1717
1730
  top_p: z.ZodOptional<z.ZodNumber>;
1718
1731
  prompt: z.ZodOptional<z.ZodString>;
1719
1732
  prompt_append: z.ZodOptional<z.ZodString>;
1733
+ language: z.ZodOptional<z.ZodString>;
1720
1734
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1721
1735
  disable: z.ZodOptional<z.ZodBoolean>;
1722
1736
  description: z.ZodOptional<z.ZodString>;
@@ -1845,6 +1859,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1845
1859
  top_p: z.ZodOptional<z.ZodNumber>;
1846
1860
  prompt: z.ZodOptional<z.ZodString>;
1847
1861
  prompt_append: z.ZodOptional<z.ZodString>;
1862
+ language: z.ZodOptional<z.ZodString>;
1848
1863
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1849
1864
  disable: z.ZodOptional<z.ZodBoolean>;
1850
1865
  description: z.ZodOptional<z.ZodString>;
@@ -8,5 +8,6 @@ export declare const BuiltinCommandNameSchema: z.ZodEnum<{
8
8
  "start-work": "start-work";
9
9
  "stop-continuation": "stop-continuation";
10
10
  "remove-ai-slops": "remove-ai-slops";
11
+ "open-plan": "open-plan";
11
12
  }>;
12
13
  export type BuiltinCommandName = z.infer<typeof BuiltinCommandNameSchema>;
@@ -25,6 +25,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
25
25
  "start-work": "start-work";
26
26
  "stop-continuation": "stop-continuation";
27
27
  "remove-ai-slops": "remove-ai-slops";
28
+ "open-plan": "open-plan";
28
29
  }>>>;
29
30
  disabled_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
31
  mcp_env_allowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -83,6 +84,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
83
84
  top_p: z.ZodOptional<z.ZodNumber>;
84
85
  prompt: z.ZodOptional<z.ZodString>;
85
86
  prompt_append: z.ZodOptional<z.ZodString>;
87
+ language: z.ZodOptional<z.ZodString>;
86
88
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
87
89
  disable: z.ZodOptional<z.ZodBoolean>;
88
90
  description: z.ZodOptional<z.ZodString>;
@@ -211,6 +213,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
211
213
  top_p: z.ZodOptional<z.ZodNumber>;
212
214
  prompt: z.ZodOptional<z.ZodString>;
213
215
  prompt_append: z.ZodOptional<z.ZodString>;
216
+ language: z.ZodOptional<z.ZodString>;
214
217
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
215
218
  disable: z.ZodOptional<z.ZodBoolean>;
216
219
  description: z.ZodOptional<z.ZodString>;
@@ -339,6 +342,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
339
342
  top_p: z.ZodOptional<z.ZodNumber>;
340
343
  prompt: z.ZodOptional<z.ZodString>;
341
344
  prompt_append: z.ZodOptional<z.ZodString>;
345
+ language: z.ZodOptional<z.ZodString>;
342
346
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
343
347
  disable: z.ZodOptional<z.ZodBoolean>;
344
348
  description: z.ZodOptional<z.ZodString>;
@@ -467,6 +471,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
467
471
  top_p: z.ZodOptional<z.ZodNumber>;
468
472
  prompt: z.ZodOptional<z.ZodString>;
469
473
  prompt_append: z.ZodOptional<z.ZodString>;
474
+ language: z.ZodOptional<z.ZodString>;
470
475
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
471
476
  disable: z.ZodOptional<z.ZodBoolean>;
472
477
  description: z.ZodOptional<z.ZodString>;
@@ -596,6 +601,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
596
601
  top_p: z.ZodOptional<z.ZodNumber>;
597
602
  prompt: z.ZodOptional<z.ZodString>;
598
603
  prompt_append: z.ZodOptional<z.ZodString>;
604
+ language: z.ZodOptional<z.ZodString>;
599
605
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
600
606
  disable: z.ZodOptional<z.ZodBoolean>;
601
607
  description: z.ZodOptional<z.ZodString>;
@@ -724,6 +730,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
724
730
  top_p: z.ZodOptional<z.ZodNumber>;
725
731
  prompt: z.ZodOptional<z.ZodString>;
726
732
  prompt_append: z.ZodOptional<z.ZodString>;
733
+ language: z.ZodOptional<z.ZodString>;
727
734
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
728
735
  disable: z.ZodOptional<z.ZodBoolean>;
729
736
  description: z.ZodOptional<z.ZodString>;
@@ -852,6 +859,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
852
859
  top_p: z.ZodOptional<z.ZodNumber>;
853
860
  prompt: z.ZodOptional<z.ZodString>;
854
861
  prompt_append: z.ZodOptional<z.ZodString>;
862
+ language: z.ZodOptional<z.ZodString>;
855
863
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
856
864
  disable: z.ZodOptional<z.ZodBoolean>;
857
865
  description: z.ZodOptional<z.ZodString>;
@@ -980,6 +988,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
980
988
  top_p: z.ZodOptional<z.ZodNumber>;
981
989
  prompt: z.ZodOptional<z.ZodString>;
982
990
  prompt_append: z.ZodOptional<z.ZodString>;
991
+ language: z.ZodOptional<z.ZodString>;
983
992
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
984
993
  disable: z.ZodOptional<z.ZodBoolean>;
985
994
  description: z.ZodOptional<z.ZodString>;
@@ -1108,6 +1117,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1108
1117
  top_p: z.ZodOptional<z.ZodNumber>;
1109
1118
  prompt: z.ZodOptional<z.ZodString>;
1110
1119
  prompt_append: z.ZodOptional<z.ZodString>;
1120
+ language: z.ZodOptional<z.ZodString>;
1111
1121
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1112
1122
  disable: z.ZodOptional<z.ZodBoolean>;
1113
1123
  description: z.ZodOptional<z.ZodString>;
@@ -1236,6 +1246,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1236
1246
  top_p: z.ZodOptional<z.ZodNumber>;
1237
1247
  prompt: z.ZodOptional<z.ZodString>;
1238
1248
  prompt_append: z.ZodOptional<z.ZodString>;
1249
+ language: z.ZodOptional<z.ZodString>;
1239
1250
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1240
1251
  disable: z.ZodOptional<z.ZodBoolean>;
1241
1252
  description: z.ZodOptional<z.ZodString>;
@@ -1364,6 +1375,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1364
1375
  top_p: z.ZodOptional<z.ZodNumber>;
1365
1376
  prompt: z.ZodOptional<z.ZodString>;
1366
1377
  prompt_append: z.ZodOptional<z.ZodString>;
1378
+ language: z.ZodOptional<z.ZodString>;
1367
1379
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1368
1380
  disable: z.ZodOptional<z.ZodBoolean>;
1369
1381
  description: z.ZodOptional<z.ZodString>;
@@ -1492,6 +1504,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1492
1504
  top_p: z.ZodOptional<z.ZodNumber>;
1493
1505
  prompt: z.ZodOptional<z.ZodString>;
1494
1506
  prompt_append: z.ZodOptional<z.ZodString>;
1507
+ language: z.ZodOptional<z.ZodString>;
1495
1508
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1496
1509
  disable: z.ZodOptional<z.ZodBoolean>;
1497
1510
  description: z.ZodOptional<z.ZodString>;
@@ -1620,6 +1633,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1620
1633
  top_p: z.ZodOptional<z.ZodNumber>;
1621
1634
  prompt: z.ZodOptional<z.ZodString>;
1622
1635
  prompt_append: z.ZodOptional<z.ZodString>;
1636
+ language: z.ZodOptional<z.ZodString>;
1623
1637
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1624
1638
  disable: z.ZodOptional<z.ZodBoolean>;
1625
1639
  description: z.ZodOptional<z.ZodString>;
@@ -1748,6 +1762,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1748
1762
  top_p: z.ZodOptional<z.ZodNumber>;
1749
1763
  prompt: z.ZodOptional<z.ZodString>;
1750
1764
  prompt_append: z.ZodOptional<z.ZodString>;
1765
+ language: z.ZodOptional<z.ZodString>;
1751
1766
  tools: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
1752
1767
  disable: z.ZodOptional<z.ZodBoolean>;
1753
1768
  description: z.ZodOptional<z.ZodString>;
@@ -0,0 +1 @@
1
+ export declare const OPEN_PLAN_TEMPLATE = "You are executing the /open-plan command.\n\n## WHAT TO DO\n\n1. **Read the current boulder state**: Read `.sisyphus/boulder.json` to find the active plan path.\n\n2. **Check if active plan exists**:\n - If `active_plan` field exists and is not empty \u2192 proceed to step 3\n - If no active plan (file doesn't exist, or `active_plan` is null/empty) \u2192 output error and stop\n\n3. **Open the plan file with system default editor**:\n Use the Bash tool to spawn the appropriate command based on your platform:\n\n **Windows (PowerShell):**\n ```bash\n start \"\" \"C:/path/to/plan.md\"\n ```\n\n **macOS:**\n ```bash\n open \"/path/to/plan.md\"\n ```\n\n **Linux:**\n ```bash\n xdg-open \"/path/to/plan.md\"\n ```\n\n Replace the path with the actual `active_plan` path from boulder.json.\n\n4. **Report success**:\n - If file was opened successfully, output: \"Opened plan file: {plan-name}\"\n - If there was an error opening the file, report the error\n\n## ERROR HANDLING\n\nIf no active plan exists, output exactly:\n```\nNo active plan. Use /start-work to set a plan first.\n```\n\n## EXAMPLE\n\nIf `.sisyphus/boulder.json` contains:\n```json\n{\n \"active_plan\": \"C:/projects/myproject/.sisyphus/plans/my-feature.md\",\n \"plan_name\": \"my-feature\"\n}\n```\n\nOn Windows, execute:\n```bash\nstart \"\" \"C:/projects/myproject/.sisyphus/plans/my-feature.md\"\n```\n\nOn macOS, execute:\n```bash\nopen \"C:/projects/myproject/.sisyphus/plans/my-feature.md\"\n```\n\nOn Linux, execute:\n```bash\nxdg-open \"C:/projects/myproject/.sisyphus/plans/my-feature.md\"\n```";
@@ -1,5 +1,5 @@
1
1
  import type { CommandDefinition } from "../claude-code-command-loader";
2
- export type BuiltinCommandName = "init-deep" | "ralph-loop" | "cancel-ralph" | "ulw-loop" | "refactor" | "start-work" | "stop-continuation" | "handoff" | "remove-ai-slops";
2
+ export type BuiltinCommandName = "init-deep" | "ralph-loop" | "cancel-ralph" | "ulw-loop" | "refactor" | "start-work" | "stop-continuation" | "handoff" | "remove-ai-slops" | "open-plan";
3
3
  export interface BuiltinCommandConfig {
4
4
  disabled_commands?: BuiltinCommandName[];
5
5
  }
package/dist/index.js CHANGED
@@ -81612,6 +81612,7 @@ var AgentOverrideConfigSchema = z5.object({
81612
81612
  top_p: z5.number().min(0).max(1).optional(),
81613
81613
  prompt: z5.string().optional(),
81614
81614
  prompt_append: z5.string().optional(),
81615
+ language: z5.string().optional(),
81615
81616
  tools: z5.record(z5.string(), z5.boolean()).optional(),
81616
81617
  disable: z5.boolean().optional(),
81617
81618
  description: z5.string().optional(),
@@ -81748,7 +81749,8 @@ var BuiltinCommandNameSchema = z12.enum([
81748
81749
  "refactor",
81749
81750
  "start-work",
81750
81751
  "stop-continuation",
81751
- "remove-ai-slops"
81752
+ "remove-ai-slops",
81753
+ "open-plan"
81752
81754
  ]);
81753
81755
  // src/config/schema/dynamic-context-pruning.ts
81754
81756
  import { z as z13 } from "zod";
@@ -83765,6 +83767,73 @@ If any issues are found during critical review:
83765
83767
  - ALWAYS preserve test coverage
83766
83768
  - If uncertain about a change, err on the side of keeping the original code`;
83767
83769
 
83770
+ // src/features/builtin-commands/templates/open-plan.ts
83771
+ var OPEN_PLAN_TEMPLATE = `You are executing the /open-plan command.
83772
+
83773
+ ## WHAT TO DO
83774
+
83775
+ 1. **Read the current boulder state**: Read \`.sisyphus/boulder.json\` to find the active plan path.
83776
+
83777
+ 2. **Check if active plan exists**:
83778
+ - If \`active_plan\` field exists and is not empty \u2192 proceed to step 3
83779
+ - If no active plan (file doesn't exist, or \`active_plan\` is null/empty) \u2192 output error and stop
83780
+
83781
+ 3. **Open the plan file with system default editor**:
83782
+ Use the Bash tool to spawn the appropriate command based on your platform:
83783
+
83784
+ **Windows (PowerShell):**
83785
+ \`\`\`bash
83786
+ start "" "C:/path/to/plan.md"
83787
+ \`\`\`
83788
+
83789
+ **macOS:**
83790
+ \`\`\`bash
83791
+ open "/path/to/plan.md"
83792
+ \`\`\`
83793
+
83794
+ **Linux:**
83795
+ \`\`\`bash
83796
+ xdg-open "/path/to/plan.md"
83797
+ \`\`\`
83798
+
83799
+ Replace the path with the actual \`active_plan\` path from boulder.json.
83800
+
83801
+ 4. **Report success**:
83802
+ - If file was opened successfully, output: "Opened plan file: {plan-name}"
83803
+ - If there was an error opening the file, report the error
83804
+
83805
+ ## ERROR HANDLING
83806
+
83807
+ If no active plan exists, output exactly:
83808
+ \`\`\`
83809
+ No active plan. Use /start-work to set a plan first.
83810
+ \`\`\`
83811
+
83812
+ ## EXAMPLE
83813
+
83814
+ If \`.sisyphus/boulder.json\` contains:
83815
+ \`\`\`json
83816
+ {
83817
+ "active_plan": "C:/projects/myproject/.sisyphus/plans/my-feature.md",
83818
+ "plan_name": "my-feature"
83819
+ }
83820
+ \`\`\`
83821
+
83822
+ On Windows, execute:
83823
+ \`\`\`bash
83824
+ start "" "C:/projects/myproject/.sisyphus/plans/my-feature.md"
83825
+ \`\`\`
83826
+
83827
+ On macOS, execute:
83828
+ \`\`\`bash
83829
+ open "C:/projects/myproject/.sisyphus/plans/my-feature.md"
83830
+ \`\`\`
83831
+
83832
+ On Linux, execute:
83833
+ \`\`\`bash
83834
+ xdg-open "C:/projects/myproject/.sisyphus/plans/my-feature.md"
83835
+ \`\`\``;
83836
+
83768
83837
  // src/features/builtin-commands/commands.ts
83769
83838
  function resolveStartWorkAgent(options) {
83770
83839
  if (options?.useRegisteredAgents) {
@@ -83868,6 +83937,12 @@ Timestamp: $TIMESTAMP
83868
83937
  $ARGUMENTS
83869
83938
  </user-request>`,
83870
83939
  argumentHint: "[goal]"
83940
+ },
83941
+ "open-plan": {
83942
+ description: "(builtin) Open the current Prometheus plan file with the default editor",
83943
+ template: `<command-instruction>
83944
+ ${OPEN_PLAN_TEMPLATE}
83945
+ </command-instruction>`
83871
83946
  }
83872
83947
  };
83873
83948
  }
@@ -119980,6 +120055,50 @@ No tasks on multi-step work = INCOMPLETE WORK. The user tracks your progress thr
119980
120055
 
119981
120056
  No todos on multi-step work = INCOMPLETE WORK. The user tracks your progress through todos.`;
119982
120057
  }
120058
+ // src/agents/env-context.ts
120059
+ var LANGUAGE_GUIDANCE = {
120060
+ "zh-CN": "Language Guidance: Respond in Chinese unless explicitly requested otherwise",
120061
+ "zh-TW": "Language Guidance: Respond in Traditional Chinese unless explicitly requested otherwise",
120062
+ "ja-JP": "Language Guidance: Respond in Japanese unless explicitly requested otherwise",
120063
+ "ko-KR": "Language Guidance: Respond in Korean unless explicitly requested otherwise",
120064
+ "fr-FR": "Language Guidance: Respond in French unless explicitly requested otherwise",
120065
+ "de-DE": "Language Guidance: Respond in German unless explicitly requested otherwise",
120066
+ "es-ES": "Language Guidance: Respond in Spanish unless explicitly requested otherwise",
120067
+ "pt-BR": "Language Guidance: Respond in Portuguese unless explicitly requested otherwise",
120068
+ "ru-RU": "Language Guidance: Respond in Russian unless explicitly requested otherwise",
120069
+ "vi-VN": "Language Guidance: Respond in Vietnamese unless explicitly requested otherwise",
120070
+ "th-TH": "Language Guidance: Respond in Thai unless explicitly requested otherwise",
120071
+ "id-ID": "Language Guidance: Respond in Indonesian unless explicitly requested otherwise",
120072
+ "ms-MY": "Language Guidance: Respond in Malay unless explicitly requested otherwise",
120073
+ "hi-IN": "Language Guidance: Respond in Hindi unless explicitly requested otherwise",
120074
+ "ar-SA": "Language Guidance: Respond in Arabic unless explicitly requested otherwise",
120075
+ "he-IL": "Language Guidance: Respond in Hebrew unless explicitly requested otherwise"
120076
+ };
120077
+ function createEnvContext(language) {
120078
+ const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
120079
+ const locale = Intl.DateTimeFormat().resolvedOptions().locale;
120080
+ const lines = [`Timezone: ${timezone}`, `Locale: ${locale}`];
120081
+ if (language && language !== "en" && language !== "en-US") {
120082
+ const guidance = LANGUAGE_GUIDANCE[language];
120083
+ if (guidance) {
120084
+ lines.push(guidance);
120085
+ }
120086
+ }
120087
+ return `
120088
+ <omo-env>
120089
+ ${lines.map((l) => ` ${l}`).join(`
120090
+ `)}
120091
+ </omo-env>`;
120092
+ }
120093
+
120094
+ // src/agents/builtin-agents/environment-context.ts
120095
+ function applyEnvironmentContext(config2, directory, options = {}) {
120096
+ if (options.disableOmoEnv || !directory || !config2.prompt)
120097
+ return config2;
120098
+ const envContext = createEnvContext(options.language);
120099
+ return { ...config2, prompt: config2.prompt + envContext };
120100
+ }
120101
+
119983
120102
  // src/agents/sisyphus-junior/agent.ts
119984
120103
  var MODE11 = "subagent";
119985
120104
  var BLOCKED_TOOLS3 = ["task"];
@@ -120018,7 +120137,7 @@ function buildSisyphusJuniorPrompt(model, useTaskSystem, promptAppend) {
120018
120137
  return buildDefaultSisyphusJuniorPrompt(useTaskSystem, promptAppend);
120019
120138
  }
120020
120139
  }
120021
- function createSisyphusJuniorAgentWithOverrides(override, systemDefaultModel, useTaskSystem = false) {
120140
+ function createSisyphusJuniorAgentWithOverrides(override, systemDefaultModel, useTaskSystem = false, directory, language, disableOmoEnv) {
120022
120141
  if (override?.disable) {
120023
120142
  override = undefined;
120024
120143
  }
@@ -120041,7 +120160,7 @@ function createSisyphusJuniorAgentWithOverrides(override, systemDefaultModel, us
120041
120160
  ...toolsConfig.permission,
120042
120161
  ...getGptApplyPatchPermission(model)
120043
120162
  };
120044
- const base = {
120163
+ let config2 = {
120045
120164
  description: override?.description ?? "Focused task executor. Same discipline, no delegation. (Sisyphus-Junior - OhMyOpenCode)",
120046
120165
  mode: MODE11,
120047
120166
  model,
@@ -120052,18 +120171,20 @@ function createSisyphusJuniorAgentWithOverrides(override, systemDefaultModel, us
120052
120171
  permission
120053
120172
  };
120054
120173
  if (override?.top_p !== undefined) {
120055
- base.top_p = override.top_p;
120174
+ config2.top_p = override.top_p;
120056
120175
  }
120057
120176
  if (isGptModel(model)) {
120058
- return { ...base, reasoningEffort: "medium" };
120059
- }
120060
- if (isGlmModel(model)) {
120061
- return base;
120177
+ config2 = { ...config2, reasoningEffort: "medium" };
120178
+ } else if (!isGlmModel(model)) {
120179
+ config2 = {
120180
+ ...config2,
120181
+ thinking: { type: "enabled", budgetTokens: 32000 }
120182
+ };
120062
120183
  }
120063
- return {
120064
- ...base,
120065
- thinking: { type: "enabled", budgetTokens: 32000 }
120066
- };
120184
+ return applyEnvironmentContext(config2, directory, {
120185
+ disableOmoEnv,
120186
+ language: override?.language ?? language
120187
+ });
120067
120188
  }
120068
120189
  createSisyphusJuniorAgentWithOverrides.mode = MODE11;
120069
120190
  // src/agents/builtin-agents.ts
@@ -120181,50 +120302,6 @@ function applyOverrides(config2, override, mergedCategories, directory) {
120181
120302
  return result;
120182
120303
  }
120183
120304
 
120184
- // src/agents/env-context.ts
120185
- var LANGUAGE_GUIDANCE = {
120186
- "zh-CN": "Language Guidance: Respond in Chinese unless explicitly requested otherwise",
120187
- "zh-TW": "Language Guidance: Respond in Traditional Chinese unless explicitly requested otherwise",
120188
- "ja-JP": "Language Guidance: Respond in Japanese unless explicitly requested otherwise",
120189
- "ko-KR": "Language Guidance: Respond in Korean unless explicitly requested otherwise",
120190
- "fr-FR": "Language Guidance: Respond in French unless explicitly requested otherwise",
120191
- "de-DE": "Language Guidance: Respond in German unless explicitly requested otherwise",
120192
- "es-ES": "Language Guidance: Respond in Spanish unless explicitly requested otherwise",
120193
- "pt-BR": "Language Guidance: Respond in Portuguese unless explicitly requested otherwise",
120194
- "ru-RU": "Language Guidance: Respond in Russian unless explicitly requested otherwise",
120195
- "vi-VN": "Language Guidance: Respond in Vietnamese unless explicitly requested otherwise",
120196
- "th-TH": "Language Guidance: Respond in Thai unless explicitly requested otherwise",
120197
- "id-ID": "Language Guidance: Respond in Indonesian unless explicitly requested otherwise",
120198
- "ms-MY": "Language Guidance: Respond in Malay unless explicitly requested otherwise",
120199
- "hi-IN": "Language Guidance: Respond in Hindi unless explicitly requested otherwise",
120200
- "ar-SA": "Language Guidance: Respond in Arabic unless explicitly requested otherwise",
120201
- "he-IL": "Language Guidance: Respond in Hebrew unless explicitly requested otherwise"
120202
- };
120203
- function createEnvContext(language) {
120204
- const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
120205
- const locale = Intl.DateTimeFormat().resolvedOptions().locale;
120206
- const lines = [`Timezone: ${timezone}`, `Locale: ${locale}`];
120207
- if (language && language !== "en" && language !== "en-US") {
120208
- const guidance = LANGUAGE_GUIDANCE[language];
120209
- if (guidance) {
120210
- lines.push(guidance);
120211
- }
120212
- }
120213
- return `
120214
- <omo-env>
120215
- ${lines.map((l) => ` ${l}`).join(`
120216
- `)}
120217
- </omo-env>`;
120218
- }
120219
-
120220
- // src/agents/builtin-agents/environment-context.ts
120221
- function applyEnvironmentContext(config2, directory, options = {}) {
120222
- if (options.disableOmoEnv || !directory || !config2.prompt)
120223
- return config2;
120224
- const envContext = createEnvContext();
120225
- return { ...config2, prompt: config2.prompt + envContext };
120226
- }
120227
-
120228
120305
  // src/agents/builtin-agents/model-resolution.ts
120229
120306
  function applyModelResolution(input) {
120230
120307
  const { uiSelectedModel, userModel, requirement, availableModels, systemDefaultModel } = input;
@@ -120264,7 +120341,8 @@ function collectPendingBuiltinAgents(input) {
120264
120341
  availableModels,
120265
120342
  isFirstRunNoCache,
120266
120343
  disabledSkills,
120267
- disableOmoEnv = false
120344
+ disableOmoEnv = false,
120345
+ language
120268
120346
  } = input;
120269
120347
  const availableAgents = [];
120270
120348
  const pendingAgentConfigs = new Map;
@@ -120313,8 +120391,8 @@ function collectPendingBuiltinAgents(input) {
120313
120391
  if (resolvedVariant) {
120314
120392
  config2 = { ...config2, variant: resolvedVariant };
120315
120393
  }
120316
- if (agentName === "librarian") {
120317
- config2 = applyEnvironmentContext(config2, directory, { disableOmoEnv });
120394
+ if (["librarian", "oracle", "momus", "explore", "metis", "multimodal-looker"].includes(agentName)) {
120395
+ config2 = applyEnvironmentContext(config2, directory, { disableOmoEnv, language: override?.language ?? language });
120318
120396
  }
120319
120397
  config2 = applyOverrides(config2, override, mergedCategories, directory);
120320
120398
  pendingAgentConfigs.set(name, config2);
@@ -120345,7 +120423,8 @@ function maybeCreateSisyphusConfig(input) {
120345
120423
  mergedCategories,
120346
120424
  directory,
120347
120425
  useTaskSystem,
120348
- disableOmoEnv = false
120426
+ disableOmoEnv = false,
120427
+ language
120349
120428
  } = input;
120350
120429
  const sisyphusOverride = agentOverrides["sisyphus"];
120351
120430
  const sisyphusRequirement = AGENT_MODEL_REQUIREMENTS["sisyphus"];
@@ -120377,7 +120456,8 @@ function maybeCreateSisyphusConfig(input) {
120377
120456
  Object.assign(sisyphusConfig.permission, gptDeny);
120378
120457
  }
120379
120458
  sisyphusConfig = applyEnvironmentContext(sisyphusConfig, directory, {
120380
- disableOmoEnv
120459
+ disableOmoEnv,
120460
+ language: sisyphusOverride?.language ?? language
120381
120461
  });
120382
120462
  return sisyphusConfig;
120383
120463
  }
@@ -120396,7 +120476,8 @@ function maybeCreateHephaestusConfig(input) {
120396
120476
  mergedCategories,
120397
120477
  directory,
120398
120478
  useTaskSystem,
120399
- disableOmoEnv = false
120479
+ disableOmoEnv = false,
120480
+ language
120400
120481
  } = input;
120401
120482
  if (disabledAgents.includes("hephaestus"))
120402
120483
  return;
@@ -120424,7 +120505,7 @@ function maybeCreateHephaestusConfig(input) {
120424
120505
  if (hepOverrideCategory) {
120425
120506
  hephaestusConfig = applyCategoryOverride(hephaestusConfig, hepOverrideCategory, mergedCategories);
120426
120507
  }
120427
- hephaestusConfig = applyEnvironmentContext(hephaestusConfig, directory, { disableOmoEnv });
120508
+ hephaestusConfig = applyEnvironmentContext(hephaestusConfig, directory, { disableOmoEnv, language: hephaestusOverride?.language ?? language });
120428
120509
  if (hephaestusOverride) {
120429
120510
  hephaestusConfig = mergeAgentConfig(hephaestusConfig, hephaestusOverride, directory);
120430
120511
  }
@@ -120448,7 +120529,9 @@ function maybeCreateAtlasConfig(input) {
120448
120529
  availableSkills,
120449
120530
  mergedCategories,
120450
120531
  directory,
120451
- userCategories
120532
+ userCategories,
120533
+ disableOmoEnv,
120534
+ language
120452
120535
  } = input;
120453
120536
  if (disabledAgents.includes("atlas"))
120454
120537
  return;
@@ -120474,6 +120557,7 @@ function maybeCreateAtlasConfig(input) {
120474
120557
  orchestratorConfig = { ...orchestratorConfig, variant: atlasResolvedVariant };
120475
120558
  }
120476
120559
  orchestratorConfig = applyOverrides(orchestratorConfig, orchestratorOverride, mergedCategories, directory);
120560
+ orchestratorConfig = applyEnvironmentContext(orchestratorConfig, directory, { disableOmoEnv, language: orchestratorOverride?.language ?? language });
120477
120561
  return orchestratorConfig;
120478
120562
  }
120479
120563
 
@@ -120499,7 +120583,7 @@ var agentMetadata = {
120499
120583
  momus: momusPromptMetadata,
120500
120584
  atlas: atlasPromptMetadata
120501
120585
  };
120502
- async function createBuiltinAgents(disabledAgents = [], agentOverrides = {}, directory, systemDefaultModel, categories2, gitMasterConfig, discoveredSkills = [], customAgentSummaries, browserProvider, uiSelectedModel, disabledSkills, useTaskSystem = false, disableOmoEnv = false) {
120586
+ async function createBuiltinAgents(disabledAgents = [], agentOverrides = {}, directory, systemDefaultModel, categories2, gitMasterConfig, discoveredSkills = [], customAgentSummaries, browserProvider, uiSelectedModel, disabledSkills, useTaskSystem = false, disableOmoEnv = false, language) {
120503
120587
  const connectedProviders = readConnectedProvidersCache();
120504
120588
  const providerModelsConnected = connectedProviders ? readProviderModelsCache()?.connected ?? [] : [];
120505
120589
  const mergedConnectedProviders = Array.from(new Set([...connectedProviders ?? [], ...providerModelsConnected]));
@@ -120528,7 +120612,8 @@ async function createBuiltinAgents(disabledAgents = [], agentOverrides = {}, dir
120528
120612
  availableModels,
120529
120613
  isFirstRunNoCache,
120530
120614
  disabledSkills,
120531
- disableOmoEnv
120615
+ disableOmoEnv,
120616
+ language
120532
120617
  });
120533
120618
  const sisyphusConfig = maybeCreateSisyphusConfig({
120534
120619
  disabledAgents,
@@ -120544,7 +120629,8 @@ async function createBuiltinAgents(disabledAgents = [], agentOverrides = {}, dir
120544
120629
  directory,
120545
120630
  userCategories: categories2,
120546
120631
  useTaskSystem,
120547
- disableOmoEnv
120632
+ disableOmoEnv,
120633
+ language
120548
120634
  });
120549
120635
  if (sisyphusConfig) {
120550
120636
  result["sisyphus"] = sisyphusConfig;
@@ -120561,7 +120647,8 @@ async function createBuiltinAgents(disabledAgents = [], agentOverrides = {}, dir
120561
120647
  mergedCategories,
120562
120648
  directory,
120563
120649
  useTaskSystem,
120564
- disableOmoEnv
120650
+ disableOmoEnv,
120651
+ language
120565
120652
  });
120566
120653
  if (hephaestusConfig) {
120567
120654
  result["hephaestus"] = hephaestusConfig;
@@ -120579,7 +120666,9 @@ async function createBuiltinAgents(disabledAgents = [], agentOverrides = {}, dir
120579
120666
  availableSkills,
120580
120667
  mergedCategories,
120581
120668
  directory,
120582
- userCategories: categories2
120669
+ userCategories: categories2,
120670
+ disableOmoEnv,
120671
+ language
120583
120672
  });
120584
120673
  if (atlasConfig) {
120585
120674
  result["atlas"] = atlasConfig;
@@ -122895,15 +122984,21 @@ async function buildPrometheusAgentConfig(params) {
122895
122984
  ...textVerbosityToUse !== undefined ? { textVerbosity: textVerbosityToUse } : {}
122896
122985
  };
122897
122986
  const override = params.pluginPrometheusOverride;
122898
- if (!override)
122899
- return base;
122900
- const { prompt_append, ...restOverride } = override;
122901
- const merged = { ...base, ...restOverride };
122902
- if (prompt_append && typeof merged.prompt === "string") {
122903
- merged.prompt = merged.prompt + `
122987
+ let config2;
122988
+ if (!override) {
122989
+ config2 = base;
122990
+ } else {
122991
+ const { prompt_append, ...restOverride } = override;
122992
+ config2 = { ...base, ...restOverride };
122993
+ if (prompt_append && typeof config2.prompt === "string") {
122994
+ config2.prompt = config2.prompt + `
122904
122995
  ` + resolvePromptAppend(prompt_append);
122996
+ }
122905
122997
  }
122906
- return merged;
122998
+ return applyEnvironmentContext(config2, params.directory, {
122999
+ disableOmoEnv: params.disableOmoEnv,
123000
+ language: params.language
123001
+ });
122907
123002
  }
122908
123003
 
122909
123004
  // src/plugin-handlers/plan-model-inheritance.ts
@@ -122976,6 +123071,7 @@ async function applyAgentConfig(params) {
122976
123071
  const disabledSkills = new Set(params.pluginConfig.disabled_skills ?? []);
122977
123072
  const useTaskSystem = isTaskSystemEnabled(params.pluginConfig);
122978
123073
  const disableOmoEnv = params.pluginConfig.experimental?.disable_omo_env ?? false;
123074
+ const language = params.pluginConfig.i18n?.language;
122979
123075
  const includeClaudeAgents = params.pluginConfig.claude_code?.agents ?? true;
122980
123076
  const userAgents = includeClaudeAgents ? loadUserAgents() : {};
122981
123077
  const projectAgents = includeClaudeAgents ? loadProjectAgents(params.ctx.directory) : {};
@@ -123016,7 +123112,7 @@ async function applyAgentConfig(params) {
123016
123112
  opencodeConfig: Object.keys(opencodeConfigAgents).length,
123017
123113
  config: Object.keys(configAgent ?? {}).length
123018
123114
  });
123019
- const builtinAgents = await createBuiltinAgents(migratedDisabledAgents, params.pluginConfig.agents, params.ctx.directory, currentModel, params.pluginConfig.categories, params.pluginConfig.git_master, allDiscoveredSkills, customAgentSummaries, browserProvider, currentModel, disabledSkills, useTaskSystem, disableOmoEnv);
123115
+ const builtinAgents = await createBuiltinAgents(migratedDisabledAgents, params.pluginConfig.agents, params.ctx.directory, currentModel, params.pluginConfig.categories, params.pluginConfig.git_master, allDiscoveredSkills, customAgentSummaries, browserProvider, currentModel, disabledSkills, useTaskSystem, disableOmoEnv, language);
123020
123116
  const disabledAgentNames = new Set((migratedDisabledAgents ?? []).map((a) => a.toLowerCase()));
123021
123117
  const filterDisabledAgents = (agents) => Object.fromEntries(Object.entries(agents).filter(([name]) => !disabledAgentNames.has(name.toLowerCase())));
123022
123118
  const isSisyphusEnabled = params.pluginConfig.sisyphus_agent?.disabled !== true;
@@ -123044,13 +123140,16 @@ async function applyAgentConfig(params) {
123044
123140
  pluginPrometheusOverride: prometheusOverride,
123045
123141
  userCategories: params.pluginConfig.categories,
123046
123142
  currentModel,
123047
- disabledTools: params.pluginConfig.disabled_tools
123143
+ disabledTools: params.pluginConfig.disabled_tools,
123144
+ directory: params.ctx.directory,
123145
+ language,
123146
+ disableOmoEnv
123048
123147
  });
123049
123148
  }
123050
123149
  if (builtinAgents.atlas) {
123051
123150
  agentConfig["atlas"] = builtinAgents.atlas;
123052
123151
  }
123053
- agentConfig["sisyphus-junior"] = createSisyphusJuniorAgentWithOverrides(params.pluginConfig.agents?.["sisyphus-junior"], builtinAgents.atlas?.model, useTaskSystem);
123152
+ agentConfig["sisyphus-junior"] = createSisyphusJuniorAgentWithOverrides(params.pluginConfig.agents?.["sisyphus-junior"], builtinAgents.atlas?.model, useTaskSystem, params.ctx.directory, language, disableOmoEnv);
123054
123153
  if (builderEnabled) {
123055
123154
  const { name: _buildName, ...buildConfigWithoutName } = configAgent?.build ?? {};
123056
123155
  const migratedBuildConfig = migrateAgentConfig(buildConfigWithoutName);
@@ -130409,7 +130508,7 @@ class PostHog extends PostHogBackendClient {
130409
130508
  // package.json
130410
130509
  var package_default = {
130411
130510
  name: "@skj1724/oh-my-opencode",
130412
- version: "3.18.1",
130511
+ version: "3.18.3",
130413
130512
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
130414
130513
  main: "./dist/index.js",
130415
130514
  types: "dist/index.d.ts",
@@ -67,7 +67,8 @@
67
67
  "refactor",
68
68
  "start-work",
69
69
  "stop-continuation",
70
- "remove-ai-slops"
70
+ "remove-ai-slops",
71
+ "open-plan"
71
72
  ]
72
73
  }
73
74
  },
@@ -268,6 +269,9 @@
268
269
  "prompt_append": {
269
270
  "type": "string"
270
271
  },
272
+ "language": {
273
+ "type": "string"
274
+ },
271
275
  "tools": {
272
276
  "type": "object",
273
277
  "propertyNames": {
@@ -618,6 +622,9 @@
618
622
  "prompt_append": {
619
623
  "type": "string"
620
624
  },
625
+ "language": {
626
+ "type": "string"
627
+ },
621
628
  "tools": {
622
629
  "type": "object",
623
630
  "propertyNames": {
@@ -968,6 +975,9 @@
968
975
  "prompt_append": {
969
976
  "type": "string"
970
977
  },
978
+ "language": {
979
+ "type": "string"
980
+ },
971
981
  "tools": {
972
982
  "type": "object",
973
983
  "propertyNames": {
@@ -1318,6 +1328,9 @@
1318
1328
  "prompt_append": {
1319
1329
  "type": "string"
1320
1330
  },
1331
+ "language": {
1332
+ "type": "string"
1333
+ },
1321
1334
  "tools": {
1322
1335
  "type": "object",
1323
1336
  "propertyNames": {
@@ -1671,6 +1684,9 @@
1671
1684
  "prompt_append": {
1672
1685
  "type": "string"
1673
1686
  },
1687
+ "language": {
1688
+ "type": "string"
1689
+ },
1674
1690
  "tools": {
1675
1691
  "type": "object",
1676
1692
  "propertyNames": {
@@ -2021,6 +2037,9 @@
2021
2037
  "prompt_append": {
2022
2038
  "type": "string"
2023
2039
  },
2040
+ "language": {
2041
+ "type": "string"
2042
+ },
2024
2043
  "tools": {
2025
2044
  "type": "object",
2026
2045
  "propertyNames": {
@@ -2371,6 +2390,9 @@
2371
2390
  "prompt_append": {
2372
2391
  "type": "string"
2373
2392
  },
2393
+ "language": {
2394
+ "type": "string"
2395
+ },
2374
2396
  "tools": {
2375
2397
  "type": "object",
2376
2398
  "propertyNames": {
@@ -2721,6 +2743,9 @@
2721
2743
  "prompt_append": {
2722
2744
  "type": "string"
2723
2745
  },
2746
+ "language": {
2747
+ "type": "string"
2748
+ },
2724
2749
  "tools": {
2725
2750
  "type": "object",
2726
2751
  "propertyNames": {
@@ -3071,6 +3096,9 @@
3071
3096
  "prompt_append": {
3072
3097
  "type": "string"
3073
3098
  },
3099
+ "language": {
3100
+ "type": "string"
3101
+ },
3074
3102
  "tools": {
3075
3103
  "type": "object",
3076
3104
  "propertyNames": {
@@ -3421,6 +3449,9 @@
3421
3449
  "prompt_append": {
3422
3450
  "type": "string"
3423
3451
  },
3452
+ "language": {
3453
+ "type": "string"
3454
+ },
3424
3455
  "tools": {
3425
3456
  "type": "object",
3426
3457
  "propertyNames": {
@@ -3771,6 +3802,9 @@
3771
3802
  "prompt_append": {
3772
3803
  "type": "string"
3773
3804
  },
3805
+ "language": {
3806
+ "type": "string"
3807
+ },
3774
3808
  "tools": {
3775
3809
  "type": "object",
3776
3810
  "propertyNames": {
@@ -4121,6 +4155,9 @@
4121
4155
  "prompt_append": {
4122
4156
  "type": "string"
4123
4157
  },
4158
+ "language": {
4159
+ "type": "string"
4160
+ },
4124
4161
  "tools": {
4125
4162
  "type": "object",
4126
4163
  "propertyNames": {
@@ -4471,6 +4508,9 @@
4471
4508
  "prompt_append": {
4472
4509
  "type": "string"
4473
4510
  },
4511
+ "language": {
4512
+ "type": "string"
4513
+ },
4474
4514
  "tools": {
4475
4515
  "type": "object",
4476
4516
  "propertyNames": {
@@ -4821,6 +4861,9 @@
4821
4861
  "prompt_append": {
4822
4862
  "type": "string"
4823
4863
  },
4864
+ "language": {
4865
+ "type": "string"
4866
+ },
4824
4867
  "tools": {
4825
4868
  "type": "object",
4826
4869
  "propertyNames": {
@@ -1,3 +1,4 @@
1
+ import type { AgentConfig } from "@opencode-ai/sdk";
1
2
  import type { CategoryConfig } from "../config/schema";
2
3
  type PrometheusOverride = Record<string, unknown> & {
3
4
  category?: string;
@@ -20,5 +21,8 @@ export declare function buildPrometheusAgentConfig(params: {
20
21
  userCategories: Record<string, CategoryConfig> | undefined;
21
22
  currentModel: string | undefined;
22
23
  disabledTools?: readonly string[];
23
- }): Promise<Record<string, unknown>>;
24
+ directory: string;
25
+ language?: string;
26
+ disableOmoEnv?: boolean;
27
+ }): Promise<AgentConfig>;
24
28
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skj1724/oh-my-opencode",
3
- "version": "3.18.1",
3
+ "version": "3.18.3",
4
4
  "description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",