oh-my-claude-sisyphus 1.0.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/LICENSE +21 -0
- package/README.md +416 -0
- package/dist/agents/definitions.d.ts +48 -0
- package/dist/agents/definitions.d.ts.map +1 -0
- package/dist/agents/definitions.js +271 -0
- package/dist/agents/definitions.js.map +1 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +280 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +5 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +49 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +329 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/features/continuation-enforcement.d.ts +34 -0
- package/dist/features/continuation-enforcement.d.ts.map +1 -0
- package/dist/features/continuation-enforcement.js +142 -0
- package/dist/features/continuation-enforcement.js.map +1 -0
- package/dist/features/index.d.ts +6 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +6 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/magic-keywords.d.ts +22 -0
- package/dist/features/magic-keywords.d.ts.map +1 -0
- package/dist/features/magic-keywords.js +189 -0
- package/dist/features/magic-keywords.js.map +1 -0
- package/dist/index.d.ts +105 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +146 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +5 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/servers.d.ts +77 -0
- package/dist/mcp/servers.d.ts.map +1 -0
- package/dist/mcp/servers.js +122 -0
- package/dist/mcp/servers.js.map +1 -0
- package/dist/shared/index.d.ts +5 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +5 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/types.d.ts +133 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/shared/types.js +5 -0
- package/dist/shared/types.js.map +1 -0
- package/dist/tools/ast-tools.d.ts +63 -0
- package/dist/tools/ast-tools.d.ts.map +1 -0
- package/dist/tools/ast-tools.js +349 -0
- package/dist/tools/ast-tools.js.map +1 -0
- package/dist/tools/index.d.ts +52 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +120 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/lsp/client.d.ts +201 -0
- package/dist/tools/lsp/client.d.ts.map +1 -0
- package/dist/tools/lsp/client.js +454 -0
- package/dist/tools/lsp/client.js.map +1 -0
- package/dist/tools/lsp/index.d.ts +9 -0
- package/dist/tools/lsp/index.d.ts.map +1 -0
- package/dist/tools/lsp/index.js +7 -0
- package/dist/tools/lsp/index.js.map +1 -0
- package/dist/tools/lsp/servers.d.ts +37 -0
- package/dist/tools/lsp/servers.d.ts.map +1 -0
- package/dist/tools/lsp/servers.js +148 -0
- package/dist/tools/lsp/servers.js.map +1 -0
- package/dist/tools/lsp/utils.d.ts +58 -0
- package/dist/tools/lsp/utils.d.ts.map +1 -0
- package/dist/tools/lsp/utils.js +236 -0
- package/dist/tools/lsp/utils.js.map +1 -0
- package/dist/tools/lsp-tools.d.ts +151 -0
- package/dist/tools/lsp-tools.d.ts.map +1 -0
- package/dist/tools/lsp-tools.js +358 -0
- package/dist/tools/lsp-tools.js.map +1 -0
- package/package.json +75 -0
- package/scripts/install.sh +765 -0
- package/scripts/uninstall.sh +47 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP (Language Server Protocol) Tools
|
|
3
|
+
*
|
|
4
|
+
* Provides IDE-like capabilities to agents via real LSP server integration:
|
|
5
|
+
* - Hover information
|
|
6
|
+
* - Go to definition
|
|
7
|
+
* - Find references
|
|
8
|
+
* - Document/workspace symbols
|
|
9
|
+
* - Diagnostics
|
|
10
|
+
* - Rename
|
|
11
|
+
* - Code actions
|
|
12
|
+
*/
|
|
13
|
+
import { z } from 'zod';
|
|
14
|
+
export interface ToolDefinition<T extends z.ZodRawShape> {
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
schema: T;
|
|
18
|
+
handler: (args: z.infer<z.ZodObject<T>>) => Promise<{
|
|
19
|
+
content: Array<{
|
|
20
|
+
type: 'text';
|
|
21
|
+
text: string;
|
|
22
|
+
}>;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* LSP Hover Tool - Get type information and documentation at a position
|
|
27
|
+
*/
|
|
28
|
+
export declare const lspHoverTool: ToolDefinition<{
|
|
29
|
+
file: z.ZodString;
|
|
30
|
+
line: z.ZodNumber;
|
|
31
|
+
character: z.ZodNumber;
|
|
32
|
+
}>;
|
|
33
|
+
/**
|
|
34
|
+
* LSP Go to Definition Tool - Jump to where a symbol is defined
|
|
35
|
+
*/
|
|
36
|
+
export declare const lspGotoDefinitionTool: ToolDefinition<{
|
|
37
|
+
file: z.ZodString;
|
|
38
|
+
line: z.ZodNumber;
|
|
39
|
+
character: z.ZodNumber;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* LSP Find References Tool - Find all usages of a symbol
|
|
43
|
+
*/
|
|
44
|
+
export declare const lspFindReferencesTool: ToolDefinition<{
|
|
45
|
+
file: z.ZodString;
|
|
46
|
+
line: z.ZodNumber;
|
|
47
|
+
character: z.ZodNumber;
|
|
48
|
+
includeDeclaration: z.ZodOptional<z.ZodBoolean>;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* LSP Document Symbols Tool - Get outline of all symbols in a file
|
|
52
|
+
*/
|
|
53
|
+
export declare const lspDocumentSymbolsTool: ToolDefinition<{
|
|
54
|
+
file: z.ZodString;
|
|
55
|
+
}>;
|
|
56
|
+
/**
|
|
57
|
+
* LSP Workspace Symbols Tool - Search symbols across workspace
|
|
58
|
+
*/
|
|
59
|
+
export declare const lspWorkspaceSymbolsTool: ToolDefinition<{
|
|
60
|
+
query: z.ZodString;
|
|
61
|
+
file: z.ZodString;
|
|
62
|
+
}>;
|
|
63
|
+
/**
|
|
64
|
+
* LSP Diagnostics Tool - Get errors, warnings, and hints
|
|
65
|
+
*/
|
|
66
|
+
export declare const lspDiagnosticsTool: ToolDefinition<{
|
|
67
|
+
file: z.ZodString;
|
|
68
|
+
severity: z.ZodOptional<z.ZodEnum<['error', 'warning', 'info', 'hint']>>;
|
|
69
|
+
}>;
|
|
70
|
+
/**
|
|
71
|
+
* LSP Servers Tool - List available language servers
|
|
72
|
+
*/
|
|
73
|
+
export declare const lspServersTool: ToolDefinition<Record<string, never>>;
|
|
74
|
+
/**
|
|
75
|
+
* LSP Prepare Rename Tool - Check if rename is valid
|
|
76
|
+
*/
|
|
77
|
+
export declare const lspPrepareRenameTool: ToolDefinition<{
|
|
78
|
+
file: z.ZodString;
|
|
79
|
+
line: z.ZodNumber;
|
|
80
|
+
character: z.ZodNumber;
|
|
81
|
+
}>;
|
|
82
|
+
/**
|
|
83
|
+
* LSP Rename Tool - Rename a symbol across all files
|
|
84
|
+
*/
|
|
85
|
+
export declare const lspRenameTool: ToolDefinition<{
|
|
86
|
+
file: z.ZodString;
|
|
87
|
+
line: z.ZodNumber;
|
|
88
|
+
character: z.ZodNumber;
|
|
89
|
+
newName: z.ZodString;
|
|
90
|
+
}>;
|
|
91
|
+
/**
|
|
92
|
+
* LSP Code Actions Tool - Get available refactoring and quick-fix actions
|
|
93
|
+
*/
|
|
94
|
+
export declare const lspCodeActionsTool: ToolDefinition<{
|
|
95
|
+
file: z.ZodString;
|
|
96
|
+
startLine: z.ZodNumber;
|
|
97
|
+
startCharacter: z.ZodNumber;
|
|
98
|
+
endLine: z.ZodNumber;
|
|
99
|
+
endCharacter: z.ZodNumber;
|
|
100
|
+
}>;
|
|
101
|
+
/**
|
|
102
|
+
* LSP Code Action Resolve Tool - Get details of a code action
|
|
103
|
+
*/
|
|
104
|
+
export declare const lspCodeActionResolveTool: ToolDefinition<{
|
|
105
|
+
file: z.ZodString;
|
|
106
|
+
startLine: z.ZodNumber;
|
|
107
|
+
startCharacter: z.ZodNumber;
|
|
108
|
+
endLine: z.ZodNumber;
|
|
109
|
+
endCharacter: z.ZodNumber;
|
|
110
|
+
actionIndex: z.ZodNumber;
|
|
111
|
+
}>;
|
|
112
|
+
/**
|
|
113
|
+
* Get all LSP tool definitions
|
|
114
|
+
*/
|
|
115
|
+
export declare const lspTools: (ToolDefinition<{
|
|
116
|
+
file: z.ZodString;
|
|
117
|
+
line: z.ZodNumber;
|
|
118
|
+
character: z.ZodNumber;
|
|
119
|
+
}> | ToolDefinition<{
|
|
120
|
+
file: z.ZodString;
|
|
121
|
+
line: z.ZodNumber;
|
|
122
|
+
character: z.ZodNumber;
|
|
123
|
+
includeDeclaration: z.ZodOptional<z.ZodBoolean>;
|
|
124
|
+
}> | ToolDefinition<{
|
|
125
|
+
file: z.ZodString;
|
|
126
|
+
}> | ToolDefinition<{
|
|
127
|
+
query: z.ZodString;
|
|
128
|
+
file: z.ZodString;
|
|
129
|
+
}> | ToolDefinition<{
|
|
130
|
+
file: z.ZodString;
|
|
131
|
+
severity: z.ZodOptional<z.ZodEnum<["error", "warning", "info", "hint"]>>;
|
|
132
|
+
}> | ToolDefinition<Record<string, never>> | ToolDefinition<{
|
|
133
|
+
file: z.ZodString;
|
|
134
|
+
line: z.ZodNumber;
|
|
135
|
+
character: z.ZodNumber;
|
|
136
|
+
newName: z.ZodString;
|
|
137
|
+
}> | ToolDefinition<{
|
|
138
|
+
file: z.ZodString;
|
|
139
|
+
startLine: z.ZodNumber;
|
|
140
|
+
startCharacter: z.ZodNumber;
|
|
141
|
+
endLine: z.ZodNumber;
|
|
142
|
+
endCharacter: z.ZodNumber;
|
|
143
|
+
}> | ToolDefinition<{
|
|
144
|
+
file: z.ZodString;
|
|
145
|
+
startLine: z.ZodNumber;
|
|
146
|
+
startCharacter: z.ZodNumber;
|
|
147
|
+
endLine: z.ZodNumber;
|
|
148
|
+
endCharacter: z.ZodNumber;
|
|
149
|
+
actionIndex: z.ZodNumber;
|
|
150
|
+
}>)[];
|
|
151
|
+
//# sourceMappingURL=lsp-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-tools.d.ts","sourceRoot":"","sources":["../../src/tools/lsp-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP (Language Server Protocol) Tools
|
|
3
|
+
*
|
|
4
|
+
* Provides IDE-like capabilities to agents via real LSP server integration:
|
|
5
|
+
* - Hover information
|
|
6
|
+
* - Go to definition
|
|
7
|
+
* - Find references
|
|
8
|
+
* - Document/workspace symbols
|
|
9
|
+
* - Diagnostics
|
|
10
|
+
* - Rename
|
|
11
|
+
* - Code actions
|
|
12
|
+
*/
|
|
13
|
+
import { z } from 'zod';
|
|
14
|
+
import { lspClientManager, getAllServers, getServerForFile, formatHover, formatLocations, formatDocumentSymbols, formatWorkspaceSymbols, formatDiagnostics, formatCodeActions, formatWorkspaceEdit, countEdits } from './lsp/index.js';
|
|
15
|
+
/**
|
|
16
|
+
* Helper to handle LSP errors gracefully
|
|
17
|
+
*/
|
|
18
|
+
async function withLspClient(filePath, operation, fn) {
|
|
19
|
+
try {
|
|
20
|
+
const client = await lspClientManager.getClientForFile(filePath);
|
|
21
|
+
if (!client) {
|
|
22
|
+
const serverConfig = getServerForFile(filePath);
|
|
23
|
+
if (!serverConfig) {
|
|
24
|
+
return {
|
|
25
|
+
content: [{
|
|
26
|
+
type: 'text',
|
|
27
|
+
text: `No language server available for file type: ${filePath}\n\nUse lsp_servers tool to see available language servers.`
|
|
28
|
+
}]
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
content: [{
|
|
33
|
+
type: 'text',
|
|
34
|
+
text: `Language server '${serverConfig.name}' not installed.\n\nInstall with: ${serverConfig.installHint}`
|
|
35
|
+
}]
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const result = await fn(client);
|
|
39
|
+
return {
|
|
40
|
+
content: [{
|
|
41
|
+
type: 'text',
|
|
42
|
+
text: String(result)
|
|
43
|
+
}]
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
return {
|
|
48
|
+
content: [{
|
|
49
|
+
type: 'text',
|
|
50
|
+
text: `Error in ${operation}: ${error instanceof Error ? error.message : String(error)}`
|
|
51
|
+
}]
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* LSP Hover Tool - Get type information and documentation at a position
|
|
57
|
+
*/
|
|
58
|
+
export const lspHoverTool = {
|
|
59
|
+
name: 'lsp_hover',
|
|
60
|
+
description: 'Get type information, documentation, and signature at a specific position in a file. Useful for understanding what a symbol represents.',
|
|
61
|
+
schema: {
|
|
62
|
+
file: z.string().describe('Path to the source file'),
|
|
63
|
+
line: z.number().int().min(1).describe('Line number (1-indexed)'),
|
|
64
|
+
character: z.number().int().min(0).describe('Character position in the line (0-indexed)')
|
|
65
|
+
},
|
|
66
|
+
handler: async (args) => {
|
|
67
|
+
const { file, line, character } = args;
|
|
68
|
+
return withLspClient(file, 'hover', async (client) => {
|
|
69
|
+
const hover = await client.hover(file, line - 1, character);
|
|
70
|
+
return formatHover(hover);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* LSP Go to Definition Tool - Jump to where a symbol is defined
|
|
76
|
+
*/
|
|
77
|
+
export const lspGotoDefinitionTool = {
|
|
78
|
+
name: 'lsp_goto_definition',
|
|
79
|
+
description: 'Find the definition location of a symbol (function, variable, class, etc.). Returns the file path and position where the symbol is defined.',
|
|
80
|
+
schema: {
|
|
81
|
+
file: z.string().describe('Path to the source file'),
|
|
82
|
+
line: z.number().int().min(1).describe('Line number (1-indexed)'),
|
|
83
|
+
character: z.number().int().min(0).describe('Character position in the line (0-indexed)')
|
|
84
|
+
},
|
|
85
|
+
handler: async (args) => {
|
|
86
|
+
const { file, line, character } = args;
|
|
87
|
+
return withLspClient(file, 'goto definition', async (client) => {
|
|
88
|
+
const locations = await client.definition(file, line - 1, character);
|
|
89
|
+
return formatLocations(locations);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* LSP Find References Tool - Find all usages of a symbol
|
|
95
|
+
*/
|
|
96
|
+
export const lspFindReferencesTool = {
|
|
97
|
+
name: 'lsp_find_references',
|
|
98
|
+
description: 'Find all references to a symbol across the codebase. Useful for understanding usage patterns and impact of changes.',
|
|
99
|
+
schema: {
|
|
100
|
+
file: z.string().describe('Path to the source file'),
|
|
101
|
+
line: z.number().int().min(1).describe('Line number (1-indexed)'),
|
|
102
|
+
character: z.number().int().min(0).describe('Character position in the line (0-indexed)'),
|
|
103
|
+
includeDeclaration: z.boolean().optional().describe('Include the declaration in results (default: true)')
|
|
104
|
+
},
|
|
105
|
+
handler: async (args) => {
|
|
106
|
+
const { file, line, character, includeDeclaration = true } = args;
|
|
107
|
+
return withLspClient(file, 'find references', async (client) => {
|
|
108
|
+
const locations = await client.references(file, line - 1, character, includeDeclaration);
|
|
109
|
+
if (!locations || locations.length === 0) {
|
|
110
|
+
return 'No references found';
|
|
111
|
+
}
|
|
112
|
+
return `Found ${locations.length} reference(s):\n\n${formatLocations(locations)}`;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* LSP Document Symbols Tool - Get outline of all symbols in a file
|
|
118
|
+
*/
|
|
119
|
+
export const lspDocumentSymbolsTool = {
|
|
120
|
+
name: 'lsp_document_symbols',
|
|
121
|
+
description: 'Get a hierarchical outline of all symbols in a file (functions, classes, variables, etc.). Useful for understanding file structure.',
|
|
122
|
+
schema: {
|
|
123
|
+
file: z.string().describe('Path to the source file')
|
|
124
|
+
},
|
|
125
|
+
handler: async (args) => {
|
|
126
|
+
const { file } = args;
|
|
127
|
+
return withLspClient(file, 'document symbols', async (client) => {
|
|
128
|
+
const symbols = await client.documentSymbols(file);
|
|
129
|
+
return formatDocumentSymbols(symbols);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* LSP Workspace Symbols Tool - Search symbols across workspace
|
|
135
|
+
*/
|
|
136
|
+
export const lspWorkspaceSymbolsTool = {
|
|
137
|
+
name: 'lsp_workspace_symbols',
|
|
138
|
+
description: 'Search for symbols (functions, classes, etc.) across the entire workspace by name. Useful for finding definitions without knowing the exact file.',
|
|
139
|
+
schema: {
|
|
140
|
+
query: z.string().describe('Symbol name or pattern to search'),
|
|
141
|
+
file: z.string().describe('Any file in the workspace (used to determine which language server to use)')
|
|
142
|
+
},
|
|
143
|
+
handler: async (args) => {
|
|
144
|
+
const { query, file } = args;
|
|
145
|
+
return withLspClient(file, 'workspace symbols', async (client) => {
|
|
146
|
+
const symbols = await client.workspaceSymbols(query);
|
|
147
|
+
if (!symbols || symbols.length === 0) {
|
|
148
|
+
return `No symbols found matching: ${query}`;
|
|
149
|
+
}
|
|
150
|
+
return `Found ${symbols.length} symbol(s) matching "${query}":\n\n${formatWorkspaceSymbols(symbols)}`;
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* LSP Diagnostics Tool - Get errors, warnings, and hints
|
|
156
|
+
*/
|
|
157
|
+
export const lspDiagnosticsTool = {
|
|
158
|
+
name: 'lsp_diagnostics',
|
|
159
|
+
description: 'Get language server diagnostics (errors, warnings, hints) for a file. Useful for finding issues without running the compiler.',
|
|
160
|
+
schema: {
|
|
161
|
+
file: z.string().describe('Path to the source file'),
|
|
162
|
+
severity: z.enum(['error', 'warning', 'info', 'hint']).optional().describe('Filter by severity level')
|
|
163
|
+
},
|
|
164
|
+
handler: async (args) => {
|
|
165
|
+
const { file, severity } = args;
|
|
166
|
+
return withLspClient(file, 'diagnostics', async (client) => {
|
|
167
|
+
// Open the document to trigger diagnostics
|
|
168
|
+
await client.openDocument(file);
|
|
169
|
+
// Wait a bit for diagnostics to be published
|
|
170
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
171
|
+
let diagnostics = client.getDiagnostics(file);
|
|
172
|
+
if (severity) {
|
|
173
|
+
const severityMap = {
|
|
174
|
+
'error': 1,
|
|
175
|
+
'warning': 2,
|
|
176
|
+
'info': 3,
|
|
177
|
+
'hint': 4
|
|
178
|
+
};
|
|
179
|
+
const severityNum = severityMap[severity];
|
|
180
|
+
diagnostics = diagnostics.filter(d => d.severity === severityNum);
|
|
181
|
+
}
|
|
182
|
+
if (diagnostics.length === 0) {
|
|
183
|
+
return severity
|
|
184
|
+
? `No ${severity} diagnostics in ${file}`
|
|
185
|
+
: `No diagnostics in ${file}`;
|
|
186
|
+
}
|
|
187
|
+
return `Found ${diagnostics.length} diagnostic(s):\n\n${formatDiagnostics(diagnostics, file)}`;
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* LSP Servers Tool - List available language servers
|
|
193
|
+
*/
|
|
194
|
+
export const lspServersTool = {
|
|
195
|
+
name: 'lsp_servers',
|
|
196
|
+
description: 'List all known language servers and their installation status. Shows which servers are available and how to install missing ones.',
|
|
197
|
+
schema: {},
|
|
198
|
+
handler: async () => {
|
|
199
|
+
const servers = getAllServers();
|
|
200
|
+
const installed = servers.filter(s => s.installed);
|
|
201
|
+
const notInstalled = servers.filter(s => !s.installed);
|
|
202
|
+
let text = '## Language Server Status\n\n';
|
|
203
|
+
if (installed.length > 0) {
|
|
204
|
+
text += '### Installed:\n';
|
|
205
|
+
for (const server of installed) {
|
|
206
|
+
text += `- ${server.name} (${server.command})\n`;
|
|
207
|
+
text += ` Extensions: ${server.extensions.join(', ')}\n`;
|
|
208
|
+
}
|
|
209
|
+
text += '\n';
|
|
210
|
+
}
|
|
211
|
+
if (notInstalled.length > 0) {
|
|
212
|
+
text += '### Not Installed:\n';
|
|
213
|
+
for (const server of notInstalled) {
|
|
214
|
+
text += `- ${server.name} (${server.command})\n`;
|
|
215
|
+
text += ` Extensions: ${server.extensions.join(', ')}\n`;
|
|
216
|
+
text += ` Install: ${server.installHint}\n`;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
content: [{
|
|
221
|
+
type: 'text',
|
|
222
|
+
text
|
|
223
|
+
}]
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* LSP Prepare Rename Tool - Check if rename is valid
|
|
229
|
+
*/
|
|
230
|
+
export const lspPrepareRenameTool = {
|
|
231
|
+
name: 'lsp_prepare_rename',
|
|
232
|
+
description: 'Check if a symbol at the given position can be renamed. Returns the range of the symbol if rename is possible.',
|
|
233
|
+
schema: {
|
|
234
|
+
file: z.string().describe('Path to the source file'),
|
|
235
|
+
line: z.number().int().min(1).describe('Line number (1-indexed)'),
|
|
236
|
+
character: z.number().int().min(0).describe('Character position in the line (0-indexed)')
|
|
237
|
+
},
|
|
238
|
+
handler: async (args) => {
|
|
239
|
+
const { file, line, character } = args;
|
|
240
|
+
return withLspClient(file, 'prepare rename', async (client) => {
|
|
241
|
+
const range = await client.prepareRename(file, line - 1, character);
|
|
242
|
+
if (!range) {
|
|
243
|
+
return 'Cannot rename symbol at this position';
|
|
244
|
+
}
|
|
245
|
+
return `Rename possible. Symbol range: line ${range.start.line + 1}, col ${range.start.character + 1} to line ${range.end.line + 1}, col ${range.end.character + 1}`;
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
/**
|
|
250
|
+
* LSP Rename Tool - Rename a symbol across all files
|
|
251
|
+
*/
|
|
252
|
+
export const lspRenameTool = {
|
|
253
|
+
name: 'lsp_rename',
|
|
254
|
+
description: 'Rename a symbol (variable, function, class, etc.) across all files in the project. Returns the list of edits that would be made. Does NOT apply the changes automatically.',
|
|
255
|
+
schema: {
|
|
256
|
+
file: z.string().describe('Path to the source file'),
|
|
257
|
+
line: z.number().int().min(1).describe('Line number (1-indexed)'),
|
|
258
|
+
character: z.number().int().min(0).describe('Character position in the line (0-indexed)'),
|
|
259
|
+
newName: z.string().min(1).describe('New name for the symbol')
|
|
260
|
+
},
|
|
261
|
+
handler: async (args) => {
|
|
262
|
+
const { file, line, character, newName } = args;
|
|
263
|
+
return withLspClient(file, 'rename', async (client) => {
|
|
264
|
+
const edit = await client.rename(file, line - 1, character, newName);
|
|
265
|
+
if (!edit) {
|
|
266
|
+
return 'Rename failed or no edits returned';
|
|
267
|
+
}
|
|
268
|
+
const { files, edits } = countEdits(edit);
|
|
269
|
+
return `Rename to "${newName}" would affect ${files} file(s) with ${edits} edit(s):\n\n${formatWorkspaceEdit(edit)}\n\nNote: Use the Edit tool to apply these changes.`;
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
/**
|
|
274
|
+
* LSP Code Actions Tool - Get available refactoring and quick-fix actions
|
|
275
|
+
*/
|
|
276
|
+
export const lspCodeActionsTool = {
|
|
277
|
+
name: 'lsp_code_actions',
|
|
278
|
+
description: 'Get available code actions (refactorings, quick fixes) for a selection. Returns a list of possible actions that can be applied.',
|
|
279
|
+
schema: {
|
|
280
|
+
file: z.string().describe('Path to the source file'),
|
|
281
|
+
startLine: z.number().int().min(1).describe('Start line of selection (1-indexed)'),
|
|
282
|
+
startCharacter: z.number().int().min(0).describe('Start character of selection (0-indexed)'),
|
|
283
|
+
endLine: z.number().int().min(1).describe('End line of selection (1-indexed)'),
|
|
284
|
+
endCharacter: z.number().int().min(0).describe('End character of selection (0-indexed)')
|
|
285
|
+
},
|
|
286
|
+
handler: async (args) => {
|
|
287
|
+
const { file, startLine, startCharacter, endLine, endCharacter } = args;
|
|
288
|
+
return withLspClient(file, 'code actions', async (client) => {
|
|
289
|
+
const range = {
|
|
290
|
+
start: { line: startLine - 1, character: startCharacter },
|
|
291
|
+
end: { line: endLine - 1, character: endCharacter }
|
|
292
|
+
};
|
|
293
|
+
const actions = await client.codeActions(file, range);
|
|
294
|
+
return formatCodeActions(actions);
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
/**
|
|
299
|
+
* LSP Code Action Resolve Tool - Get details of a code action
|
|
300
|
+
*/
|
|
301
|
+
export const lspCodeActionResolveTool = {
|
|
302
|
+
name: 'lsp_code_action_resolve',
|
|
303
|
+
description: 'Get the full edit details for a specific code action. Use after lsp_code_actions to see what changes an action would make.',
|
|
304
|
+
schema: {
|
|
305
|
+
file: z.string().describe('Path to the source file'),
|
|
306
|
+
startLine: z.number().int().min(1).describe('Start line of selection (1-indexed)'),
|
|
307
|
+
startCharacter: z.number().int().min(0).describe('Start character of selection (0-indexed)'),
|
|
308
|
+
endLine: z.number().int().min(1).describe('End line of selection (1-indexed)'),
|
|
309
|
+
endCharacter: z.number().int().min(0).describe('End character of selection (0-indexed)'),
|
|
310
|
+
actionIndex: z.number().int().min(1).describe('Index of the action (1-indexed, from lsp_code_actions output)')
|
|
311
|
+
},
|
|
312
|
+
handler: async (args) => {
|
|
313
|
+
const { file, startLine, startCharacter, endLine, endCharacter, actionIndex } = args;
|
|
314
|
+
return withLspClient(file, 'code action resolve', async (client) => {
|
|
315
|
+
const range = {
|
|
316
|
+
start: { line: startLine - 1, character: startCharacter },
|
|
317
|
+
end: { line: endLine - 1, character: endCharacter }
|
|
318
|
+
};
|
|
319
|
+
const actions = await client.codeActions(file, range);
|
|
320
|
+
if (!actions || actions.length === 0) {
|
|
321
|
+
return 'No code actions available';
|
|
322
|
+
}
|
|
323
|
+
if (actionIndex < 1 || actionIndex > actions.length) {
|
|
324
|
+
return `Invalid action index. Available actions: 1-${actions.length}`;
|
|
325
|
+
}
|
|
326
|
+
const action = actions[actionIndex - 1];
|
|
327
|
+
let result = `Action: ${action.title}\n`;
|
|
328
|
+
if (action.kind)
|
|
329
|
+
result += `Kind: ${action.kind}\n`;
|
|
330
|
+
if (action.isPreferred)
|
|
331
|
+
result += `(Preferred)\n`;
|
|
332
|
+
if (action.edit) {
|
|
333
|
+
result += `\nEdits:\n${formatWorkspaceEdit(action.edit)}`;
|
|
334
|
+
}
|
|
335
|
+
if (action.command) {
|
|
336
|
+
result += `\nCommand: ${action.command.title} (${action.command.command})`;
|
|
337
|
+
}
|
|
338
|
+
return result;
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
/**
|
|
343
|
+
* Get all LSP tool definitions
|
|
344
|
+
*/
|
|
345
|
+
export const lspTools = [
|
|
346
|
+
lspHoverTool,
|
|
347
|
+
lspGotoDefinitionTool,
|
|
348
|
+
lspFindReferencesTool,
|
|
349
|
+
lspDocumentSymbolsTool,
|
|
350
|
+
lspWorkspaceSymbolsTool,
|
|
351
|
+
lspDiagnosticsTool,
|
|
352
|
+
lspServersTool,
|
|
353
|
+
lspPrepareRenameTool,
|
|
354
|
+
lspRenameTool,
|
|
355
|
+
lspCodeActionsTool,
|
|
356
|
+
lspCodeActionResolveTool
|
|
357
|
+
];
|
|
358
|
+
//# sourceMappingURL=lsp-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-tools.js","sourceRoot":"","sources":["../../src/tools/lsp-tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "oh-my-claude-sisyphus",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Multi-agent orchestration system for Claude Agent SDK - Port of oh-my-opencode",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"bin": {
|
|
15
|
+
"oh-my-claude-sisyphus": "./dist/cli/index.js"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"scripts",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "tsc",
|
|
25
|
+
"dev": "tsc --watch",
|
|
26
|
+
"start": "node dist/index.js",
|
|
27
|
+
"lint": "eslint src --ext .ts",
|
|
28
|
+
"format": "prettier --write src/**/*.ts",
|
|
29
|
+
"prepublishOnly": "npm run build"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@anthropic-ai/claude-agent-sdk": "^0.1.0",
|
|
33
|
+
"@ast-grep/napi": "^0.31.0",
|
|
34
|
+
"vscode-languageserver-protocol": "^3.17.5",
|
|
35
|
+
"zod": "^3.23.8",
|
|
36
|
+
"jsonc-parser": "^3.3.1",
|
|
37
|
+
"chalk": "^5.3.0",
|
|
38
|
+
"commander": "^12.1.0"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@types/node": "^22.10.2",
|
|
42
|
+
"typescript": "^5.7.2",
|
|
43
|
+
"eslint": "^9.17.0",
|
|
44
|
+
"@typescript-eslint/eslint-plugin": "^8.18.2",
|
|
45
|
+
"@typescript-eslint/parser": "^8.18.2",
|
|
46
|
+
"prettier": "^3.4.2"
|
|
47
|
+
},
|
|
48
|
+
"engines": {
|
|
49
|
+
"node": ">=20.0.0"
|
|
50
|
+
},
|
|
51
|
+
"repository": {
|
|
52
|
+
"type": "git",
|
|
53
|
+
"url": "git+https://github.com/Yeachan-Heo/oh-my-claude-sisyphus.git"
|
|
54
|
+
},
|
|
55
|
+
"homepage": "https://github.com/Yeachan-Heo/oh-my-claude-sisyphus#readme",
|
|
56
|
+
"bugs": {
|
|
57
|
+
"url": "https://github.com/Yeachan-Heo/oh-my-claude-sisyphus/issues"
|
|
58
|
+
},
|
|
59
|
+
"author": "Yeachan Heo",
|
|
60
|
+
"license": "MIT",
|
|
61
|
+
"keywords": [
|
|
62
|
+
"claude",
|
|
63
|
+
"claude-code",
|
|
64
|
+
"ai",
|
|
65
|
+
"agent",
|
|
66
|
+
"multi-agent",
|
|
67
|
+
"orchestration",
|
|
68
|
+
"sisyphus",
|
|
69
|
+
"anthropic",
|
|
70
|
+
"llm"
|
|
71
|
+
],
|
|
72
|
+
"publishConfig": {
|
|
73
|
+
"access": "public"
|
|
74
|
+
}
|
|
75
|
+
}
|