@kaitranntt/ccs 7.34.0-dev.1 → 7.34.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/dist/utils/websearch/hook-config.d.ts.map +1 -1
- package/dist/utils/websearch/hook-config.js +5 -26
- package/dist/utils/websearch/hook-config.js.map +1 -1
- package/dist/utils/websearch/profile-hook-injector.d.ts.map +1 -1
- package/dist/utils/websearch/profile-hook-injector.js +9 -15
- package/dist/utils/websearch/profile-hook-injector.js.map +1 -1
- package/package.json +1 -1
- package/dist/utils/websearch/hook-utils.d.ts +0 -18
- package/dist/utils/websearch/hook-utils.d.ts.map +0 -1
- package/dist/utils/websearch/hook-utils.js +0 -52
- package/dist/utils/websearch/hook-utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-config.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/hook-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"hook-config.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/hook-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2BH;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAQD;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkChE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAoG1C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAwD1C"}
|
|
@@ -37,7 +37,6 @@ const os = __importStar(require("os"));
|
|
|
37
37
|
const ui_1 = require("../ui");
|
|
38
38
|
const unified_config_loader_1 = require("../../config/unified-config-loader");
|
|
39
39
|
const config_manager_1 = require("../config-manager");
|
|
40
|
-
const hook_utils_1 = require("./hook-utils");
|
|
41
40
|
// Hook file name
|
|
42
41
|
const WEBSEARCH_HOOK = 'websearch-transformer.cjs';
|
|
43
42
|
/**
|
|
@@ -138,19 +137,10 @@ function ensureHookConfig() {
|
|
|
138
137
|
if (hooks?.PreToolUse) {
|
|
139
138
|
const webSearchHookIndex = hooks.PreToolUse.findIndex((h) => {
|
|
140
139
|
const hook = h;
|
|
141
|
-
|
|
142
|
-
return false;
|
|
143
|
-
const hookArray = hook.hooks;
|
|
144
|
-
const command = hookArray?.[0]?.command;
|
|
145
|
-
if (typeof command !== 'string')
|
|
146
|
-
return false;
|
|
147
|
-
const normalized = command.replace(/\\/g, '/');
|
|
148
|
-
return normalized.includes('.ccs/hooks/websearch-transformer');
|
|
140
|
+
return hook.matcher === 'WebSearch';
|
|
149
141
|
});
|
|
150
142
|
if (webSearchHookIndex !== -1) {
|
|
151
|
-
// Hook exists -
|
|
152
|
-
const hadDuplicates = (0, hook_utils_1.deduplicateCcsHooks)(settings);
|
|
153
|
-
// Then check if it needs updating
|
|
143
|
+
// Hook exists - check if it needs updating
|
|
154
144
|
const existingHook = hooks.PreToolUse[webSearchHookIndex];
|
|
155
145
|
const existingHooks = existingHook.hooks;
|
|
156
146
|
const currentHookConfig = getWebSearchHookConfig();
|
|
@@ -166,14 +156,10 @@ function ensureHookConfig() {
|
|
|
166
156
|
existingHooks[0].timeout = expectedTimeout;
|
|
167
157
|
needsUpdate = true;
|
|
168
158
|
}
|
|
169
|
-
|
|
170
|
-
if (hadDuplicates || needsUpdate) {
|
|
159
|
+
if (needsUpdate) {
|
|
171
160
|
fs.writeFileSync(getClaudeSettingsPath(), JSON.stringify(settings, null, 2), 'utf8');
|
|
172
161
|
if (process.env.CCS_DEBUG) {
|
|
173
|
-
|
|
174
|
-
console.error((0, ui_1.info)('Removed duplicate WebSearch hooks from settings.json'));
|
|
175
|
-
if (needsUpdate)
|
|
176
|
-
console.error((0, ui_1.info)('Updated WebSearch hook config in settings.json'));
|
|
162
|
+
console.error((0, ui_1.info)('Updated WebSearch hook config in settings.json'));
|
|
177
163
|
}
|
|
178
164
|
}
|
|
179
165
|
return true;
|
|
@@ -189,11 +175,6 @@ function ensureHookConfig() {
|
|
|
189
175
|
if (!settingsHooks.PreToolUse) {
|
|
190
176
|
settingsHooks.PreToolUse = [];
|
|
191
177
|
}
|
|
192
|
-
// Remove any existing CCS hooks first to prevent duplicates
|
|
193
|
-
settingsHooks.PreToolUse = settingsHooks.PreToolUse.filter((h) => {
|
|
194
|
-
const hook = h;
|
|
195
|
-
return !(0, hook_utils_1.isCcsWebSearchHook)(hook);
|
|
196
|
-
});
|
|
197
178
|
// Add our hook config
|
|
198
179
|
const preToolUseHooks = hookConfig.PreToolUse;
|
|
199
180
|
settingsHooks.PreToolUse.push(...preToolUseHooks);
|
|
@@ -248,9 +229,7 @@ function removeHookConfig() {
|
|
|
248
229
|
if (!hookArray?.[0]?.command)
|
|
249
230
|
return true; // Keep malformed entries
|
|
250
231
|
const command = hookArray[0].command;
|
|
251
|
-
|
|
252
|
-
const normalizedCommand = command.replace(/\\/g, '/');
|
|
253
|
-
return !normalizedCommand.includes('.ccs/hooks/websearch-transformer'); // Remove if CCS hook
|
|
232
|
+
return !command.includes('.ccs/hooks/websearch-transformer'); // Remove if CCS hook
|
|
254
233
|
});
|
|
255
234
|
if (hooks.PreToolUse.length === originalLength) {
|
|
256
235
|
return true; // Nothing changed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-config.js","sourceRoot":"","sources":["../../../src/utils/websearch/hook-config.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,8BAAmC;AACnC,8EAAwE;AACxE,sDAA8C;
|
|
1
|
+
{"version":3,"file":"hook-config.js","sourceRoot":"","sources":["../../../src/utils/websearch/hook-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-hook-injector.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/profile-hook-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"profile-hook-injector.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/profile-hook-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmEH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAmF/D;AA0DD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAW5C"}
|
|
@@ -39,7 +39,6 @@ const hook_config_1 = require("./hook-config");
|
|
|
39
39
|
const unified_config_loader_1 = require("../../config/unified-config-loader");
|
|
40
40
|
const hook_config_2 = require("./hook-config");
|
|
41
41
|
const config_manager_1 = require("../config-manager");
|
|
42
|
-
const hook_utils_1 = require("./hook-utils");
|
|
43
42
|
// Valid profile name pattern (alphanumeric, dash, underscore only)
|
|
44
43
|
const VALID_PROFILE_NAME = /^[a-zA-Z0-9_-]+$/;
|
|
45
44
|
/**
|
|
@@ -56,7 +55,14 @@ function hasCcsHook(settings) {
|
|
|
56
55
|
if (!hooks?.PreToolUse)
|
|
57
56
|
return false;
|
|
58
57
|
return hooks.PreToolUse.some((h) => {
|
|
59
|
-
|
|
58
|
+
const hook = h;
|
|
59
|
+
if (hook.matcher !== 'WebSearch')
|
|
60
|
+
return false;
|
|
61
|
+
const hookArray = hook.hooks;
|
|
62
|
+
if (!hookArray?.[0]?.command)
|
|
63
|
+
return false;
|
|
64
|
+
const command = hookArray[0].command;
|
|
65
|
+
return command.includes('.ccs/hooks/websearch-transformer');
|
|
60
66
|
});
|
|
61
67
|
}
|
|
62
68
|
/**
|
|
@@ -131,14 +137,6 @@ function ensureProfileHooks(profileName) {
|
|
|
131
137
|
}
|
|
132
138
|
// Check if CCS hook already present
|
|
133
139
|
if (hasCcsHook(settings)) {
|
|
134
|
-
// Clean up any duplicates that may have accumulated (Windows path bug fix)
|
|
135
|
-
const hadDuplicates = (0, hook_utils_1.deduplicateCcsHooks)(settings);
|
|
136
|
-
if (hadDuplicates) {
|
|
137
|
-
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2), 'utf8');
|
|
138
|
-
if (process.env.CCS_DEBUG) {
|
|
139
|
-
console.error((0, ui_1.info)(`Removed duplicate WebSearch hooks from ${profileName}.settings.json`));
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
140
|
// Update timeout if needed
|
|
143
141
|
return updateHookTimeoutIfNeeded(settings, settingsPath);
|
|
144
142
|
}
|
|
@@ -191,11 +189,7 @@ function updateHookTimeoutIfNeeded(settings, settingsPath) {
|
|
|
191
189
|
if (!hookArray?.[0]?.command)
|
|
192
190
|
continue;
|
|
193
191
|
const command = hookArray[0].command;
|
|
194
|
-
if (
|
|
195
|
-
continue;
|
|
196
|
-
// Normalize path separators for cross-platform matching (Windows uses backslashes)
|
|
197
|
-
const normalizedCommand = command.replace(/\\/g, '/');
|
|
198
|
-
if (!normalizedCommand.includes('.ccs/hooks/websearch-transformer'))
|
|
192
|
+
if (!command.includes('.ccs/hooks/websearch-transformer'))
|
|
199
193
|
continue;
|
|
200
194
|
// Found CCS hook - check if needs update
|
|
201
195
|
if (hookArray[0].command !== expectedCommand) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-hook-injector.js","sourceRoot":"","sources":["../../../src/utils/websearch/profile-hook-injector.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,8BAAmC;AACnC,+CAAoE;AACpE,8EAAwE;AACxE,+CAAiD;AACjD,sDAA8C;
|
|
1
|
+
{"version":3,"file":"profile-hook-injector.js","sourceRoot":"","sources":["../../../src/utils/websearch/profile-hook-injector.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,8BAAmC;AACnC,+CAAoE;AACpE,8EAAwE;AACxE,+CAAiD;AACjD,sDAA8C;AAE9C,mEAAmE;AACnE,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAE9C;;GAEG;AACH,SAAS,sBAAsB;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAA,0BAAS,GAAE,EAAE,gBAAgB,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,QAAiC;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAA8C,CAAC;IACtE,IAAI,CAAC,KAAK,EAAE,UAAU;QAAE,OAAO,KAAK,CAAC;IAErC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,CAA4B,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAmD,CAAC;QAC3E,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAiB,CAAC;QAC/C,OAAO,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;IAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,mBAAmB;IAC7B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,8BAAgB,GAAE,CAAC;QACnC,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,8CAA8C,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,+EAA+E;QAC/E,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,qBAAsB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,WAAmB;IACpD,IAAI,CAAC;QACH,kDAAkD;QAClD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,0CAAkB,GAAE,CAAC;QAEtC,gCAAgC;QAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,0CAA0C;QAC1C,iBAAiB,EAAE,CAAC;QAEpB,2DAA2D;QAC3D,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAC;QAE3B,wBAAwB;QACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,gBAAgB,CAAC,CAAC;QAEvE,yCAAyC;QACzC,IAAI,QAAQ,GAA4B,EAAE,CAAC;QAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACtD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;oBAC1B,OAAO,CAAC,KAAK,CACX,IAAA,SAAI,EAAC,aAAa,WAAW,mBAAoB,UAAoB,CAAC,OAAO,EAAE,CAAC,CACjF,CAAC;gBACJ,CAAC;gBACD,+CAA+C;YACjD,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,2BAA2B;YAC3B,OAAO,yBAAyB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3D,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,IAAA,oCAAsB,GAAE,CAAC;QAE5C,gCAAgC;QAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAkC,CAAC;QAClE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YAC9B,aAAa,CAAC,UAAU,GAAG,EAAE,CAAC;QAChC,CAAC;QAED,eAAe;QACf,MAAM,eAAe,GAAG,UAAU,CAAC,UAAuB,CAAC;QAC3D,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QAElD,yBAAyB;QACzB,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAE1E,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,2BAA2B,WAAW,gBAAgB,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,0BAA2B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAnFD,gDAmFC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,QAAiC,EACjC,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAkC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAA,oCAAsB,GAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAG,IAAA,yBAAW,GAAE,CAAC;QACvC,MAAM,eAAe,GAAG,SAAS,gBAAgB,GAAG,CAAC;QACrD,MAAM,aAAa,GAAI,UAAU,CAAC,UAA6C,CAAC,CAAC,CAAC;aAC/E,KAAuC,CAAC;QAC3C,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAiB,CAAC;QAE3D,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,CAA4B,CAAC;YAC1C,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW;gBAAE,SAAS;YAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAuC,CAAC;YAC/D,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO;gBAAE,SAAS;YAEvC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAiB,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC;gBAAE,SAAS;YAEpE,yCAAyC;YACzC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;gBAC7C,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC;gBACvC,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;gBAC7C,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC;gBACvC,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1E,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,oDAAoD,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,qCAAsC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC;QAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,IAAA,SAAI,EAAC,iCAAkC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;AACH,CAAC;AAXD,sDAWC"}
|
package/package.json
CHANGED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WebSearch Hook Utilities
|
|
3
|
-
*
|
|
4
|
-
* Shared helper functions for WebSearch hook detection and deduplication.
|
|
5
|
-
*
|
|
6
|
-
* @module utils/websearch/hook-utils
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Check if a hook entry is a CCS WebSearch hook
|
|
10
|
-
* Normalizes path separators for cross-platform matching (Windows uses backslashes)
|
|
11
|
-
*/
|
|
12
|
-
export declare function isCcsWebSearchHook(hook: Record<string, unknown>): boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Remove duplicate CCS WebSearch hooks from settings, keeping only the first one
|
|
15
|
-
* Returns true if duplicates were removed
|
|
16
|
-
*/
|
|
17
|
-
export declare function deduplicateCcsHooks(settings: Record<string, unknown>): boolean;
|
|
18
|
-
//# sourceMappingURL=hook-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/websearch/hook-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAYzE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAmB9E"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* WebSearch Hook Utilities
|
|
4
|
-
*
|
|
5
|
-
* Shared helper functions for WebSearch hook detection and deduplication.
|
|
6
|
-
*
|
|
7
|
-
* @module utils/websearch/hook-utils
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.deduplicateCcsHooks = exports.isCcsWebSearchHook = void 0;
|
|
11
|
-
/**
|
|
12
|
-
* Check if a hook entry is a CCS WebSearch hook
|
|
13
|
-
* Normalizes path separators for cross-platform matching (Windows uses backslashes)
|
|
14
|
-
*/
|
|
15
|
-
function isCcsWebSearchHook(hook) {
|
|
16
|
-
if (hook.matcher !== 'WebSearch')
|
|
17
|
-
return false;
|
|
18
|
-
const hookArray = hook.hooks;
|
|
19
|
-
if (!hookArray?.[0]?.command)
|
|
20
|
-
return false;
|
|
21
|
-
const command = hookArray[0].command;
|
|
22
|
-
if (typeof command !== 'string')
|
|
23
|
-
return false;
|
|
24
|
-
// Normalize path separators for cross-platform matching
|
|
25
|
-
const normalizedCommand = command.replace(/\\/g, '/');
|
|
26
|
-
return normalizedCommand.includes('.ccs/hooks/websearch-transformer');
|
|
27
|
-
}
|
|
28
|
-
exports.isCcsWebSearchHook = isCcsWebSearchHook;
|
|
29
|
-
/**
|
|
30
|
-
* Remove duplicate CCS WebSearch hooks from settings, keeping only the first one
|
|
31
|
-
* Returns true if duplicates were removed
|
|
32
|
-
*/
|
|
33
|
-
function deduplicateCcsHooks(settings) {
|
|
34
|
-
const hooks = settings.hooks;
|
|
35
|
-
if (!hooks?.PreToolUse)
|
|
36
|
-
return false;
|
|
37
|
-
let foundFirst = false;
|
|
38
|
-
const originalLength = hooks.PreToolUse.length;
|
|
39
|
-
hooks.PreToolUse = hooks.PreToolUse.filter((h) => {
|
|
40
|
-
const hook = h;
|
|
41
|
-
if (!isCcsWebSearchHook(hook))
|
|
42
|
-
return true; // Keep non-CCS hooks
|
|
43
|
-
if (!foundFirst) {
|
|
44
|
-
foundFirst = true;
|
|
45
|
-
return true; // Keep first CCS hook
|
|
46
|
-
}
|
|
47
|
-
return false; // Remove subsequent duplicates
|
|
48
|
-
});
|
|
49
|
-
return hooks.PreToolUse.length < originalLength;
|
|
50
|
-
}
|
|
51
|
-
exports.deduplicateCcsHooks = deduplicateCcsHooks;
|
|
52
|
-
//# sourceMappingURL=hook-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-utils.js","sourceRoot":"","sources":["../../../src/utils/websearch/hook-utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,IAA6B;IAC9D,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAmD,CAAC;IAC3E,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACrC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE9C,wDAAwD;IACxD,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;AACxE,CAAC;AAZD,gDAYC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,QAAiC;IACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAA8C,CAAC;IACtE,IAAI,CAAC,KAAK,EAAE,UAAU;QAAE,OAAO,KAAK,CAAC;IAErC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;IAE/C,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,CAA4B,CAAC;QAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,qBAAqB;QAEjE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,IAAI,CAAC;YAClB,OAAO,IAAI,CAAC,CAAC,sBAAsB;QACrC,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,+BAA+B;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC;AAClD,CAAC;AAnBD,kDAmBC"}
|