@liangjie559567/ultrapower 7.0.1 → 7.0.2

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.
Files changed (40) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/dist/cli/index.js +3 -1
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib/unified-logger.d.ts +15 -0
  10. package/dist/lib/unified-logger.d.ts.map +1 -0
  11. package/dist/lib/unified-logger.js +23 -0
  12. package/dist/lib/unified-logger.js.map +1 -0
  13. package/dist/mcp/adapters/memory-adapter.d.ts +2 -2
  14. package/dist/mcp/adapters/state-adapter.d.ts +5 -5
  15. package/dist/mcp/adapters/trace-adapter.d.ts +3 -3
  16. package/dist/mcp/codex-server.d.ts.map +1 -1
  17. package/dist/mcp/codex-server.js +22 -27
  18. package/dist/mcp/codex-server.js.map +1 -1
  19. package/dist/mcp/config/schema.d.ts +6 -6
  20. package/dist/mcp/config-schema.d.ts +6 -6
  21. package/dist/mcp/gemini-server.d.ts.map +1 -1
  22. package/dist/mcp/gemini-server.js +21 -26
  23. package/dist/mcp/gemini-server.js.map +1 -1
  24. package/dist/mcp/logger.d.ts.map +1 -1
  25. package/dist/mcp/logger.js +3 -1
  26. package/dist/mcp/logger.js.map +1 -1
  27. package/dist/mcp/tool-types.d.ts +50 -0
  28. package/dist/mcp/tool-types.d.ts.map +1 -0
  29. package/dist/mcp/tool-types.js +6 -0
  30. package/dist/mcp/tool-types.js.map +1 -0
  31. package/dist/tools/python-repl/index.d.ts +2 -2
  32. package/dist/tools/python-repl/tool.d.ts +2 -2
  33. package/docs/CLAUDE.md +1 -1
  34. package/docs/INSTALL.md +2 -2
  35. package/docs/REFERENCE.md +1 -1
  36. package/docs/standards/README.md +1 -1
  37. package/package.json +1 -1
  38. package/scripts/check-version-sync.mjs +33 -0
  39. package/scripts/migrate-console-to-logger.ts +91 -0
  40. package/skills/release/SKILL.md +126 -0
@@ -8,11 +8,11 @@
8
8
  {
9
9
  "name": "ultrapower",
10
10
  "description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution",
11
- "version": "7.0.1",
11
+ "version": "7.0.2",
12
12
  "source": {
13
13
  "source": "npm",
14
14
  "package": "@liangjie559567/ultrapower",
15
- "version": "7.0.1"
15
+ "version": "7.0.2"
16
16
  },
17
17
  "author": {
18
18
  "name": "liangjie559567"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ultrapower",
3
3
  "description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution",
4
- "version": "7.0.1",
4
+ "version": "7.0.2",
5
5
  "author": {
6
6
  "name": "liangjie559567"
7
7
  },
package/dist/cli/index.js CHANGED
@@ -4,10 +4,12 @@
4
4
  *
5
5
  * Lazy-loaded command-line interface for the Sisyphus multi-agent system.
6
6
  */
7
+ import { createLogger } from '../lib/unified-logger.js';
8
+ const logger = createLogger('cli:index');
7
9
  // Fast path for --version (skip heavy imports)
8
10
  if (process.argv.includes('--version') || process.argv.includes('-V')) {
9
11
  const { getRuntimePackageVersion } = await import('../lib/version.js');
10
- console.log(getRuntimePackageVersion());
12
+ logger.info(getRuntimePackageVersion());
11
13
  process.exit(0);
12
14
  }
13
15
  import { Command } from 'commander';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -99,7 +99,7 @@ export interface SisyphusSession {
99
99
  * prompt: session.processPrompt("ultrawork refactor the authentication module"),
100
100
  * ...session.queryOptions
101
101
  * })) {
102
- * console.log(message);
102
+ * logger.info(message);
103
103
  * }
104
104
  * ```
105
105
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,6 +20,8 @@ import { codexMcpServer } from './mcp/codex-server.js';
20
20
  import { geminiMcpServer } from './mcp/gemini-server.js';
21
21
  import { createMagicKeywordProcessor, detectMagicKeywords } from './features/magic-keywords.js';
22
22
  import { continuationSystemPromptAddition } from './features/continuation-enforcement.js';
23
+ import { createLogger } from './lib/unified-logger.js';
24
+ const logger = createLogger('src:index');
23
25
  import { createBackgroundTaskManager, shouldRunInBackground as shouldRunInBackgroundFn } from './features/background-tasks.js';
24
26
  export { loadConfig, getAgentDefinitions, omcSystemPrompt };
25
27
  export { getDefaultMcpServers, toSdkMcpFormat } from './mcp/servers.js';
@@ -67,7 +69,7 @@ export { install, isInstalled, getInstallInfo, isClaudeInstalled, CLAUDE_CONFIG_
67
69
  * prompt: session.processPrompt("ultrawork refactor the authentication module"),
68
70
  * ...session.queryOptions
69
71
  * })) {
70
- * console.log(message);
72
+ * logger.info(message);
71
73
  * }
72
74
  * ```
73
75
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare function createLogger(context: string): {
2
+ debug: (...args: unknown[]) => false | void;
3
+ info: (...args: unknown[]) => false | void;
4
+ warn: (...args: unknown[]) => false | void;
5
+ error: (...args: unknown[]) => false | void;
6
+ security: (...args: unknown[]) => false | void;
7
+ };
8
+ export declare const logger: {
9
+ debug: (...args: unknown[]) => false | void;
10
+ info: (...args: unknown[]) => false | void;
11
+ warn: (...args: unknown[]) => false | void;
12
+ error: (...args: unknown[]) => false | void;
13
+ security: (...args: unknown[]) => false | void;
14
+ };
15
+ //# sourceMappingURL=unified-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-logger.d.ts","sourceRoot":"","sources":["../../src/lib/unified-logger.ts"],"names":[],"mappings":"AAkBA,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM;qBAEvB,OAAO,EAAE;oBACV,OAAO,EAAE;oBACT,OAAO,EAAE;qBACR,OAAO,EAAE;wBACN,OAAO,EAAE;EAEhC;AAED,eAAO,MAAM,MAAM;qBARE,OAAO,EAAE;oBACV,OAAO,EAAE;oBACT,OAAO,EAAE;qBACR,OAAO,EAAE;wBACN,OAAO,EAAE;CAIe,CAAC"}
@@ -0,0 +1,23 @@
1
+ const levels = { debug: 0, info: 1, warn: 2, error: 3 };
2
+ function getCurrentLevel() {
3
+ return process.env.OMC_LOG_LEVEL?.toLowerCase() || 'info';
4
+ }
5
+ function shouldLog(level) {
6
+ return levels[level] >= levels[getCurrentLevel()];
7
+ }
8
+ function format(level, context, ...args) {
9
+ const timestamp = new Date().toISOString();
10
+ const prefix = `[${timestamp}] [${level.toUpperCase()}] [${context}]`;
11
+ return `${prefix} ${args.map(a => typeof a === 'object' ? JSON.stringify(a) : String(a)).join(' ')}`;
12
+ }
13
+ export function createLogger(context) {
14
+ return {
15
+ debug: (...args) => shouldLog('debug') && console.debug(format('debug', context, ...args)),
16
+ info: (...args) => shouldLog('info') && console.log(format('info', context, ...args)),
17
+ warn: (...args) => shouldLog('warn') && console.warn(format('warn', context, ...args)),
18
+ error: (...args) => shouldLog('error') && console.error(format('error', context, ...args)),
19
+ security: (...args) => shouldLog('warn') && console.warn(format('warn', context, '[SECURITY]', ...args)),
20
+ };
21
+ }
22
+ export const logger = createLogger('ultrapower');
23
+ //# sourceMappingURL=unified-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-logger.js","sourceRoot":"","sources":["../../src/lib/unified-logger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAA6B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAElF,SAAS,eAAe;IACtB,OAAQ,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,EAAe,IAAI,MAAM,CAAC;AAC1E,CAAC;AAED,SAAS,SAAS,CAAC,KAAe;IAChC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,MAAM,CAAC,KAAe,EAAE,OAAe,EAAE,GAAG,IAAe;IAClE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,MAAM,OAAO,GAAG,CAAC;IACtE,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACrG,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAChG,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACjG,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACrG,QAAQ,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;KACpH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC"}
@@ -25,7 +25,7 @@ export declare const memoryTools: ({
25
25
  };
26
26
  handler: (args: {
27
27
  workingDirectory?: string | undefined;
28
- section?: "all" | "build" | "techStack" | "conventions" | "structure" | "notes" | "directives" | undefined;
28
+ section?: "build" | "all" | "techStack" | "conventions" | "structure" | "notes" | "directives" | undefined;
29
29
  }) => Promise<{
30
30
  content: Array<{
31
31
  type: "text";
@@ -142,8 +142,8 @@ export declare const memoryTools: ({
142
142
  };
143
143
  handler: (args: {
144
144
  directive: string;
145
- workingDirectory?: string | undefined;
146
145
  context?: string | undefined;
146
+ workingDirectory?: string | undefined;
147
147
  priority?: "high" | "normal" | undefined;
148
148
  }) => Promise<{
149
149
  content: Array<{
@@ -31,7 +31,7 @@ export declare const stateTools: ({
31
31
  required: string[];
32
32
  };
33
33
  handler: (args: {
34
- mode: "autopilot" | "ultrapilot" | "team" | "pipeline" | "ralph" | "ultrawork" | "ultraqa" | "swarm" | "ralplan";
34
+ mode: "ultrawork" | "swarm" | "autopilot" | "ultrapilot" | "pipeline" | "team" | "ralph" | "ultraqa" | "ralplan";
35
35
  workingDirectory?: string | undefined;
36
36
  session_id?: string | undefined;
37
37
  }) => Promise<{
@@ -104,11 +104,12 @@ export declare const stateTools: ({
104
104
  required: string[];
105
105
  };
106
106
  handler: (args: {
107
- mode: "autopilot" | "ultrapilot" | "team" | "pipeline" | "ralph" | "ultrawork" | "ultraqa" | "swarm" | "ralplan";
107
+ mode: "ultrawork" | "swarm" | "autopilot" | "ultrapilot" | "pipeline" | "team" | "ralph" | "ultraqa" | "ralplan";
108
+ error?: string | undefined;
109
+ active?: boolean | undefined;
108
110
  state?: Record<string, unknown> | undefined;
109
111
  workingDirectory?: string | undefined;
110
112
  session_id?: string | undefined;
111
- active?: boolean | undefined;
112
113
  iteration?: number | undefined;
113
114
  max_iterations?: number | undefined;
114
115
  current_phase?: string | undefined;
@@ -116,7 +117,6 @@ export declare const stateTools: ({
116
117
  plan_path?: string | undefined;
117
118
  started_at?: string | undefined;
118
119
  completed_at?: string | undefined;
119
- error?: string | undefined;
120
120
  }) => Promise<{
121
121
  content: Array<{
122
122
  type: "text";
@@ -195,7 +195,7 @@ export declare const stateTools: ({
195
195
  required?: undefined;
196
196
  };
197
197
  handler: (args: {
198
- mode?: "autopilot" | "ultrapilot" | "team" | "pipeline" | "ralph" | "ultrawork" | "ultraqa" | "swarm" | "ralplan" | undefined;
198
+ mode?: "ultrawork" | "swarm" | "autopilot" | "ultrapilot" | "pipeline" | "team" | "ralph" | "ultraqa" | "ralplan" | undefined;
199
199
  workingDirectory?: string | undefined;
200
200
  session_id?: string | undefined;
201
201
  }) => Promise<{
@@ -24,9 +24,9 @@ export declare const traceTools: ({
24
24
  };
25
25
  };
26
26
  handler: (args: {
27
- filter?: "skills" | "tools" | "all" | "agents" | "hooks" | "keywords" | "modes" | undefined;
28
- workingDirectory?: string | undefined;
27
+ filter?: "agents" | "hooks" | "all" | "skills" | "tools" | "keywords" | "modes" | undefined;
29
28
  sessionId?: string | undefined;
29
+ workingDirectory?: string | undefined;
30
30
  last?: number | undefined;
31
31
  }) => Promise<{
32
32
  content: Array<{
@@ -54,8 +54,8 @@ export declare const traceTools: ({
54
54
  };
55
55
  };
56
56
  handler: (args: {
57
- workingDirectory?: string | undefined;
58
57
  sessionId?: string | undefined;
58
+ workingDirectory?: string | undefined;
59
59
  }) => Promise<{
60
60
  content: Array<{
61
61
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"codex-server.d.ts","sourceRoot":"","sources":["../../src/mcp/codex-server.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAwFH;;;;GAIG;AACH,eAAO,MAAM,cAAc,yEAIzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,UAA6E,CAAC"}
1
+ {"version":3,"file":"codex-server.d.ts","sourceRoot":"","sources":["../../src/mcp/codex-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2EH;;;;GAIG;AACH,eAAO,MAAM,cAAc,yEAIzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,UAA6E,CAAC"}
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any -- MCP tool() API requires `as any` for schema/args typing */
2
1
  /**
3
2
  * Codex MCP Server - In-process MCP server for OpenAI Codex CLI integration
4
3
  *
@@ -9,49 +8,45 @@
9
8
  * external-process .mcp.json registration with proper stdio transport.
10
9
  */
11
10
  import { createSdkMcpServer, tool } from "@anthropic-ai/claude-agent-sdk";
11
+ import { z } from 'zod';
12
12
  import { handleAskCodex, CODEX_DEFAULT_MODEL, CODEX_RECOMMENDED_ROLES } from './codex-core.js';
13
13
  import { handleWaitForJob, handleCheckJobStatus, handleKillJob, handleListJobs } from './job-management.js';
14
14
  // Define the ask_codex tool using the SDK tool() helper
15
15
  const askCodexTool = tool("ask_codex", `Send a prompt to OpenAI Codex CLI for analytical/planning tasks. Codex excels at architecture review, planning validation, critical analysis, and code/security review validation. Requires agent_role to specify the perspective. Recommended roles: ${CODEX_RECOMMENDED_ROLES.join(', ')}. Any valid OMC agent role is accepted. Requires Codex CLI (npm install -g @openai/codex).`, {
16
- agent_role: { type: "string", description: `Required. Agent perspective for Codex. Recommended: ${CODEX_RECOMMENDED_ROLES.join(', ')}. Any valid OMC agent role is accepted.` },
17
- prompt: { type: "string", description: "Inline prompt text. Alternative to prompt_file -- the tool auto-persists to a file for audit trail. Use for simpler invocations where file management is unnecessary. If both prompt and prompt_file are provided, prompt_file takes precedence." },
18
- prompt_file: { type: "string", description: "Path to file containing the prompt. Required unless 'prompt' is provided inline. A defined (non-undefined) `prompt_file` value selects file mode; `prompt_file` must be a non-empty string when used. Passing null or non-string values triggers file-mode validation (not inline fallback)." },
19
- output_file: { type: "string", description: "Required for file-based mode (prompt_file). Auto-generated in inline mode (prompt). Response content is returned inline only when using prompt parameter." },
20
- context_files: { type: "array", items: { type: "string" }, description: "File paths to include as context (contents will be prepended to prompt)" },
21
- model: { type: "string", description: `Codex model to use (default: ${CODEX_DEFAULT_MODEL}). Set OMC_CODEX_DEFAULT_MODEL env var to change default.` },
22
- reasoning_effort: { type: "string", description: "Codex reasoning effort level: 'minimal', 'low', 'medium' (Codex CLI default), 'high', or 'xhigh' (model-dependent). Maps to Codex CLI -c model_reasoning_effort. If omitted, uses Codex CLI default from ~/.codex/config.toml." },
23
- background: { type: "boolean", description: "Run in background (non-blocking). Returns immediately with job metadata and file paths. Check response file for completion. Not available with inline prompt." },
24
- working_directory: { type: "string", description: "Working directory for path resolution and CLI execution. Defaults to process.cwd()." },
16
+ agent_role: z.string().describe(`Required. Agent perspective for Codex. Recommended: ${CODEX_RECOMMENDED_ROLES.join(', ')}. Any valid OMC agent role is accepted.`),
17
+ prompt: z.string().optional().describe("Inline prompt text. Alternative to prompt_file -- the tool auto-persists to a file for audit trail. Use for simpler invocations where file management is unnecessary. If both prompt and prompt_file are provided, prompt_file takes precedence."),
18
+ prompt_file: z.string().optional().describe("Path to file containing the prompt. Required unless 'prompt' is provided inline. A defined (non-undefined) `prompt_file` value selects file mode; `prompt_file` must be a non-empty string when used. Passing null or non-string values triggers file-mode validation (not inline fallback)."),
19
+ output_file: z.string().optional().describe("Required for file-based mode (prompt_file). Auto-generated in inline mode (prompt). Response content is returned inline only when using prompt parameter."),
20
+ context_files: z.array(z.string()).optional().describe("File paths to include as context (contents will be prepended to prompt)"),
21
+ model: z.string().optional().describe(`Codex model to use (default: ${CODEX_DEFAULT_MODEL}). Set OMC_CODEX_DEFAULT_MODEL env var to change default.`),
22
+ reasoning_effort: z.string().optional().describe("Codex reasoning effort level: 'minimal', 'low', 'medium' (Codex CLI default), 'high', or 'xhigh' (model-dependent). Maps to Codex CLI -c model_reasoning_effort. If omitted, uses Codex CLI default from ~/.codex/config.toml."),
23
+ background: z.boolean().optional().describe("Run in background (non-blocking). Returns immediately with job metadata and file paths. Check response file for completion. Not available with inline prompt."),
24
+ working_directory: z.string().optional().describe("Working directory for path resolution and CLI execution. Defaults to process.cwd()."),
25
25
  }, async (args) => {
26
- const { prompt, prompt_file, output_file, agent_role, model, reasoning_effort, context_files, background, working_directory } = args;
27
- return handleAskCodex({ prompt, prompt_file, output_file, agent_role, model, reasoning_effort, context_files, background, working_directory });
26
+ return handleAskCodex(args);
28
27
  });
29
28
  const waitForJobTool = tool("wait_for_job", "Block (poll) until a background job reaches a terminal state (completed, failed, or timeout). Uses exponential backoff. Returns the response preview on success.", {
30
- job_id: { type: "string", description: "The job ID returned when the background job was dispatched." },
31
- timeout_ms: { type: "number", description: "Maximum time to wait in milliseconds (default: 3600000, max: 3600000)." },
29
+ job_id: z.string().describe("The job ID returned when the background job was dispatched."),
30
+ timeout_ms: z.number().optional().describe("Maximum time to wait in milliseconds (default: 3600000, max: 3600000)."),
32
31
  }, async (args) => {
33
- const { job_id, timeout_ms } = args;
34
- return handleWaitForJob('codex', job_id, timeout_ms);
32
+ return handleWaitForJob('codex', args.job_id, args.timeout_ms);
35
33
  });
36
34
  const checkJobStatusTool = tool("check_job_status", "Non-blocking status check for a background job. Returns current status, metadata, and error information if available.", {
37
- job_id: { type: "string", description: "The job ID returned when the background job was dispatched." },
35
+ job_id: z.string().describe("The job ID returned when the background job was dispatched."),
38
36
  }, async (args) => {
39
- const { job_id } = args;
40
- return handleCheckJobStatus('codex', job_id);
37
+ return handleCheckJobStatus('codex', args.job_id);
41
38
  });
42
39
  const killJobTool = tool("kill_job", "Send a signal to a running background job. Marks the job as failed. Only works on jobs in spawned or running state.", {
43
- job_id: { type: "string", description: "The job ID of the running job to kill." },
44
- signal: { type: "string", description: "The signal to send (default: SIGTERM)." },
40
+ job_id: z.string().describe("The job ID of the running job to kill."),
41
+ signal: z.enum(['SIGTERM', 'SIGINT']).optional().describe("The signal to send (default: SIGTERM). Only SIGTERM and SIGINT are allowed."),
45
42
  }, async (args) => {
46
- const { job_id, signal } = args;
47
- return handleKillJob('codex', job_id, signal || undefined);
43
+ return handleKillJob('codex', args.job_id, args.signal || undefined);
48
44
  });
49
45
  const listJobsTool = tool("list_jobs", "List background jobs for this provider. Filter by status and limit results. Results sorted newest first.", {
50
- status_filter: { type: "string", description: "Filter jobs by status (default: active)." },
51
- limit: { type: "number", description: "Maximum number of jobs to return (default: 50)." },
46
+ status_filter: z.enum(['active', 'completed', 'failed', 'all']).optional().describe("Filter jobs by status (default: active)."),
47
+ limit: z.number().optional().describe("Maximum number of jobs to return (default: 50)."),
52
48
  }, async (args) => {
53
- const { status_filter, limit } = args;
54
- return handleListJobs('codex', status_filter || undefined, limit);
49
+ return handleListJobs('codex', args.status_filter, args.limit);
55
50
  });
56
51
  /**
57
52
  * In-process MCP server exposing Codex CLI integration
@@ -1 +1 @@
1
- {"version":3,"file":"codex-server.js","sourceRoot":"","sources":["../../src/mcp/codex-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-server.js","sourceRoot":"","sources":["../../src/mcp/codex-server.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,12 @@ export declare const MCPServerConfigSchema: z.ZodObject<{
12
12
  command: string;
13
13
  disabled: boolean;
14
14
  autoApprove: string[];
15
- args?: string[] | undefined;
16
15
  env?: Record<string, string> | undefined;
16
+ args?: string[] | undefined;
17
17
  }, {
18
18
  command: string;
19
- args?: string[] | undefined;
20
19
  env?: Record<string, string> | undefined;
20
+ args?: string[] | undefined;
21
21
  disabled?: boolean | undefined;
22
22
  autoApprove?: string[] | undefined;
23
23
  }>;
@@ -33,12 +33,12 @@ export declare const MCPConfigSchema: z.ZodObject<{
33
33
  command: string;
34
34
  disabled: boolean;
35
35
  autoApprove: string[];
36
- args?: string[] | undefined;
37
36
  env?: Record<string, string> | undefined;
37
+ args?: string[] | undefined;
38
38
  }, {
39
39
  command: string;
40
- args?: string[] | undefined;
41
40
  env?: Record<string, string> | undefined;
41
+ args?: string[] | undefined;
42
42
  disabled?: boolean | undefined;
43
43
  autoApprove?: string[] | undefined;
44
44
  }>>;
@@ -47,14 +47,14 @@ export declare const MCPConfigSchema: z.ZodObject<{
47
47
  command: string;
48
48
  disabled: boolean;
49
49
  autoApprove: string[];
50
- args?: string[] | undefined;
51
50
  env?: Record<string, string> | undefined;
51
+ args?: string[] | undefined;
52
52
  }>;
53
53
  }, {
54
54
  mcpServers: Record<string, {
55
55
  command: string;
56
- args?: string[] | undefined;
57
56
  env?: Record<string, string> | undefined;
57
+ args?: string[] | undefined;
58
58
  disabled?: boolean | undefined;
59
59
  autoApprove?: string[] | undefined;
60
60
  }>;
@@ -12,12 +12,12 @@ export declare const MCPServerConfigSchema: z.ZodObject<{
12
12
  command: string;
13
13
  disabled: boolean;
14
14
  autoApprove: string[];
15
- args?: string[] | undefined;
16
15
  env?: Record<string, string> | undefined;
16
+ args?: string[] | undefined;
17
17
  }, {
18
18
  command: string;
19
- args?: string[] | undefined;
20
19
  env?: Record<string, string> | undefined;
20
+ args?: string[] | undefined;
21
21
  disabled?: boolean | undefined;
22
22
  autoApprove?: string[] | undefined;
23
23
  }>;
@@ -33,12 +33,12 @@ export declare const MCPConfigSchema: z.ZodObject<{
33
33
  command: string;
34
34
  disabled: boolean;
35
35
  autoApprove: string[];
36
- args?: string[] | undefined;
37
36
  env?: Record<string, string> | undefined;
37
+ args?: string[] | undefined;
38
38
  }, {
39
39
  command: string;
40
- args?: string[] | undefined;
41
40
  env?: Record<string, string> | undefined;
41
+ args?: string[] | undefined;
42
42
  disabled?: boolean | undefined;
43
43
  autoApprove?: string[] | undefined;
44
44
  }>>;
@@ -47,14 +47,14 @@ export declare const MCPConfigSchema: z.ZodObject<{
47
47
  command: string;
48
48
  disabled: boolean;
49
49
  autoApprove: string[];
50
- args?: string[] | undefined;
51
50
  env?: Record<string, string> | undefined;
51
+ args?: string[] | undefined;
52
52
  }>;
53
53
  }, {
54
54
  mcpServers: Record<string, {
55
55
  command: string;
56
- args?: string[] | undefined;
57
56
  env?: Record<string, string> | undefined;
57
+ args?: string[] | undefined;
58
58
  disabled?: boolean | undefined;
59
59
  autoApprove?: string[] | undefined;
60
60
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-server.d.ts","sourceRoot":"","sources":["../../src/mcp/gemini-server.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AA2FH;;;;GAIG;AACH,eAAO,MAAM,eAAe,yEAI1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,UAA8E,CAAC"}
1
+ {"version":3,"file":"gemini-server.d.ts","sourceRoot":"","sources":["../../src/mcp/gemini-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+EH;;;;GAIG;AACH,eAAO,MAAM,eAAe,yEAI1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,UAA8E,CAAC"}
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any -- MCP tool() API requires `as any` for schema/args typing */
2
1
  /**
3
2
  * Gemini MCP Server - In-process MCP server for Google Gemini CLI integration
4
3
  *
@@ -9,49 +8,45 @@
9
8
  * external-process .mcp.json registration with proper stdio transport.
10
9
  */
11
10
  import { createSdkMcpServer, tool } from "@anthropic-ai/claude-agent-sdk";
11
+ import { z } from 'zod';
12
12
  import { GEMINI_DEFAULT_MODEL, GEMINI_RECOMMENDED_ROLES, handleAskGemini } from './gemini-core.js';
13
13
  import { GEMINI_MODEL_FALLBACKS } from '../features/model-routing/external-model-policy.js';
14
14
  import { handleWaitForJob, handleCheckJobStatus, handleKillJob, handleListJobs } from './job-management.js';
15
15
  // Define the ask_gemini tool using the SDK tool() helper
16
16
  const askGeminiTool = tool("ask_gemini", `Send a prompt to Google Gemini CLI for design/implementation tasks. Gemini excels at frontend design review and implementation with its 1M token context window. Recommended roles: ${GEMINI_RECOMMENDED_ROLES.join(', ')}. Any valid OMC agent role is accepted. Fallback chain: ${GEMINI_MODEL_FALLBACKS.join(' → ')}. Requires Gemini CLI (npm install -g @google/gemini-cli).`, {
17
- agent_role: { type: "string", description: `Required. Agent perspective for Gemini. Recommended: ${GEMINI_RECOMMENDED_ROLES.join(', ')}. Any valid OMC agent role is accepted.` },
18
- prompt: { type: "string", description: "Inline prompt string. Alternative to prompt_file -- the prompt is auto-persisted to a file for audit trail. When used, output_file is optional (auto-generated if omitted) and the response is returned inline in the MCP result. If both prompt and prompt_file are provided, prompt_file takes precedence." },
19
- prompt_file: { type: "string", description: "Path to file containing the prompt. A defined (non-undefined) `prompt_file` value selects file mode; `prompt_file` must be a non-empty string when used. Passing null or non-string values triggers file-mode validation (not inline fallback)." },
20
- output_file: { type: "string", description: "Required for file-based mode (prompt_file). Auto-generated in inline mode (prompt). Response content is returned inline only when using prompt parameter." },
21
- files: { type: "array", items: { type: "string" }, description: "File paths to include as context (contents will be prepended to prompt)" },
22
- model: { type: "string", description: `Gemini model to use (default: ${GEMINI_DEFAULT_MODEL}). Set OMC_GEMINI_DEFAULT_MODEL env var to change default. Auto-fallback chain: ${GEMINI_MODEL_FALLBACKS.join(' → ')}.` },
23
- background: { type: "boolean", description: "Run in background (non-blocking). Returns immediately with job metadata and file paths. Check response file for completion. Not available with inline prompt." },
24
- working_directory: { type: "string", description: "Working directory for path resolution and CLI execution. Defaults to process.cwd()." },
17
+ agent_role: z.string().describe(`Required. Agent perspective for Gemini. Recommended: ${GEMINI_RECOMMENDED_ROLES.join(', ')}. Any valid OMC agent role is accepted.`),
18
+ prompt: z.string().optional().describe("Inline prompt string. Alternative to prompt_file -- the prompt is auto-persisted to a file for audit trail. When used, output_file is optional (auto-generated if omitted) and the response is returned inline in the MCP result. If both prompt and prompt_file are provided, prompt_file takes precedence."),
19
+ prompt_file: z.string().optional().describe("Path to file containing the prompt. A defined (non-undefined) `prompt_file` value selects file mode; `prompt_file` must be a non-empty string when used. Passing null or non-string values triggers file-mode validation (not inline fallback)."),
20
+ output_file: z.string().optional().describe("Required for file-based mode (prompt_file). Auto-generated in inline mode (prompt). Response content is returned inline only when using prompt parameter."),
21
+ files: z.array(z.string()).optional().describe("File paths to include as context (contents will be prepended to prompt)"),
22
+ model: z.string().optional().describe(`Gemini model to use (default: ${GEMINI_DEFAULT_MODEL}). Set OMC_GEMINI_DEFAULT_MODEL env var to change default. Auto-fallback chain: ${GEMINI_MODEL_FALLBACKS.join(' → ')}.`),
23
+ background: z.boolean().optional().describe("Run in background (non-blocking). Returns immediately with job metadata and file paths. Check response file for completion. Not available with inline prompt."),
24
+ working_directory: z.string().optional().describe("Working directory for path resolution and CLI execution. Defaults to process.cwd()."),
25
25
  }, async (args) => {
26
- const { prompt, prompt_file, output_file, agent_role, model, files, background, working_directory } = args;
27
- return handleAskGemini({ prompt, prompt_file, output_file, agent_role, model, files, background, working_directory });
26
+ return handleAskGemini(args);
28
27
  });
29
28
  const waitForJobTool = tool("wait_for_job", "Block (poll) until a background job reaches a terminal state (completed, failed, or timeout). Uses exponential backoff. Returns the response preview on success.", {
30
- job_id: { type: "string", description: "The job ID returned when the background job was dispatched." },
31
- timeout_ms: { type: "number", description: "Maximum time to wait in milliseconds (default: 3600000, max: 3600000)." },
29
+ job_id: z.string().describe("The job ID returned when the background job was dispatched."),
30
+ timeout_ms: z.number().optional().describe("Maximum time to wait in milliseconds (default: 3600000, max: 3600000)."),
32
31
  }, async (args) => {
33
- const { job_id, timeout_ms } = args;
34
- return handleWaitForJob('gemini', job_id, timeout_ms);
32
+ return handleWaitForJob('gemini', args.job_id, args.timeout_ms);
35
33
  });
36
34
  const checkJobStatusTool = tool("check_job_status", "Non-blocking status check for a background job. Returns current status, metadata, and error information if available.", {
37
- job_id: { type: "string", description: "The job ID returned when the background job was dispatched." },
35
+ job_id: z.string().describe("The job ID returned when the background job was dispatched."),
38
36
  }, async (args) => {
39
- const { job_id } = args;
40
- return handleCheckJobStatus('gemini', job_id);
37
+ return handleCheckJobStatus('gemini', args.job_id);
41
38
  });
42
39
  const killJobTool = tool("kill_job", "Send a signal to a running background job. Marks the job as failed. Only works on jobs in spawned or running state.", {
43
- job_id: { type: "string", description: "The job ID of the running job to kill." },
44
- signal: { type: "string", description: "The signal to send (default: SIGTERM)." },
40
+ job_id: z.string().describe("The job ID of the running job to kill."),
41
+ signal: z.enum(['SIGTERM', 'SIGINT']).optional().describe("The signal to send (default: SIGTERM). Only SIGTERM and SIGINT are allowed."),
45
42
  }, async (args) => {
46
- const { job_id, signal } = args;
47
- return handleKillJob('gemini', job_id, signal || undefined);
43
+ return handleKillJob('gemini', args.job_id, args.signal || undefined);
48
44
  });
49
45
  const listJobsTool = tool("list_jobs", "List background jobs for this provider. Filter by status and limit results. Results sorted newest first.", {
50
- status_filter: { type: "string", description: "Filter jobs by status (default: active)." },
51
- limit: { type: "number", description: "Maximum number of jobs to return (default: 50)." },
46
+ status_filter: z.enum(['active', 'completed', 'failed', 'all']).optional().describe("Filter jobs by status (default: active)."),
47
+ limit: z.number().optional().describe("Maximum number of jobs to return (default: 50)."),
52
48
  }, async (args) => {
53
- const { status_filter, limit } = args;
54
- return handleListJobs('gemini', status_filter || undefined, limit);
49
+ return handleListJobs('gemini', args.status_filter, args.limit);
55
50
  });
56
51
  /**
57
52
  * In-process MCP server exposing Gemini CLI integration
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-server.js","sourceRoot":"","sources":["../../src/mcp/gemini-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini-server.js","sourceRoot":"","sources":["../../src/mcp/gemini-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/mcp/logger.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,MAAM;qBACA,OAAO,EAAE;oBACV,OAAO,EAAE;oBACT,OAAO,EAAE;qBACR,OAAO,EAAE;CAC3B,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/mcp/logger.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,MAAM;qBACA,OAAO,EAAE;oBACV,OAAO,EAAE;oBACT,OAAO,EAAE;qBACR,OAAO,EAAE;CAC3B,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { createLogger } from '../lib/unified-logger.js';
2
+ const baseLogger = createLogger('mcp:logger');
1
3
  const levels = {
2
4
  debug: 0,
3
5
  info: 1,
@@ -7,7 +9,7 @@ const levels = {
7
9
  const currentLevel = process.env.MCP_LOG_LEVEL?.toLowerCase() || 'info';
8
10
  function log(level, ...args) {
9
11
  if (levels[level] >= levels[currentLevel]) {
10
- console.error(`[${level.toUpperCase()}]`, ...args);
12
+ baseLogger[level](`[${level.toUpperCase()}]`, ...args);
11
13
  }
12
14
  }
13
15
  export const logger = {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/mcp/logger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAA6B;IACvC,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,YAAY,GAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,EAAe,IAAI,MAAM,CAAC;AAEtF,SAAS,GAAG,CAAC,KAAe,EAAE,GAAG,IAAe;IAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IACpD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;CACrD,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/mcp/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAI9C,MAAM,MAAM,GAA6B;IACvC,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,YAAY,GAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,EAAe,IAAI,MAAM,CAAC;AAEtF,SAAS,GAAG,CAAC,KAAe,EAAE,GAAG,IAAe;IAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IACpD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;CACrD,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Type definitions for MCP tool schemas
3
+ * Eliminates need for `as any` in tool definitions
4
+ */
5
+ export interface ToolSchema {
6
+ type: string;
7
+ description?: string;
8
+ items?: {
9
+ type: string;
10
+ };
11
+ enum?: readonly string[];
12
+ }
13
+ export type ToolSchemaMap = Record<string, ToolSchema>;
14
+ export interface AskGeminiArgs {
15
+ agent_role: string;
16
+ prompt?: string;
17
+ prompt_file?: string;
18
+ output_file?: string;
19
+ files?: string[];
20
+ model?: string;
21
+ background?: boolean;
22
+ working_directory?: string;
23
+ }
24
+ export interface AskCodexArgs {
25
+ agent_role: string;
26
+ prompt?: string;
27
+ prompt_file?: string;
28
+ output_file?: string;
29
+ context_files?: string[];
30
+ model?: string;
31
+ reasoning_effort?: string;
32
+ background?: boolean;
33
+ working_directory?: string;
34
+ }
35
+ export interface WaitForJobArgs {
36
+ job_id: string;
37
+ timeout_ms?: number;
38
+ }
39
+ export interface CheckJobStatusArgs {
40
+ job_id: string;
41
+ }
42
+ export interface KillJobArgs {
43
+ job_id: string;
44
+ signal?: string;
45
+ }
46
+ export interface ListJobsArgs {
47
+ status_filter?: 'active' | 'completed' | 'failed' | 'all';
48
+ limit?: number;
49
+ }
50
+ //# sourceMappingURL=tool-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-types.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAGvD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAGD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAGD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Type definitions for MCP tool schemas
3
+ * Eliminates need for `as any` in tool definitions
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=tool-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-types.js","sourceRoot":"","sources":["../../src/mcp/tool-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -17,7 +17,7 @@ export declare const pythonReplTool: {
17
17
  queueTimeout: import("zod").ZodDefault<import("zod").ZodNumber>;
18
18
  projectDir: import("zod").ZodOptional<import("zod").ZodString>;
19
19
  }, "strip", import("zod").ZodTypeAny, {
20
- action: "execute" | "interrupt" | "reset" | "get_state";
20
+ action: "interrupt" | "execute" | "reset" | "get_state";
21
21
  researchSessionID: string;
22
22
  executionTimeout: number;
23
23
  queueTimeout: number;
@@ -25,7 +25,7 @@ export declare const pythonReplTool: {
25
25
  executionLabel?: string | undefined;
26
26
  projectDir?: string | undefined;
27
27
  }, {
28
- action: "execute" | "interrupt" | "reset" | "get_state";
28
+ action: "interrupt" | "execute" | "reset" | "get_state";
29
29
  researchSessionID: string;
30
30
  code?: string | undefined;
31
31
  executionLabel?: string | undefined;
@@ -27,7 +27,7 @@ export declare const pythonReplSchema: z.ZodObject<{
27
27
  queueTimeout: z.ZodDefault<z.ZodNumber>;
28
28
  projectDir: z.ZodOptional<z.ZodString>;
29
29
  }, "strip", z.ZodTypeAny, {
30
- action: "execute" | "interrupt" | "reset" | "get_state";
30
+ action: "interrupt" | "execute" | "reset" | "get_state";
31
31
  researchSessionID: string;
32
32
  executionTimeout: number;
33
33
  queueTimeout: number;
@@ -35,7 +35,7 @@ export declare const pythonReplSchema: z.ZodObject<{
35
35
  executionLabel?: string | undefined;
36
36
  projectDir?: string | undefined;
37
37
  }, {
38
- action: "execute" | "interrupt" | "reset" | "get_state";
38
+ action: "interrupt" | "execute" | "reset" | "get_state";
39
39
  researchSessionID: string;
40
40
  code?: string | undefined;
41
41
  executionLabel?: string | undefined;
package/docs/CLAUDE.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <!-- OMC:START -->
2
- <!-- OMC:VERSION:6.0.0 -->
2
+ <!-- OMC:VERSION:7.0.2 -->
3
3
 
4
4
  # ultrapower - Multi-Agent Orchestration 智能多 Agent 编排
5
5
 
package/docs/INSTALL.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ultrapower 安装部署详细教程
2
2
 
3
- ultrapower v5.6.10 完整安装指南,覆盖从零开始到完全配置的所有步骤。
3
+ ultrapower v7.0.2 完整安装指南,覆盖从零开始到完全配置的所有步骤。
4
4
 
5
5
  ---
6
6
 
@@ -102,7 +102,7 @@ git --version
102
102
 
103
103
  **预期输出:**
104
104
  ```
105
- ✓ Installing ultrapower v5.6.10...
105
+ ✓ Installing ultrapower v7.0.2...
106
106
  ✓ Hooks registered: 39
107
107
  ✓ Agents loaded: 49
108
108
  ✓ Skills available: 71
package/docs/REFERENCE.md CHANGED
@@ -1,4 +1,4 @@
1
- <!-- ultrapower v5.6.10 | updated: 2026-03-02 -->
1
+ <!-- ultrapower v7.0.2 | updated: 2026-03-02 -->
2
2
 
3
3
  # ultrapower Reference — v5.5.33
4
4
 
@@ -5,7 +5,7 @@
5
5
  > **最后更新**: 2026-03-02
6
6
  > **真理之源**: `docs/standards/audit-report.md`
7
7
 
8
- ultrapower v5.6.10 具备 49 个 agents、70 个 skills、35 个 hooks 的完整体系。本规范体系从现有代码反向提取,覆盖运行时防护、Hook 执行顺序、状态机、Agent 生命周期、用户使用指南和贡献规范,使 ultrapower 从"能用"升级为"可靠、易用、可扩展"。
8
+ ultrapower v7.0.2 具备 49 个 agents、70 个 skills、35 个 hooks 的完整体系。本规范体系从现有代码反向提取,覆盖运行时防护、Hook 执行顺序、状态机、Agent 生命周期、用户使用指南和贡献规范,使 ultrapower 从"能用"升级为"可靠、易用、可扩展"。
9
9
 
10
10
  ---
11
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liangjie559567/ultrapower",
3
- "version": "7.0.1",
3
+ "version": "7.0.2",
4
4
  "description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env node
2
+ import { readFileSync } from 'fs';
3
+ import { join } from 'path';
4
+
5
+ const files = [
6
+ { path: 'package.json', extract: (c) => JSON.parse(c).version },
7
+ { path: 'marketplace.json', extract: (c) => JSON.parse(c).version },
8
+ { path: 'docs/CLAUDE.md', extract: (c) => c.match(/OMC:VERSION:(\S+)/)?.[1] },
9
+ { path: 'CLAUDE.md', extract: (c) => c.match(/ultrapower v(\S+)/)?.[1] }
10
+ ];
11
+
12
+ const versions = files.map(({ path, extract }) => {
13
+ try {
14
+ const content = readFileSync(path, 'utf-8');
15
+ return { path, version: extract(content) };
16
+ } catch (e) {
17
+ return { path, version: null, error: e.message };
18
+ }
19
+ });
20
+
21
+ const reference = versions[0].version;
22
+ const mismatches = versions.filter(v => v.version !== reference);
23
+
24
+ if (mismatches.length > 0) {
25
+ console.error('❌ Version mismatch detected:');
26
+ console.error(` Reference: ${reference} (package.json)`);
27
+ mismatches.forEach(({ path, version }) => {
28
+ console.error(` ${path}: ${version || 'NOT FOUND'}`);
29
+ });
30
+ process.exit(1);
31
+ }
32
+
33
+ console.log(`✅ All versions synchronized: ${reference}`);
@@ -0,0 +1,91 @@
1
+ import { readFileSync, writeFileSync, readdirSync, statSync } from 'fs';
2
+ import { join } from 'path';
3
+
4
+ const KEEP_CONSOLE = [
5
+ 'stats.ts', 'cost.ts', 'sessions.ts', 'teleport.ts', 'wait.ts', 'backfill.ts',
6
+ 'dashboard.ts', 'example.ts', 'test-categories.ts', 'tutorial',
7
+ ];
8
+
9
+ function walkDir(dir: string, files: string[] = []): string[] {
10
+ const entries = readdirSync(dir);
11
+ for (const entry of entries) {
12
+ const path = join(dir, entry);
13
+ if (statSync(path).isDirectory()) {
14
+ if (!entry.includes('__tests__') && !entry.includes('node_modules')) {
15
+ walkDir(path, files);
16
+ }
17
+ } else if (entry.endsWith('.ts') && !entry.endsWith('.test.ts')) {
18
+ files.push(path);
19
+ }
20
+ }
21
+ return files;
22
+ }
23
+
24
+ function shouldMigrate(filePath: string): boolean {
25
+ const name = filePath.split('\\').pop() || '';
26
+ const dir = filePath.split('\\').slice(-2, -1)[0] || '';
27
+ return !KEEP_CONSOLE.some(keep => name === keep || dir === keep || filePath.includes(keep));
28
+ }
29
+
30
+ function getContextName(filePath: string): string {
31
+ const parts = filePath.replace(/\\/g, '/').split('/');
32
+ const fileName = parts[parts.length - 1].replace('.ts', '');
33
+ const dirName = parts[parts.length - 2];
34
+ return `${dirName}:${fileName}`;
35
+ }
36
+
37
+ function migrateFile(filePath: string): { changed: boolean; before: number; after: number } {
38
+ let content = readFileSync(filePath, 'utf-8');
39
+ const beforeCount = (content.match(/console\.(log|error|warn|info)/g) || []).length;
40
+
41
+ if (beforeCount === 0) return { changed: false, before: 0, after: 0 };
42
+
43
+ const hasLogger = content.includes('createLogger') || content.includes('from \'../lib/unified-logger');
44
+
45
+ if (!hasLogger) {
46
+ const importMatch = content.match(/^(import .+;\n)+/m);
47
+ const contextName = getContextName(filePath);
48
+ const depth = filePath.split('\\').length - 2;
49
+ const prefix = '../'.repeat(depth);
50
+ const loggerImport = `import { createLogger } from '${prefix}lib/unified-logger.js';\nconst logger = createLogger('${contextName}');\n\n`;
51
+
52
+ if (importMatch) {
53
+ content = content.replace(importMatch[0], importMatch[0] + loggerImport);
54
+ } else {
55
+ content = loggerImport + content;
56
+ }
57
+ }
58
+
59
+ content = content.replace(/console\.log\(/g, 'logger.info(');
60
+ content = content.replace(/console\.error\(/g, 'logger.error(');
61
+ content = content.replace(/console\.warn\(/g, 'logger.warn(');
62
+ content = content.replace(/console\.info\(/g, 'logger.info(');
63
+
64
+ const afterCount = (content.match(/console\.(log|error|warn|info)/g) || []).length;
65
+
66
+ if (beforeCount !== afterCount) {
67
+ writeFileSync(filePath, content, 'utf-8');
68
+ return { changed: true, before: beforeCount, after: afterCount };
69
+ }
70
+
71
+ return { changed: false, before: beforeCount, after: afterCount };
72
+ }
73
+
74
+ const files = walkDir('src');
75
+ let totalBefore = 0;
76
+ let totalAfter = 0;
77
+ let filesChanged = 0;
78
+
79
+ for (const file of files) {
80
+ if (shouldMigrate(file)) {
81
+ const result = migrateFile(file);
82
+ if (result.changed) {
83
+ filesChanged++;
84
+ console.log(`✓ ${file}: ${result.before} → ${result.after}`);
85
+ }
86
+ totalBefore += result.before;
87
+ totalAfter += result.after;
88
+ }
89
+ }
90
+
91
+ console.log(`\n迁移完成: ${filesChanged} 个文件, ${totalBefore} → ${totalAfter} console 调用`);
@@ -394,3 +394,129 @@ gh release view v<version> --json tagName,publishedAt
394
394
  * stage: "release_complete"
395
395
 
396
396
  * output_summary: 发布版本号、发布渠道、是否有回滚计划
397
+
398
+ ## 故障排查指南
399
+
400
+ ### 问题 1: Git Tag 冲突
401
+
402
+ **症状**: Release 工作流失败,错误信息 "tag already exists"
403
+
404
+ **原因**: 手动推送的 tag 与 changesets 自动创建的 tag 冲突
405
+
406
+ **解决方案**:
407
+ ```bash
408
+ # 1. 删除远程 tag
409
+ git push origin :refs/tags/v<version>
410
+
411
+ # 2. 重新触发工作流(创建空提交)
412
+ git commit --allow-empty -m "chore: trigger release workflow"
413
+ git pull --rebase origin main
414
+ git push origin main
415
+ ```
416
+
417
+ **预防**: 避免手动推送 tag,让 CI 自动管理
418
+
419
+ ### 问题 2: 版本文件不同步
420
+
421
+ **症状**: Release 工作流失败,validate:versions 检查失败
422
+
423
+ **原因**: marketplace.json 或其他版本文件未更新
424
+
425
+ **解决方案**:
426
+ ```bash
427
+ # 1. 运行版本同步检查
428
+ node scripts/check-version-sync.mjs
429
+
430
+ # 2. 手动更新不同步的文件
431
+ # - marketplace.json
432
+ # - docs/CLAUDE.md
433
+ # - CLAUDE.md
434
+
435
+ # 3. 提交并推送
436
+ git add -A
437
+ git commit -m "chore: sync version files to <version>"
438
+ git pull --rebase origin main
439
+ git push origin main
440
+ ```
441
+
442
+ **预防**: 发布前运行 `node scripts/check-version-sync.mjs`
443
+
444
+ ### 问题 3: ESLint 错误阻塞发布
445
+
446
+ **症状**: CI 工作流失败,ESLint 报错
447
+
448
+ **原因**: 代码中存在 lint 错误(no-empty, prefer-const 等)
449
+
450
+ **解决方案**:
451
+ ```bash
452
+ # 1. 运行 ESLint 检查
453
+ npm run lint
454
+
455
+ # 2. 修复错误
456
+ # - 空 catch 块添加注释
457
+ # - 未重新赋值的 let 改为 const
458
+
459
+ # 3. 验证修复
460
+ npm run lint
461
+
462
+ # 4. 提交并推送
463
+ git add -A
464
+ git commit -m "fix(lint): resolve ESLint errors"
465
+ git pull --rebase origin main
466
+ git push origin main
467
+ ```
468
+
469
+ **预防**: 提交前运行 `npm run lint`
470
+
471
+ ### 问题 4: 部分发布失败
472
+
473
+ **症状**: npm 已发布但 GitHub Release 未创建(或反之)
474
+
475
+ **原因**: CI 工作流部分步骤失败
476
+
477
+ **解决方案**:
478
+ ```bash
479
+ # 1. 验证当前状态
480
+ npm view @liangjie559567/ultrapower version
481
+ gh release view v<version>
482
+
483
+ # 2. 补充缺失步骤
484
+ # 如果 npm 未发布:
485
+ npm publish --access public --no-provenance
486
+
487
+ # 如果 GitHub Release 未创建:
488
+ git push origin v<version> # 确保 tag 存在
489
+ gh release create v<version> --title "v<version>" --notes "<notes>"
490
+
491
+ # 3. 验证最终状态
492
+ npm view @liangjie559567/ultrapower version
493
+ gh release view v<version>
494
+ ```
495
+
496
+ ### 问题 5: 远程推送冲突
497
+
498
+ **症状**: git push 失败,"remote contains work"
499
+
500
+ **原因**: 远程有新提交,本地落后
501
+
502
+ **解决方案**:
503
+ ```bash
504
+ git stash
505
+ git pull --rebase origin main
506
+ git stash pop
507
+ git push origin main
508
+ ```
509
+
510
+ **预防**: 推送前先拉取最新代码
511
+
512
+ ## 版本同步检查清单
513
+
514
+ 发布前必须检查:
515
+ - [ ] package.json
516
+ - [ ] marketplace.json
517
+ - [ ] docs/CLAUDE.md
518
+ - [ ] CLAUDE.md
519
+ - [ ] 运行 `node scripts/check-version-sync.mjs`
520
+ - [ ] 运行 `npm run lint`
521
+ - [ ] 运行 `npm test`
522
+