@pimzino/sgrep 1.3.40 → 1.3.44
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/build/install/claude-code.d.ts +3 -8
- package/build/install/claude-code.d.ts.map +1 -1
- package/build/install/claude-code.js +78 -386
- package/build/install/claude-code.js.map +1 -1
- package/build/plugins/sgrep/.claude-plugin/plugin.json +1 -1
- package/build/plugins/sgrep/hooks/hooks.json +4 -47
- package/build/plugins/sgrep/hooks/sgrep_prompt_hint.js +23 -0
- package/build/plugins/sgrep/hooks/sgrep_watch_kill.js +169 -169
- package/build/plugins/sgrep/skills/sgrep/SKILL.md +19 -77
- package/package.json +1 -1
- package/build/plugins/sgrep/hooks/sgrep_context.js +0 -91
- package/build/plugins/sgrep/hooks/sgrep_enhance.js +0 -188
- package/build/plugins/sgrep/hooks/sgrep_project_summary.js +0 -236
- package/build/plugins/sgrep/hooks/sgrep_tool_reminder.js +0 -34
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
type ComponentId = "skill" | "prompt-enhance" | "watch" | "project-summary" | "tool-reminder";
|
|
3
2
|
/**
|
|
4
3
|
* Install the sgrep plugin for Claude Code.
|
|
5
|
-
*
|
|
6
|
-
* When called with specific components, only those are installed (additive).
|
|
4
|
+
* Installs the prompt hint hook and the sgrep skill.
|
|
7
5
|
*/
|
|
8
|
-
export declare function installPlugin(
|
|
6
|
+
export declare function installPlugin(): Promise<void>;
|
|
9
7
|
/**
|
|
10
8
|
* Uninstall the sgrep plugin from Claude Code.
|
|
11
|
-
* When called with no arguments, removes everything (rm -rf).
|
|
12
|
-
* When called with specific components, only those are removed (selective).
|
|
13
9
|
*/
|
|
14
|
-
export declare function uninstallPlugin(
|
|
10
|
+
export declare function uninstallPlugin(): Promise<void>;
|
|
15
11
|
/**
|
|
16
12
|
* Install command for Claude Code
|
|
17
13
|
*/
|
|
@@ -20,5 +16,4 @@ export declare const installClaudeCode: Command;
|
|
|
20
16
|
* Uninstall command for Claude Code
|
|
21
17
|
*/
|
|
22
18
|
export declare const uninstallClaudeCode: Command;
|
|
23
|
-
export {};
|
|
24
19
|
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoHpC;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAoFnD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAsDrD;AAMD;;GAEG;AACH,eAAO,MAAM,iBAAiB,SAI1B,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,mBAAmB,SAI5B,CAAC"}
|
|
@@ -10,239 +10,13 @@ const PLUGIN_ROOT = process.env.CLAUDE_PLUGIN_ROOT ||
|
|
|
10
10
|
path.resolve(__dirname, "../plugins/sgrep");
|
|
11
11
|
const PLUGIN_HOOKS_DIR = path.join(PLUGIN_ROOT, "hooks");
|
|
12
12
|
const PLUGIN_SKILL_PATH = path.join(PLUGIN_ROOT, "skills", "sgrep", "SKILL.md");
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
{
|
|
18
|
-
id: "skill",
|
|
19
|
-
label: "Skill",
|
|
20
|
-
hookFiles: [],
|
|
21
|
-
skillFiles: [{ source: PLUGIN_SKILL_PATH, destRelative: "SKILL.md" }],
|
|
22
|
-
hookConfig: [],
|
|
23
|
-
dependsOn: [],
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
id: "prompt-enhance",
|
|
27
|
-
label: "Prompt Enhancement",
|
|
28
|
-
hookFiles: [
|
|
29
|
-
{ sourceFile: "sgrep_enhance.js", destFile: "sgrep_enhance.js" },
|
|
30
|
-
],
|
|
31
|
-
skillFiles: [],
|
|
32
|
-
hookConfig: [
|
|
33
|
-
{
|
|
34
|
-
event: "UserPromptSubmit",
|
|
35
|
-
hookFile: "sgrep_enhance.js",
|
|
36
|
-
timeout: 60,
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
dependsOn: [],
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
id: "watch",
|
|
43
|
-
label: "Watch",
|
|
44
|
-
hookFiles: [
|
|
45
|
-
{ sourceFile: "sgrep_watch.js", destFile: "sgrep_watch.js" },
|
|
46
|
-
{ sourceFile: "sgrep_watch_kill.js", destFile: "sgrep_watch_kill.js" },
|
|
47
|
-
],
|
|
48
|
-
skillFiles: [],
|
|
49
|
-
hookConfig: [
|
|
50
|
-
{
|
|
51
|
-
event: "SessionStart",
|
|
52
|
-
matcher: "startup|resume|clear",
|
|
53
|
-
hookFile: "sgrep_watch.js",
|
|
54
|
-
timeout: 15,
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
event: "SessionEnd",
|
|
58
|
-
hookFile: "sgrep_watch_kill.js",
|
|
59
|
-
timeout: 10,
|
|
60
|
-
},
|
|
61
|
-
],
|
|
62
|
-
dependsOn: [],
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
id: "project-summary",
|
|
66
|
-
label: "Project Summary",
|
|
67
|
-
hookFiles: [
|
|
68
|
-
{
|
|
69
|
-
sourceFile: "sgrep_project_summary.js",
|
|
70
|
-
destFile: "sgrep_project_summary.js",
|
|
71
|
-
},
|
|
72
|
-
],
|
|
73
|
-
skillFiles: [],
|
|
74
|
-
hookConfig: [
|
|
75
|
-
{
|
|
76
|
-
event: "SessionStart",
|
|
77
|
-
matcher: "startup|compact|clear",
|
|
78
|
-
hookFile: "sgrep_project_summary.js",
|
|
79
|
-
timeout: 90,
|
|
80
|
-
},
|
|
81
|
-
],
|
|
82
|
-
dependsOn: ["watch"],
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
id: "tool-reminder",
|
|
86
|
-
label: "Tool Reminder",
|
|
87
|
-
hookFiles: [
|
|
88
|
-
{
|
|
89
|
-
sourceFile: "sgrep_tool_reminder.js",
|
|
90
|
-
destFile: "sgrep_tool_reminder.js",
|
|
91
|
-
},
|
|
92
|
-
],
|
|
93
|
-
skillFiles: [],
|
|
94
|
-
hookConfig: [
|
|
95
|
-
{
|
|
96
|
-
event: "PreToolUse",
|
|
97
|
-
matcher: "Grep|Glob",
|
|
98
|
-
hookFile: "sgrep_tool_reminder.js",
|
|
99
|
-
timeout: 5,
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
dependsOn: [],
|
|
103
|
-
},
|
|
13
|
+
const HOOK_FILES = [
|
|
14
|
+
"sgrep_prompt_hint.js",
|
|
15
|
+
"sgrep_watch.js",
|
|
16
|
+
"sgrep_watch_kill.js",
|
|
104
17
|
];
|
|
105
|
-
const ALL_COMPONENT_IDS = COMPONENT_REGISTRY.map((c) => c.id);
|
|
106
|
-
// ---------------------------------------------------------------------------
|
|
107
|
-
// Registry-derived helpers
|
|
108
|
-
// ---------------------------------------------------------------------------
|
|
109
|
-
/** All hook file names that belong to sgrep (from registry + legacy). */
|
|
110
|
-
const ALL_SGREP_HOOK_FILES = new Set([
|
|
111
|
-
...COMPONENT_REGISTRY.flatMap((c) => c.hookFiles.map((h) => h.destFile)),
|
|
112
|
-
// Legacy hook that may still exist in settings from older installs
|
|
113
|
-
"sgrep_context",
|
|
114
|
-
]);
|
|
115
|
-
/** Check if a hook command string refers to any sgrep hook. */
|
|
116
|
-
function isSgrepHook(command) {
|
|
117
|
-
if (!command)
|
|
118
|
-
return false;
|
|
119
|
-
return [...ALL_SGREP_HOOK_FILES].some((hookFile) => {
|
|
120
|
-
const baseName = hookFile.replace(/\.js$/, "");
|
|
121
|
-
return command.includes(baseName);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
/** Get the set of hook dest-file names owned by a set of components. */
|
|
125
|
-
function getOwnedHookFiles(components) {
|
|
126
|
-
const owned = new Set();
|
|
127
|
-
for (const comp of COMPONENT_REGISTRY) {
|
|
128
|
-
if (components.includes(comp.id)) {
|
|
129
|
-
for (const hf of comp.hookFiles) {
|
|
130
|
-
owned.add(hf.destFile);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return owned;
|
|
135
|
-
}
|
|
136
|
-
/** Check if a hook command belongs to one of the specified components. */
|
|
137
|
-
function isOwnedByComponents(command, components) {
|
|
138
|
-
if (!command)
|
|
139
|
-
return false;
|
|
140
|
-
const owned = getOwnedHookFiles(components);
|
|
141
|
-
return [...owned].some((hookFile) => {
|
|
142
|
-
const baseName = hookFile.replace(/\.js$/, "");
|
|
143
|
-
return command.includes(baseName);
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
// ---------------------------------------------------------------------------
|
|
147
|
-
// Component resolution
|
|
148
|
-
// ---------------------------------------------------------------------------
|
|
149
|
-
function resolveComponents(flags) {
|
|
150
|
-
if (flags.all)
|
|
151
|
-
return [...ALL_COMPONENT_IDS];
|
|
152
|
-
const selected = [];
|
|
153
|
-
if (flags.skill)
|
|
154
|
-
selected.push("skill");
|
|
155
|
-
if (flags.promptEnhance)
|
|
156
|
-
selected.push("prompt-enhance");
|
|
157
|
-
if (flags.watch)
|
|
158
|
-
selected.push("watch");
|
|
159
|
-
if (flags.projectSummary)
|
|
160
|
-
selected.push("project-summary");
|
|
161
|
-
if (flags.toolReminder)
|
|
162
|
-
selected.push("tool-reminder");
|
|
163
|
-
// No flags → all components (backwards compatible)
|
|
164
|
-
if (selected.length === 0)
|
|
165
|
-
return [...ALL_COMPONENT_IDS];
|
|
166
|
-
return selected;
|
|
167
|
-
}
|
|
168
|
-
// ---------------------------------------------------------------------------
|
|
169
|
-
// Hook config builder
|
|
170
18
|
// ---------------------------------------------------------------------------
|
|
171
|
-
|
|
172
|
-
const config = {};
|
|
173
|
-
for (const comp of COMPONENT_REGISTRY) {
|
|
174
|
-
if (!components.includes(comp.id))
|
|
175
|
-
continue;
|
|
176
|
-
for (const hc of comp.hookConfig) {
|
|
177
|
-
const hookPath = path.join(hooksDir, hc.hookFile);
|
|
178
|
-
const entry = {
|
|
179
|
-
...(hc.matcher ? { matcher: hc.matcher } : {}),
|
|
180
|
-
hooks: [
|
|
181
|
-
{
|
|
182
|
-
type: "command",
|
|
183
|
-
command: `node "${hookPath}"`,
|
|
184
|
-
timeout: hc.timeout,
|
|
185
|
-
},
|
|
186
|
-
],
|
|
187
|
-
};
|
|
188
|
-
if (!config[hc.event])
|
|
189
|
-
config[hc.event] = [];
|
|
190
|
-
config[hc.event].push(entry);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
return config;
|
|
194
|
-
}
|
|
195
|
-
// ---------------------------------------------------------------------------
|
|
196
|
-
// Selective hook merging / unmerging
|
|
197
|
-
// ---------------------------------------------------------------------------
|
|
198
|
-
/**
|
|
199
|
-
* Merge hooks selectively: remove only hooks owned by the given components,
|
|
200
|
-
* then add the new versions. Non-selected component hooks are untouched.
|
|
201
|
-
*/
|
|
202
|
-
function mergeHooksSelective(existingHooks, newHooks, components) {
|
|
203
|
-
const merged = existingHooks
|
|
204
|
-
? JSON.parse(JSON.stringify(existingHooks))
|
|
205
|
-
: {};
|
|
206
|
-
// Remove hooks owned by the components being installed
|
|
207
|
-
for (const event of Object.keys(merged)) {
|
|
208
|
-
if (Array.isArray(merged[event])) {
|
|
209
|
-
merged[event] = merged[event].filter((entry) => !isOwnedByComponents(entry?.hooks?.[0]?.command, components));
|
|
210
|
-
if (merged[event].length === 0) {
|
|
211
|
-
delete merged[event];
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
// Add the new hooks
|
|
216
|
-
for (const [event, entries] of Object.entries(newHooks)) {
|
|
217
|
-
const current = Array.isArray(merged[event])
|
|
218
|
-
? merged[event]
|
|
219
|
-
: [];
|
|
220
|
-
for (const entry of entries) {
|
|
221
|
-
current.push(entry);
|
|
222
|
-
}
|
|
223
|
-
merged[event] = current;
|
|
224
|
-
}
|
|
225
|
-
return merged;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Remove hooks owned by the given components from existing config.
|
|
229
|
-
*/
|
|
230
|
-
function unmergeHooks(existingHooks, components) {
|
|
231
|
-
if (!existingHooks)
|
|
232
|
-
return {};
|
|
233
|
-
const result = JSON.parse(JSON.stringify(existingHooks));
|
|
234
|
-
for (const event of Object.keys(result)) {
|
|
235
|
-
if (Array.isArray(result[event])) {
|
|
236
|
-
result[event] = result[event].filter((entry) => !isOwnedByComponents(entry?.hooks?.[0]?.command, components));
|
|
237
|
-
if (result[event].length === 0) {
|
|
238
|
-
delete result[event];
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
return result;
|
|
243
|
-
}
|
|
244
|
-
// ---------------------------------------------------------------------------
|
|
245
|
-
// Utility functions (unchanged)
|
|
19
|
+
// Utility functions
|
|
246
20
|
// ---------------------------------------------------------------------------
|
|
247
21
|
function resolveClaudeRoot() {
|
|
248
22
|
return path.join(os.homedir(), ".claude");
|
|
@@ -298,91 +72,82 @@ function isHooksConfig(value) {
|
|
|
298
72
|
}
|
|
299
73
|
return Object.values(value).every((entry) => Array.isArray(entry));
|
|
300
74
|
}
|
|
75
|
+
/** Check if a hook command string refers to any sgrep hook. */
|
|
76
|
+
function isSgrepHook(command) {
|
|
77
|
+
if (!command)
|
|
78
|
+
return false;
|
|
79
|
+
return command.includes("sgrep_");
|
|
80
|
+
}
|
|
301
81
|
// ---------------------------------------------------------------------------
|
|
302
82
|
// Install / Uninstall
|
|
303
83
|
// ---------------------------------------------------------------------------
|
|
304
84
|
/**
|
|
305
85
|
* Install the sgrep plugin for Claude Code.
|
|
306
|
-
*
|
|
307
|
-
* When called with specific components, only those are installed (additive).
|
|
86
|
+
* Installs the prompt hint hook and the sgrep skill.
|
|
308
87
|
*/
|
|
309
|
-
export async function installPlugin(
|
|
310
|
-
const selected = components ?? [...ALL_COMPONENT_IDS];
|
|
88
|
+
export async function installPlugin() {
|
|
311
89
|
console.log(chalk.cyan("Installing sgrep plugin for Claude Code..."));
|
|
312
|
-
if (selected.length < ALL_COMPONENT_IDS.length) {
|
|
313
|
-
const labels = selected
|
|
314
|
-
.map((id) => COMPONENT_REGISTRY.find((c) => c.id === id).label)
|
|
315
|
-
.join(", ");
|
|
316
|
-
console.log(chalk.gray(`Components: ${labels}`));
|
|
317
|
-
}
|
|
318
90
|
console.log("");
|
|
319
91
|
try {
|
|
320
92
|
const root = resolveClaudeRoot();
|
|
321
93
|
const hooksDir = path.join(root, "hooks", "sgrep");
|
|
322
94
|
const skillsDir = path.join(root, "skills", "sgrep");
|
|
323
95
|
const settingsPath = path.join(root, "settings.json");
|
|
324
|
-
// Dependency warnings
|
|
325
|
-
for (const comp of COMPONENT_REGISTRY) {
|
|
326
|
-
if (!selected.includes(comp.id))
|
|
327
|
-
continue;
|
|
328
|
-
for (const dep of comp.dependsOn) {
|
|
329
|
-
if (!selected.includes(dep)) {
|
|
330
|
-
const depLabel = COMPONENT_REGISTRY.find((c) => c.id === dep).label;
|
|
331
|
-
console.log(chalk.yellow(`Note: ${comp.label} works best with ${depLabel}. Consider also installing --${dep}.`));
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
96
|
// Install hook files
|
|
336
|
-
for (const
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
const dest = path.join(hooksDir, hf.destFile);
|
|
342
|
-
if (writeFileIfChanged(dest, src)) {
|
|
343
|
-
console.log(chalk.green(`Installed hook: ${dest}`));
|
|
344
|
-
}
|
|
97
|
+
for (const file of HOOK_FILES) {
|
|
98
|
+
const src = readPluginAsset(path.join(PLUGIN_HOOKS_DIR, file));
|
|
99
|
+
const dest = path.join(hooksDir, file);
|
|
100
|
+
if (writeFileIfChanged(dest, src)) {
|
|
101
|
+
console.log(chalk.green(`Installed hook: ${dest}`));
|
|
345
102
|
}
|
|
346
103
|
}
|
|
347
|
-
// Install skill
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
const src = readPluginAsset(sf.source);
|
|
353
|
-
const dest = path.join(skillsDir, sf.destRelative);
|
|
354
|
-
if (writeFileIfChanged(dest, src.trimStart())) {
|
|
355
|
-
console.log(chalk.green(`Installed skill: ${dest}`));
|
|
356
|
-
}
|
|
357
|
-
}
|
|
104
|
+
// Install skill file
|
|
105
|
+
const skillSrc = readPluginAsset(PLUGIN_SKILL_PATH);
|
|
106
|
+
const skillDest = path.join(skillsDir, "SKILL.md");
|
|
107
|
+
if (writeFileIfChanged(skillDest, skillSrc.trimStart())) {
|
|
108
|
+
console.log(chalk.green(`Installed skill: ${skillDest}`));
|
|
358
109
|
}
|
|
359
110
|
// Configure hooks in settings.json
|
|
360
|
-
const
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
111
|
+
const settings = loadSettings(settingsPath);
|
|
112
|
+
const hooks = isHooksConfig(settings.hooks)
|
|
113
|
+
? JSON.parse(JSON.stringify(settings.hooks))
|
|
114
|
+
: {};
|
|
115
|
+
// Remove any existing sgrep hooks
|
|
116
|
+
for (const event of Object.keys(hooks)) {
|
|
117
|
+
hooks[event] = hooks[event].filter((entry) => !isSgrepHook(entry?.hooks?.[0]?.command));
|
|
118
|
+
if (hooks[event].length === 0) {
|
|
119
|
+
delete hooks[event];
|
|
120
|
+
}
|
|
366
121
|
}
|
|
122
|
+
// Add hooks
|
|
123
|
+
const prompt_hint = path.join(hooksDir, "sgrep_prompt_hint.js");
|
|
124
|
+
const watch = path.join(hooksDir, "sgrep_watch.js");
|
|
125
|
+
const watchKill = path.join(hooksDir, "sgrep_watch_kill.js");
|
|
126
|
+
if (!hooks.UserPromptSubmit)
|
|
127
|
+
hooks.UserPromptSubmit = [];
|
|
128
|
+
hooks.UserPromptSubmit.push({
|
|
129
|
+
hooks: [{ type: "command", command: `node "${prompt_hint}"`, timeout: 5 }],
|
|
130
|
+
});
|
|
131
|
+
if (!hooks.SessionStart)
|
|
132
|
+
hooks.SessionStart = [];
|
|
133
|
+
hooks.SessionStart.push({
|
|
134
|
+
matcher: "startup|resume|clear",
|
|
135
|
+
hooks: [{ type: "command", command: `node "${watch}"`, timeout: 15 }],
|
|
136
|
+
});
|
|
137
|
+
if (!hooks.SessionEnd)
|
|
138
|
+
hooks.SessionEnd = [];
|
|
139
|
+
hooks.SessionEnd.push({
|
|
140
|
+
hooks: [{ type: "command", command: `node "${watchKill}"`, timeout: 10 }],
|
|
141
|
+
});
|
|
142
|
+
settings.hooks = hooks;
|
|
143
|
+
saveSettings(settingsPath, settings);
|
|
144
|
+
console.log(chalk.green(`Updated settings: ${settingsPath}`));
|
|
367
145
|
console.log("");
|
|
368
146
|
console.log(chalk.green("Installation complete!"));
|
|
369
147
|
console.log("");
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
}
|
|
374
|
-
if (selected.includes("prompt-enhance")) {
|
|
375
|
-
console.log("- Prompt enhancement: your prompts are automatically enhanced with codebase context");
|
|
376
|
-
}
|
|
377
|
-
if (selected.includes("watch")) {
|
|
378
|
-
console.log("- Index sync: sgrep watch starts/stops with your session");
|
|
379
|
-
}
|
|
380
|
-
if (selected.includes("project-summary")) {
|
|
381
|
-
console.log("- Project summary: codebase overview injected on session start");
|
|
382
|
-
}
|
|
383
|
-
if (selected.includes("tool-reminder")) {
|
|
384
|
-
console.log("- Tool reminder: gentle nudge to use sgrep when Grep/Glob are used");
|
|
385
|
-
}
|
|
148
|
+
console.log("- Skill: " + chalk.cyan("/sgrep") + " available in Claude Code");
|
|
149
|
+
console.log("- Prompt hint: sgrep usage reminder appended to every prompt");
|
|
150
|
+
console.log("- Index sync: sgrep watch starts/stops with your session");
|
|
386
151
|
console.log("");
|
|
387
152
|
console.log(chalk.gray("To uninstall: sgrep uninstall-claude-code"));
|
|
388
153
|
}
|
|
@@ -394,56 +159,23 @@ export async function installPlugin(components) {
|
|
|
394
159
|
}
|
|
395
160
|
/**
|
|
396
161
|
* Uninstall the sgrep plugin from Claude Code.
|
|
397
|
-
* When called with no arguments, removes everything (rm -rf).
|
|
398
|
-
* When called with specific components, only those are removed (selective).
|
|
399
162
|
*/
|
|
400
|
-
export async function uninstallPlugin(
|
|
401
|
-
const isFullUninstall = !components;
|
|
402
|
-
const selected = components ?? [...ALL_COMPONENT_IDS];
|
|
163
|
+
export async function uninstallPlugin() {
|
|
403
164
|
console.log(chalk.cyan("Uninstalling sgrep plugin from Claude Code..."));
|
|
404
|
-
if (!isFullUninstall) {
|
|
405
|
-
const labels = selected
|
|
406
|
-
.map((id) => COMPONENT_REGISTRY.find((c) => c.id === id).label)
|
|
407
|
-
.join(", ");
|
|
408
|
-
console.log(chalk.gray(`Components: ${labels}`));
|
|
409
|
-
}
|
|
410
165
|
console.log("");
|
|
411
166
|
try {
|
|
412
167
|
const root = resolveClaudeRoot();
|
|
413
168
|
const hooksDir = path.join(root, "hooks", "sgrep");
|
|
414
169
|
const skillsDir = path.join(root, "skills", "sgrep");
|
|
415
170
|
const settingsPath = path.join(root, "settings.json");
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
console.log(chalk.green("Removed sgrep hooks"));
|
|
421
|
-
}
|
|
422
|
-
if (fs.existsSync(skillsDir)) {
|
|
423
|
-
fs.rmSync(skillsDir, { recursive: true, force: true });
|
|
424
|
-
console.log(chalk.green("Removed sgrep skill"));
|
|
425
|
-
}
|
|
171
|
+
// Remove hook and skill directories
|
|
172
|
+
if (fs.existsSync(hooksDir)) {
|
|
173
|
+
fs.rmSync(hooksDir, { recursive: true, force: true });
|
|
174
|
+
console.log(chalk.green("Removed sgrep hooks"));
|
|
426
175
|
}
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
if (!selected.includes(comp.id))
|
|
431
|
-
continue;
|
|
432
|
-
for (const hf of comp.hookFiles) {
|
|
433
|
-
const dest = path.join(hooksDir, hf.destFile);
|
|
434
|
-
if (fs.existsSync(dest)) {
|
|
435
|
-
fs.unlinkSync(dest);
|
|
436
|
-
console.log(chalk.green(`Removed hook: ${dest}`));
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
for (const sf of comp.skillFiles) {
|
|
440
|
-
const dest = path.join(skillsDir, sf.destRelative);
|
|
441
|
-
if (fs.existsSync(dest)) {
|
|
442
|
-
fs.unlinkSync(dest);
|
|
443
|
-
console.log(chalk.green(`Removed skill: ${dest}`));
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
}
|
|
176
|
+
if (fs.existsSync(skillsDir)) {
|
|
177
|
+
fs.rmSync(skillsDir, { recursive: true, force: true });
|
|
178
|
+
console.log(chalk.green("Removed sgrep skill"));
|
|
447
179
|
}
|
|
448
180
|
// Remove hooks from settings.json
|
|
449
181
|
if (fs.existsSync(settingsPath)) {
|
|
@@ -453,25 +185,11 @@ export async function uninstallPlugin(components) {
|
|
|
453
185
|
? settings.hooks
|
|
454
186
|
: undefined;
|
|
455
187
|
if (hooks) {
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
const filtered = hooks[event].filter((entry) => !isSgrepHook(entry?.hooks?.[0]?.command));
|
|
460
|
-
if (filtered.length === 0) {
|
|
461
|
-
delete hooks[event];
|
|
462
|
-
}
|
|
463
|
-
else {
|
|
464
|
-
hooks[event] = filtered;
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
else {
|
|
469
|
-
// Selective uninstall: remove only owned hooks
|
|
470
|
-
const cleaned = unmergeHooks(hooks, selected);
|
|
471
|
-
for (const event of Object.keys(hooks)) {
|
|
188
|
+
for (const event of Object.keys(hooks)) {
|
|
189
|
+
hooks[event] = hooks[event].filter((entry) => !isSgrepHook(entry?.hooks?.[0]?.command));
|
|
190
|
+
if (hooks[event].length === 0) {
|
|
472
191
|
delete hooks[event];
|
|
473
192
|
}
|
|
474
|
-
Object.assign(hooks, cleaned);
|
|
475
193
|
}
|
|
476
194
|
if (Object.keys(hooks).length === 0) {
|
|
477
195
|
delete settings.hooks;
|
|
@@ -496,46 +214,20 @@ export async function uninstallPlugin(components) {
|
|
|
496
214
|
// ---------------------------------------------------------------------------
|
|
497
215
|
// Commander definitions
|
|
498
216
|
// ---------------------------------------------------------------------------
|
|
499
|
-
function addComponentOptions(cmd) {
|
|
500
|
-
return cmd
|
|
501
|
-
.option("--skill", "Install/uninstall the sgrep skill")
|
|
502
|
-
.option("--prompt-enhance", "Install/uninstall prompt enhancement")
|
|
503
|
-
.option("--watch", "Install/uninstall watch + watch-kill pair")
|
|
504
|
-
.option("--project-summary", "Install/uninstall project summary hook")
|
|
505
|
-
.option("--tool-reminder", "Install/uninstall tool reminder hook")
|
|
506
|
-
.option("--all", "Install/uninstall all components (default)");
|
|
507
|
-
}
|
|
508
|
-
function extractComponentFlags(options) {
|
|
509
|
-
return {
|
|
510
|
-
skill: options.skill,
|
|
511
|
-
promptEnhance: options.promptEnhance,
|
|
512
|
-
watch: options.watch,
|
|
513
|
-
projectSummary: options.projectSummary,
|
|
514
|
-
toolReminder: options.toolReminder,
|
|
515
|
-
all: options.all,
|
|
516
|
-
};
|
|
517
|
-
}
|
|
518
217
|
/**
|
|
519
218
|
* Install command for Claude Code
|
|
520
219
|
*/
|
|
521
|
-
export const installClaudeCode =
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
await installPlugin(
|
|
220
|
+
export const installClaudeCode = new Command("install-claude-code")
|
|
221
|
+
.description("Install the sgrep plugin for Claude Code")
|
|
222
|
+
.action(async () => {
|
|
223
|
+
await installPlugin();
|
|
525
224
|
});
|
|
526
225
|
/**
|
|
527
226
|
* Uninstall command for Claude Code
|
|
528
227
|
*/
|
|
529
|
-
export const uninstallClaudeCode =
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
flags.watch ||
|
|
534
|
-
flags.projectSummary ||
|
|
535
|
-
flags.toolReminder ||
|
|
536
|
-
flags.all;
|
|
537
|
-
// No flags on uninstall → full uninstall (rm -rf behavior)
|
|
538
|
-
const components = hasAnyFlag ? resolveComponents(flags) : undefined;
|
|
539
|
-
await uninstallPlugin(components);
|
|
228
|
+
export const uninstallClaudeCode = new Command("uninstall-claude-code")
|
|
229
|
+
.description("Uninstall the sgrep plugin from Claude Code")
|
|
230
|
+
.action(async () => {
|
|
231
|
+
await uninstallPlugin();
|
|
540
232
|
});
|
|
541
233
|
//# sourceMappingURL=claude-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,WAAW,GACf,OAAO,CAAC,GAAG,CAAC,kBAAkB;IAC9B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAqDhF,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,kBAAkB,GAA0B;IAChD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;QACrE,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;KACd;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE;YACT,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SACjE;QACD,UAAU,EAAE,EAAE;QACd,UAAU,EAAE;YACV;gBACE,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,kBAAkB;gBAC5B,OAAO,EAAE,EAAE;aACZ;SACF;QACD,SAAS,EAAE,EAAE;KACd;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,SAAS,EAAE;YACT,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;YAC5D,EAAE,UAAU,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EAAE;SACvE;QACD,UAAU,EAAE,EAAE;QACd,UAAU,EAAE;YACV;gBACE,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,sBAAsB;gBAC/B,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,KAAK,EAAE,YAAY;gBACnB,QAAQ,EAAE,qBAAqB;gBAC/B,OAAO,EAAE,EAAE;aACZ;SACF;QACD,SAAS,EAAE,EAAE;KACd;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,iBAAiB;QACxB,SAAS,EAAE;YACT;gBACE,UAAU,EAAE,0BAA0B;gBACtC,QAAQ,EAAE,0BAA0B;aACrC;SACF;QACD,UAAU,EAAE,EAAE;QACd,UAAU,EAAE;YACV;gBACE,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,0BAA0B;gBACpC,OAAO,EAAE,EAAE;aACZ;SACF;QACD,SAAS,EAAE,CAAC,OAAO,CAAC;KACrB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE;YACT;gBACE,UAAU,EAAE,wBAAwB;gBACpC,QAAQ,EAAE,wBAAwB;aACnC;SACF;QACD,UAAU,EAAE,EAAE;QACd,UAAU,EAAE;YACV;gBACE,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,wBAAwB;gBAClC,OAAO,EAAE,CAAC;aACX;SACF;QACD,SAAS,EAAE,EAAE;KACd;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAkB,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE7E,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,yEAAyE;AACzE,MAAM,oBAAoB,GAAgB,IAAI,GAAG,CAAC;IAChD,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxE,mEAAmE;IACnE,eAAe;CAChB,CAAC,CAAC;AAEH,+DAA+D;AAC/D,SAAS,WAAW,CAAC,OAA2B;IAC9C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,CAAC,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,SAAS,iBAAiB,CAAC,UAAyB;IAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0EAA0E;AAC1E,SAAS,mBAAmB,CAC1B,OAA2B,EAC3B,UAAyB;IAEzB,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,SAAS,iBAAiB,CAAC,KAAqB;IAC9C,IAAI,KAAK,CAAC,GAAG;QAAE,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,aAAa;QAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,KAAK;QAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,cAAc;QAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,YAAY;QAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEvD,mDAAmD;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAEzD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,SAAS,eAAe,CACtB,UAAyB,EACzB,QAAgB;IAEhB,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAS;QAC5C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,KAAK,GAAc;gBACvB,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,SAAS,QAAQ,GAAG;wBAC7B,OAAO,EAAE,EAAE,CAAC,OAAO;qBACpB;iBACF;aACF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,mBAAmB,CAC1B,aAAsC,EACtC,QAAqB,EACrB,UAAyB;IAEzB,MAAM,MAAM,GAAgB,aAAa;QACvC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAiB;QAC5D,CAAC,CAAC,EAAE,CAAC;IAEP,uDAAuD;IACvD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAClC,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAC/D,CAAC;YACF,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,MAAM,OAAO,GAAgB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACf,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,aAAsC,EACtC,UAAyB;IAEzB,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAgB,IAAI,CAAC,KAAK,CACpC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CACf,CAAC;IAEjB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAClC,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAC/D,CAAC;YACF,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,SAAS,iBAAiB;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB;IACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,OAAe;IAC3D,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,QAAQ,GAAG,OAAO;SACrB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;SAC9C,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,YAAoB;IACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,MAAkB,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,YAAoB,EACpB,QAAiC;IAEjC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAA0B;IAE1B,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,QAAQ;aACpB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC,KAAK,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAEtD,sBAAsB;QACtB,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAE,CAAC,KAAK,CAAC;oBACrE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,SAAS,IAAI,CAAC,KAAK,oBAAoB,QAAQ,gCAAgC,GAAG,GAAG,CACtF,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC1C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC1C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5C,QAAQ,CAAC,KAAK,GAAG,mBAAmB,CAClC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC1D,UAAU,EACV,QAAQ,CACT,CAAC;YACF,YAAY,CAAC,YAAY,EAAE,QAAmC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,kCAAkC;QAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CACT,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,sCAAsC,CAC5E,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CACT,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CACT,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CACT,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAA0B;IAE1B,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC;IACpC,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,QAAQ;aACpB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC,KAAK,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAEtD,IAAI,eAAe,EAAE,CAAC;YACpB,oDAAoD;YACpD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,+CAA+C;YAC/C,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,SAAS;gBAE1C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;oBAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;oBACnD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACzC,CAAC,CAAC,QAAQ,CAAC,KAAK;oBAChB,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,eAAe,EAAE,CAAC;wBACpB,yCAAyC;wBACzC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAClC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CACpD,CAAC;4BACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gCAC1B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;4BACtB,CAAC;iCAAM,CAAC;gCACN,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;4BAC1B,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,+CAA+C;wBAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;wBAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACvC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;wBACtB,CAAC;wBACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAChC,CAAC;oBAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACpC,OAAO,QAAQ,CAAC,KAAK,CAAC;oBACxB,CAAC;oBACD,YAAY,CAAC,YAAY,EAAE,QAAmC,CAAC,CAAC;oBAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,SAAS,mBAAmB,CAAC,GAAY;IACvC,OAAO,GAAG;SACP,MAAM,CAAC,SAAS,EAAE,mCAAmC,CAAC;SACtD,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;SAClE,MAAM,CAAC,SAAS,EAAE,2CAA2C,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;SACrE,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;SACjE,MAAM,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgC;IAC7D,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAA4B;QAC3C,aAAa,EAAE,OAAO,CAAC,aAAoC;QAC3D,KAAK,EAAE,OAAO,CAAC,KAA4B;QAC3C,cAAc,EAAE,OAAO,CAAC,cAAqC;QAC7D,YAAY,EAAE,OAAO,CAAC,YAAmC;QACzD,GAAG,EAAE,OAAO,CAAC,GAA0B;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAClD,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAC5C,0CAA0C,CAC3C,CACF,CAAC,MAAM,CAAC,KAAK,EAAE,QAAiC,EAAE,GAAY,EAAE,EAAE;IACjE,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CACpD,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAC9C,6CAA6C,CAC9C,CACF,CAAC,MAAM,CAAC,KAAK,EAAE,QAAiC,EAAE,GAAY,EAAE,EAAE;IACjE,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,UAAU,GACd,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,aAAa;QACnB,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,cAAc;QACpB,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,GAAG,CAAC;IACZ,2DAA2D;IAC3D,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sgrep",
|
|
3
3
|
"description": "Semantic grep - ask questions about codebases using AI. Use sgrep \"question\" to understand code (default) or sgrep search for raw code snippets.",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.44",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "pimzino"
|
|
7
7
|
},
|