@elvatis_com/elvatis-mcp 0.7.0 → 0.7.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.
package/README.md CHANGED
@@ -245,6 +245,15 @@ Median of 3 runs, `max_tokens=512`. Tasks: classify (1-word sentiment), extract
245
245
 
246
246
  **GPU speedup vs CPU (Deepseek R1 8B):** classify 8.4x faster, extract 3.2x faster.
247
247
 
248
+ ### Sub-Agent Comparison (same task, different backends)
249
+
250
+ | Agent | Backend | Avg Latency | Cost | Notes |
251
+ |-------|---------|-------------|------|-------|
252
+ | **local_llm_run** | GPT-OSS 20B (ROCm GPU) | **1.3s** | Free | 3x faster than Codex, 5x faster than Claude |
253
+ | codex_run | OpenAI Codex CLI | 4.1s | Pay-per-use | Best for coding tasks |
254
+ | claude_run | Claude Sonnet 4.6 | 6.3s | Pay-per-use | Best for complex reasoning |
255
+ | gemini_run | Gemini 2.5 Flash | 34.0s | Free tier | CLI startup overhead, best for long context |
256
+
248
257
  ### Service Latency (system_status)
249
258
 
250
259
  | Service | Latency | Notes |
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqCH;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA6CjB"}
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuDH;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAmDjB"}
package/dist/spawn.js CHANGED
@@ -71,19 +71,41 @@ function spawnEnv() {
71
71
  }
72
72
  return env;
73
73
  }
74
+ /**
75
+ * On Windows with shell:true, Node concatenates args with spaces but does NOT quote them.
76
+ * This causes multi-word prompts like "Write a Python function..." to be word-split
77
+ * by cmd.exe, each word becoming a separate positional argument.
78
+ *
79
+ * Fix: wrap every arg in double quotes and escape any inner double quotes.
80
+ * This converts ['-p', 'hello world'] -> ['-p', '"hello world"'] before spawn.
81
+ */
82
+ function quoteArgsForWindowsShell(args) {
83
+ return args.map(arg => {
84
+ // Already quoted — leave as-is
85
+ if (arg.startsWith('"') && arg.endsWith('"'))
86
+ return arg;
87
+ // Escape inner double quotes, then wrap the whole arg
88
+ const escaped = arg.replace(/"/g, '\\"');
89
+ return `"${escaped}"`;
90
+ });
91
+ }
74
92
  /**
75
93
  * Spawn a local command and return stdout as a string.
76
94
  * Progress output on stderr is silently collected (not forwarded).
77
95
  * Throws if the process exits with a non-zero code or times out.
78
96
  */
79
97
  function spawnLocal(cmd, args, timeoutMs) {
98
+ const isWin = process.platform === 'win32';
80
99
  return new Promise((resolve, reject) => {
81
- const proc = (0, child_process_1.spawn)(cmd, args, {
100
+ const proc = (0, child_process_1.spawn)(cmd, isWin ? quoteArgsForWindowsShell(args) : args, {
82
101
  // shell: true on Windows so cmd.exe resolves .cmd/.ps1 wrappers (e.g. gemini.cmd, codex.cmd)
83
- shell: process.platform === 'win32',
102
+ shell: isWin,
84
103
  windowsHide: true,
85
104
  env: spawnEnv(),
86
105
  });
106
+ // Close stdin immediately so CLIs that check for piped input (e.g. Claude)
107
+ // don't wait for data that will never come
108
+ proc.stdin?.end();
87
109
  let stdout = '';
88
110
  let stderr = '';
89
111
  proc.stdout.on('data', (d) => { stdout += d.toString(); });
package/dist/spawn.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/tools/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,eAAe;;;;;;;;;;;;EAW1B,CAAC;AAIH,wBAAsB,eAAe,CACnC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DlE"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/tools/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,eAAe;;;;;;;;;;;;EAW1B,CAAC;AAIH,wBAAsB,eAAe,CACnC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDlE"}
@@ -30,7 +30,6 @@ async function handleClaudeRun(args) {
30
30
  const cliArgs = [
31
31
  '-p', args.prompt,
32
32
  '--output-format', 'json',
33
- '--bare', // skip hooks, LSP, auto-memory (clean sub-agent call)
34
33
  '--max-turns', '1', // single turn, no tool use loops
35
34
  ];
36
35
  if (args.model)
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/tools/claude.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAsBH,0CA2DC;AA/ED,6BAAwB;AACxB,0CAAyC;AAEzC,iBAAiB;AAEJ,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACzB,uCAAuC,CACxC;IACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnC,wFAAwF;UACtF,gCAAgC,CACnC;IACD,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9D,qCAAqC,CACtC;CACF,CAAC,CAAC;AAEH,kBAAkB;AAEX,KAAK,UAAU,eAAe,CACnC,IAAiE;IAEjE,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,IAAI,CAAC,MAAM;QACjB,iBAAiB,EAAE,MAAM;QACzB,QAAQ,EAAY,sDAAsD;QAC1E,aAAa,EAAE,GAAG,EAAE,iCAAiC;KACtD,CAAC;IACF,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAEpD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAA,qBAAU,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;YAClB,IAAI,EAAE,wGAAwG;SAC/G,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAOnC,CAAC;QAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,+BAA+B,EAAE,CAAC;QACrF,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU;YACjC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS;YAC9D,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QAE5B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,kBAAkB;YAC7C,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,cAAc;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;QAC1C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;YAC9B,IAAI,EAAE,oCAAoC;SAC3C,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/tools/claude.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAsBH,0CA0DC;AA9ED,6BAAwB;AACxB,0CAAyC;AAEzC,iBAAiB;AAEJ,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACzB,uCAAuC,CACxC;IACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnC,wFAAwF;UACtF,gCAAgC,CACnC;IACD,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9D,qCAAqC,CACtC;CACF,CAAC,CAAC;AAEH,kBAAkB;AAEX,KAAK,UAAU,eAAe,CACnC,IAAiE;IAEjE,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,IAAI,CAAC,MAAM;QACjB,iBAAiB,EAAE,MAAM;QACzB,aAAa,EAAE,GAAG,EAAE,iCAAiC;KACtD,CAAC;IACF,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAEpD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAA,qBAAU,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;YAClB,IAAI,EAAE,wGAAwG;SAC/G,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAOnC,CAAC;QAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,IAAI,+BAA+B,EAAE,CAAC;QACrF,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU;YACjC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS;YAC9D,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QAE5B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,kBAAkB;YAC7C,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,MAAM,CAAC,cAAc;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;QAC1C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;YAC9B,IAAI,EAAE,oCAAoC;SAC3C,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -2,46 +2,48 @@
2
2
  * Codex sub-agent tool.
3
3
  *
4
4
  * Uses the @openai/codex CLI in non-interactive mode:
5
- * codex exec "<prompt>" --approval-mode never [--model <model>]
5
+ * codex exec "<prompt>" --full-auto [--model <model>] [--json]
6
6
  *
7
- * Authentication: the CLI uses locally cached OpenAI credentials
8
- * (from `codex login`). No OPENAI_API_KEY env var required if logged in.
7
+ * Authentication: the CLI uses locally cached OpenAI credentials.
8
+ * Run `codex` once interactively to authenticate.
9
9
  *
10
- * Output behavior (codex exec):
11
- * - Progress and tool calls stream to stderr (silently collected)
12
- * - Final agent message is printed to stdout as plain text
10
+ * Sandbox modes:
11
+ * --full-auto: workspace-write sandbox, no approval prompts (default, safe)
12
+ * --dangerously-bypass-approvals-and-sandbox: no sandbox, no prompts (dangerous)
13
13
  *
14
- * Use --approval-mode never for non-interactive operation (no pausing for
15
- * human approval before executing shell commands). Codex may still read and
16
- * write files on the machine running the MCP server — use accordingly.
14
+ * Output: codex streams JSONL events to stdout with --json flag.
15
+ * Final assistant message is extracted from event type "message".
16
+ * Without --json, last line of stdout is the final response.
17
+ *
18
+ * Also supports --oss for local providers (LM Studio, Ollama) via --local-provider.
17
19
  *
18
20
  * Use cases vs openclaw_run / gemini_run:
19
- * - Coding tasks: refactoring, debugging, code generation (Codex specializes here)
21
+ * - Coding tasks: refactoring, debugging, code generation
20
22
  * - OpenAI model stack (o3, gpt-5-codex, etc.)
21
- * - Long agentic tasks that require multiple tool calls (file read/write, shell)
23
+ * - Long agentic tasks with file read/write and shell commands
22
24
  */
23
25
  import { z } from 'zod';
24
26
  import { Config } from '../config.js';
25
27
  export declare const codexRunSchema: z.ZodObject<{
26
28
  prompt: z.ZodString;
27
29
  model: z.ZodOptional<z.ZodString>;
28
- approval_mode: z.ZodDefault<z.ZodEnum<["never", "on-request"]>>;
30
+ sandbox: z.ZodDefault<z.ZodEnum<["full-auto", "dangerous"]>>;
29
31
  timeout_seconds: z.ZodDefault<z.ZodNumber>;
30
32
  }, "strip", z.ZodTypeAny, {
31
33
  prompt: string;
32
34
  timeout_seconds: number;
33
- approval_mode: "never" | "on-request";
35
+ sandbox: "full-auto" | "dangerous";
34
36
  model?: string | undefined;
35
37
  }, {
36
38
  prompt: string;
37
39
  model?: string | undefined;
38
40
  timeout_seconds?: number | undefined;
39
- approval_mode?: "never" | "on-request" | undefined;
41
+ sandbox?: "full-auto" | "dangerous" | undefined;
40
42
  }>;
41
43
  export declare function handleCodexRun(args: {
42
44
  prompt: string;
43
45
  model?: string;
44
- approval_mode: 'never' | 'on-request';
46
+ sandbox: 'full-auto' | 'dangerous';
45
47
  timeout_seconds: number;
46
48
  }, config: Config): Promise<{
47
49
  success: boolean;
@@ -49,12 +51,12 @@ export declare function handleCodexRun(args: {
49
51
  hint: string;
50
52
  response?: undefined;
51
53
  model?: undefined;
52
- approval_mode?: undefined;
54
+ sandbox?: undefined;
53
55
  } | {
54
56
  success: boolean;
55
57
  response: string;
56
58
  model: string;
57
- approval_mode: "never" | "on-request";
59
+ sandbox: "full-auto" | "dangerous";
58
60
  error?: undefined;
59
61
  hint?: undefined;
60
62
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/tools/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKtC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAgBzB,CAAC;AAIH,wBAAsB,cAAc,CAClC,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,GAAG,YAAY,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;CACzB,EACD,MAAM,EAAE,MAAM;;;;;;;;;;;;;;GAuBf"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/tools/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKtC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAgBzB,CAAC;AAuDH,wBAAsB,cAAc,CAClC,IAAI,EAAE;IACJ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,GAAG,WAAW,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;CACzB,EACD,MAAM,EAAE,MAAM;;;;;;;;;;;;;;GAiCf"}
@@ -3,23 +3,25 @@
3
3
  * Codex sub-agent tool.
4
4
  *
5
5
  * Uses the @openai/codex CLI in non-interactive mode:
6
- * codex exec "<prompt>" --approval-mode never [--model <model>]
6
+ * codex exec "<prompt>" --full-auto [--model <model>] [--json]
7
7
  *
8
- * Authentication: the CLI uses locally cached OpenAI credentials
9
- * (from `codex login`). No OPENAI_API_KEY env var required if logged in.
8
+ * Authentication: the CLI uses locally cached OpenAI credentials.
9
+ * Run `codex` once interactively to authenticate.
10
10
  *
11
- * Output behavior (codex exec):
12
- * - Progress and tool calls stream to stderr (silently collected)
13
- * - Final agent message is printed to stdout as plain text
11
+ * Sandbox modes:
12
+ * --full-auto: workspace-write sandbox, no approval prompts (default, safe)
13
+ * --dangerously-bypass-approvals-and-sandbox: no sandbox, no prompts (dangerous)
14
14
  *
15
- * Use --approval-mode never for non-interactive operation (no pausing for
16
- * human approval before executing shell commands). Codex may still read and
17
- * write files on the machine running the MCP server — use accordingly.
15
+ * Output: codex streams JSONL events to stdout with --json flag.
16
+ * Final assistant message is extracted from event type "message".
17
+ * Without --json, last line of stdout is the final response.
18
+ *
19
+ * Also supports --oss for local providers (LM Studio, Ollama) via --local-provider.
18
20
  *
19
21
  * Use cases vs openclaw_run / gemini_run:
20
- * - Coding tasks: refactoring, debugging, code generation (Codex specializes here)
22
+ * - Coding tasks: refactoring, debugging, code generation
21
23
  * - OpenAI model stack (o3, gpt-5-codex, etc.)
22
- * - Long agentic tasks that require multiple tool calls (file read/write, shell)
24
+ * - Long agentic tasks with file read/write and shell commands
23
25
  */
24
26
  Object.defineProperty(exports, "__esModule", { value: true });
25
27
  exports.codexRunSchema = void 0;
@@ -32,32 +34,80 @@ exports.codexRunSchema = zod_1.z.object({
32
34
  'Works best for coding tasks, file operations, and technical analysis.'),
33
35
  model: zod_1.z.string().optional().describe('OpenAI model to use, e.g. "o3", "gpt-5-codex". ' +
34
36
  'Omit to use the configured default (CODEX_MODEL env var or Codex default).'),
35
- approval_mode: zod_1.z.enum(['never', 'on-request']).default('never').describe('"never": runs all commands without pausing (non-interactive, default). ' +
36
- '"on-request": pauses for approval before shell commands not suitable for automation.'),
37
+ sandbox: zod_1.z.enum(['full-auto', 'dangerous']).default('full-auto').describe('"full-auto": workspace-write sandbox, no approval prompts (default, recommended). ' +
38
+ '"dangerous": bypass all approvals and sandboxonly use in isolated environments.'),
37
39
  timeout_seconds: zod_1.z.number().min(10).max(600).default(120).describe('Max seconds to wait. Codex tasks can take longer than Gemini — 120s default.'),
38
40
  });
41
+ function extractResponseFromJsonl(raw) {
42
+ // Parse JSONL events and extract the assistant message text
43
+ // Codex emits: item.completed (with item.text) and turn.completed (with usage)
44
+ const lines = raw.trim().split('\n').filter(l => l.trim().startsWith('{'));
45
+ const messages = [];
46
+ for (const line of lines) {
47
+ try {
48
+ const event = JSON.parse(line);
49
+ // item.completed: { type: "item.completed", item: { type: "agent_message", text: "..." } }
50
+ if (event['type'] === 'item.completed') {
51
+ const item = event['item'];
52
+ if (item?.['text'] && typeof item['text'] === 'string') {
53
+ messages.push(item['text']);
54
+ }
55
+ }
56
+ // message event (older codex versions)
57
+ if (event['type'] === 'message' && event['role'] === 'assistant') {
58
+ const content = event['content'];
59
+ if (typeof content === 'string') {
60
+ messages.push(content);
61
+ }
62
+ else if (Array.isArray(content)) {
63
+ for (const block of content) {
64
+ if (block.type === 'text' && block.text)
65
+ messages.push(block.text);
66
+ }
67
+ }
68
+ }
69
+ }
70
+ catch {
71
+ // Not valid JSON, skip
72
+ }
73
+ }
74
+ if (messages.length > 0)
75
+ return messages[messages.length - 1];
76
+ // Fallback: return last non-empty line (skip JSONL noise)
77
+ const nonJson = raw.trim().split('\n').filter(l => l.trim() && !l.trim().startsWith('{'));
78
+ if (nonJson.length > 0)
79
+ return nonJson[nonJson.length - 1];
80
+ return raw.trim();
81
+ }
39
82
  // --- Handler ---
40
83
  async function handleCodexRun(args, config) {
41
84
  const model = args.model ?? config.codexModel;
42
- const cliArgs = ['exec', args.prompt, '--approval-mode', args.approval_mode];
85
+ const cliArgs = ['exec', args.prompt, '--json', '--ephemeral'];
86
+ if (args.sandbox === 'dangerous') {
87
+ cliArgs.push('--dangerously-bypass-approvals-and-sandbox');
88
+ }
89
+ else {
90
+ cliArgs.push('--full-auto');
91
+ }
43
92
  if (model)
44
93
  cliArgs.push('--model', model);
45
- let response;
94
+ let raw;
46
95
  try {
47
- response = await (0, spawn_js_1.spawnLocal)('codex', cliArgs, args.timeout_seconds * 1000);
96
+ raw = await (0, spawn_js_1.spawnLocal)('codex', cliArgs, args.timeout_seconds * 1000);
48
97
  }
49
98
  catch (err) {
50
99
  return {
51
100
  success: false,
52
101
  error: String(err),
53
- hint: 'Run `codex login` to authenticate, or check `codex --version` to confirm the CLI is installed.',
102
+ hint: 'Run `codex` once to authenticate, or check `codex --version` to confirm the CLI is installed.',
54
103
  };
55
104
  }
105
+ const response = extractResponseFromJsonl(raw);
56
106
  return {
57
107
  success: true,
58
- response: response.trim(),
108
+ response,
59
109
  model: model ?? 'default',
60
- approval_mode: args.approval_mode,
110
+ sandbox: args.sandbox,
61
111
  };
62
112
  }
63
113
  //# sourceMappingURL=codex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/tools/codex.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AA4BH,wCA8BC;AAxDD,6BAAwB;AAExB,0CAAyC;AAEzC,kBAAkB;AAEL,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACzB,kDAAkD;QAClD,uEAAuE,CACxE;IACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnC,iDAAiD;QACjD,4EAA4E,CAC7E;IACD,aAAa,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CACtE,yEAAyE;QACzE,wFAAwF,CACzF;IACD,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAChE,8EAA8E,CAC/E;CACF,CAAC,CAAC;AAEH,kBAAkB;AAEX,KAAK,UAAU,cAAc,CAClC,IAKC,EACD,MAAc;IAEd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC;IAC9C,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7E,IAAI,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE1C,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;YAClB,IAAI,EAAE,gGAAgG;SACvG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;QACzB,KAAK,EAAE,KAAK,IAAI,SAAS;QACzB,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/tools/codex.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ async function handleOpenclawRun(args, config) {
63
63
  const safePrompt = args.prompt.replace(/"/g, '\\"');
64
64
  const agentName = args.agent ?? config.openclawDefaultAgent;
65
65
  const agentFlag = agentName ? ` --agent ${agentName}` : '';
66
- const cmd = `openclaw agents send --message "${safePrompt}"${agentFlag} --local --timeout ${args.timeout_seconds}`;
66
+ const cmd = `openclaw agent -m "${safePrompt}"${agentFlag} --local --timeout ${args.timeout_seconds}`;
67
67
  try {
68
68
  const output = await (0, ssh_js_1.sshExec)(cfg, cmd, (args.timeout_seconds + 10) * 1000);
69
69
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../src/tools/openclaw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../src/tools/openclaw.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elvatis_com/elvatis-mcp",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "description": "MCP server for OpenClaw — expose smart home, memory, cron, and more to Claude Desktop, Cursor, Windsurf, and any MCP client",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",