@sillybit/renamer-opencode-plugin 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.
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
@@ -0,0 +1,19 @@
1
+ export type HooksConfig = {
2
+ chatMessage: boolean;
3
+ system: boolean;
4
+ messageHistory: boolean;
5
+ textComplete: boolean;
6
+ toolOutput: boolean;
7
+ };
8
+ export declare const DEFAULT_HOOKS_CONFIG: HooksConfig;
9
+ export declare function mergeHooksConfig(globalHooks: Partial<HooksConfig> | undefined, projectHooks: Partial<HooksConfig> | undefined): HooksConfig;
10
+ export declare function splitIntoWords(target: string): string[];
11
+ export declare function generateCaseVariants(words: string[]): string[];
12
+ export declare function buildVariantRegex(variants: string[]): RegExp;
13
+ export declare function replaceOpencode(text: string, replacement: string, regex?: RegExp): string;
14
+ export declare function mergeRanges(ranges: Array<[number, number]>): Array<[number, number]>;
15
+ export declare function replaceOutsideRanges(text: string, replacement: string, ranges: Array<[number, number]>, regex?: RegExp): string;
16
+ export declare function replaceExcludingUrlsAndPaths(text: string, replacement: string, regex?: RegExp): string;
17
+ export declare function replaceInInlineCodeSegments(text: string, replacement: string, regex?: RegExp): string;
18
+ export declare function replaceInText(text: string, replacement: string, regex?: RegExp): string;
19
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,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;AAEF,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;AAED,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;AAQD,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"}
@@ -0,0 +1,130 @@
1
+ export const DEFAULT_HOOKS_CONFIG = {
2
+ chatMessage: true,
3
+ system: true,
4
+ messageHistory: true,
5
+ textComplete: true,
6
+ toolOutput: true,
7
+ };
8
+ export function mergeHooksConfig(globalHooks, projectHooks) {
9
+ return {
10
+ ...DEFAULT_HOOKS_CONFIG,
11
+ ...(globalHooks ?? {}),
12
+ ...(projectHooks ?? {}),
13
+ };
14
+ }
15
+ export function splitIntoWords(target) {
16
+ // For "opencode", hardcoded since it has no camelCase boundaries
17
+ if (target.toLowerCase() === "opencode") {
18
+ return ["open", "code"];
19
+ }
20
+ return [target];
21
+ }
22
+ export function generateCaseVariants(words) {
23
+ const lower = words.map((w) => w.toLowerCase());
24
+ const upper = words.map((w) => w.toUpperCase());
25
+ const capitalize = (w) => w[0].toUpperCase() + w.slice(1).toLowerCase();
26
+ return [
27
+ // camelCase: openCode
28
+ lower[0] + words.slice(1).map(capitalize).join(""),
29
+ // PascalCase: OpenCode
30
+ words.map(capitalize).join(""),
31
+ // kebab-case: open-code
32
+ lower.join("-"),
33
+ // snake_case: open_code
34
+ lower.join("_"),
35
+ // SCREAMING_SNAKE: OPEN_CODE
36
+ upper.join("_"),
37
+ // SCREAMING_KEBAB: OPEN-CODE
38
+ upper.join("-"),
39
+ // dot.case: open.code
40
+ lower.join("."),
41
+ ];
42
+ }
43
+ export function buildVariantRegex(variants) {
44
+ const escaped = variants.map((v) => v.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
45
+ return new RegExp(escaped.join("|"), "g");
46
+ }
47
+ const OPENCODE_REGEX = /opencode/gi;
48
+ const URL_REGEX = /https?:\/\/[^\s`"')\]]+/gi;
49
+ const PATH_REGEX = /(?:\b[a-zA-Z]:\\[^\s`"')\]]+)|(?:~\/[^\s`"')\]]+)|(?:\.\.?\/[^\s`"')\]]+)/g;
50
+ export function replaceOpencode(text, replacement, regex) {
51
+ if (!text)
52
+ return text;
53
+ return text.replace(regex ?? OPENCODE_REGEX, replacement);
54
+ }
55
+ export function mergeRanges(ranges) {
56
+ if (ranges.length === 0)
57
+ return [];
58
+ const sorted = [...ranges].sort((a, b) => a[0] - b[0]);
59
+ const merged = [[sorted[0][0], sorted[0][1]]];
60
+ for (let i = 1; i < sorted.length; i += 1) {
61
+ const current = sorted[i];
62
+ const last = merged[merged.length - 1];
63
+ if (current[0] <= last[1]) {
64
+ last[1] = Math.max(last[1], current[1]);
65
+ continue;
66
+ }
67
+ merged.push([current[0], current[1]]);
68
+ }
69
+ return merged;
70
+ }
71
+ export function replaceOutsideRanges(text, replacement, ranges, regex) {
72
+ if (ranges.length === 0)
73
+ return replaceOpencode(text, replacement, regex);
74
+ const sorted = mergeRanges(ranges
75
+ .map((range) => [Math.max(0, range[0]), Math.max(0, range[1])])
76
+ .filter(([start, end]) => end > start)
77
+ .sort((a, b) => a[0] - b[0]));
78
+ let result = "";
79
+ let cursor = 0;
80
+ for (const [start, end] of sorted) {
81
+ if (start > cursor) {
82
+ result += replaceOpencode(text.slice(cursor, start), replacement, regex);
83
+ }
84
+ result += text.slice(start, end);
85
+ cursor = Math.max(cursor, end);
86
+ }
87
+ if (cursor < text.length) {
88
+ result += replaceOpencode(text.slice(cursor), replacement, regex);
89
+ }
90
+ return result;
91
+ }
92
+ export function replaceExcludingUrlsAndPaths(text, replacement, regex) {
93
+ const ranges = [];
94
+ const urlMatches = text.matchAll(URL_REGEX);
95
+ for (const match of urlMatches) {
96
+ if (match.index === undefined)
97
+ continue;
98
+ ranges.push([match.index, match.index + match[0].length]);
99
+ }
100
+ const pathMatches = text.matchAll(PATH_REGEX);
101
+ for (const match of pathMatches) {
102
+ if (match.index === undefined)
103
+ continue;
104
+ ranges.push([match.index, match.index + match[0].length]);
105
+ }
106
+ return replaceOutsideRanges(text, replacement, ranges, regex);
107
+ }
108
+ export function replaceInInlineCodeSegments(text, replacement, regex) {
109
+ const segments = text.split("`");
110
+ return segments
111
+ .map((segment, index) => {
112
+ if (index % 2 === 1)
113
+ return segment;
114
+ return replaceExcludingUrlsAndPaths(segment, replacement, regex);
115
+ })
116
+ .join("`");
117
+ }
118
+ export function replaceInText(text, replacement, regex) {
119
+ if (!text || typeof text !== "string")
120
+ return text;
121
+ const blocks = text.split("```");
122
+ return blocks
123
+ .map((block, index) => {
124
+ if (index % 2 === 1)
125
+ return block;
126
+ return replaceInInlineCodeSegments(block, replacement, regex);
127
+ })
128
+ .join("```");
129
+ }
130
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import type { Plugin } from "@opencode-ai/plugin";
2
2
  export declare const RenamerReplacePlugin: Plugin;
3
+ export default RenamerReplacePlugin;
3
4
  //# 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;AAsTlD,eAAO,MAAM,oBAAoB,EAAE,MAgLlC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,15 +1,18 @@
1
1
  import fs from "node:fs/promises";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
+ import { buildVariantRegex, DEFAULT_HOOKS_CONFIG, generateCaseVariants, mergeHooksConfig, splitIntoWords, } from "./helpers";
4
5
  const DEFAULT_CONFIG = {
5
6
  enabled: true,
6
7
  replacement: "Renamer",
8
+ hooks: DEFAULT_HOOKS_CONFIG,
9
+ caseVariants: false,
7
10
  };
8
11
  const CONFIG_FILENAME = "renamer-config.json";
9
12
  const ENV_ENABLED = "OPENCODE_RENAMER_REPLACE_ENABLED";
10
13
  const ENV_REPLACEMENT = "OPENCODE_RENAMER_REPLACE_TEXT";
11
14
  const URL_REGEX = /https?:\/\/[^\s`"')\]]+/gi;
12
- const PATH_REGEX = /(?:\b[a-zA-Z]:\\[^\s`"')\]]+)|(?:~\/[^\s`"')\]]+)|(?:\.\.?\/[^\s`"')\]]+)|(?:\/[^\s`"')\]]+)/g;
15
+ const PATH_REGEX = /(?:\b[a-zA-Z]:\\[^\s`"')\]]+)|(?:~\/[^\s`"')\]]+)|(?:\.\.?\/[^\s`"')\]]+)/g;
13
16
  const OPENCODE_REGEX = /opencode/gi;
14
17
  function parseBool(value) {
15
18
  if (value === undefined)
@@ -53,6 +56,7 @@ async function loadConfig(state) {
53
56
  ...DEFAULT_CONFIG,
54
57
  ...(globalConfig ?? {}),
55
58
  ...(projectConfig ?? {}),
59
+ hooks: mergeHooksConfig(globalConfig?.hooks, projectConfig?.hooks),
56
60
  };
57
61
  const envEnabled = parseBool(process.env[ENV_ENABLED]);
58
62
  if (envEnabled !== undefined) {
@@ -62,6 +66,17 @@ async function loadConfig(state) {
62
66
  if (envReplacement && envReplacement.trim().length > 0) {
63
67
  merged.replacement = envReplacement;
64
68
  }
69
+ // Compile variant regex when caseVariants is enabled
70
+ if (merged.caseVariants) {
71
+ const words = splitIntoWords("opencode");
72
+ const variants = generateCaseVariants(words);
73
+ // Also include base case-insensitive variants
74
+ variants.push("opencode", "Opencode", "OpenCode", "OPENCODE");
75
+ state.variantRegex = buildVariantRegex(variants);
76
+ }
77
+ else {
78
+ state.variantRegex = undefined;
79
+ }
65
80
  state.cachedConfig = merged;
66
81
  state.lastLoaded = Date.now();
67
82
  return merged;
@@ -72,33 +87,49 @@ async function loadConfig(state) {
72
87
  return DEFAULT_CONFIG;
73
88
  }
74
89
  }
75
- function replaceOpencode(text, replacement) {
90
+ function replaceOpencode(text, replacement, regex) {
76
91
  if (!text)
77
92
  return text;
78
- return text.replace(OPENCODE_REGEX, replacement);
93
+ return text.replace(regex ?? OPENCODE_REGEX, replacement);
94
+ }
95
+ function mergeRanges(ranges) {
96
+ if (ranges.length === 0)
97
+ return [];
98
+ const sorted = [...ranges].sort((a, b) => a[0] - b[0]);
99
+ const merged = [[sorted[0][0], sorted[0][1]]];
100
+ for (let i = 1; i < sorted.length; i += 1) {
101
+ const current = sorted[i];
102
+ const last = merged[merged.length - 1];
103
+ if (current[0] <= last[1]) {
104
+ last[1] = Math.max(last[1], current[1]);
105
+ continue;
106
+ }
107
+ merged.push([current[0], current[1]]);
108
+ }
109
+ return merged;
79
110
  }
80
- function replaceOutsideRanges(text, replacement, ranges) {
111
+ function replaceOutsideRanges(text, replacement, ranges, regex) {
81
112
  if (ranges.length === 0)
82
- return replaceOpencode(text, replacement);
83
- const sorted = ranges
113
+ return replaceOpencode(text, replacement, regex);
114
+ const sorted = mergeRanges(ranges
84
115
  .map((range) => [Math.max(0, range[0]), Math.max(0, range[1])])
85
116
  .filter(([start, end]) => end > start)
86
- .sort((a, b) => a[0] - b[0]);
117
+ .sort((a, b) => a[0] - b[0]));
87
118
  let result = "";
88
119
  let cursor = 0;
89
120
  for (const [start, end] of sorted) {
90
121
  if (start > cursor) {
91
- result += replaceOpencode(text.slice(cursor, start), replacement);
122
+ result += replaceOpencode(text.slice(cursor, start), replacement, regex);
92
123
  }
93
124
  result += text.slice(start, end);
94
125
  cursor = Math.max(cursor, end);
95
126
  }
96
127
  if (cursor < text.length) {
97
- result += replaceOpencode(text.slice(cursor), replacement);
128
+ result += replaceOpencode(text.slice(cursor), replacement, regex);
98
129
  }
99
130
  return result;
100
131
  }
101
- function replaceExcludingUrlsAndPaths(text, replacement) {
132
+ function replaceExcludingUrlsAndPaths(text, replacement, regex) {
102
133
  const ranges = [];
103
134
  const urlMatches = text.matchAll(URL_REGEX);
104
135
  for (const match of urlMatches) {
@@ -112,19 +143,19 @@ function replaceExcludingUrlsAndPaths(text, replacement) {
112
143
  continue;
113
144
  ranges.push([match.index, match.index + match[0].length]);
114
145
  }
115
- return replaceOutsideRanges(text, replacement, ranges);
146
+ return replaceOutsideRanges(text, replacement, ranges, regex);
116
147
  }
117
- function replaceInInlineCodeSegments(text, replacement) {
148
+ function replaceInInlineCodeSegments(text, replacement, regex) {
118
149
  const segments = text.split("`");
119
150
  return segments
120
151
  .map((segment, index) => {
121
152
  if (index % 2 === 1)
122
153
  return segment;
123
- return replaceExcludingUrlsAndPaths(segment, replacement);
154
+ return replaceExcludingUrlsAndPaths(segment, replacement, regex);
124
155
  })
125
156
  .join("`");
126
157
  }
127
- function replaceInText(text, replacement) {
158
+ function replaceInText(text, replacement, regex) {
128
159
  if (!text || typeof text !== "string")
129
160
  return text;
130
161
  const blocks = text.split("```");
@@ -132,49 +163,52 @@ function replaceInText(text, replacement) {
132
163
  .map((block, index) => {
133
164
  if (index % 2 === 1)
134
165
  return block;
135
- return replaceInInlineCodeSegments(block, replacement);
166
+ return replaceInInlineCodeSegments(block, replacement, regex);
136
167
  })
137
168
  .join("```");
138
169
  }
139
- function replaceInParts(parts, replacement) {
170
+ function replaceInParts(parts, replacement, regex) {
140
171
  if (!parts || !Array.isArray(parts))
141
172
  return;
142
173
  for (const part of parts) {
143
174
  if (part.type === "text" && typeof part.text === "string") {
144
- part.text = replaceInText(part.text, replacement);
175
+ part.text = replaceInText(part.text, replacement, regex);
145
176
  }
146
177
  if (part.type === "subtask") {
147
178
  if (typeof part.prompt === "string") {
148
- part.prompt = replaceInText(part.prompt, replacement);
179
+ part.prompt = replaceInText(part.prompt, replacement, regex);
149
180
  }
150
181
  if (typeof part.description === "string") {
151
- part.description = replaceInText(part.description, replacement);
182
+ part.description = replaceInText(part.description, replacement, regex);
152
183
  }
153
184
  }
154
185
  if (typeof part.title === "string") {
155
- part.title = replaceInText(part.title, replacement);
186
+ part.title = replaceInText(part.title, replacement, regex);
156
187
  }
157
188
  if (typeof part.description === "string") {
158
- part.description = replaceInText(part.description, replacement);
189
+ part.description = replaceInText(part.description, replacement, regex);
159
190
  }
160
191
  }
161
192
  }
162
- function replaceInMessages(messages, replacement) {
193
+ function replaceInMessages(messages, replacement, regex) {
163
194
  if (!messages || !Array.isArray(messages))
164
195
  return;
165
196
  for (const message of messages) {
166
- replaceInParts(message.parts, replacement);
197
+ replaceInParts(message.parts, replacement, regex);
167
198
  if (typeof message.info?.title === "string") {
168
- message.info.title = replaceInText(message.info.title, replacement);
199
+ message.info.title = replaceInText(message.info.title, replacement, regex);
169
200
  }
170
201
  }
171
202
  }
172
- function updateSessionTitleIfNeeded(title, replacement) {
203
+ function updateSessionTitleIfNeeded(title, replacement, regex) {
173
204
  if (!title)
174
205
  return title;
175
- if (!OPENCODE_REGEX.test(title))
206
+ const testRegex = regex ?? OPENCODE_REGEX;
207
+ if (!testRegex.test(title))
176
208
  return title;
177
- return replaceInText(title, replacement);
209
+ // Reset lastIndex since test() advances it for global regexes
210
+ testRegex.lastIndex = 0;
211
+ return replaceInText(title, replacement, regex);
178
212
  }
179
213
  export const RenamerReplacePlugin = async ({ client, directory, worktree, }) => {
180
214
  const state = {};
@@ -207,7 +241,7 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
207
241
  if (!config.enabled)
208
242
  return;
209
243
  const title = event.title;
210
- const updated = updateSessionTitleIfNeeded(title, config.replacement);
244
+ const updated = updateSessionTitleIfNeeded(title, config.replacement, state.variantRegex);
211
245
  if (!updated || updated === title)
212
246
  return;
213
247
  const sessionID = event.sessionID;
@@ -226,9 +260,11 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
226
260
  await withConfig((config) => {
227
261
  if (!config.enabled)
228
262
  return;
263
+ if (!config.hooks.chatMessage)
264
+ return;
229
265
  if (!output.parts || !Array.isArray(output.parts))
230
266
  return;
231
- replaceInParts(output.parts, config.replacement);
267
+ replaceInParts(output.parts, config.replacement, state.variantRegex);
232
268
  }).catch((error) => {
233
269
  console.error("[renamer-opencode-plugin] chat.message error:", error);
234
270
  });
@@ -237,12 +273,14 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
237
273
  await withConfig((config) => {
238
274
  if (!config.enabled)
239
275
  return;
276
+ if (!config.hooks.system)
277
+ return;
240
278
  const system = output?.system;
241
279
  if (!system || !Array.isArray(system))
242
280
  return;
243
281
  for (let i = 0; i < system.length; i += 1) {
244
282
  if (typeof system[i] === "string") {
245
- system[i] = replaceInText(system[i], config.replacement);
283
+ system[i] = replaceInText(system[i], config.replacement, state.variantRegex);
246
284
  }
247
285
  }
248
286
  }).catch((error) => {
@@ -253,9 +291,11 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
253
291
  await withConfig((config) => {
254
292
  if (!config.enabled)
255
293
  return;
294
+ if (!config.hooks.messageHistory)
295
+ return;
256
296
  if (!output.messages || !Array.isArray(output.messages))
257
297
  return;
258
- replaceInMessages(output.messages, config.replacement);
298
+ replaceInMessages(output.messages, config.replacement, state.variantRegex);
259
299
  }).catch((error) => {
260
300
  console.error("[renamer-opencode-plugin] experimental.chat.messages.transform error:", error);
261
301
  });
@@ -264,9 +304,11 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
264
304
  await withConfig((config) => {
265
305
  if (!config.enabled)
266
306
  return;
307
+ if (!config.hooks.textComplete)
308
+ return;
267
309
  if (typeof output.text !== "string")
268
310
  return;
269
- output.text = replaceInText(output.text, config.replacement);
311
+ output.text = replaceInText(output.text, config.replacement, state.variantRegex);
270
312
  }).catch((error) => {
271
313
  console.error("[renamer-opencode-plugin] experimental.text.complete error:", error);
272
314
  });
@@ -275,11 +317,13 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
275
317
  await withConfig((config) => {
276
318
  if (!config.enabled)
277
319
  return;
320
+ if (!config.hooks.toolOutput)
321
+ return;
278
322
  if (typeof output.title === "string") {
279
- output.title = replaceInText(output.title, config.replacement);
323
+ output.title = replaceInText(output.title, config.replacement, state.variantRegex);
280
324
  }
281
325
  if (typeof output.output === "string") {
282
- output.output = replaceInText(output.output, config.replacement);
326
+ output.output = replaceInText(output.output, config.replacement, state.variantRegex);
283
327
  }
284
328
  }).catch((error) => {
285
329
  console.error("[renamer-opencode-plugin] tool.execute.after error:", error);
@@ -287,4 +331,5 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
287
331
  },
288
332
  };
289
333
  };
334
+ export default RenamerReplacePlugin;
290
335
  //# sourceMappingURL=index.js.map
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.1",
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",
@@ -9,6 +9,10 @@
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
11
  "default": "./dist/index.js"
12
+ },
13
+ "./helpers": {
14
+ "types": "./dist/helpers.d.ts",
15
+ "default": "./dist/helpers.js"
12
16
  }
13
17
  },
14
18
  "files": [
@@ -21,7 +25,8 @@
21
25
  "prepack": "bun run build",
22
26
  "format": "biome format --write .",
23
27
  "lint": "biome lint .",
24
- "check": "biome check --write ."
28
+ "check": "biome check --write .",
29
+ "test": "bun test"
25
30
  },
26
31
  "license": "MIT",
27
32
  "publishConfig": {
@@ -36,8 +41,8 @@
36
41
  "url": "https://github.com/Sillybit-io/renamer-opencode-plugin/issues"
37
42
  },
38
43
  "keywords": [
39
- "opencode",
40
- "opencode-plugin",
44
+ "OpenCode",
45
+ "OpenCode-plugin",
41
46
  "renamer",
42
47
  "text-transform"
43
48
  ],
@@ -45,7 +50,7 @@
45
50
  "node": ">=18"
46
51
  },
47
52
  "dependencies": {
48
- "@opencode-ai/plugin": "^1.1.21"
53
+ "@opencode-ai/plugin": "^1.1.53"
49
54
  },
50
55
  "devDependencies": {
51
56
  "@biomejs/biome": "^2.3.11",