@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.
Files changed (103) hide show
  1. package/README.md +148 -105
  2. package/dist/resources.js +148 -148
  3. package/dist/server.js +0 -0
  4. package/dist/tools/preflight.d.ts +0 -2
  5. package/dist/tools/preflight.js +2 -42
  6. package/dist/vendor/adapters/openai-compatible.js +6 -6
  7. package/dist/vendor/contracts/index.d.ts +0 -2
  8. package/dist/vendor/contracts/index.js +0 -2
  9. package/dist/vendor/core/index.d.ts +0 -2
  10. package/dist/vendor/core/index.js +0 -2
  11. package/package.json +86 -83
  12. package/server.json +21 -21
  13. package/LICENSE +0 -216
  14. package/dist/vendor/adapters/adapters/src/claude-cli.d.ts +0 -146
  15. package/dist/vendor/adapters/adapters/src/claude-cli.js +0 -1100
  16. package/dist/vendor/adapters/adapters/src/cli-bridge.d.ts +0 -103
  17. package/dist/vendor/adapters/adapters/src/cli-bridge.js +0 -569
  18. package/dist/vendor/adapters/adapters/src/codex-launcher.d.ts +0 -78
  19. package/dist/vendor/adapters/adapters/src/codex-launcher.js +0 -663
  20. package/dist/vendor/adapters/adapters/src/direct-provider.d.ts +0 -10
  21. package/dist/vendor/adapters/adapters/src/direct-provider.js +0 -40
  22. package/dist/vendor/adapters/adapters/src/index.d.ts +0 -8
  23. package/dist/vendor/adapters/adapters/src/index.js +0 -8
  24. package/dist/vendor/adapters/adapters/src/openai-compatible.d.ts +0 -62
  25. package/dist/vendor/adapters/adapters/src/openai-compatible.js +0 -306
  26. package/dist/vendor/adapters/adapters/src/runtime-support.d.ts +0 -17
  27. package/dist/vendor/adapters/adapters/src/runtime-support.js +0 -59
  28. package/dist/vendor/adapters/adapters/src/stub-agent-cli.d.ts +0 -8
  29. package/dist/vendor/adapters/adapters/src/stub-agent-cli.js +0 -40
  30. package/dist/vendor/adapters/adapters/src/stub-direct-provider.d.ts +0 -8
  31. package/dist/vendor/adapters/adapters/src/stub-direct-provider.js +0 -12
  32. package/dist/vendor/adapters/adapters/src/verifier-only.d.ts +0 -9
  33. package/dist/vendor/adapters/adapters/src/verifier-only.js +0 -63
  34. package/dist/vendor/adapters/contracts/src/context-graph.d.ts +0 -48
  35. package/dist/vendor/adapters/contracts/src/context-graph.js +0 -26
  36. package/dist/vendor/adapters/contracts/src/execution-policy.d.ts +0 -78
  37. package/dist/vendor/adapters/contracts/src/execution-policy.js +0 -43
  38. package/dist/vendor/adapters/contracts/src/governance.d.ts +0 -24
  39. package/dist/vendor/adapters/contracts/src/governance.js +0 -11
  40. package/dist/vendor/adapters/contracts/src/identity.d.ts +0 -29
  41. package/dist/vendor/adapters/contracts/src/identity.js +0 -30
  42. package/dist/vendor/adapters/contracts/src/index.d.ts +0 -412
  43. package/dist/vendor/adapters/contracts/src/index.js +0 -225
  44. package/dist/vendor/adapters/contracts/src/operator.d.ts +0 -19
  45. package/dist/vendor/adapters/contracts/src/operator.js +0 -11
  46. package/dist/vendor/adapters/contracts/src/trajectory.d.ts +0 -26
  47. package/dist/vendor/adapters/contracts/src/trajectory.js +0 -27
  48. package/dist/vendor/adapters/core/src/compiler.d.ts +0 -52
  49. package/dist/vendor/adapters/core/src/compiler.js +0 -52
  50. package/dist/vendor/adapters/core/src/context-graph.d.ts +0 -3
  51. package/dist/vendor/adapters/core/src/context-graph.js +0 -371
  52. package/dist/vendor/adapters/core/src/context-integrity.d.ts +0 -26
  53. package/dist/vendor/adapters/core/src/context-integrity.js +0 -80
  54. package/dist/vendor/adapters/core/src/grounding.d.ts +0 -38
  55. package/dist/vendor/adapters/core/src/grounding.js +0 -273
  56. package/dist/vendor/adapters/core/src/identity.d.ts +0 -20
  57. package/dist/vendor/adapters/core/src/identity.js +0 -86
  58. package/dist/vendor/adapters/core/src/index.d.ts +0 -186
  59. package/dist/vendor/adapters/core/src/index.js +0 -1495
  60. package/dist/vendor/adapters/core/src/leash.d.ts +0 -48
  61. package/dist/vendor/adapters/core/src/leash.js +0 -497
  62. package/dist/vendor/adapters/core/src/persistence/compiler.d.ts +0 -18
  63. package/dist/vendor/adapters/core/src/persistence/compiler.js +0 -34
  64. package/dist/vendor/adapters/core/src/persistence/index.d.ts +0 -10
  65. package/dist/vendor/adapters/core/src/persistence/index.js +0 -5
  66. package/dist/vendor/adapters/core/src/persistence/integrity.d.ts +0 -39
  67. package/dist/vendor/adapters/core/src/persistence/integrity.js +0 -252
  68. package/dist/vendor/adapters/core/src/persistence/ledger.d.ts +0 -23
  69. package/dist/vendor/adapters/core/src/persistence/ledger.js +0 -9
  70. package/dist/vendor/adapters/core/src/persistence/memory-store.d.ts +0 -63
  71. package/dist/vendor/adapters/core/src/persistence/memory-store.js +0 -115
  72. package/dist/vendor/adapters/core/src/persistence/runs-reader.d.ts +0 -66
  73. package/dist/vendor/adapters/core/src/persistence/runs-reader.js +0 -140
  74. package/dist/vendor/adapters/core/src/persistence/store.d.ts +0 -89
  75. package/dist/vendor/adapters/core/src/persistence/store.js +0 -125
  76. package/dist/vendor/adapters/core/src/persistence/trace-store.d.ts +0 -85
  77. package/dist/vendor/adapters/core/src/persistence/trace-store.js +0 -125
  78. package/dist/vendor/adapters/core/src/policy-compiler.d.ts +0 -2
  79. package/dist/vendor/adapters/core/src/policy-compiler.js +0 -195
  80. package/dist/vendor/adapters/core/src/policy.d.ts +0 -156
  81. package/dist/vendor/adapters/core/src/policy.js +0 -704
  82. package/dist/vendor/adapters/core/src/repo-analyzer.d.ts +0 -53
  83. package/dist/vendor/adapters/core/src/repo-analyzer.js +0 -263
  84. package/dist/vendor/adapters/core/src/rollback.d.ts +0 -15
  85. package/dist/vendor/adapters/core/src/rollback.js +0 -253
  86. package/dist/vendor/adapters/core/src/routing.d.ts +0 -82
  87. package/dist/vendor/adapters/core/src/routing.js +0 -336
  88. package/dist/vendor/adapters/core/src/test-integrity.d.ts +0 -64
  89. package/dist/vendor/adapters/core/src/test-integrity.js +0 -197
  90. package/dist/vendor/adapters/core/src/trajectory.d.ts +0 -18
  91. package/dist/vendor/adapters/core/src/trajectory.js +0 -295
  92. package/dist/vendor/contracts/delivery.d.ts +0 -47
  93. package/dist/vendor/contracts/delivery.js +0 -18
  94. package/dist/vendor/core/delivery/index.d.ts +0 -6
  95. package/dist/vendor/core/delivery/index.js +0 -4
  96. package/dist/vendor/core/delivery/message-client.d.ts +0 -18
  97. package/dist/vendor/core/delivery/message-client.js +0 -38
  98. package/dist/vendor/core/delivery/message-ledger.d.ts +0 -35
  99. package/dist/vendor/core/delivery/message-ledger.js +0 -97
  100. package/dist/vendor/core/delivery/message-schema.d.ts +0 -16
  101. package/dist/vendor/core/delivery/message-schema.js +0 -111
  102. package/dist/vendor/core/delivery/update-check.d.ts +0 -19
  103. 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;