@sillybit/renamer-opencode-plugin 0.1.0 → 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 +112 -5
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +192 -59
- package/dist/index.js.map +1 -1
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# renamer-opencode-plugin
|
|
1
|
+
# @sillybit/renamer-opencode-plugin
|
|
2
2
|
|
|
3
3
|
A small OpenCode plugin that **replaces case-insensitive occurrences of `opencode`** with a configurable word (default: `Renamer`) across OpenCode outputs.
|
|
4
4
|
|
|
@@ -22,7 +22,13 @@ It **does not replace** inside:
|
|
|
22
22
|
|
|
23
23
|
## Quickstart (npm)
|
|
24
24
|
|
|
25
|
-
1.
|
|
25
|
+
1. Install the plugin in your project:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
bun add -d @sillybit/renamer-opencode-plugin
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
2. Add the plugin to your OpenCode config (`opencode.json` or `opencode.jsonc`):
|
|
26
32
|
|
|
27
33
|
```json
|
|
28
34
|
{
|
|
@@ -31,9 +37,27 @@ It **does not replace** inside:
|
|
|
31
37
|
}
|
|
32
38
|
```
|
|
33
39
|
|
|
34
|
-
|
|
40
|
+
3. Restart OpenCode.
|
|
41
|
+
|
|
42
|
+
OpenCode installs npm plugins automatically at startup (cached under `~/.cache/opencode/node_modules/`), so the manual install step is optional.
|
|
43
|
+
|
|
44
|
+
## Updating the plugin
|
|
45
|
+
|
|
46
|
+
If the plugin is installed in your project `devDependencies`, update it with Bun:
|
|
35
47
|
|
|
36
|
-
|
|
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.
|
|
37
61
|
|
|
38
62
|
## Configuration
|
|
39
63
|
|
|
@@ -51,7 +75,15 @@ Example:
|
|
|
51
75
|
```json
|
|
52
76
|
{
|
|
53
77
|
"enabled": true,
|
|
54
|
-
"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
|
|
55
87
|
}
|
|
56
88
|
```
|
|
57
89
|
|
|
@@ -60,6 +92,80 @@ Example:
|
|
|
60
92
|
- `OPENCODE_RENAMER_REPLACE_ENABLED` (`true`/`false`, also supports `1/0`, `yes/no`, `on/off`)
|
|
61
93
|
- `OPENCODE_RENAMER_REPLACE_TEXT` (non-empty string)
|
|
62
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
|
+
|
|
63
169
|
## Examples
|
|
64
170
|
|
|
65
171
|
### Normal text (replaced)
|
|
@@ -87,6 +193,7 @@ echo "opencode"
|
|
|
87
193
|
## Behavior details
|
|
88
194
|
|
|
89
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.
|
|
90
197
|
- Replacement target is intentionally fixed to `opencode` (not configurable).
|
|
91
198
|
|
|
92
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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`"')\]]+)
|
|
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;
|
|
@@ -39,59 +87,94 @@ async function readConfigFile(filePath) {
|
|
|
39
87
|
}
|
|
40
88
|
}
|
|
41
89
|
async function loadConfig(state) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
90
|
+
try {
|
|
91
|
+
if (!shouldReloadConfig(state) && state.cachedConfig) {
|
|
92
|
+
return state.cachedConfig;
|
|
93
|
+
}
|
|
94
|
+
const projectConfig = state.projectConfigPath
|
|
95
|
+
? await readConfigFile(state.projectConfigPath)
|
|
96
|
+
: undefined;
|
|
97
|
+
const globalConfig = state.globalConfigPath
|
|
98
|
+
? await readConfigFile(state.globalConfigPath)
|
|
99
|
+
: undefined;
|
|
100
|
+
const merged = {
|
|
101
|
+
...DEFAULT_CONFIG,
|
|
102
|
+
...(globalConfig ?? {}),
|
|
103
|
+
...(projectConfig ?? {}),
|
|
104
|
+
hooks: mergeHooksConfig(globalConfig?.hooks, projectConfig?.hooks),
|
|
105
|
+
};
|
|
106
|
+
const envEnabled = parseBool(process.env[ENV_ENABLED]);
|
|
107
|
+
if (envEnabled !== undefined) {
|
|
108
|
+
merged.enabled = envEnabled;
|
|
109
|
+
}
|
|
110
|
+
const envReplacement = process.env[ENV_REPLACEMENT];
|
|
111
|
+
if (envReplacement && envReplacement.trim().length > 0) {
|
|
112
|
+
merged.replacement = envReplacement;
|
|
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
|
+
}
|
|
125
|
+
state.cachedConfig = merged;
|
|
126
|
+
state.lastLoaded = Date.now();
|
|
127
|
+
return merged;
|
|
59
128
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
129
|
+
catch (error) {
|
|
130
|
+
console.error("[renamer-opencode-plugin] loadConfig error:", error);
|
|
131
|
+
// Return default config on error to prevent plugin from breaking
|
|
132
|
+
return DEFAULT_CONFIG;
|
|
63
133
|
}
|
|
64
|
-
state.cachedConfig = merged;
|
|
65
|
-
state.lastLoaded = Date.now();
|
|
66
|
-
return merged;
|
|
67
134
|
}
|
|
68
|
-
function replaceOpencode(text, replacement) {
|
|
135
|
+
export function replaceOpencode(text, replacement, regex) {
|
|
69
136
|
if (!text)
|
|
70
137
|
return text;
|
|
71
|
-
return text.replace(OPENCODE_REGEX, replacement);
|
|
138
|
+
return text.replace(regex ?? OPENCODE_REGEX, replacement);
|
|
139
|
+
}
|
|
140
|
+
export function mergeRanges(ranges) {
|
|
141
|
+
if (ranges.length === 0)
|
|
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;
|
|
72
155
|
}
|
|
73
|
-
function replaceOutsideRanges(text, replacement, ranges) {
|
|
156
|
+
export function replaceOutsideRanges(text, replacement, ranges, regex) {
|
|
74
157
|
if (ranges.length === 0)
|
|
75
|
-
return replaceOpencode(text, replacement);
|
|
76
|
-
const sorted = ranges
|
|
158
|
+
return replaceOpencode(text, replacement, regex);
|
|
159
|
+
const sorted = mergeRanges(ranges
|
|
77
160
|
.map((range) => [Math.max(0, range[0]), Math.max(0, range[1])])
|
|
78
161
|
.filter(([start, end]) => end > start)
|
|
79
|
-
.sort((a, b) => a[0] - b[0]);
|
|
162
|
+
.sort((a, b) => a[0] - b[0]));
|
|
80
163
|
let result = "";
|
|
81
164
|
let cursor = 0;
|
|
82
165
|
for (const [start, end] of sorted) {
|
|
83
166
|
if (start > cursor) {
|
|
84
|
-
result += replaceOpencode(text.slice(cursor, start), replacement);
|
|
167
|
+
result += replaceOpencode(text.slice(cursor, start), replacement, regex);
|
|
85
168
|
}
|
|
86
169
|
result += text.slice(start, end);
|
|
87
170
|
cursor = Math.max(cursor, end);
|
|
88
171
|
}
|
|
89
172
|
if (cursor < text.length) {
|
|
90
|
-
result += replaceOpencode(text.slice(cursor), replacement);
|
|
173
|
+
result += replaceOpencode(text.slice(cursor), replacement, regex);
|
|
91
174
|
}
|
|
92
175
|
return result;
|
|
93
176
|
}
|
|
94
|
-
function replaceExcludingUrlsAndPaths(text, replacement) {
|
|
177
|
+
export function replaceExcludingUrlsAndPaths(text, replacement, regex) {
|
|
95
178
|
const ranges = [];
|
|
96
179
|
const urlMatches = text.matchAll(URL_REGEX);
|
|
97
180
|
for (const match of urlMatches) {
|
|
@@ -105,63 +188,72 @@ function replaceExcludingUrlsAndPaths(text, replacement) {
|
|
|
105
188
|
continue;
|
|
106
189
|
ranges.push([match.index, match.index + match[0].length]);
|
|
107
190
|
}
|
|
108
|
-
return replaceOutsideRanges(text, replacement, ranges);
|
|
191
|
+
return replaceOutsideRanges(text, replacement, ranges, regex);
|
|
109
192
|
}
|
|
110
|
-
function replaceInInlineCodeSegments(text, replacement) {
|
|
193
|
+
export function replaceInInlineCodeSegments(text, replacement, regex) {
|
|
111
194
|
const segments = text.split("`");
|
|
112
195
|
return segments
|
|
113
196
|
.map((segment, index) => {
|
|
114
197
|
if (index % 2 === 1)
|
|
115
198
|
return segment;
|
|
116
|
-
return replaceExcludingUrlsAndPaths(segment, replacement);
|
|
199
|
+
return replaceExcludingUrlsAndPaths(segment, replacement, regex);
|
|
117
200
|
})
|
|
118
201
|
.join("`");
|
|
119
202
|
}
|
|
120
|
-
function replaceInText(text, replacement) {
|
|
203
|
+
export function replaceInText(text, replacement, regex) {
|
|
204
|
+
if (!text || typeof text !== "string")
|
|
205
|
+
return text;
|
|
121
206
|
const blocks = text.split("```");
|
|
122
207
|
return blocks
|
|
123
208
|
.map((block, index) => {
|
|
124
209
|
if (index % 2 === 1)
|
|
125
210
|
return block;
|
|
126
|
-
return replaceInInlineCodeSegments(block, replacement);
|
|
211
|
+
return replaceInInlineCodeSegments(block, replacement, regex);
|
|
127
212
|
})
|
|
128
213
|
.join("```");
|
|
129
214
|
}
|
|
130
|
-
function replaceInParts(parts, replacement) {
|
|
215
|
+
function replaceInParts(parts, replacement, regex) {
|
|
216
|
+
if (!parts || !Array.isArray(parts))
|
|
217
|
+
return;
|
|
131
218
|
for (const part of parts) {
|
|
132
219
|
if (part.type === "text" && typeof part.text === "string") {
|
|
133
|
-
part.text = replaceInText(part.text, replacement);
|
|
220
|
+
part.text = replaceInText(part.text, replacement, regex);
|
|
134
221
|
}
|
|
135
222
|
if (part.type === "subtask") {
|
|
136
223
|
if (typeof part.prompt === "string") {
|
|
137
|
-
part.prompt = replaceInText(part.prompt, replacement);
|
|
224
|
+
part.prompt = replaceInText(part.prompt, replacement, regex);
|
|
138
225
|
}
|
|
139
226
|
if (typeof part.description === "string") {
|
|
140
|
-
part.description = replaceInText(part.description, replacement);
|
|
227
|
+
part.description = replaceInText(part.description, replacement, regex);
|
|
141
228
|
}
|
|
142
229
|
}
|
|
143
230
|
if (typeof part.title === "string") {
|
|
144
|
-
part.title = replaceInText(part.title, replacement);
|
|
231
|
+
part.title = replaceInText(part.title, replacement, regex);
|
|
145
232
|
}
|
|
146
233
|
if (typeof part.description === "string") {
|
|
147
|
-
part.description = replaceInText(part.description, replacement);
|
|
234
|
+
part.description = replaceInText(part.description, replacement, regex);
|
|
148
235
|
}
|
|
149
236
|
}
|
|
150
237
|
}
|
|
151
|
-
function replaceInMessages(messages, replacement) {
|
|
238
|
+
function replaceInMessages(messages, replacement, regex) {
|
|
239
|
+
if (!messages || !Array.isArray(messages))
|
|
240
|
+
return;
|
|
152
241
|
for (const message of messages) {
|
|
153
|
-
replaceInParts(message.parts, replacement);
|
|
242
|
+
replaceInParts(message.parts, replacement, regex);
|
|
154
243
|
if (typeof message.info?.title === "string") {
|
|
155
|
-
message.info.title = replaceInText(message.info.title, replacement);
|
|
244
|
+
message.info.title = replaceInText(message.info.title, replacement, regex);
|
|
156
245
|
}
|
|
157
246
|
}
|
|
158
247
|
}
|
|
159
|
-
function updateSessionTitleIfNeeded(title, replacement) {
|
|
248
|
+
function updateSessionTitleIfNeeded(title, replacement, regex) {
|
|
160
249
|
if (!title)
|
|
161
250
|
return title;
|
|
162
|
-
|
|
251
|
+
const testRegex = regex ?? OPENCODE_REGEX;
|
|
252
|
+
if (!testRegex.test(title))
|
|
163
253
|
return title;
|
|
164
|
-
|
|
254
|
+
// Reset lastIndex since test() advances it for global regexes
|
|
255
|
+
testRegex.lastIndex = 0;
|
|
256
|
+
return replaceInText(title, replacement, regex);
|
|
165
257
|
}
|
|
166
258
|
export const RenamerReplacePlugin = async ({ client, directory, worktree, }) => {
|
|
167
259
|
const state = {};
|
|
@@ -169,8 +261,14 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
|
|
|
169
261
|
state.projectConfigPath = path.join(projectRoot, ".opencode", CONFIG_FILENAME);
|
|
170
262
|
state.globalConfigPath = path.join(os.homedir(), ".config", "opencode", CONFIG_FILENAME);
|
|
171
263
|
async function withConfig(fn) {
|
|
172
|
-
|
|
173
|
-
|
|
264
|
+
try {
|
|
265
|
+
const config = await loadConfig(state);
|
|
266
|
+
return fn(config);
|
|
267
|
+
}
|
|
268
|
+
catch (error) {
|
|
269
|
+
console.error("[renamer-opencode-plugin] withConfig error:", error);
|
|
270
|
+
throw error;
|
|
271
|
+
}
|
|
174
272
|
}
|
|
175
273
|
return {
|
|
176
274
|
event: async ({ event }) => {
|
|
@@ -188,7 +286,7 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
|
|
|
188
286
|
if (!config.enabled)
|
|
189
287
|
return;
|
|
190
288
|
const title = event.title;
|
|
191
|
-
const updated = updateSessionTitleIfNeeded(title, config.replacement);
|
|
289
|
+
const updated = updateSessionTitleIfNeeded(title, config.replacement, state.variantRegex);
|
|
192
290
|
if (!updated || updated === title)
|
|
193
291
|
return;
|
|
194
292
|
const sessionID = event.sessionID;
|
|
@@ -198,6 +296,8 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
|
|
|
198
296
|
path: { id: sessionID },
|
|
199
297
|
body: { title: updated },
|
|
200
298
|
});
|
|
299
|
+
}).catch((error) => {
|
|
300
|
+
console.error("[renamer-opencode-plugin] event.session.updated error:", error);
|
|
201
301
|
});
|
|
202
302
|
}
|
|
203
303
|
},
|
|
@@ -205,40 +305,73 @@ export const RenamerReplacePlugin = async ({ client, directory, worktree, }) =>
|
|
|
205
305
|
await withConfig((config) => {
|
|
206
306
|
if (!config.enabled)
|
|
207
307
|
return;
|
|
208
|
-
|
|
308
|
+
if (!config.hooks.chatMessage)
|
|
309
|
+
return;
|
|
310
|
+
if (!output.parts || !Array.isArray(output.parts))
|
|
311
|
+
return;
|
|
312
|
+
replaceInParts(output.parts, config.replacement, state.variantRegex);
|
|
313
|
+
}).catch((error) => {
|
|
314
|
+
console.error("[renamer-opencode-plugin] chat.message error:", error);
|
|
209
315
|
});
|
|
210
316
|
},
|
|
211
317
|
"experimental.chat.system.transform": async (_input, output) => {
|
|
212
318
|
await withConfig((config) => {
|
|
213
319
|
if (!config.enabled)
|
|
214
320
|
return;
|
|
215
|
-
|
|
321
|
+
if (!config.hooks.system)
|
|
322
|
+
return;
|
|
323
|
+
const system = output?.system;
|
|
324
|
+
if (!system || !Array.isArray(system))
|
|
325
|
+
return;
|
|
326
|
+
for (let i = 0; i < system.length; i += 1) {
|
|
327
|
+
if (typeof system[i] === "string") {
|
|
328
|
+
system[i] = replaceInText(system[i], config.replacement, state.variantRegex);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}).catch((error) => {
|
|
332
|
+
console.error("[renamer-opencode-plugin] experimental.chat.system.transform error:", error);
|
|
216
333
|
});
|
|
217
334
|
},
|
|
218
335
|
"experimental.chat.messages.transform": async (_input, output) => {
|
|
219
336
|
await withConfig((config) => {
|
|
220
337
|
if (!config.enabled)
|
|
221
338
|
return;
|
|
222
|
-
|
|
339
|
+
if (!config.hooks.messageHistory)
|
|
340
|
+
return;
|
|
341
|
+
if (!output.messages || !Array.isArray(output.messages))
|
|
342
|
+
return;
|
|
343
|
+
replaceInMessages(output.messages, config.replacement, state.variantRegex);
|
|
344
|
+
}).catch((error) => {
|
|
345
|
+
console.error("[renamer-opencode-plugin] experimental.chat.messages.transform error:", error);
|
|
223
346
|
});
|
|
224
347
|
},
|
|
225
348
|
"experimental.text.complete": async (_input, output) => {
|
|
226
349
|
await withConfig((config) => {
|
|
227
350
|
if (!config.enabled)
|
|
228
351
|
return;
|
|
229
|
-
|
|
352
|
+
if (!config.hooks.textComplete)
|
|
353
|
+
return;
|
|
354
|
+
if (typeof output.text !== "string")
|
|
355
|
+
return;
|
|
356
|
+
output.text = replaceInText(output.text, config.replacement, state.variantRegex);
|
|
357
|
+
}).catch((error) => {
|
|
358
|
+
console.error("[renamer-opencode-plugin] experimental.text.complete error:", error);
|
|
230
359
|
});
|
|
231
360
|
},
|
|
232
361
|
"tool.execute.after": async (_input, output) => {
|
|
233
362
|
await withConfig((config) => {
|
|
234
363
|
if (!config.enabled)
|
|
235
364
|
return;
|
|
365
|
+
if (!config.hooks.toolOutput)
|
|
366
|
+
return;
|
|
236
367
|
if (typeof output.title === "string") {
|
|
237
|
-
output.title = replaceInText(output.title, config.replacement);
|
|
368
|
+
output.title = replaceInText(output.title, config.replacement, state.variantRegex);
|
|
238
369
|
}
|
|
239
370
|
if (typeof output.output === "string") {
|
|
240
|
-
output.output = replaceInText(output.output, config.replacement);
|
|
371
|
+
output.output = replaceInText(output.output, config.replacement, state.variantRegex);
|
|
241
372
|
}
|
|
373
|
+
}).catch((error) => {
|
|
374
|
+
console.error("[renamer-opencode-plugin] tool.execute.after error:", error);
|
|
242
375
|
});
|
|
243
376
|
},
|
|
244
377
|
};
|
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":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AA4B7B,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,WAA6C,EAC7C,YAA8C;IAE9C,OAAO;QACL,GAAG,oBAAoB;QACvB,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACtB,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAkB;IACpC,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,SAAS;IACtB,KAAK,EAAE,oBAAoB;IAC3B,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAE9C,MAAM,WAAW,GAAG,kCAAkC,CAAC;AACvD,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAExD,MAAM,SAAS,GAAG,2BAA2B,CAAC;AAC9C,MAAM,UAAU,GACd,4EAA4E,CAAC;AAE/E,MAAM,cAAc,GAAG,YAAY,CAAC;AAEpC,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,iEAAiE;IACjE,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAe;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAEhD,OAAO;QACL,sBAAsB;QACtB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,uBAAuB;QACvB,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,wBAAwB;QACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QACf,wBAAwB;QACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QACf,6BAA6B;QAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QACf,6BAA6B;QAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QACf,sBAAsB;QACtB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAkB;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmB;IAC7C,IAAI,CAAC,KAAK,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,QAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACvE,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAmB;IAC3C,IAAI,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC,YAAY,CAAC;QAC5B,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB;YAC3C,CAAC,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB;YACzC,CAAC,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,MAAM,GAAkB;YAC5B,GAAG,cAAc;YACjB,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;YACxB,KAAK,EAAE,gBAAgB,CACpB,YAAoD,EAAE,KAE1C,EACZ,aAAqD,EAAE,KAE3C,CACd;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QACvD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC;QAC9B,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC;QACtC,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,8CAA8C;YAC9C,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC9D,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;QAC5B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;QACpE,iEAAiE;QACjE,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,WAAmB,EACnB,KAAc;IAEd,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,cAAc,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,MAA+B;IAE/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,MAAM,GAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEvC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,WAAmB,EACnB,MAA+B,EAC/B,KAAc;IAEd,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,WAAW,CACxB,MAAM;SACH,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAqB,CACrE;SACA,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC;SACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAC;IAEF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,IAAY,EACZ,WAAmB,EACnB,KAAc;IAEd,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,SAAS;QACxC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,SAAS;QACxC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,IAAY,EACZ,WAAmB,EACnB,KAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACtB,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QACpC,OAAO,4BAA4B,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,WAAmB,EACnB,KAAc;IAEd,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACpB,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAClC,OAAO,2BAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CACrB,KAAqC,EACrC,WAAmB,EACnB,KAAc;IAEd,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACzC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,QAGE,EACF,WAAmB,EACnB,KAAc;IAEd,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO;IAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa,CAChC,OAAO,CAAC,IAAI,CAAC,KAAK,EAClB,WAAW,EACX,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAyB,EACzB,WAAmB,EACnB,KAAc;IAEd,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,SAAS,GAAG,KAAK,IAAI,cAAc,CAAC;IAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,8DAA8D;IAC9D,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;IACxB,OAAO,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAW,KAAK,EAAE,EACjD,MAAM,EACN,SAAS,EACT,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,QAAQ,IAAI,SAAS,CAAC;IAE1C,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,WAAW,EACX,WAAW,EACX,eAAe,CAChB,CAAC;IACF,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,EAAE,CAAC,OAAO,EAAE,EACZ,SAAS,EACT,UAAU,EACV,eAAe,CAChB,CAAC;IAEF,KAAK,UAAU,UAAU,CACvB,EAA6C;QAE7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YACpE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACzB,IACE,KAAK,CAAC,IAAI,KAAK,aAAa;gBAC5B,KAAK,CAAC,IAAI,KAAK,sBAAsB,EACrC,CAAC;gBACD,MAAM,QAAQ,GAAI,KAA2B,CAAC,IAAI,CAAC;gBACnD,IACE,QAAQ;oBACR,CAAC,QAAQ,KAAK,KAAK,CAAC,iBAAiB;wBACnC,QAAQ,KAAK,KAAK,CAAC,gBAAgB,CAAC,EACtC,CAAC;oBACD,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACrC,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;oBAChC,IAAI,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAC5B,MAAM,KAAK,GAAI,KAA4B,CAAC,KAAK,CAAC;oBAClD,MAAM,OAAO,GAAG,0BAA0B,CACxC,KAAK,EACL,MAAM,CAAC,WAAW,EAClB,KAAK,CAAC,YAAY,CACnB,CAAC;oBACF,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK;wBAAE,OAAO;oBAC1C,MAAM,SAAS,GAAI,KAAgC,CAAC,SAAS,CAAC;oBAC9D,IAAI,CAAC,SAAS;wBAAE,OAAO;oBACvB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC1B,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;wBACvB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;qBACzB,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,OAAO,CAAC,KAAK,CACX,wDAAwD,EACxD,KAAK,CACN,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACvC,MAAM,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW;oBAAE,OAAO;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBAAE,OAAO;gBAC1D,cAAc,CACZ,MAAM,CAAC,KAAuC,EAC9C,MAAM,CAAC,WAAW,EAClB,KAAK,CAAC,YAAY,CACnB,CAAC;YACJ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,oCAAoC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;oBAAE,OAAO;gBACjC,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC;gBAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAAE,OAAO;gBAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAClC,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CACvB,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,WAAW,EAClB,KAAK,CAAC,YAAY,CACnB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO,CAAC,KAAK,CACX,qEAAqE,EACrE,KAAK,CACN,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,sCAAsC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC/D,MAAM,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc;oBAAE,OAAO;gBACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAAE,OAAO;gBAChE,iBAAiB,CACf,MAAM,CAAC,QAGL,EACF,MAAM,CAAC,WAAW,EAClB,KAAK,CAAC,YAAY,CACnB,CAAC;YACJ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO,CAAC,KAAK,CACX,uEAAuE,EACvE,KAAK,CACN,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACrD,MAAM,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY;oBAAE,OAAO;gBACvC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO;gBAC5C,MAAM,CAAC,IAAI,GAAG,aAAa,CACzB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,WAAW,EAClB,KAAK,CAAC,YAAY,CACnB,CAAC;YACJ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO,CAAC,KAAK,CACX,6DAA6D,EAC7D,KAAK,CACN,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU;oBAAE,OAAO;gBACrC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,CAAC,KAAK,GAAG,aAAa,CAC1B,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,WAAW,EAClB,KAAK,CAAC,YAAY,CACnB,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACtC,MAAM,CAAC,MAAM,GAAG,aAAa,CAC3B,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,WAAW,EAClB,KAAK,CAAC,YAAY,CACnB,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO,CAAC,KAAK,CACX,qDAAqD,EACrD,KAAK,CACN,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sillybit/renamer-opencode-plugin",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "OpenCode plugin that replaces case-insensitive '
|
|
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
|
-
"
|
|
40
|
-
"
|
|
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.
|
|
49
|
+
"@opencode-ai/plugin": "^1.1.53"
|
|
49
50
|
},
|
|
50
51
|
"devDependencies": {
|
|
51
52
|
"@biomejs/biome": "^2.3.11",
|