oh-my-claude-sisyphus 3.7.8 → 3.7.9

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.
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
3
+ "name": "omc",
4
+ "description": "Claude Code native multi-agent orchestration - intelligent model routing, 28 agents, 31 skills",
5
+ "owner": {
6
+ "name": "Yeachan Heo",
7
+ "email": "hurrc04@gmail.com"
8
+ },
9
+ "plugins": [
10
+ {
11
+ "name": "oh-my-claudecode",
12
+ "description": "Claude Code native multi-agent orchestration with intelligent model routing, 28 agent variants, and 30 powerful skills. Zero learning curve. Maximum power.",
13
+ "version": "3.7.9",
14
+ "author": {
15
+ "name": "Yeachan Heo",
16
+ "email": "hurrc04@gmail.com"
17
+ },
18
+ "source": "./",
19
+ "category": "productivity",
20
+ "homepage": "https://github.com/Yeachan-Heo/oh-my-claudecode",
21
+ "tags": ["multi-agent", "orchestration", "delegation", "todo-management", "ultrawork"]
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "oh-my-claudecode",
3
+ "version": "3.7.9",
4
+ "description": "Multi-agent orchestration system for Claude Code",
5
+ "skills": "./skills/",
6
+ "mcpServers": "./.mcp.json"
7
+ }
package/.mcp.json ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "mcpServers": {
3
+ "omc-tools": {
4
+ "command": "node",
5
+ "args": ["${CLAUDE_PLUGIN_ROOT}/dist/mcp/standalone-server.js"]
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Standalone MCP Server for OMC Tools
4
+ *
5
+ * This server exposes LSP, AST, and Python REPL tools via stdio transport
6
+ * for discovery by Claude Code's MCP management system.
7
+ *
8
+ * Usage: node dist/mcp/standalone-server.js
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=standalone-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone-server.d.ts","sourceRoot":"","sources":["../../src/mcp/standalone-server.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG"}
@@ -0,0 +1,139 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Standalone MCP Server for OMC Tools
4
+ *
5
+ * This server exposes LSP, AST, and Python REPL tools via stdio transport
6
+ * for discovery by Claude Code's MCP management system.
7
+ *
8
+ * Usage: node dist/mcp/standalone-server.js
9
+ */
10
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
11
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
12
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
13
+ import { allCustomTools } from '../tools/index.js';
14
+ import { z } from 'zod';
15
+ // Convert Zod schema to JSON Schema for MCP
16
+ function zodToJsonSchema(schema) {
17
+ // Handle both ZodObject and raw shape
18
+ const rawShape = schema instanceof z.ZodObject ? schema.shape : schema;
19
+ const properties = {};
20
+ const required = [];
21
+ for (const [key, value] of Object.entries(rawShape)) {
22
+ const zodType = value;
23
+ properties[key] = zodTypeToJsonSchema(zodType);
24
+ // Check if required (not optional) - with safety check
25
+ const isOptional = zodType && typeof zodType.isOptional === 'function' && zodType.isOptional();
26
+ if (!isOptional) {
27
+ required.push(key);
28
+ }
29
+ }
30
+ return {
31
+ type: 'object',
32
+ properties,
33
+ required
34
+ };
35
+ }
36
+ function zodTypeToJsonSchema(zodType) {
37
+ const result = {};
38
+ // Safety check for undefined zodType
39
+ if (!zodType || !zodType._def) {
40
+ return { type: 'string' };
41
+ }
42
+ // Handle optional wrapper
43
+ if (zodType instanceof z.ZodOptional) {
44
+ return zodTypeToJsonSchema(zodType._def.innerType);
45
+ }
46
+ // Handle default wrapper
47
+ if (zodType instanceof z.ZodDefault) {
48
+ const inner = zodTypeToJsonSchema(zodType._def.innerType);
49
+ inner.default = zodType._def.defaultValue();
50
+ return inner;
51
+ }
52
+ // Get description if available
53
+ const description = zodType._def?.description;
54
+ if (description) {
55
+ result.description = description;
56
+ }
57
+ // Handle basic types
58
+ if (zodType instanceof z.ZodString) {
59
+ result.type = 'string';
60
+ }
61
+ else if (zodType instanceof z.ZodNumber) {
62
+ result.type = zodType._def?.checks?.some((c) => c.kind === 'int')
63
+ ? 'integer'
64
+ : 'number';
65
+ }
66
+ else if (zodType instanceof z.ZodBoolean) {
67
+ result.type = 'boolean';
68
+ }
69
+ else if (zodType instanceof z.ZodArray) {
70
+ result.type = 'array';
71
+ result.items = zodType._def?.type ? zodTypeToJsonSchema(zodType._def.type) : { type: 'string' };
72
+ }
73
+ else if (zodType instanceof z.ZodEnum) {
74
+ result.type = 'string';
75
+ result.enum = zodType._def?.values;
76
+ }
77
+ else if (zodType instanceof z.ZodObject) {
78
+ return zodToJsonSchema(zodType.shape);
79
+ }
80
+ else {
81
+ result.type = 'string';
82
+ }
83
+ return result;
84
+ }
85
+ // Create the MCP server
86
+ const server = new Server({
87
+ name: 'omc-tools',
88
+ version: '1.0.0',
89
+ }, {
90
+ capabilities: {
91
+ tools: {},
92
+ },
93
+ });
94
+ // List available tools
95
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
96
+ return {
97
+ tools: allCustomTools.map(tool => ({
98
+ name: tool.name,
99
+ description: tool.description,
100
+ inputSchema: zodToJsonSchema(tool.schema),
101
+ })),
102
+ };
103
+ });
104
+ // Handle tool calls
105
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
106
+ const { name, arguments: args } = request.params;
107
+ const tool = allCustomTools.find(t => t.name === name);
108
+ if (!tool) {
109
+ return {
110
+ content: [{ type: 'text', text: `Unknown tool: ${name}` }],
111
+ isError: true,
112
+ };
113
+ }
114
+ try {
115
+ const result = await tool.handler(args);
116
+ return {
117
+ content: result.content,
118
+ isError: false,
119
+ };
120
+ }
121
+ catch (error) {
122
+ const errorMessage = error instanceof Error ? error.message : String(error);
123
+ return {
124
+ content: [{ type: 'text', text: `Error: ${errorMessage}` }],
125
+ isError: true,
126
+ };
127
+ }
128
+ });
129
+ // Start the server
130
+ async function main() {
131
+ const transport = new StdioServerTransport();
132
+ await server.connect(transport);
133
+ console.error('OMC Tools MCP Server running on stdio');
134
+ }
135
+ main().catch((error) => {
136
+ console.error('Failed to start server:', error);
137
+ process.exit(1);
138
+ });
139
+ //# sourceMappingURL=standalone-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone-server.js","sourceRoot":"","sources":["../../src/mcp/standalone-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-claude-sisyphus",
3
- "version": "3.7.8",
3
+ "version": "3.7.9",
4
4
  "description": "Multi-agent orchestration system for Claude Code - Inspired by oh-my-opencode",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,7 +27,8 @@
27
27
  "skills",
28
28
  "templates",
29
29
  "docs",
30
- "plugin.json",
30
+ ".claude-plugin",
31
+ ".mcp.json",
31
32
  "README.md",
32
33
  "LICENSE"
33
34
  ],
@@ -51,6 +52,7 @@
51
52
  "dependencies": {
52
53
  "@anthropic-ai/claude-agent-sdk": "^0.1.0",
53
54
  "@ast-grep/napi": "^0.31.0",
55
+ "@modelcontextprotocol/sdk": "^1.25.3",
54
56
  "@tokscale/core": "^1.0.25",
55
57
  "@types/better-sqlite3": "^7.6.13",
56
58
  "ajv": "^8.17.1",