@sillybit/renamer-opencode-plugin 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -33,7 +33,7 @@ bun add -d @sillybit/renamer-opencode-plugin
33
33
  ```json
34
34
  {
35
35
  "$schema": "https://opencode.ai/config.json",
36
- "plugin": ["@sillybit/renamer-opencode-plugin@latest"]
36
+ "plugin": ["@sillybit/renamer-opencode-plugin"]
37
37
  }
38
38
  ```
39
39
 
@@ -41,6 +41,24 @@ bun add -d @sillybit/renamer-opencode-plugin
41
41
 
42
42
  OpenCode installs npm plugins automatically at startup (cached under `~/.cache/opencode/node_modules/`), so the manual install step is optional.
43
43
 
44
+ ## Updating the plugin
45
+
46
+ If the plugin is installed in your project `devDependencies`, update it with Bun:
47
+
48
+ ```bash
49
+ bun update -d @sillybit/renamer-opencode-plugin
50
+ ```
51
+
52
+ To force the latest published version:
53
+
54
+ ```bash
55
+ bun add -d @sillybit/renamer-opencode-plugin@latest
56
+ ```
57
+
58
+ After updating, restart OpenCode so it reloads the plugin.
59
+
60
+ If you only reference the plugin in `opencode.json`/`opencode.jsonc` (without adding it to your project dependencies), restarting OpenCode is usually enough for it to fetch the newest cached-compatible version.
61
+
44
62
  ## Configuration
45
63
 
46
64
  Config is optional. If you don’t configure anything, the plugin is enabled and replaces `opencode` → `Renamer`.
@@ -57,7 +75,15 @@ Example:
57
75
  ```json
58
76
  {
59
77
  "enabled": true,
60
- "replacement": "Renamer"
78
+ "replacement": "Renamer",
79
+ "hooks": {
80
+ "chatMessage": true,
81
+ "system": true,
82
+ "messageHistory": true,
83
+ "textComplete": true,
84
+ "toolOutput": true
85
+ },
86
+ "caseVariants": false
61
87
  }
62
88
  ```
63
89
 
@@ -66,6 +92,80 @@ Example:
66
92
  - `OPENCODE_RENAMER_REPLACE_ENABLED` (`true`/`false`, also supports `1/0`, `yes/no`, `on/off`)
67
93
  - `OPENCODE_RENAMER_REPLACE_TEXT` (non-empty string)
68
94
 
95
+ ## Hook Configuration
96
+
97
+ By default, all hooks are enabled. You can selectively disable specific hooks using the `hooks` configuration:
98
+
99
+ ```json
100
+ {
101
+ "enabled": true,
102
+ "replacement": "Renamer",
103
+ "hooks": {
104
+ "chatMessage": false, // Disable replacement in chat messages
105
+ "system": true, // Keep replacement in system prompts
106
+ "messageHistory": true, // Keep replacement in message history
107
+ "textComplete": true, // Keep replacement in text completions
108
+ "toolOutput": true // Keep replacement in tool outputs
109
+ }
110
+ }
111
+ ```
112
+
113
+ **Available hook toggles:**
114
+
115
+ - `chatMessage` - Controls replacement in chat messages
116
+ - `system` - Controls replacement in system prompts
117
+ - `messageHistory` - Controls replacement in message history
118
+ - `textComplete` - Controls replacement in text completions
119
+ - `toolOutput` - Controls replacement in tool outputs
120
+
121
+ **Note:** Session title replacement (the `event` handler) is always active when `enabled: true` and cannot be disabled via hooks configuration.
122
+
123
+ ## Case Variant Matching
124
+
125
+ By default, the plugin only matches `opencode` (case-insensitive). You can enable matching of case variants using the `caseVariants` option:
126
+
127
+ ```json
128
+ {
129
+ "enabled": true,
130
+ "replacement": "Renamer",
131
+ "caseVariants": true
132
+ }
133
+ ```
134
+
135
+ When `caseVariants: true`, the plugin matches and replaces these 7 variants:
136
+
137
+ - **camelCase**: `openCode` → `Renamer`
138
+ - **PascalCase**: `OpenCode` → `Renamer`
139
+ - **kebab-case**: `open-code` → `Renamer`
140
+ - **snake_case**: `open_code` → `Renamer`
141
+ - **SCREAMING_SNAKE**: `OPEN_CODE` → `Renamer`
142
+ - **SCREAMING_KEBAB**: `OPEN-CODE` → `Renamer`
143
+ - **dot.case**: `open.code` → `Renamer`
144
+
145
+ **Important notes:**
146
+
147
+ - Replacement is always the literal `replacement` string (not case-aware)
148
+ - Variants respect protected ranges (URLs, paths, code blocks)
149
+ - Default is `false` for backward compatibility
150
+
151
+ **Example:**
152
+
153
+ Input:
154
+
155
+ ```
156
+ Use open-code or open_code in your project
157
+ Visit https://open-code.dev for docs
158
+ ```
159
+
160
+ Output (with `caseVariants: true`):
161
+
162
+ ```
163
+ Use Renamer or Renamer in your project
164
+ Visit https://open-code.dev for docs
165
+ ```
166
+
167
+ The URL is protected, but the text variants are replaced.
168
+
69
169
  ## Examples
70
170
 
71
171
  ### Normal text (replaced)
@@ -93,6 +193,7 @@ echo "opencode"
93
193
  ## Behavior details
94
194
 
95
195
  - Match is case-insensitive: `OpenCode`, `OPENCODE`, `opencode` all become your `replacement`.
196
+ - **Case variant matching**: When `caseVariants: true` is enabled, variants like `open-code` or `open_code` are also matched and replaced.
96
197
  - Replacement target is intentionally fixed to `opencode` (not configurable).
97
198
 
98
199
  ## Development
package/dist/index.d.ts CHANGED
@@ -1,3 +1,21 @@
1
1
  import type { Plugin } from "@opencode-ai/plugin";
2
+ export type HooksConfig = {
3
+ chatMessage: boolean;
4
+ system: boolean;
5
+ messageHistory: boolean;
6
+ textComplete: boolean;
7
+ toolOutput: boolean;
8
+ };
9
+ export declare const DEFAULT_HOOKS_CONFIG: HooksConfig;
10
+ export declare function mergeHooksConfig(globalHooks: Partial<HooksConfig> | undefined, projectHooks: Partial<HooksConfig> | undefined): HooksConfig;
11
+ export declare function splitIntoWords(target: string): string[];
12
+ export declare function generateCaseVariants(words: string[]): string[];
13
+ export declare function buildVariantRegex(variants: string[]): RegExp;
14
+ export declare function replaceOpencode(text: string, replacement: string, regex?: RegExp): string;
15
+ export declare function mergeRanges(ranges: Array<[number, number]>): Array<[number, number]>;
16
+ export declare function replaceOutsideRanges(text: string, replacement: string, ranges: Array<[number, number]>, regex?: RegExp): string;
17
+ export declare function replaceExcludingUrlsAndPaths(text: string, replacement: string, regex?: RegExp): string;
18
+ export declare function replaceInInlineCodeSegments(text: string, replacement: string, regex?: RegExp): string;
19
+ export declare function replaceInText(text: string, replacement: string, regex?: RegExp): string;
2
20
  export declare const RenamerReplacePlugin: Plugin;
3
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAyOlD,eAAO,MAAM,oBAAoB,EAAE,MAqJlC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAmBF,eAAO,MAAM,oBAAoB,EAAE,WAMlC,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,EAC7C,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,GAC7C,WAAW,CAMb;AAoBD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAMvD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAsB9D;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAG5D;AAsFD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAGR;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC9B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmBzB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC/B,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CA4BR;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAgBR;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAQR;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CASR;AAkED,eAAO,MAAM,oBAAoB,EAAE,MAgLlC,CAAC"}
package/dist/index.js CHANGED
@@ -1,16 +1,64 @@
1
1
  import fs from "node:fs/promises";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
+ export const DEFAULT_HOOKS_CONFIG = {
5
+ chatMessage: true,
6
+ system: true,
7
+ messageHistory: true,
8
+ textComplete: true,
9
+ toolOutput: true,
10
+ };
11
+ export function mergeHooksConfig(globalHooks, projectHooks) {
12
+ return {
13
+ ...DEFAULT_HOOKS_CONFIG,
14
+ ...(globalHooks ?? {}),
15
+ ...(projectHooks ?? {}),
16
+ };
17
+ }
4
18
  const DEFAULT_CONFIG = {
5
19
  enabled: true,
6
20
  replacement: "Renamer",
21
+ hooks: DEFAULT_HOOKS_CONFIG,
22
+ caseVariants: false,
7
23
  };
8
24
  const CONFIG_FILENAME = "renamer-config.json";
9
25
  const ENV_ENABLED = "OPENCODE_RENAMER_REPLACE_ENABLED";
10
26
  const ENV_REPLACEMENT = "OPENCODE_RENAMER_REPLACE_TEXT";
11
27
  const URL_REGEX = /https?:\/\/[^\s`"')\]]+/gi;
12
- const PATH_REGEX = /(?:\b[a-zA-Z]:\\[^\s`"')\]]+)|(?:~\/[^\s`"')\]]+)|(?:\.\.?\/[^\s`"')\]]+)|(?:\/[^\s`"')\]]+)/g;
28
+ const PATH_REGEX = /(?:\b[a-zA-Z]:\\[^\s`"')\]]+)|(?:~\/[^\s`"')\]]+)|(?:\.\.?\/[^\s`"')\]]+)/g;
13
29
  const OPENCODE_REGEX = /opencode/gi;
30
+ export function splitIntoWords(target) {
31
+ // For "opencode", hardcoded since it has no camelCase boundaries
32
+ if (target.toLowerCase() === "opencode") {
33
+ return ["open", "code"];
34
+ }
35
+ return [target];
36
+ }
37
+ export function generateCaseVariants(words) {
38
+ const lower = words.map((w) => w.toLowerCase());
39
+ const upper = words.map((w) => w.toUpperCase());
40
+ const capitalize = (w) => w[0].toUpperCase() + w.slice(1).toLowerCase();
41
+ return [
42
+ // camelCase: openCode
43
+ lower[0] + words.slice(1).map(capitalize).join(""),
44
+ // PascalCase: OpenCode
45
+ words.map(capitalize).join(""),
46
+ // kebab-case: open-code
47
+ lower.join("-"),
48
+ // snake_case: open_code
49
+ lower.join("_"),
50
+ // SCREAMING_SNAKE: OPEN_CODE
51
+ upper.join("_"),
52
+ // SCREAMING_KEBAB: OPEN-CODE
53
+ upper.join("-"),
54
+ // dot.case: open.code
55
+ lower.join("."),
56
+ ];
57
+ }
58
+ export function buildVariantRegex(variants) {
59
+ const escaped = variants.map((v) => v.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
60
+ return new RegExp(escaped.join("|"), "g");
61
+ }
14
62
  function parseBool(value) {
15
63
  if (value === undefined)
16
64
  return undefined;
@@ -53,6 +101,7 @@ async function loadConfig(state) {
53
101
  ...DEFAULT_CONFIG,
54
102
  ...(globalConfig ?? {}),
55
103
  ...(projectConfig ?? {}),
104
+ hooks: mergeHooksConfig(globalConfig?.hooks, projectConfig?.hooks),
56
105
  };
57
106
  const envEnabled = parseBool(process.env[ENV_ENABLED]);
58
107
  if (envEnabled !== undefined) {
@@ -62,6 +111,17 @@ async function loadConfig(state) {
62
111
  if (envReplacement && envReplacement.trim().length > 0) {
63
112
  merged.replacement = envReplacement;
64
113
  }
114
+ // Compile variant regex when caseVariants is enabled
115
+ if (merged.caseVariants) {
116
+ const words = splitIntoWords("opencode");
117
+ const variants = generateCaseVariants(words);
118
+ // Also include base case-insensitive variants
119
+ variants.push("opencode", "Opencode", "OpenCode", "OPENCODE");
120
+ state.variantRegex = buildVariantRegex(variants);
121
+ }
122
+ else {
123
+ state.variantRegex = undefined;
124
+ }
65
125
  state.cachedConfig = merged;
66
126
  state.lastLoaded = Date.now();
67
127
  return merged;
@@ -72,33 +132,49 @@ async function loadConfig(state) {
72
132
  return DEFAULT_CONFIG;
73
133
  }
74
134
  }
75
- function replaceOpencode(text, replacement) {
135
+ export function replaceOpencode(text, replacement, regex) {
76
136
  if (!text)
77
137
  return text;
78
- return text.replace(OPENCODE_REGEX, replacement);
138
+ return text.replace(regex ?? OPENCODE_REGEX, replacement);
79
139
  }
80
- function replaceOutsideRanges(text, replacement, ranges) {
140
+ export function mergeRanges(ranges) {
81
141
  if (ranges.length === 0)
82
- return replaceOpencode(text, replacement);
83
- const sorted = ranges
142
+ return [];
143
+ const sorted = [...ranges].sort((a, b) => a[0] - b[0]);
144
+ const merged = [[sorted[0][0], sorted[0][1]]];
145
+ for (let i = 1; i < sorted.length; i += 1) {
146
+ const current = sorted[i];
147
+ const last = merged[merged.length - 1];
148
+ if (current[0] <= last[1]) {
149
+ last[1] = Math.max(last[1], current[1]);
150
+ continue;
151
+ }
152
+ merged.push([current[0], current[1]]);
153
+ }
154
+ return merged;
155
+ }
156
+ export function replaceOutsideRanges(text, replacement, ranges, regex) {
157
+ if (ranges.length === 0)
158
+ return replaceOpencode(text, replacement, regex);
159
+ const sorted = mergeRanges(ranges
84
160
  .map((range) => [Math.max(0, range[0]), Math.max(0, range[1])])
85
161
  .filter(([start, end]) => end > start)
86
- .sort((a, b) => a[0] - b[0]);
162
+ .sort((a, b) => a[0] - b[0]));
87
163
  let result = "";
88
164
  let cursor = 0;
89
165
  for (const [start, end] of sorted) {
90
166
  if (start > cursor) {
91
- result += replaceOpencode(text.slice(cursor, start), replacement);
167
+ result += replaceOpencode(text.slice(cursor, start), replacement, regex);
92
168
  }
93
169
  result += text.slice(start, end);
94
170
  cursor = Math.max(cursor, end);
95
171
  }
96
172
  if (cursor < text.length) {
97
- result += replaceOpencode(text.slice(cursor), replacement);
173
+ result += replaceOpencode(text.slice(cursor), replacement, regex);
98
174
  }
99
175
  return result;
100
176
  }
101
- function replaceExcludingUrlsAndPaths(text, replacement) {
177
+ export function replaceExcludingUrlsAndPaths(text, replacement, regex) {
102
178
  const ranges = [];
103
179
  const urlMatches = text.matchAll(URL_REGEX);
104
180
  for (const match of urlMatches) {
@@ -112,19 +188,19 @@ function replaceExcludingUrlsAndPaths(text, replacement) {
112
188
  continue;
113
189
  ranges.push([match.index, match.index + match[0].length]);
114
190
  }
115
- return replaceOutsideRanges(text, replacement, ranges);
191
+ return replaceOutsideRanges(text, replacement, ranges, regex);
116
192
  }
117
- function replaceInInlineCodeSegments(text, replacement) {
193
+ export function replaceInInlineCodeSegments(text, replacement, regex) {
118
194
  const segments = text.split("`");
119
195
  return segments
120
196
  .map((segment, index) => {
121
197
  if (index % 2 === 1)
122
198
  return segment;
123
- return replaceExcludingUrlsAndPaths(segment, replacement);
199
+ return replaceExcludingUrlsAndPaths(segment, replacement, regex);
124
200
  })
125
201
  .join("`");
126
202
  }
127
- function replaceInText(text, replacement) {
203
+ export function replaceInText(text, replacement, regex) {
128
204
  if (!text || typeof text !== "string")
129
205
  return text;
130
206
  const blocks = text.split("```");
@@ -132,49 +208,52 @@ function replaceInText(text, replacement) {
132
208
  .map((block, index) => {
133
209
  if (index % 2 === 1)
134
210
  return block;
135
- return replaceInInlineCodeSegments(block, replacement);
211
+ return replaceInInlineCodeSegments(block, replacement, regex);
136
212
  })
137
213
  .join("```");
138
214
  }
139
- function replaceInParts(parts, replacement) {
215
+ function replaceInParts(parts, replacement, regex) {
140
216
  if (!parts || !Array.isArray(parts))
141
217
  return;
142
218
  for (const part of parts) {
143
219
  if (part.type === "text" && typeof part.text === "string") {
144
- part.text = replaceInText(part.text, replacement);
220
+ part.text = replaceInText(part.text, replacement, regex);
145
221
  }
146
222
  if (part.type === "subtask") {
147
223
  if (typeof part.prompt === "string") {
148
- part.prompt = replaceInText(part.prompt, replacement);
224
+ part.prompt = replaceInText(part.prompt, replacement, regex);
149
225
  }
150
226
  if (typeof part.description === "string") {
151
- part.description = replaceInText(part.description, replacement);
227
+ part.description = replaceInText(part.description, replacement, regex);
152
228
  }
153
229
  }
154
230
  if (typeof part.title === "string") {
155
- part.title = replaceInText(part.title, replacement);
231
+ part.title = replaceInText(part.title, replacement, regex);
156
232
  }
157
233
  if (typeof part.description === "string") {
158
- part.description = replaceInText(part.description, replacement);
234
+ part.description = replaceInText(part.description, replacement, regex);
159
235
  }
160
236
  }
161
237
  }
162
- function replaceInMessages(messages, replacement) {
238
+ function replaceInMessages(messages, replacement, regex) {
163
239
  if (!messages || !Array.isArray(messages))
164
240
  return;
165
241
  for (const message of messages) {
166
- replaceInParts(message.parts, replacement);
242
+ replaceInParts(message.parts, replacement, regex);
167
243
  if (typeof message.info?.title === "string") {
168
- message.info.title = replaceInText(message.info.title, replacement);
244
+ message.info.title = replaceInText(message.info.title, replacement, regex);
169
245
  }
170
246
  }
171
247
  }
172
- function updateSessionTitleIfNeeded(title, replacement) {
248
+ function updateSessionTitleIfNeeded(title, replacement, regex) {
173
249
  if (!title)
174
250
  return title;
175
- if (!OPENCODE_REGEX.test(title))
251
+ const testRegex = regex ?? OPENCODE_REGEX;
252
+ if (!testRegex.test(title))
176
253
  return title;
177
- return replaceInText(title, replacement);
254
+ // Reset lastIndex since test() advances it for global regexes
255
+ testRegex.lastIndex = 0;
256
+ return replaceInText(title, replacement, regex);
178
257
  }
179
258
  export const RenamerReplacePlugin = async ({ client, directory, worktree, }) => {
180
259
  const state = {};
@@ -207,7 +286,7 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
207
286
  if (!config.enabled)
208
287
  return;
209
288
  const title = event.title;
210
- const updated = updateSessionTitleIfNeeded(title, config.replacement);
289
+ const updated = updateSessionTitleIfNeeded(title, config.replacement, state.variantRegex);
211
290
  if (!updated || updated === title)
212
291
  return;
213
292
  const sessionID = event.sessionID;
@@ -226,9 +305,11 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
226
305
  await withConfig((config) => {
227
306
  if (!config.enabled)
228
307
  return;
308
+ if (!config.hooks.chatMessage)
309
+ return;
229
310
  if (!output.parts || !Array.isArray(output.parts))
230
311
  return;
231
- replaceInParts(output.parts, config.replacement);
312
+ replaceInParts(output.parts, config.replacement, state.variantRegex);
232
313
  }).catch((error) => {
233
314
  console.error("[renamer-opencode-plugin] chat.message error:", error);
234
315
  });
@@ -237,12 +318,14 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
237
318
  await withConfig((config) => {
238
319
  if (!config.enabled)
239
320
  return;
321
+ if (!config.hooks.system)
322
+ return;
240
323
  const system = output?.system;
241
324
  if (!system || !Array.isArray(system))
242
325
  return;
243
326
  for (let i = 0; i < system.length; i += 1) {
244
327
  if (typeof system[i] === "string") {
245
- system[i] = replaceInText(system[i], config.replacement);
328
+ system[i] = replaceInText(system[i], config.replacement, state.variantRegex);
246
329
  }
247
330
  }
248
331
  }).catch((error) => {
@@ -253,9 +336,11 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
253
336
  await withConfig((config) => {
254
337
  if (!config.enabled)
255
338
  return;
339
+ if (!config.hooks.messageHistory)
340
+ return;
256
341
  if (!output.messages || !Array.isArray(output.messages))
257
342
  return;
258
- replaceInMessages(output.messages, config.replacement);
343
+ replaceInMessages(output.messages, config.replacement, state.variantRegex);
259
344
  }).catch((error) => {
260
345
  console.error("[renamer-opencode-plugin] experimental.chat.messages.transform error:", error);
261
346
  });
@@ -264,9 +349,11 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
264
349
  await withConfig((config) => {
265
350
  if (!config.enabled)
266
351
  return;
352
+ if (!config.hooks.textComplete)
353
+ return;
267
354
  if (typeof output.text !== "string")
268
355
  return;
269
- output.text = replaceInText(output.text, config.replacement);
356
+ output.text = replaceInText(output.text, config.replacement, state.variantRegex);
270
357
  }).catch((error) => {
271
358
  console.error("[renamer-opencode-plugin] experimental.text.complete error:", error);
272
359
  });
@@ -275,11 +362,13 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
275
362
  await withConfig((config) => {
276
363
  if (!config.enabled)
277
364
  return;
365
+ if (!config.hooks.toolOutput)
366
+ return;
278
367
  if (typeof output.title === "string") {
279
- output.title = replaceInText(output.title, config.replacement);
368
+ output.title = replaceInText(output.title, config.replacement, state.variantRegex);
280
369
  }
281
370
  if (typeof output.output === "string") {
282
- output.output = replaceInText(output.output, config.replacement);
371
+ output.output = replaceInText(output.output, config.replacement, state.variantRegex);
283
372
  }
284
373
  }).catch((error) => {
285
374
  console.error("[renamer-opencode-plugin] tool.execute.after error:", error);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sillybit/renamer-opencode-plugin",
3
- "version": "0.1.3",
4
- "description": "OpenCode plugin that replaces case-insensitive 'opencode' text with a configurable value (default: 'Renamer') across chat messages, system prompts, tool outputs, and session titles",
3
+ "version": "0.2.0",
4
+ "description": "OpenCode plugin that replaces case-insensitive 'OpenCode' text with a configurable value (default: 'Renamer') across chat messages, system prompts, tool outputs, and session titles",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -21,7 +21,8 @@
21
21
  "prepack": "bun run build",
22
22
  "format": "biome format --write .",
23
23
  "lint": "biome lint .",
24
- "check": "biome check --write ."
24
+ "check": "biome check --write .",
25
+ "test": "bun test"
25
26
  },
26
27
  "license": "MIT",
27
28
  "publishConfig": {
@@ -36,8 +37,8 @@
36
37
  "url": "https://github.com/Sillybit-io/renamer-opencode-plugin/issues"
37
38
  },
38
39
  "keywords": [
39
- "opencode",
40
- "opencode-plugin",
40
+ "OpenCode",
41
+ "OpenCode-plugin",
41
42
  "renamer",
42
43
  "text-transform"
43
44
  ],
@@ -45,7 +46,7 @@
45
46
  "node": ">=18"
46
47
  },
47
48
  "dependencies": {
48
- "@opencode-ai/plugin": "^1.1.21"
49
+ "@opencode-ai/plugin": "^1.1.53"
49
50
  },
50
51
  "devDependencies": {
51
52
  "@biomejs/biome": "^2.3.11",