drizzy-agent 0.1.3 → 0.2.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.
@@ -12,7 +12,7 @@ describe("getPlatformPackage", () => {
12
12
  const result = getPlatformPackage(input);
13
13
 
14
14
  // #then returns correct package name
15
- expect(result).toBe("oh-my-opencode-darwin-arm64");
15
+ expect(result).toBe("drizzy-agent-darwin-arm64");
16
16
  });
17
17
 
18
18
  test("returns darwin-x64 for macOS Intel", () => {
@@ -23,7 +23,7 @@ describe("getPlatformPackage", () => {
23
23
  const result = getPlatformPackage(input);
24
24
 
25
25
  // #then returns correct package name
26
- expect(result).toBe("oh-my-opencode-darwin-x64");
26
+ expect(result).toBe("drizzy-agent-darwin-x64");
27
27
  });
28
28
  // #endregion
29
29
 
@@ -36,7 +36,7 @@ describe("getPlatformPackage", () => {
36
36
  const result = getPlatformPackage(input);
37
37
 
38
38
  // #then returns correct package name
39
- expect(result).toBe("oh-my-opencode-linux-x64");
39
+ expect(result).toBe("drizzy-agent-linux-x64");
40
40
  });
41
41
 
42
42
  test("returns linux-arm64 for Linux ARM64 with glibc", () => {
@@ -47,7 +47,7 @@ describe("getPlatformPackage", () => {
47
47
  const result = getPlatformPackage(input);
48
48
 
49
49
  // #then returns correct package name
50
- expect(result).toBe("oh-my-opencode-linux-arm64");
50
+ expect(result).toBe("drizzy-agent-linux-arm64");
51
51
  });
52
52
  // #endregion
53
53
 
@@ -60,7 +60,7 @@ describe("getPlatformPackage", () => {
60
60
  const result = getPlatformPackage(input);
61
61
 
62
62
  // #then returns correct package name with musl suffix
63
- expect(result).toBe("oh-my-opencode-linux-x64-musl");
63
+ expect(result).toBe("drizzy-agent-linux-x64-musl");
64
64
  });
65
65
 
66
66
  test("returns linux-arm64-musl for Alpine ARM64", () => {
@@ -71,7 +71,7 @@ describe("getPlatformPackage", () => {
71
71
  const result = getPlatformPackage(input);
72
72
 
73
73
  // #then returns correct package name with musl suffix
74
- expect(result).toBe("oh-my-opencode-linux-arm64-musl");
74
+ expect(result).toBe("drizzy-agent-linux-arm64-musl");
75
75
  });
76
76
  // #endregion
77
77
 
@@ -84,7 +84,7 @@ describe("getPlatformPackage", () => {
84
84
  const result = getPlatformPackage(input);
85
85
 
86
86
  // #then returns correct package name with 'windows' not 'win32'
87
- expect(result).toBe("oh-my-opencode-windows-x64");
87
+ expect(result).toBe("drizzy-agent-windows-x64");
88
88
  });
89
89
  // #endregion
90
90
 
@@ -112,38 +112,38 @@ describe("getPlatformPackage", () => {
112
112
  describe("getBinaryPath", () => {
113
113
  test("returns path without .exe for Unix platforms", () => {
114
114
  // #given Unix platform package
115
- const pkg = "oh-my-opencode-darwin-arm64";
115
+ const pkg = "drizzy-agent-darwin-arm64";
116
116
  const platform = "darwin";
117
117
 
118
118
  // #when getting binary path
119
119
  const result = getBinaryPath(pkg, platform);
120
120
 
121
121
  // #then returns path without extension
122
- expect(result).toBe("oh-my-opencode-darwin-arm64/bin/oh-my-opencode");
122
+ expect(result).toBe("drizzy-agent-darwin-arm64/bin/drizzy-agent");
123
123
  });
124
124
 
125
125
  test("returns path with .exe for Windows", () => {
126
126
  // #given Windows platform package
127
- const pkg = "oh-my-opencode-windows-x64";
127
+ const pkg = "drizzy-agent-windows-x64";
128
128
  const platform = "win32";
129
129
 
130
130
  // #when getting binary path
131
131
  const result = getBinaryPath(pkg, platform);
132
132
 
133
133
  // #then returns path with .exe extension
134
- expect(result).toBe("oh-my-opencode-windows-x64/bin/oh-my-opencode.exe");
134
+ expect(result).toBe("drizzy-agent-windows-x64/bin/drizzy-agent.exe");
135
135
  });
136
136
 
137
137
  test("returns path without .exe for Linux", () => {
138
138
  // #given Linux platform package
139
- const pkg = "oh-my-opencode-linux-x64";
139
+ const pkg = "drizzy-agent-linux-x64";
140
140
  const platform = "linux";
141
141
 
142
142
  // #when getting binary path
143
143
  const result = getBinaryPath(pkg, platform);
144
144
 
145
145
  // #then returns path without extension
146
- expect(result).toBe("oh-my-opencode-linux-x64/bin/oh-my-opencode");
146
+ expect(result).toBe("drizzy-agent-linux-x64/bin/drizzy-agent");
147
147
  });
148
148
  });
149
149
 
@@ -157,8 +157,8 @@ describe("getPlatformPackageCandidates", () => {
157
157
 
158
158
  // #then returns modern first then baseline fallback
159
159
  expect(result).toEqual([
160
- "oh-my-opencode-linux-x64",
161
- "oh-my-opencode-linux-x64-baseline",
160
+ "drizzy-agent-linux-x64",
161
+ "drizzy-agent-linux-x64-baseline",
162
162
  ]);
163
163
  });
164
164
 
@@ -171,8 +171,8 @@ describe("getPlatformPackageCandidates", () => {
171
171
 
172
172
  // #then returns musl modern first then musl baseline fallback
173
173
  expect(result).toEqual([
174
- "oh-my-opencode-linux-x64-musl",
175
- "oh-my-opencode-linux-x64-musl-baseline",
174
+ "drizzy-agent-linux-x64-musl",
175
+ "drizzy-agent-linux-x64-musl-baseline",
176
176
  ]);
177
177
  });
178
178
 
@@ -185,8 +185,8 @@ describe("getPlatformPackageCandidates", () => {
185
185
 
186
186
  // #then baseline package is preferred first
187
187
  expect(result).toEqual([
188
- "oh-my-opencode-windows-x64-baseline",
189
- "oh-my-opencode-windows-x64",
188
+ "drizzy-agent-windows-x64-baseline",
189
+ "drizzy-agent-windows-x64",
190
190
  ]);
191
191
  });
192
192
 
@@ -198,6 +198,6 @@ describe("getPlatformPackageCandidates", () => {
198
198
  const result = getPlatformPackageCandidates(input);
199
199
 
200
200
  // #then baseline fallback is not included
201
- expect(result).toEqual(["oh-my-opencode-linux-arm64"]);
201
+ expect(result).toEqual(["drizzy-agent-linux-arm64"]);
202
202
  });
203
203
  });
@@ -10,4 +10,4 @@ export declare function resetConfigContext(): void;
10
10
  export declare function getConfigDir(): string;
11
11
  export declare function getConfigJson(): string;
12
12
  export declare function getConfigJsonc(): string;
13
- export declare function getOmoConfigPath(): string;
13
+ export declare function getDrizzyConfigPath(): string;
@@ -0,0 +1,2 @@
1
+ import type { InstallConfig } from "../types";
2
+ export declare function generateDrizzyConfig(installConfig: InstallConfig): Record<string, unknown>;
@@ -0,0 +1,2 @@
1
+ import type { ConfigMergeResult, InstallConfig } from "../types";
2
+ export declare function writeDrizzyConfig(installConfig: InstallConfig): ConfigMergeResult;
@@ -3,8 +3,8 @@ export { initConfigContext, getConfigContext, resetConfigContext, } from "./conf
3
3
  export { fetchNpmDistTags } from "./config-manager/npm-dist-tags";
4
4
  export { getPluginNameWithVersion } from "./config-manager/plugin-name-with-version";
5
5
  export { addPluginToOpenCodeConfig } from "./config-manager/add-plugin-to-opencode-config";
6
- export { generateOmoConfig } from "./config-manager/generate-omo-config";
7
- export { writeOmoConfig } from "./config-manager/write-omo-config";
6
+ export { generateDrizzyConfig } from "./config-manager/generate-drizzy-config";
7
+ export { writeDrizzyConfig } from "./config-manager/write-drizzy-config";
8
8
  export { isOpenCodeInstalled, getOpenCodeVersion } from "./config-manager/opencode-binary";
9
9
  export { detectCurrentConfig } from "./config-manager/detect-current-config";
10
10
  export type { BunInstallResult } from "./config-manager/bun-install";
package/dist/cli/index.js CHANGED
@@ -5960,6 +5960,7 @@ var init_agent_names = __esm(() => {
5960
5960
  coder: "coder",
5961
5961
  GPTCoder: "gptcoder",
5962
5962
  gptcoder: "gptcoder",
5963
+ hephaestus: "gptcoder",
5963
5964
  Planner: "planner",
5964
5965
  planner: "planner",
5965
5966
  "Prometheus (Planner)": "planner",
@@ -6107,7 +6108,7 @@ function migrateConfigFile(configPath, rawConfig) {
6107
6108
  needsWrite = true;
6108
6109
  }
6109
6110
  if (copy.omo_agent) {
6110
- copy.drizzy_agent = copy.omo_agent;
6111
+ copy.coder_agent = copy.omo_agent;
6111
6112
  delete copy.omo_agent;
6112
6113
  needsWrite = true;
6113
6114
  }
@@ -6266,7 +6267,7 @@ function getOpenCodeConfigPaths(options) {
6266
6267
  configJson: join3(configDir, "opencode.json"),
6267
6268
  configJsonc: join3(configDir, "opencode.jsonc"),
6268
6269
  packageJson: join3(configDir, "package.json"),
6269
- omoConfig: join3(configDir, "drizzy-agent.json")
6270
+ drizzyConfig: join3(configDir, "drizzy-agent.json")
6270
6271
  };
6271
6272
  }
6272
6273
  var TAURI_APP_IDENTIFIER = "ai.opencode.desktop", TAURI_APP_IDENTIFIER_DEV = "ai.opencode.desktop.dev";
@@ -6376,7 +6377,7 @@ var init_model_requirements = __esm(() => {
6376
6377
  fallbackChain: [
6377
6378
  {
6378
6379
  providers: ["openai", "venice", "opencode"],
6379
- model: "gpt-5.3-codex",
6380
+ model: "gpt-5.4",
6380
6381
  variant: "medium"
6381
6382
  },
6382
6383
  { providers: ["github-copilot"], model: "gpt-5.4", variant: "medium" }
@@ -6557,7 +6558,7 @@ var init_model_requirements = __esm(() => {
6557
6558
  fallbackChain: [
6558
6559
  {
6559
6560
  providers: ["openai", "opencode"],
6560
- model: "gpt-5.3-codex",
6561
+ model: "gpt-5.4",
6561
6562
  variant: "medium"
6562
6563
  },
6563
6564
  {
@@ -6571,7 +6572,7 @@ var init_model_requirements = __esm(() => {
6571
6572
  variant: "high"
6572
6573
  }
6573
6574
  ],
6574
- requiresModel: "gpt-5.3-codex"
6575
+ requiresModel: "gpt-5.4"
6575
6576
  },
6576
6577
  artistry: {
6577
6578
  fallbackChain: [
@@ -6610,7 +6611,7 @@ var init_model_requirements = __esm(() => {
6610
6611
  },
6611
6612
  {
6612
6613
  providers: ["openai", "opencode"],
6613
- model: "gpt-5.3-codex",
6614
+ model: "gpt-5.4",
6614
6615
  variant: "medium"
6615
6616
  },
6616
6617
  {
@@ -7140,8 +7141,8 @@ function getConfigJson() {
7140
7141
  function getConfigJsonc() {
7141
7142
  return getConfigContext().paths.configJsonc;
7142
7143
  }
7143
- function getOmoConfigPath() {
7144
- return getConfigContext().paths.omoConfig;
7144
+ function getDrizzyConfigPath() {
7145
+ return getConfigContext().paths.drizzyConfig;
7145
7146
  }
7146
7147
  var configContext = null;
7147
7148
  var init_config_context = __esm(() => {
@@ -7381,7 +7382,7 @@ var init_model_fallback_requirements = __esm(() => {
7381
7382
  fallbackChain: [
7382
7383
  {
7383
7384
  providers: ["openai", "opencode"],
7384
- model: "gpt-5.3-codex",
7385
+ model: "gpt-5.4",
7385
7386
  variant: "medium"
7386
7387
  }
7387
7388
  ],
@@ -7533,7 +7534,7 @@ var init_model_fallback_requirements = __esm(() => {
7533
7534
  fallbackChain: [
7534
7535
  {
7535
7536
  providers: ["openai", "opencode"],
7536
- model: "gpt-5.3-codex",
7537
+ model: "gpt-5.4",
7537
7538
  variant: "xhigh"
7538
7539
  },
7539
7540
  {
@@ -7552,7 +7553,7 @@ var init_model_fallback_requirements = __esm(() => {
7552
7553
  fallbackChain: [
7553
7554
  {
7554
7555
  providers: ["openai", "opencode"],
7555
- model: "gpt-5.3-codex",
7556
+ model: "gpt-5.4",
7556
7557
  variant: "medium"
7557
7558
  },
7558
7559
  {
@@ -7566,7 +7567,7 @@ var init_model_fallback_requirements = __esm(() => {
7566
7567
  variant: "high"
7567
7568
  }
7568
7569
  ],
7569
- requiresModel: "gpt-5.3-codex"
7570
+ requiresModel: "gpt-5.4"
7570
7571
  },
7571
7572
  artistry: {
7572
7573
  fallbackChain: [
@@ -7608,7 +7609,7 @@ var init_model_fallback_requirements = __esm(() => {
7608
7609
  },
7609
7610
  {
7610
7611
  providers: ["openai", "opencode"],
7611
- model: "gpt-5.3-codex",
7612
+ model: "gpt-5.4",
7612
7613
  variant: "medium"
7613
7614
  },
7614
7615
  {
@@ -7675,7 +7676,7 @@ var init_openai_only_model_catalog = __esm(() => {
7675
7676
  };
7676
7677
  OPENAI_ONLY_CATEGORY_OVERRIDES = {
7677
7678
  artistry: { model: "openai/gpt-5.4", variant: "xhigh" },
7678
- quick: { model: "openai/gpt-5.3-codex", variant: "low" },
7679
+ quick: { model: "openai/gpt-5.4", variant: "low" },
7679
7680
  "visual-engineering": { model: "openai/gpt-5.4", variant: "high" },
7680
7681
  writing: { model: "openai/gpt-5.4", variant: "medium" }
7681
7682
  };
@@ -7833,38 +7834,35 @@ var init_model_fallback = __esm(() => {
7833
7834
  init_fallback_chain_resolution();
7834
7835
  });
7835
7836
 
7836
- // src/cli/config-manager/generate-omo-config.ts
7837
- function generateOmoConfig(installConfig) {
7837
+ // src/cli/config-manager/generate-drizzy-config.ts
7838
+ function generateDrizzyConfig(installConfig) {
7838
7839
  return generateModelConfig(installConfig);
7839
7840
  }
7840
- var init_generate_omo_config = __esm(() => {
7841
+ var init_generate_drizzy_config = __esm(() => {
7841
7842
  init_model_fallback();
7842
7843
  });
7843
7844
 
7844
- // src/cli/config-manager/deep-merge-record.ts
7845
- function deepMergeRecord(target, source) {
7846
- const result = { ...target };
7847
- for (const key of Object.keys(source)) {
7845
+ // src/cli/config-manager/write-drizzy-config.ts
7846
+ import { existsSync as existsSync7, readFileSync as readFileSync6, statSync as statSync2, writeFileSync as writeFileSync4 } from "fs";
7847
+ import { join as join7 } from "path";
7848
+ function isEmptyOrWhitespace2(content) {
7849
+ return content.trim().length === 0;
7850
+ }
7851
+ function mergeGeneratedConfigWithExisting(generated, existing) {
7852
+ const result = { ...existing };
7853
+ for (const [key, generatedValue] of Object.entries(generated)) {
7848
7854
  if (key === "__proto__" || key === "constructor" || key === "prototype")
7849
7855
  continue;
7850
- const sourceValue = source[key];
7851
- const targetValue = result[key];
7852
- if (sourceValue !== null && typeof sourceValue === "object" && !Array.isArray(sourceValue) && targetValue !== null && typeof targetValue === "object" && !Array.isArray(targetValue)) {
7853
- result[key] = deepMergeRecord(targetValue, sourceValue);
7854
- } else if (sourceValue !== undefined) {
7855
- result[key] = sourceValue;
7856
+ const existingValue = existing[key];
7857
+ if (generatedValue !== null && typeof generatedValue === "object" && !Array.isArray(generatedValue) && existingValue !== null && typeof existingValue === "object" && !Array.isArray(existingValue)) {
7858
+ result[key] = mergeGeneratedConfigWithExisting(generatedValue, existingValue);
7859
+ continue;
7856
7860
  }
7861
+ result[key] = generatedValue;
7857
7862
  }
7858
7863
  return result;
7859
7864
  }
7860
-
7861
- // src/cli/config-manager/write-omo-config.ts
7862
- import { existsSync as existsSync7, readFileSync as readFileSync6, statSync as statSync2, writeFileSync as writeFileSync4 } from "fs";
7863
- import { join as join7 } from "path";
7864
- function isEmptyOrWhitespace2(content) {
7865
- return content.trim().length === 0;
7866
- }
7867
- function writeOmoConfig(installConfig) {
7865
+ function writeDrizzyConfig(installConfig) {
7868
7866
  try {
7869
7867
  ensureConfigDirectoryExists();
7870
7868
  } catch (err) {
@@ -7874,55 +7872,55 @@ function writeOmoConfig(installConfig) {
7874
7872
  error: formatErrorWithSuggestion(err, "create config directory")
7875
7873
  };
7876
7874
  }
7877
- const omoConfigPath = getOmoConfigPath();
7875
+ const drizzyConfigPath = getDrizzyConfigPath();
7878
7876
  const legacyConfigPath = join7(getConfigDir(), "oh-my-opencode.json");
7879
- const existingConfigPath = existsSync7(omoConfigPath) ? omoConfigPath : existsSync7(legacyConfigPath) ? legacyConfigPath : omoConfigPath;
7877
+ const existingConfigPath = existsSync7(drizzyConfigPath) ? drizzyConfigPath : existsSync7(legacyConfigPath) ? legacyConfigPath : drizzyConfigPath;
7880
7878
  try {
7881
- const newConfig = generateOmoConfig(installConfig);
7879
+ const newConfig = generateDrizzyConfig(installConfig);
7882
7880
  if (existsSync7(existingConfigPath)) {
7883
7881
  try {
7884
7882
  const stat = statSync2(existingConfigPath);
7885
7883
  const content = readFileSync6(existingConfigPath, "utf-8");
7886
7884
  if (stat.size === 0 || isEmptyOrWhitespace2(content)) {
7887
- writeFileSync4(omoConfigPath, JSON.stringify(newConfig, null, 2) + `
7885
+ writeFileSync4(drizzyConfigPath, JSON.stringify(newConfig, null, 2) + `
7888
7886
  `);
7889
- return { success: true, configPath: omoConfigPath };
7887
+ return { success: true, configPath: drizzyConfigPath };
7890
7888
  }
7891
7889
  const existing = parseJsonc(content);
7892
7890
  if (!existing || typeof existing !== "object" || Array.isArray(existing)) {
7893
- writeFileSync4(omoConfigPath, JSON.stringify(newConfig, null, 2) + `
7891
+ writeFileSync4(drizzyConfigPath, JSON.stringify(newConfig, null, 2) + `
7894
7892
  `);
7895
- return { success: true, configPath: omoConfigPath };
7893
+ return { success: true, configPath: drizzyConfigPath };
7896
7894
  }
7897
- const merged = deepMergeRecord(newConfig, existing);
7898
- writeFileSync4(omoConfigPath, JSON.stringify(merged, null, 2) + `
7895
+ const merged = mergeGeneratedConfigWithExisting(newConfig, existing);
7896
+ writeFileSync4(drizzyConfigPath, JSON.stringify(merged, null, 2) + `
7899
7897
  `);
7900
7898
  } catch (parseErr) {
7901
7899
  if (parseErr instanceof SyntaxError) {
7902
- writeFileSync4(omoConfigPath, JSON.stringify(newConfig, null, 2) + `
7900
+ writeFileSync4(drizzyConfigPath, JSON.stringify(newConfig, null, 2) + `
7903
7901
  `);
7904
- return { success: true, configPath: omoConfigPath };
7902
+ return { success: true, configPath: drizzyConfigPath };
7905
7903
  }
7906
7904
  throw parseErr;
7907
7905
  }
7908
7906
  } else {
7909
- writeFileSync4(omoConfigPath, JSON.stringify(newConfig, null, 2) + `
7907
+ writeFileSync4(drizzyConfigPath, JSON.stringify(newConfig, null, 2) + `
7910
7908
  `);
7911
7909
  }
7912
- return { success: true, configPath: omoConfigPath };
7910
+ return { success: true, configPath: drizzyConfigPath };
7913
7911
  } catch (err) {
7914
7912
  return {
7915
7913
  success: false,
7916
- configPath: omoConfigPath,
7914
+ configPath: drizzyConfigPath,
7917
7915
  error: formatErrorWithSuggestion(err, "write drizzy-agent config")
7918
7916
  };
7919
7917
  }
7920
7918
  }
7921
- var init_write_omo_config = __esm(() => {
7919
+ var init_write_drizzy_config = __esm(() => {
7922
7920
  init_shared();
7923
7921
  init_config_context();
7924
7922
  init_ensure_config_directory_exists();
7925
- init_generate_omo_config();
7923
+ init_generate_drizzy_config();
7926
7924
  });
7927
7925
 
7928
7926
  // src/shared/spawn-with-windows-hide.ts
@@ -8025,19 +8023,19 @@ var init_opencode_binary = __esm(() => {
8025
8023
  import { existsSync as existsSync8, readFileSync as readFileSync7 } from "fs";
8026
8024
  import { join as join8 } from "path";
8027
8025
  function detectProvidersFromOmoConfig() {
8028
- const omoConfigPath = getOmoConfigPath();
8026
+ const drizzyConfigPath = getDrizzyConfigPath();
8029
8027
  const legacyConfigPath = join8(getConfigDir(), "oh-my-opencode.json");
8030
- const configPath = existsSync8(omoConfigPath) ? omoConfigPath : legacyConfigPath;
8028
+ const configPath = existsSync8(drizzyConfigPath) ? drizzyConfigPath : legacyConfigPath;
8031
8029
  if (!existsSync8(configPath)) {
8032
8030
  return { hasOpenAI: true, hasOpencodeZen: true, hasZaiCodingPlan: false, hasKimiForCoding: false };
8033
8031
  }
8034
8032
  try {
8035
8033
  const content = readFileSync7(configPath, "utf-8");
8036
- const omoConfig = parseJsonc(content);
8037
- if (!omoConfig || typeof omoConfig !== "object") {
8034
+ const drizzyConfig = parseJsonc(content);
8035
+ if (!drizzyConfig || typeof drizzyConfig !== "object") {
8038
8036
  return { hasOpenAI: true, hasOpencodeZen: true, hasZaiCodingPlan: false, hasKimiForCoding: false };
8039
8037
  }
8040
- const configStr = JSON.stringify(omoConfig);
8038
+ const configStr = JSON.stringify(drizzyConfig);
8041
8039
  const hasOpenAI = configStr.includes('"openai/');
8042
8040
  const hasOpencodeZen = configStr.includes('"opencode/');
8043
8041
  const hasZaiCodingPlan = configStr.includes('"zai-coding-plan/');
@@ -8186,8 +8184,8 @@ var init_config_manager = __esm(() => {
8186
8184
  init_config_context();
8187
8185
  init_plugin_name_with_version();
8188
8186
  init_add_plugin_to_opencode_config();
8189
- init_generate_omo_config();
8190
- init_write_omo_config();
8187
+ init_generate_drizzy_config();
8188
+ init_write_drizzy_config();
8191
8189
  init_opencode_binary();
8192
8190
  init_detect_current_config();
8193
8191
  init_bun_install();
@@ -9082,7 +9080,7 @@ var {
9082
9080
  // package.json
9083
9081
  var package_default = {
9084
9082
  name: "drizzy-agent",
9085
- version: "0.1.3",
9083
+ version: "0.2.1",
9086
9084
  description: "DrizzyAgent - AI agent plugin for OpenCode",
9087
9085
  main: "dist/index.js",
9088
9086
  types: "dist/index.d.ts",
@@ -9158,17 +9156,17 @@ var package_default = {
9158
9156
  typescript: "^5.7.3"
9159
9157
  },
9160
9158
  optionalDependencies: {
9161
- "drizzy-agent-darwin-arm64": "0.1.3",
9162
- "drizzy-agent-darwin-x64": "0.1.3",
9163
- "drizzy-agent-darwin-x64-baseline": "0.1.3",
9164
- "drizzy-agent-linux-arm64": "0.1.3",
9165
- "drizzy-agent-linux-arm64-musl": "0.1.3",
9166
- "drizzy-agent-linux-x64": "0.1.3",
9167
- "drizzy-agent-linux-x64-baseline": "0.1.3",
9168
- "drizzy-agent-linux-x64-musl": "0.1.3",
9169
- "drizzy-agent-linux-x64-musl-baseline": "0.1.3",
9170
- "drizzy-agent-windows-x64": "0.1.3",
9171
- "drizzy-agent-windows-x64-baseline": "0.1.3"
9159
+ "drizzy-agent-darwin-arm64": "0.2.1",
9160
+ "drizzy-agent-darwin-x64": "0.2.1",
9161
+ "drizzy-agent-darwin-x64-baseline": "0.2.1",
9162
+ "drizzy-agent-linux-arm64": "0.2.1",
9163
+ "drizzy-agent-linux-arm64-musl": "0.2.1",
9164
+ "drizzy-agent-linux-x64": "0.2.1",
9165
+ "drizzy-agent-linux-x64-baseline": "0.2.1",
9166
+ "drizzy-agent-linux-x64-musl": "0.2.1",
9167
+ "drizzy-agent-linux-x64-musl-baseline": "0.2.1",
9168
+ "drizzy-agent-windows-x64": "0.2.1",
9169
+ "drizzy-agent-windows-x64-baseline": "0.2.1"
9172
9170
  },
9173
9171
  overrides: {
9174
9172
  "@opencode-ai/sdk": "^1.2.24"
@@ -9196,12 +9194,12 @@ var SYMBOLS = {
9196
9194
  star: import_picocolors.default.yellow("*")
9197
9195
  };
9198
9196
  var DRIZZY_AGENT_BANNER = [
9199
- "____ _ _ _ _ ",
9200
- "| _ \\ _ __(_)________ _ / \\ __ _| |__ _ __ | |_ ",
9201
- "| | | | '__| |_ /_ /| | | |/ _` | '_ \\| '_ \\| __|",
9202
- "| |_| | | | |/ / / / | |_| | (_| | |_) | | | | |_ ",
9203
- "|____/|_| |_/___/___| \\__, |\\__,_|_.__/|_| |_|\\__|",
9204
- " |___/ "
9197
+ " ____ _ ___ __ ",
9198
+ " / __ \\_____(_)_______ __ __/ | ____ ____ ____ / /_",
9199
+ " / / / / ___/ /_ /_ / / / / / /| |/ __ `/ _ \\/ __ \\/ __/",
9200
+ "/ /_/ / / / / / /_/ /_/ /_/ / ___ / /_/ / __/ / / / /_ ",
9201
+ "/_____/_/ /_/ /___/___/\\__, /_/ |_\\__, /\\___/_/ /_/\\__/ ",
9202
+ " /____/ /____/ "
9205
9203
  ].join(`
9206
9204
  `);
9207
9205
  function formatBanner(mode) {
@@ -9378,12 +9376,12 @@ async function runCliInstaller(args, version) {
9378
9376
  }
9379
9377
  printSuccess(`Plugin ${isUpdate ? "verified" : "added"} ${SYMBOLS.arrow} ${import_picocolors2.default.dim(pluginResult.configPath)}`);
9380
9378
  printStep(step++, totalSteps, "Writing drizzy-agent configuration...");
9381
- const omoResult = writeOmoConfig(config);
9382
- if (!omoResult.success) {
9383
- printError(`Failed: ${omoResult.error}`);
9379
+ const drizzyResult = writeDrizzyConfig(config);
9380
+ if (!drizzyResult.success) {
9381
+ printError(`Failed: ${drizzyResult.error}`);
9384
9382
  return 1;
9385
9383
  }
9386
- printSuccess(`Config written ${SYMBOLS.arrow} ${import_picocolors2.default.dim(omoResult.configPath)}`);
9384
+ printSuccess(`Config written ${SYMBOLS.arrow} ${import_picocolors2.default.dim(drizzyResult.configPath)}`);
9387
9385
  printBox(formatConfigSummary(config), isUpdate ? "Updated Configuration" : "Installation Complete");
9388
9386
  if (!config.hasClaude) {
9389
9387
  console.log();
@@ -10141,13 +10139,13 @@ async function runTuiInstaller(args, version) {
10141
10139
  }
10142
10140
  spinner.stop(`Plugin added to ${import_picocolors4.default.cyan(pluginResult.configPath)}`);
10143
10141
  spinner.start("Writing drizzy-agent configuration");
10144
- const omoResult = writeOmoConfig(config);
10145
- if (!omoResult.success) {
10146
- spinner.stop(`Failed to write config: ${omoResult.error}`);
10142
+ const drizzyResult = writeDrizzyConfig(config);
10143
+ if (!drizzyResult.success) {
10144
+ spinner.stop(`Failed to write config: ${drizzyResult.error}`);
10147
10145
  Se(import_picocolors4.default.red("Installation failed."));
10148
10146
  return 1;
10149
10147
  }
10150
- spinner.stop(`Config written to ${import_picocolors4.default.cyan(omoResult.configPath)}`);
10148
+ spinner.stop(`Config written to ${import_picocolors4.default.cyan(drizzyResult.configPath)}`);
10151
10149
  if (!config.hasClaude) {
10152
10150
  console.log();
10153
10151
  console.log(import_picocolors4.default.bgRed(import_picocolors4.default.white(import_picocolors4.default.bold(" CRITICAL WARNING "))));
@@ -3,6 +3,7 @@ export declare const INLINE_CODE_PATTERN: RegExp;
3
3
  export { isPlannerAgent, getUltraworkMessage } from "./ultrawork";
4
4
  export { SEARCH_PATTERN, SEARCH_MESSAGE } from "./search";
5
5
  export { ANALYZE_PATTERN, ANALYZE_MESSAGE } from "./analyze";
6
+ export { GIT_PATTERN, GIT_MESSAGE } from "./git";
6
7
  export type KeywordDetector = {
7
8
  pattern: RegExp;
8
9
  message: string | ((agentName?: string, modelID?: string) => string);
@@ -1,5 +1,5 @@
1
1
  export interface DetectedKeyword {
2
- type: "ultrawork" | "search" | "analyze";
2
+ type: "ultrawork" | "search" | "analyze" | "git";
3
3
  message: string;
4
4
  }
5
5
  export declare function removeCodeBlocks(text: string): string;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Git mode keyword detector.
3
+ *
4
+ * Triggers on git-operation requests across multiple languages:
5
+ * - English: commit, commits, rebase, squash, cherry-pick, revert, blame, bisect, stash, amend
6
+ * - Korean: 커밋, 리베이스, 스쿼시, 체리픽, 리버트, 블레임, 비섹트, 스태시, 수정 커밋
7
+ * - Japanese: コミット, リベース, スカッシュ, チェリーピック, リバート, blame, bisect, stash
8
+ * - Chinese: 提交, 变基, 压缩提交, 挑拣, 回退, 追溯, 二分查找, 暂存
9
+ * - Vietnamese: commit, rebase, squash, cherry-pick, revert, blame, bisect, stash
10
+ */
11
+ export declare const GIT_PATTERN: RegExp;
12
+ export declare const GIT_MESSAGE = "[git-mode]\nGit intent detected. Treat git work as specialized work:\n- Load the `git-master` skill before acting on git requests\n- For commit requests, inspect status, diff, and recent commit style first\n- Prefer atomic commits and follow existing repository commit conventions\n- Avoid destructive git commands unless the user explicitly asks for them";
@@ -0,0 +1 @@
1
+ export { GIT_PATTERN, GIT_MESSAGE } from "./default";
package/dist/index.js CHANGED
@@ -4828,7 +4828,7 @@ function isPlanAgent(agentName) {
4828
4828
  if (!agentName)
4829
4829
  return false;
4830
4830
  const lowerName = agentName.toLowerCase().trim();
4831
- return PLAN_AGENT_NAMES.some((name) => lowerName === name || lowerName.includes(name));
4831
+ return PLAN_AGENT_NAMES.some((name) => lowerName === name);
4832
4832
  }
4833
4833
  function isPlanFamily(category) {
4834
4834
  if (!category)
@@ -5343,7 +5343,7 @@ var init_constants = __esm(() => {
5343
5343
  DEFAULT_CATEGORIES = {
5344
5344
  "visual-engineering": { model: "google/gemini-3.1-pro", variant: "high" },
5345
5345
  ultrabrain: { model: "openai/gpt-5.4", variant: "xhigh" },
5346
- deep: { model: "openai/gpt-5.3-codex", variant: "medium" },
5346
+ deep: { model: "openai/gpt-5.4", variant: "medium" },
5347
5347
  artistry: { model: "google/gemini-3.1-pro", variant: "high" },
5348
5348
  quick: { model: "anthropic/claude-haiku-4-5" },
5349
5349
  "unspecified-low": { model: "anthropic/claude-sonnet-4-6" },
@@ -16493,6 +16493,7 @@ var AGENT_NAME_MAP = {
16493
16493
  coder: "coder",
16494
16494
  GPTCoder: "gptcoder",
16495
16495
  gptcoder: "gptcoder",
16496
+ hephaestus: "gptcoder",
16496
16497
  Planner: "planner",
16497
16498
  planner: "planner",
16498
16499
  "Prometheus (Planner)": "planner",
@@ -16640,7 +16641,7 @@ function migrateConfigFile(configPath, rawConfig) {
16640
16641
  needsWrite = true;
16641
16642
  }
16642
16643
  if (copy.omo_agent) {
16643
- copy.drizzy_agent = copy.omo_agent;
16644
+ copy.coder_agent = copy.omo_agent;
16644
16645
  delete copy.omo_agent;
16645
16646
  needsWrite = true;
16646
16647
  }
@@ -16785,7 +16786,7 @@ function getOpenCodeConfigPaths(options) {
16785
16786
  configJson: join5(configDir, "opencode.json"),
16786
16787
  configJsonc: join5(configDir, "opencode.jsonc"),
16787
16788
  packageJson: join5(configDir, "package.json"),
16788
- omoConfig: join5(configDir, "drizzy-agent.json")
16789
+ drizzyConfig: join5(configDir, "drizzy-agent.json")
16789
16790
  };
16790
16791
  }
16791
16792
  // src/shared/opencode-version.ts
@@ -17185,7 +17186,7 @@ var AGENT_MODEL_REQUIREMENTS = {
17185
17186
  fallbackChain: [
17186
17187
  {
17187
17188
  providers: ["openai", "venice", "opencode"],
17188
- model: "gpt-5.3-codex",
17189
+ model: "gpt-5.4",
17189
17190
  variant: "medium"
17190
17191
  },
17191
17192
  { providers: ["github-copilot"], model: "gpt-5.4", variant: "medium" }
@@ -17366,7 +17367,7 @@ var CATEGORY_MODEL_REQUIREMENTS = {
17366
17367
  fallbackChain: [
17367
17368
  {
17368
17369
  providers: ["openai", "opencode"],
17369
- model: "gpt-5.3-codex",
17370
+ model: "gpt-5.4",
17370
17371
  variant: "medium"
17371
17372
  },
17372
17373
  {
@@ -17380,7 +17381,7 @@ var CATEGORY_MODEL_REQUIREMENTS = {
17380
17381
  variant: "high"
17381
17382
  }
17382
17383
  ],
17383
- requiresModel: "gpt-5.3-codex"
17384
+ requiresModel: "gpt-5.4"
17384
17385
  },
17385
17386
  artistry: {
17386
17387
  fallbackChain: [
@@ -17419,7 +17420,7 @@ var CATEGORY_MODEL_REQUIREMENTS = {
17419
17420
  },
17420
17421
  {
17421
17422
  providers: ["openai", "opencode"],
17422
- model: "gpt-5.3-codex",
17423
+ model: "gpt-5.4",
17423
17424
  variant: "medium"
17424
17425
  },
17425
17426
  {
@@ -18412,8 +18413,12 @@ var SESSION_MISSING_GRACE_MS = 6000;
18412
18413
  var SESSION_READY_POLL_INTERVAL_MS = 500;
18413
18414
  var SESSION_READY_TIMEOUT_MS = 1e4;
18414
18415
  // src/shared/tmux/tmux-utils/environment.ts
18416
+ function isInsideTmuxWithEnv(env) {
18417
+ const tmux = env.TMUX;
18418
+ return typeof tmux === "string" && tmux.length > 0;
18419
+ }
18415
18420
  function isInsideTmux() {
18416
- return Boolean(process.env.TMUX);
18421
+ return isInsideTmuxWithEnv(process.env);
18417
18422
  }
18418
18423
  function getCurrentPaneId() {
18419
18424
  return process.env.TMUX_PANE;
@@ -42419,6 +42424,14 @@ IF COMPLEX - DO NOT STRUGGLE ALONE. Consult specialists:
42419
42424
  - **Artistry**: Non-conventional problems (different approach needed)
42420
42425
 
42421
42426
  SYNTHESIZE findings before proceeding.`;
42427
+ // src/hooks/keyword-detector/git/default.ts
42428
+ var GIT_PATTERN = /\b(commit|commits|rebase|squash|cherry[\s-]?pick|revert|blame|bisect|stash|amend)\b|\uCEE4\uBC0B|\uB9AC\uBCA0\uC774\uC2A4|\uC2A4\uCFFC\uC2DC|\uCCB4\uB9AC\uD53D|\uB9AC\uBC84\uD2B8|\uBE14\uB808\uC784|\uBE44\uC139\uD2B8|\uC2A4\uD0DC\uC2DC|\uC218\uC815\s*\uCEE4\uBC0B|\u30B3\u30DF\u30C3\u30C8|\u30EA\u30D9\u30FC\u30B9|\u30B9\u30AB\u30C3\u30B7\u30E5|\u30C1\u30A7\u30EA\u30FC\u30D4\u30C3\u30AF|\u30EA\u30D0\u30FC\u30C8|\u63D0\u4EA4|\u53D8\u57FA|\u538B\u7F29\u63D0\u4EA4|\u6311\u62E3|\u56DE\u9000|\u8FFD\u6EAF|\u4E8C\u5206\u67E5\u627E|\u6682\u5B58/i;
42429
+ var GIT_MESSAGE = `[git-mode]
42430
+ Git intent detected. Treat git work as specialized work:
42431
+ - Load the \`git-master\` skill before acting on git requests
42432
+ - For commit requests, inspect status, diff, and recent commit style first
42433
+ - Prefer atomic commits and follow existing repository commit conventions
42434
+ - Avoid destructive git commands unless the user explicitly asks for them`;
42422
42435
  // src/hooks/keyword-detector/constants.ts
42423
42436
  var CODE_BLOCK_PATTERN2 = /```[\s\S]*?```/g;
42424
42437
  var INLINE_CODE_PATTERN2 = /`[^`]+`/g;
@@ -42434,6 +42447,10 @@ var KEYWORD_DETECTORS = [
42434
42447
  {
42435
42448
  pattern: ANALYZE_PATTERN,
42436
42449
  message: ANALYZE_MESSAGE
42450
+ },
42451
+ {
42452
+ pattern: GIT_PATTERN,
42453
+ message: GIT_MESSAGE
42437
42454
  }
42438
42455
  ];
42439
42456
 
@@ -42446,7 +42463,7 @@ function resolveMessage(message, agentName, modelID) {
42446
42463
  }
42447
42464
  function detectKeywordsWithType(text, agentName, modelID) {
42448
42465
  const textWithoutCode = removeCodeBlocks2(text);
42449
- const types6 = ["ultrawork", "search", "analyze"];
42466
+ const types6 = ["ultrawork", "search", "analyze", "git"];
42450
42467
  return KEYWORD_DETECTORS.map(({ pattern, message }, index) => ({
42451
42468
  matches: pattern.test(textWithoutCode),
42452
42469
  type: types6[index],
@@ -48876,13 +48893,15 @@ var OhMyOpenCodeConfigSchema = exports_external.object({
48876
48893
  var BASH_CODE_BLOCK_PATTERN = /```bash\r?\n([\s\S]*?)```/g;
48877
48894
  var LEADING_GIT_COMMAND_PATTERN = /^([ \t]*(?:[A-Za-z_][A-Za-z0-9_]*=[^ \t]+\s+)*)git(?=[ \t]|$)/gm;
48878
48895
  var INLINE_GIT_COMMAND_PATTERN = /([;&|()][ \t]*)git(?=[ \t]|$)/g;
48896
+ var DEFAULT_COMMIT_FOOTER = "Developed with [DrizzyAgent](https://github.com/AndreDalwin/DrizzyAgent)";
48897
+ var DEFAULT_CO_AUTHORED_BY = "Co-authored-by: DrizzyBot <263155900+DrizzyBot@users.noreply.github.com>";
48879
48898
  function injectGitMasterConfig(template, config2) {
48880
48899
  const commitFooter = config2?.commit_footer ?? true;
48881
48900
  const includeCoAuthoredBy = config2?.include_co_authored_by ?? true;
48882
48901
  const gitEnvPrefix = assertValidGitEnvPrefix(config2?.git_env_prefix ?? "GIT_MASTER=1");
48883
48902
  let result = gitEnvPrefix ? injectGitEnvPrefix(template, gitEnvPrefix) : template;
48884
48903
  if (commitFooter || includeCoAuthoredBy) {
48885
- const injection = buildCommitFooterInjection(commitFooter, includeCoAuthoredBy, gitEnvPrefix);
48904
+ const injection = buildCommitFooterInjection(commitFooter, includeCoAuthoredBy);
48886
48905
  const insertionPoint = result.indexOf("```\n</execution>");
48887
48906
  result = insertionPoint !== -1 ? result.slice(0, insertionPoint) + "```\n\n" + injection + `
48888
48907
  </execution>` + result.slice(insertionPoint + "```\n</execution>".length) : result + `
@@ -48936,15 +48955,14 @@ function prefixGitCommandsInBashCodeBlocks(template, prefix) {
48936
48955
  function prefixGitCommandsInCodeBlock(codeBlock, prefix) {
48937
48956
  return codeBlock.replace(LEADING_GIT_COMMAND_PATTERN, `$1${prefix} git`).replace(INLINE_GIT_COMMAND_PATTERN, `$1${prefix} git`);
48938
48957
  }
48939
- function buildCommitFooterInjection(commitFooter, includeCoAuthoredBy, gitEnvPrefix) {
48958
+ function buildCommitFooterInjection(commitFooter, includeCoAuthoredBy) {
48940
48959
  const sections = [];
48941
- const cmdPrefix = gitEnvPrefix ? `${gitEnvPrefix} ` : "";
48942
48960
  sections.push("### 5.5 Commit Footer & Co-Author");
48943
48961
  sections.push("");
48944
- sections.push("Add Coder attribution to EVERY commit:");
48962
+ sections.push("Add DrizzyAgent attribution to EVERY commit:");
48945
48963
  sections.push("");
48946
48964
  if (commitFooter) {
48947
- const footerText = typeof commitFooter === "string" ? commitFooter : "Ultraworked with [Coder](https://github.com/code-yeongyu/oh-my-openagent)";
48965
+ const footerText = typeof commitFooter === "string" ? commitFooter : DEFAULT_COMMIT_FOOTER;
48948
48966
  sections.push("1. **Footer in commit body:**");
48949
48967
  sections.push("```");
48950
48968
  sections.push(footerText);
@@ -48954,26 +48972,26 @@ function buildCommitFooterInjection(commitFooter, includeCoAuthoredBy, gitEnvPre
48954
48972
  if (includeCoAuthoredBy) {
48955
48973
  sections.push(`${commitFooter ? "2" : "1"}. **Co-authored-by trailer:**`);
48956
48974
  sections.push("```");
48957
- sections.push("Co-authored-by: Coder <clio-agent@coderlabs.ai>");
48975
+ sections.push(DEFAULT_CO_AUTHORED_BY);
48958
48976
  sections.push("```");
48959
48977
  sections.push("");
48960
48978
  }
48961
48979
  if (commitFooter && includeCoAuthoredBy) {
48962
- const footerText = typeof commitFooter === "string" ? commitFooter : "Ultraworked with [Coder](https://github.com/code-yeongyu/oh-my-openagent)";
48980
+ const footerText = typeof commitFooter === "string" ? commitFooter : DEFAULT_COMMIT_FOOTER;
48963
48981
  sections.push("**Example (both enabled):**");
48964
48982
  sections.push("```bash");
48965
- sections.push(`${cmdPrefix}git commit -m "{Commit Message}" -m "${footerText}" -m "Co-authored-by: Coder <clio-agent@coderlabs.ai>"`);
48983
+ sections.push(`git commit -m "{Commit Message}" -m "${footerText}" -m "${DEFAULT_CO_AUTHORED_BY}"`);
48966
48984
  sections.push("```");
48967
48985
  } else if (commitFooter) {
48968
- const footerText = typeof commitFooter === "string" ? commitFooter : "Ultraworked with [Coder](https://github.com/code-yeongyu/oh-my-openagent)";
48986
+ const footerText = typeof commitFooter === "string" ? commitFooter : DEFAULT_COMMIT_FOOTER;
48969
48987
  sections.push("**Example:**");
48970
48988
  sections.push("```bash");
48971
- sections.push(`${cmdPrefix}git commit -m "{Commit Message}" -m "${footerText}"`);
48989
+ sections.push(`git commit -m "{Commit Message}" -m "${footerText}"`);
48972
48990
  sections.push("```");
48973
48991
  } else if (includeCoAuthoredBy) {
48974
48992
  sections.push("**Example:**");
48975
48993
  sections.push("```bash");
48976
- sections.push(`${cmdPrefix}git commit -m "{Commit Message}" -m "Co-authored-by: Coder <clio-agent@coderlabs.ai>"`);
48994
+ sections.push(`git commit -m "{Commit Message}" -m "${DEFAULT_CO_AUTHORED_BY}"`);
48977
48995
  sections.push("```");
48978
48996
  }
48979
48997
  return sections.join(`
@@ -94479,7 +94497,9 @@ function getConfiguredDefaultAgent(config4) {
94479
94497
  if (typeof defaultAgent !== "string")
94480
94498
  return;
94481
94499
  const trimmedDefaultAgent = defaultAgent.trim();
94482
- return trimmedDefaultAgent.length > 0 ? trimmedDefaultAgent : undefined;
94500
+ if (trimmedDefaultAgent.length === 0)
94501
+ return;
94502
+ return AGENT_NAME_MAP[trimmedDefaultAgent.toLowerCase()] ?? AGENT_NAME_MAP[trimmedDefaultAgent] ?? trimmedDefaultAgent;
94483
94503
  }
94484
94504
  async function applyAgentConfig(params) {
94485
94505
  const migratedDisabledAgents = (params.pluginConfig.disabled_agents ?? []).map((agent) => {
@@ -94540,14 +94560,14 @@ async function applyAgentConfig(params) {
94540
94560
  const shouldDemotePlan = plannerEnabled && replacePlan;
94541
94561
  const configuredDefaultAgent = getConfiguredDefaultAgent(params.config);
94542
94562
  const configAgent = params.config.agent;
94543
- if (isCoderEnabled && builtinAgents.drizzy) {
94563
+ if (isCoderEnabled && builtinAgents.coder) {
94544
94564
  if (configuredDefaultAgent) {
94545
94565
  params.config.default_agent = getAgentDisplayName(configuredDefaultAgent);
94546
94566
  } else {
94547
94567
  params.config.default_agent = getAgentDisplayName("coder");
94548
94568
  }
94549
94569
  const agentConfig = {
94550
- coder: builtinAgents.drizzy
94570
+ coder: builtinAgents.coder
94551
94571
  };
94552
94572
  agentConfig["coder-junior"] = createCoderJuniorAgentWithOverrides(params.pluginConfig.agents?.["coder-junior"], undefined, useTaskSystem);
94553
94573
  if (builderEnabled) {
@@ -9,5 +9,5 @@ export type OpenCodeConfigPaths = {
9
9
  configJson: string;
10
10
  configJsonc: string;
11
11
  packageJson: string;
12
- omoConfig: string;
12
+ drizzyConfig: string;
13
13
  };
@@ -1,3 +1,4 @@
1
1
  export type SplitDirection = "-h" | "-v";
2
+ export declare function isInsideTmuxWithEnv(env: NodeJS.ProcessEnv): boolean;
2
3
  export declare function isInsideTmux(): boolean;
3
4
  export declare function getCurrentPaneId(): string | undefined;
@@ -1,4 +1,4 @@
1
- export { isInsideTmux, getCurrentPaneId } from "./tmux-utils/environment";
1
+ export { isInsideTmux, isInsideTmuxWithEnv, getCurrentPaneId } from "./tmux-utils/environment";
2
2
  export type { SplitDirection } from "./tmux-utils/environment";
3
3
  export { isServerRunning, resetServerCheck } from "./tmux-utils/server-health";
4
4
  export { getPaneDimensions } from "./tmux-utils/pane-dimensions";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzy-agent",
3
- "version": "0.1.3",
3
+ "version": "0.2.1",
4
4
  "description": "DrizzyAgent - AI agent plugin for OpenCode",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -76,17 +76,17 @@
76
76
  "typescript": "^5.7.3"
77
77
  },
78
78
  "optionalDependencies": {
79
- "drizzy-agent-darwin-arm64": "0.1.3",
80
- "drizzy-agent-darwin-x64": "0.1.3",
81
- "drizzy-agent-darwin-x64-baseline": "0.1.3",
82
- "drizzy-agent-linux-arm64": "0.1.3",
83
- "drizzy-agent-linux-arm64-musl": "0.1.3",
84
- "drizzy-agent-linux-x64": "0.1.3",
85
- "drizzy-agent-linux-x64-baseline": "0.1.3",
86
- "drizzy-agent-linux-x64-musl": "0.1.3",
87
- "drizzy-agent-linux-x64-musl-baseline": "0.1.3",
88
- "drizzy-agent-windows-x64": "0.1.3",
89
- "drizzy-agent-windows-x64-baseline": "0.1.3"
79
+ "drizzy-agent-darwin-arm64": "0.2.1",
80
+ "drizzy-agent-darwin-x64": "0.2.1",
81
+ "drizzy-agent-darwin-x64-baseline": "0.2.1",
82
+ "drizzy-agent-linux-arm64": "0.2.1",
83
+ "drizzy-agent-linux-arm64-musl": "0.2.1",
84
+ "drizzy-agent-linux-x64": "0.2.1",
85
+ "drizzy-agent-linux-x64-baseline": "0.2.1",
86
+ "drizzy-agent-linux-x64-musl": "0.2.1",
87
+ "drizzy-agent-linux-x64-musl-baseline": "0.2.1",
88
+ "drizzy-agent-windows-x64": "0.2.1",
89
+ "drizzy-agent-windows-x64-baseline": "0.2.1"
90
90
  },
91
91
  "overrides": {
92
92
  "@opencode-ai/sdk": "^1.2.24"
@@ -1,2 +0,0 @@
1
- import type { InstallConfig } from "../types";
2
- export declare function generateOmoConfig(installConfig: InstallConfig): Record<string, unknown>;
@@ -1,2 +0,0 @@
1
- import type { ConfigMergeResult, InstallConfig } from "../types";
2
- export declare function writeOmoConfig(installConfig: InstallConfig): ConfigMergeResult;