@martinloop/mcp 0.3.8 → 0.3.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.
- package/README.md +148 -105
- package/dist/resources.js +148 -148
- package/dist/server.js +0 -0
- package/dist/tools/preflight.d.ts +0 -2
- package/dist/tools/preflight.js +2 -42
- package/dist/vendor/adapters/openai-compatible.js +6 -6
- package/dist/vendor/contracts/index.d.ts +0 -2
- package/dist/vendor/contracts/index.js +0 -2
- package/dist/vendor/core/index.d.ts +0 -2
- package/dist/vendor/core/index.js +0 -2
- package/package.json +86 -83
- package/server.json +21 -21
- package/LICENSE +0 -216
- package/dist/vendor/adapters/adapters/src/claude-cli.d.ts +0 -146
- package/dist/vendor/adapters/adapters/src/claude-cli.js +0 -1100
- package/dist/vendor/adapters/adapters/src/cli-bridge.d.ts +0 -103
- package/dist/vendor/adapters/adapters/src/cli-bridge.js +0 -569
- package/dist/vendor/adapters/adapters/src/codex-launcher.d.ts +0 -78
- package/dist/vendor/adapters/adapters/src/codex-launcher.js +0 -663
- package/dist/vendor/adapters/adapters/src/direct-provider.d.ts +0 -10
- package/dist/vendor/adapters/adapters/src/direct-provider.js +0 -40
- package/dist/vendor/adapters/adapters/src/index.d.ts +0 -8
- package/dist/vendor/adapters/adapters/src/index.js +0 -8
- package/dist/vendor/adapters/adapters/src/openai-compatible.d.ts +0 -62
- package/dist/vendor/adapters/adapters/src/openai-compatible.js +0 -306
- package/dist/vendor/adapters/adapters/src/runtime-support.d.ts +0 -17
- package/dist/vendor/adapters/adapters/src/runtime-support.js +0 -59
- package/dist/vendor/adapters/adapters/src/stub-agent-cli.d.ts +0 -8
- package/dist/vendor/adapters/adapters/src/stub-agent-cli.js +0 -40
- package/dist/vendor/adapters/adapters/src/stub-direct-provider.d.ts +0 -8
- package/dist/vendor/adapters/adapters/src/stub-direct-provider.js +0 -12
- package/dist/vendor/adapters/adapters/src/verifier-only.d.ts +0 -9
- package/dist/vendor/adapters/adapters/src/verifier-only.js +0 -63
- package/dist/vendor/adapters/contracts/src/context-graph.d.ts +0 -48
- package/dist/vendor/adapters/contracts/src/context-graph.js +0 -26
- package/dist/vendor/adapters/contracts/src/execution-policy.d.ts +0 -78
- package/dist/vendor/adapters/contracts/src/execution-policy.js +0 -43
- package/dist/vendor/adapters/contracts/src/governance.d.ts +0 -24
- package/dist/vendor/adapters/contracts/src/governance.js +0 -11
- package/dist/vendor/adapters/contracts/src/identity.d.ts +0 -29
- package/dist/vendor/adapters/contracts/src/identity.js +0 -30
- package/dist/vendor/adapters/contracts/src/index.d.ts +0 -412
- package/dist/vendor/adapters/contracts/src/index.js +0 -225
- package/dist/vendor/adapters/contracts/src/operator.d.ts +0 -19
- package/dist/vendor/adapters/contracts/src/operator.js +0 -11
- package/dist/vendor/adapters/contracts/src/trajectory.d.ts +0 -26
- package/dist/vendor/adapters/contracts/src/trajectory.js +0 -27
- package/dist/vendor/adapters/core/src/compiler.d.ts +0 -52
- package/dist/vendor/adapters/core/src/compiler.js +0 -52
- package/dist/vendor/adapters/core/src/context-graph.d.ts +0 -3
- package/dist/vendor/adapters/core/src/context-graph.js +0 -371
- package/dist/vendor/adapters/core/src/context-integrity.d.ts +0 -26
- package/dist/vendor/adapters/core/src/context-integrity.js +0 -80
- package/dist/vendor/adapters/core/src/grounding.d.ts +0 -38
- package/dist/vendor/adapters/core/src/grounding.js +0 -273
- package/dist/vendor/adapters/core/src/identity.d.ts +0 -20
- package/dist/vendor/adapters/core/src/identity.js +0 -86
- package/dist/vendor/adapters/core/src/index.d.ts +0 -186
- package/dist/vendor/adapters/core/src/index.js +0 -1495
- package/dist/vendor/adapters/core/src/leash.d.ts +0 -48
- package/dist/vendor/adapters/core/src/leash.js +0 -497
- package/dist/vendor/adapters/core/src/persistence/compiler.d.ts +0 -18
- package/dist/vendor/adapters/core/src/persistence/compiler.js +0 -34
- package/dist/vendor/adapters/core/src/persistence/index.d.ts +0 -10
- package/dist/vendor/adapters/core/src/persistence/index.js +0 -5
- package/dist/vendor/adapters/core/src/persistence/integrity.d.ts +0 -39
- package/dist/vendor/adapters/core/src/persistence/integrity.js +0 -252
- package/dist/vendor/adapters/core/src/persistence/ledger.d.ts +0 -23
- package/dist/vendor/adapters/core/src/persistence/ledger.js +0 -9
- package/dist/vendor/adapters/core/src/persistence/memory-store.d.ts +0 -63
- package/dist/vendor/adapters/core/src/persistence/memory-store.js +0 -115
- package/dist/vendor/adapters/core/src/persistence/runs-reader.d.ts +0 -66
- package/dist/vendor/adapters/core/src/persistence/runs-reader.js +0 -140
- package/dist/vendor/adapters/core/src/persistence/store.d.ts +0 -89
- package/dist/vendor/adapters/core/src/persistence/store.js +0 -125
- package/dist/vendor/adapters/core/src/persistence/trace-store.d.ts +0 -85
- package/dist/vendor/adapters/core/src/persistence/trace-store.js +0 -125
- package/dist/vendor/adapters/core/src/policy-compiler.d.ts +0 -2
- package/dist/vendor/adapters/core/src/policy-compiler.js +0 -195
- package/dist/vendor/adapters/core/src/policy.d.ts +0 -156
- package/dist/vendor/adapters/core/src/policy.js +0 -704
- package/dist/vendor/adapters/core/src/repo-analyzer.d.ts +0 -53
- package/dist/vendor/adapters/core/src/repo-analyzer.js +0 -263
- package/dist/vendor/adapters/core/src/rollback.d.ts +0 -15
- package/dist/vendor/adapters/core/src/rollback.js +0 -253
- package/dist/vendor/adapters/core/src/routing.d.ts +0 -82
- package/dist/vendor/adapters/core/src/routing.js +0 -336
- package/dist/vendor/adapters/core/src/test-integrity.d.ts +0 -64
- package/dist/vendor/adapters/core/src/test-integrity.js +0 -197
- package/dist/vendor/adapters/core/src/trajectory.d.ts +0 -18
- package/dist/vendor/adapters/core/src/trajectory.js +0 -295
- package/dist/vendor/contracts/delivery.d.ts +0 -47
- package/dist/vendor/contracts/delivery.js +0 -18
- package/dist/vendor/core/delivery/index.d.ts +0 -6
- package/dist/vendor/core/delivery/index.js +0 -4
- package/dist/vendor/core/delivery/message-client.d.ts +0 -18
- package/dist/vendor/core/delivery/message-client.js +0 -38
- package/dist/vendor/core/delivery/message-ledger.d.ts +0 -35
- package/dist/vendor/core/delivery/message-ledger.js +0 -97
- package/dist/vendor/core/delivery/message-schema.d.ts +0 -16
- package/dist/vendor/core/delivery/message-schema.js +0 -111
- package/dist/vendor/core/delivery/update-check.d.ts +0 -19
- package/dist/vendor/core/delivery/update-check.js +0 -107
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Real agent-CLI adapters.
|
|
3
|
-
*
|
|
4
|
-
* Exports a generic factory (`createAgentCliAdapter`) and two pre-configured
|
|
5
|
-
* factories (`createClaudeCliAdapter`, `createCodexCliAdapter`) that spawn
|
|
6
|
-
* the respective AI coding CLI as a child subprocess.
|
|
7
|
-
*
|
|
8
|
-
* Usage in CLI:
|
|
9
|
-
* createClaudeCliAdapter({ workingDirectory: process.cwd() })
|
|
10
|
-
* createCodexCliAdapter({ workingDirectory: process.cwd() })
|
|
11
|
-
*
|
|
12
|
-
* MCP tools and integration tests use the same factories.
|
|
13
|
-
*/
|
|
14
|
-
import type { MartinAdapter, MartinAdapterRequest } from "../../../core/index.js";
|
|
15
|
-
import { type SpawnLike } from "./cli-bridge.js";
|
|
16
|
-
/**
|
|
17
|
-
* Given a prompt string, returns the full argv array to pass to spawn().
|
|
18
|
-
* Example for Claude: () => ["--output-format", "json", "--print"]
|
|
19
|
-
* Example for Codex: () => ["exec", "--sandbox", "workspace-write", "-"]
|
|
20
|
-
*/
|
|
21
|
-
export type CliArgsBuilder = (prompt: string, request: MartinAdapterRequest) => string[];
|
|
22
|
-
export type CliStdinBuilder = (prompt: string) => string | undefined;
|
|
23
|
-
export interface AgentCliAdapterOptions {
|
|
24
|
-
/** The executable to spawn (e.g. "claude", "codex"). */
|
|
25
|
-
command: string;
|
|
26
|
-
/** Converts a prompt string into the argv array passed to spawn(). */
|
|
27
|
-
argsBuilder: CliArgsBuilder;
|
|
28
|
-
/** Optional stdin payload for CLIs that accept prompt input via stdin or `-`. */
|
|
29
|
-
stdinBuilder?: CliStdinBuilder;
|
|
30
|
-
/** Adapter ID suffix. Defaults to command. */
|
|
31
|
-
adapterIdSuffix?: string;
|
|
32
|
-
/** Working directory for all subprocesses. Defaults to process.cwd(). */
|
|
33
|
-
workingDirectory?: string;
|
|
34
|
-
/** Timeout for the agent subprocess in ms. Defaults to 300_000 (5 min). */
|
|
35
|
-
timeoutMs?: number;
|
|
36
|
-
/** Timeout per verification command in ms. Defaults to 120_000 (2 min). */
|
|
37
|
-
verifyTimeoutMs?: number;
|
|
38
|
-
/** Human-readable label shown in loop records. */
|
|
39
|
-
label?: string;
|
|
40
|
-
/** Model name surfaced in adapter metadata (also used for cost estimation). */
|
|
41
|
-
model?: string;
|
|
42
|
-
/**
|
|
43
|
-
* Whether the CLI outputs JSON when --output-format json is passed.
|
|
44
|
-
* Set to false for CLIs that don't support this flag (e.g. Codex).
|
|
45
|
-
* Defaults to true for Claude.
|
|
46
|
-
*/
|
|
47
|
-
supportsJsonOutput?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Set when `argsBuilder` requests `--output-format stream-json` (newline-
|
|
50
|
-
* delimited JSON events) rather than single-blob `json`. Enables (a)
|
|
51
|
-
* incremental result parsing that scans for the final `result` event, and
|
|
52
|
-
* (b) a live cumulative-cost circuit breaker that terminates the subprocess
|
|
53
|
-
* the moment projected spend crosses the remaining per-attempt budget,
|
|
54
|
-
* rather than only learning about an overspend after the process exits.
|
|
55
|
-
*/
|
|
56
|
-
streamingUsageCap?: boolean;
|
|
57
|
-
/** Test-only override for subprocess spawning. */
|
|
58
|
-
spawnImpl?: SpawnLike;
|
|
59
|
-
}
|
|
60
|
-
export interface ClaudeCliAdapterOptions {
|
|
61
|
-
workingDirectory?: string;
|
|
62
|
-
timeoutMs?: number;
|
|
63
|
-
verifyTimeoutMs?: number;
|
|
64
|
-
label?: string;
|
|
65
|
-
/** Override the model passed via --model flag. */
|
|
66
|
-
model?: string;
|
|
67
|
-
/** Extra args appended after core args (before prompt). */
|
|
68
|
-
extraArgs?: string[];
|
|
69
|
-
spawnImpl?: SpawnLike;
|
|
70
|
-
}
|
|
71
|
-
export interface CodexCliAdapterOptions {
|
|
72
|
-
/** Override the executable or absolute command path used to launch Codex. */
|
|
73
|
-
command?: string;
|
|
74
|
-
workingDirectory?: string;
|
|
75
|
-
timeoutMs?: number;
|
|
76
|
-
verifyTimeoutMs?: number;
|
|
77
|
-
label?: string;
|
|
78
|
-
/** Override the model passed via --model flag. */
|
|
79
|
-
model?: string;
|
|
80
|
-
/**
|
|
81
|
-
* Deprecated no-op retained for compatibility.
|
|
82
|
-
*
|
|
83
|
-
* Codex CLI's supported non-interactive entrypoint is `codex exec`.
|
|
84
|
-
* MartinLoop now uses explicit sandboxing instead of the legacy
|
|
85
|
-
* `--full-auto` compatibility path, which can exit before verifier execution.
|
|
86
|
-
*/
|
|
87
|
-
fullAuto?: boolean;
|
|
88
|
-
/** Codex sandbox mode for model-generated commands. Defaults to workspace-write. */
|
|
89
|
-
sandbox?: "read-only" | "workspace-write" | "danger-full-access";
|
|
90
|
-
/** Extra args appended after core args (before prompt). */
|
|
91
|
-
extraArgs?: string[];
|
|
92
|
-
spawnImpl?: SpawnLike;
|
|
93
|
-
}
|
|
94
|
-
export interface GeminiCliAdapterOptions {
|
|
95
|
-
workingDirectory?: string;
|
|
96
|
-
timeoutMs?: number;
|
|
97
|
-
verifyTimeoutMs?: number;
|
|
98
|
-
label?: string;
|
|
99
|
-
/** Override the model passed via --model flag. Defaults to the Gemini `flash` alias. */
|
|
100
|
-
model?: string;
|
|
101
|
-
/** Approval mode for headless Gemini runs. Defaults to yolo for autonomous execution. */
|
|
102
|
-
approvalMode?: "default" | "auto_edit" | "yolo" | "plan";
|
|
103
|
-
/** Enable Gemini sandbox mode when the host is configured for it. Disabled by default. */
|
|
104
|
-
sandbox?: boolean;
|
|
105
|
-
/** Extra args appended after core args. */
|
|
106
|
-
extraArgs?: string[];
|
|
107
|
-
spawnImpl?: SpawnLike;
|
|
108
|
-
}
|
|
109
|
-
export declare function createAgentCliAdapter(options: AgentCliAdapterOptions): MartinAdapter;
|
|
110
|
-
/**
|
|
111
|
-
* Spawns `claude --output-format stream-json --verbose --print "<prompt>" [extraArgs]`.
|
|
112
|
-
*
|
|
113
|
-
* `stream-json` emits one JSON event per line — including per-turn usage on
|
|
114
|
-
* each `assistant` message and a final `result` event carrying the same
|
|
115
|
-
* `result`/`usage`/`total_cost_usd` fields as single-blob `json` output — so
|
|
116
|
-
* MartinLoop can both (a) recover real token usage/cost as before, and
|
|
117
|
-
* (b) watch cumulative spend live and self-terminate the subprocess the
|
|
118
|
-
* moment it crosses the remaining per-attempt budget (see
|
|
119
|
-
* `streamingUsageCap` / `createStreamingUsageInspector`), instead of only
|
|
120
|
-
* discovering an overspend after the whole process has already exited.
|
|
121
|
-
*
|
|
122
|
-
* Requires the Claude Code CLI to be installed and authenticated:
|
|
123
|
-
* https://docs.anthropic.com/claude-code
|
|
124
|
-
*/
|
|
125
|
-
export declare function createClaudeCliAdapter(options?: ClaudeCliAdapterOptions): MartinAdapter;
|
|
126
|
-
/**
|
|
127
|
-
* Spawns `codex exec --cd <workspace> --sandbox <mode> [--model <model>] [extraArgs] -`.
|
|
128
|
-
*
|
|
129
|
-
* The prompt is delivered via stdin so Windows shell quoting cannot truncate or
|
|
130
|
-
* reinterpret long MartinLoop prompts that contain paths, deny rules, or budget
|
|
131
|
-
* context.
|
|
132
|
-
*
|
|
133
|
-
* Requires the Codex CLI to be installed and authenticated:
|
|
134
|
-
* npm install -g @openai/codex
|
|
135
|
-
*/
|
|
136
|
-
export declare function createCodexCliAdapter(options?: CodexCliAdapterOptions): MartinAdapter;
|
|
137
|
-
/**
|
|
138
|
-
* Spawns `gemini --model <model> --prompt "" --approval-mode <mode> --output-format json [...]`.
|
|
139
|
-
*
|
|
140
|
-
* The prompt is delivered via stdin while forcing headless mode with `--prompt ""`,
|
|
141
|
-
* which keeps large MartinLoop prompts off the command line on Windows.
|
|
142
|
-
*
|
|
143
|
-
* Requires the Gemini CLI to be installed and authenticated:
|
|
144
|
-
* npm install -g @google/gemini-cli
|
|
145
|
-
*/
|
|
146
|
-
export declare function createGeminiCliAdapter(options?: GeminiCliAdapterOptions): MartinAdapter;
|