@getripple/mcp 1.0.8 → 1.0.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/CHANGELOG.md +25 -0
- package/README.md +132 -247
- package/dist/server.js +1 -13
- package/dist/server.js.map +1 -1
- package/dist/tools.d.ts +49 -3
- package/dist/tools.js +330 -2
- package/dist/tools.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @getripple/mcp Changelog
|
|
2
2
|
|
|
3
|
+
## [1.0.9] - 2026-06-13
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- Reframe the MCP package as the agent-facing wire for Ripple's local authorization gate.
|
|
7
|
+
- Add `ripple_record_verification` to the documented agent workflow so agents record test or verification evidence before the final gate.
|
|
8
|
+
- Update package metadata to depend on `@getripple/core@^1.0.9`.
|
|
9
|
+
|
|
10
|
+
## [1.0.8] - 2026-06-09
|
|
11
|
+
|
|
12
|
+
### Validation
|
|
13
|
+
- Manually validated MCP-backed agent workflows against a real `sindresorhus/ky` clone through planning, gate checks, repair handoff, policy-based human approval, and CI-style blocking.
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- Consume the core history fix so MCP scans preserve architectural history after cached graph refreshes.
|
|
17
|
+
|
|
18
|
+
## [1.0.7] - 2026-06-08
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- Return evidence-backed risk summaries through MCP gate responses.
|
|
22
|
+
- Add MCP contract coverage for gate risk level, score, reasons, evidence, and required actions.
|
|
23
|
+
- Expose the same continue/repair/human-review language used by CLI and CI.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- Make MCP gate responses easier for AI agents to obey by pairing each stop decision with concrete repair or human-review instructions.
|
|
27
|
+
|
|
3
28
|
## [1.0.6] - 2026-06-07
|
|
4
29
|
|
|
5
30
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,35 +1,24 @@
|
|
|
1
1
|
# @getripple/mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**The agent-facing wire for Ripple's local authorization gate.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`@getripple/mcp` lets MCP-compatible AI coding agents ask Ripple what they are
|
|
6
|
+
allowed to change, record verification evidence, and receive a final
|
|
7
|
+
continue/repair/human-review decision.
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Use this package when you want an agent to ask Ripple:
|
|
9
|
+
Use this package when you want the agent itself to call Ripple:
|
|
10
10
|
|
|
11
11
|
```txt
|
|
12
12
|
What should I read before editing?
|
|
13
|
-
What boundary
|
|
13
|
+
What boundary is approved?
|
|
14
|
+
What verification is required?
|
|
14
15
|
Did my staged changes drift?
|
|
15
16
|
Can I continue?
|
|
16
17
|
What must I fix?
|
|
17
18
|
```
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
```txt
|
|
22
|
-
plan before edit
|
|
23
|
-
save intent
|
|
24
|
-
check after edit
|
|
25
|
-
catch drift
|
|
26
|
-
tell the agent what to fix
|
|
27
|
-
continue / repair / human review
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
The MCP server is best when the AI agent should call Ripple tools directly.
|
|
31
|
-
|
|
32
|
-
For terminal, CI, and human-controlled workflows, use `@getripple/cli`.
|
|
20
|
+
For Git hooks, CI, terminal audits, and repository initialization, use
|
|
21
|
+
`@getripple/cli`.
|
|
33
22
|
|
|
34
23
|
---
|
|
35
24
|
|
|
@@ -64,40 +53,55 @@ Windows: C:\\Users\\yourname\\projects\\myapp
|
|
|
64
53
|
|
|
65
54
|
No global install is required. `npx` fetches and runs the MCP server.
|
|
66
55
|
|
|
56
|
+
Before relying on MCP in a repo, initialize the local control layer:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npx -y @getripple/cli init
|
|
60
|
+
```
|
|
61
|
+
|
|
67
62
|
---
|
|
68
63
|
|
|
69
64
|
## Agent Workflow
|
|
70
65
|
|
|
71
|
-
|
|
66
|
+
Agents should use the Ripple MCP tools in this order:
|
|
72
67
|
|
|
73
68
|
```txt
|
|
74
|
-
1.
|
|
75
|
-
|
|
76
|
-
3. Save the approved intent
|
|
77
|
-
4. Let the agent edit inside the boundary
|
|
78
|
-
5. Check after edit
|
|
79
|
-
6. Catch drift
|
|
80
|
-
7. Tell the agent what to fix
|
|
81
|
-
8. Continue, repair, or ask the human
|
|
82
|
-
```
|
|
69
|
+
1. ripple_doctor
|
|
70
|
+
Check repo readiness.
|
|
83
71
|
|
|
84
|
-
|
|
72
|
+
2. ripple_plan_context
|
|
73
|
+
Plan before editing and save the approved intent.
|
|
85
74
|
|
|
86
|
-
|
|
75
|
+
3. Agent edits code
|
|
76
|
+
Stay inside allowed_files and allowed_symbols.
|
|
87
77
|
|
|
88
|
-
|
|
78
|
+
4. ripple_check_staged or ripple_check_changed
|
|
79
|
+
Compare the real Git diff against the saved intent.
|
|
89
80
|
|
|
90
|
-
|
|
91
|
-
|
|
81
|
+
5. ripple_record_verification
|
|
82
|
+
Record the result of required tests, typechecks, or manual verification.
|
|
83
|
+
|
|
84
|
+
6. ripple_gate
|
|
85
|
+
Get the final continue, repair, human-review, or restore-readiness decision.
|
|
86
|
+
|
|
87
|
+
7. ripple_repair_intent_drift
|
|
88
|
+
If the gate stops, get exact repair actions.
|
|
92
89
|
```
|
|
93
90
|
|
|
94
|
-
|
|
91
|
+
Agent rule:
|
|
92
|
+
|
|
93
|
+
```txt
|
|
94
|
+
canContinue=true -> continue only after required verification
|
|
95
|
+
mustStop=true -> stop and follow fixNow
|
|
96
|
+
needsHuman=true -> ask the human; do not self-approve
|
|
97
|
+
```
|
|
95
98
|
|
|
96
|
-
|
|
99
|
+
Do not claim Ripple passed unless you called a Ripple MCP tool and the final
|
|
100
|
+
gate allowed the work to continue.
|
|
97
101
|
|
|
98
102
|
---
|
|
99
103
|
|
|
100
|
-
##
|
|
104
|
+
## Plan Before Edit
|
|
101
105
|
|
|
102
106
|
Call:
|
|
103
107
|
|
|
@@ -109,8 +113,8 @@ Pass:
|
|
|
109
113
|
|
|
110
114
|
```txt
|
|
111
115
|
task
|
|
112
|
-
|
|
113
|
-
|
|
116
|
+
targetFile
|
|
117
|
+
controlMode
|
|
114
118
|
saveIntent: true
|
|
115
119
|
```
|
|
116
120
|
|
|
@@ -125,43 +129,52 @@ allowedSymbols
|
|
|
125
129
|
editableFiles
|
|
126
130
|
verificationTargets
|
|
127
131
|
risk
|
|
132
|
+
policyExplanation
|
|
128
133
|
human gate state
|
|
129
134
|
```
|
|
130
135
|
|
|
131
|
-
When `saveIntent: true` is used, Ripple saves the
|
|
132
|
-
|
|
133
|
-
The saved intent becomes the trust boundary for the agent's work.
|
|
136
|
+
When `saveIntent: true` is used, Ripple saves the approved boundary for later
|
|
137
|
+
drift checks.
|
|
134
138
|
|
|
135
139
|
---
|
|
136
140
|
|
|
137
|
-
##
|
|
141
|
+
## Record Verification
|
|
138
142
|
|
|
139
|
-
After the agent
|
|
143
|
+
After editing, the agent must run or report the narrowest relevant verification
|
|
144
|
+
target before final handoff when Ripple asks for it.
|
|
145
|
+
|
|
146
|
+
Call:
|
|
140
147
|
|
|
141
148
|
```txt
|
|
142
|
-
|
|
149
|
+
ripple_record_verification
|
|
143
150
|
```
|
|
144
151
|
|
|
145
|
-
|
|
152
|
+
Example reported evidence:
|
|
146
153
|
|
|
147
154
|
```txt
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
contract drift
|
|
152
|
-
approval state
|
|
153
|
-
handoff
|
|
155
|
+
command: npm test -- tests/auth.test.ts
|
|
156
|
+
status: passed
|
|
157
|
+
note: auth retry tests passed after boundary-scoped change
|
|
154
158
|
```
|
|
155
159
|
|
|
156
|
-
|
|
160
|
+
Supported statuses:
|
|
157
161
|
|
|
158
162
|
```txt
|
|
159
|
-
|
|
163
|
+
passed
|
|
164
|
+
failed
|
|
165
|
+
skipped
|
|
166
|
+
unknown
|
|
160
167
|
```
|
|
161
168
|
|
|
169
|
+
Failed evidence blocks as repair. Skipped or unknown evidence requires human
|
|
170
|
+
review. Stale evidence must be rerun against the current changed files.
|
|
171
|
+
|
|
172
|
+
After recording verification evidence, call `ripple_gate` again so the final
|
|
173
|
+
decision includes that evidence.
|
|
174
|
+
|
|
162
175
|
---
|
|
163
176
|
|
|
164
|
-
##
|
|
177
|
+
## Ask The Gate
|
|
165
178
|
|
|
166
179
|
Call:
|
|
167
180
|
|
|
@@ -171,13 +184,7 @@ ripple_gate
|
|
|
171
184
|
|
|
172
185
|
`ripple_gate` is the compact continue/stop decision.
|
|
173
186
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
```txt
|
|
177
|
-
Can the AI agent continue?
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
Example:
|
|
187
|
+
Example stop response:
|
|
181
188
|
|
|
182
189
|
```json
|
|
183
190
|
{
|
|
@@ -190,40 +197,22 @@ Example:
|
|
|
190
197
|
}
|
|
191
198
|
```
|
|
192
199
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
```txt
|
|
196
|
-
canContinue=true -> continue only after required verification
|
|
197
|
-
mustStop=true -> stop and follow fixNow
|
|
198
|
-
needsHuman=true -> ask the human; do not self-approve
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
## 5. Repair Drift
|
|
204
|
-
|
|
205
|
-
Call:
|
|
200
|
+
If the agent crossed a function boundary, the gate can return evidence like:
|
|
206
201
|
|
|
207
202
|
```txt
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
This tells the agent what to fix.
|
|
203
|
+
Allowed:
|
|
204
|
+
- src/auth.ts::refreshToken
|
|
212
205
|
|
|
213
|
-
|
|
206
|
+
Changed outside boundary:
|
|
207
|
+
- symbol: src/auth.ts::login
|
|
214
208
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
which contracts to review
|
|
219
|
-
which tests to run
|
|
220
|
-
when to create a wider human-approved intent
|
|
221
|
-
when to ask the human
|
|
209
|
+
Fix now:
|
|
210
|
+
- Undo or replan unapproved symbol: src/auth.ts::login
|
|
211
|
+
- Ask the human to approve a wider boundary before keeping these changes.
|
|
222
212
|
```
|
|
223
213
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
It should ask for a wider human-approved intent.
|
|
214
|
+
Ripple does not silently delete code. It stops the workflow and tells the agent
|
|
215
|
+
what must be fixed or when a human must review.
|
|
227
216
|
|
|
228
217
|
---
|
|
229
218
|
|
|
@@ -232,12 +221,14 @@ It should ask for a wider human-approved intent.
|
|
|
232
221
|
```txt
|
|
233
222
|
ripple_get_agent_workflow full agent workflow guide and output contracts
|
|
234
223
|
ripple_doctor check project readiness
|
|
224
|
+
ripple_get_intent_status check whether saved intent is missing, active, closed, or invalid
|
|
235
225
|
ripple_plan_context plan before editing and optionally save intent
|
|
236
226
|
ripple_check_staged check staged files against saved intent
|
|
237
227
|
ripple_check_changed check changed files against a git base ref
|
|
238
228
|
ripple_audit_change audit a completed change for drift signals
|
|
239
229
|
ripple_gate compact continue/stop decision
|
|
240
230
|
ripple_get_approval_status check whether a human gate is required
|
|
231
|
+
ripple_record_verification record passed/failed/skipped/unknown verification evidence
|
|
241
232
|
ripple_repair_intent_drift get repair actions when drift is detected
|
|
242
233
|
ripple_get_focus focused context for one file
|
|
243
234
|
ripple_get_blast_radius files that depend on a target file
|
|
@@ -247,116 +238,32 @@ ripple_get_recent_changes recent architectural changes from history
|
|
|
247
238
|
|
|
248
239
|
---
|
|
249
240
|
|
|
250
|
-
## Example Agent Loop
|
|
251
|
-
|
|
252
|
-
A safe AI-agent workflow should look like this:
|
|
253
|
-
|
|
254
|
-
```txt
|
|
255
|
-
1. Call ripple_doctor
|
|
256
|
-
2. Call ripple_plan_context with saveIntent=true
|
|
257
|
-
3. Read only the suggested context
|
|
258
|
-
4. Edit only inside the approved boundary
|
|
259
|
-
5. Stage the intended changes
|
|
260
|
-
6. Call ripple_check_staged
|
|
261
|
-
7. Call ripple_gate
|
|
262
|
-
8. Continue, repair, or stop based on the gate
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
If `mustStop=true`, the agent must stop.
|
|
266
|
-
|
|
267
|
-
If `needsHuman=true`, the agent must ask the human.
|
|
268
|
-
|
|
269
|
-
If `canContinue=true`, the agent may continue only after required verification passes.
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
241
|
## Trust Boundaries
|
|
274
242
|
|
|
275
|
-
Ripple saves the freedom level the agent was given before editing and checks
|
|
243
|
+
Ripple saves the freedom level the agent was given before editing and checks
|
|
244
|
+
whether the agent stayed inside it after editing.
|
|
276
245
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
|
280
|
-
|
|
|
281
|
-
| `
|
|
282
|
-
| `
|
|
283
|
-
| `
|
|
284
|
-
| `task` | Files in the saved task plan may change. |
|
|
285
|
-
| `pr` | Full task scope. Human reviews before merge. |
|
|
246
|
+
| Mode | Agent is allowed to |
|
|
247
|
+
| --- | --- |
|
|
248
|
+
| `brainstorm` | Suggest and explain only. No edits. |
|
|
249
|
+
| `function` | Edit only the approved symbol. |
|
|
250
|
+
| `file` | Edit only the approved file. |
|
|
251
|
+
| `task` | Edit files in the saved task plan. |
|
|
252
|
+
| `pr` | Complete low-risk PR work for human review before merge. |
|
|
286
253
|
|
|
287
254
|
Example function boundary:
|
|
288
255
|
|
|
289
256
|
```txt
|
|
290
|
-
|
|
291
|
-
symbol: refreshToken
|
|
292
|
-
mode: function
|
|
257
|
+
tool: ripple_plan_context
|
|
293
258
|
task: fix retry behavior
|
|
259
|
+
targetFile: src/auth.ts
|
|
260
|
+
symbol: refreshToken
|
|
261
|
+
controlMode: function
|
|
294
262
|
saveIntent: true
|
|
295
263
|
```
|
|
296
264
|
|
|
297
|
-
If `function` mode approves only `refreshToken` but the agent also changes
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
## Gate Decisions
|
|
302
|
-
|
|
303
|
-
`ripple_gate` returns the decision an agent should obey.
|
|
304
|
-
|
|
305
|
-
Possible decisions include:
|
|
306
|
-
|
|
307
|
-
```txt
|
|
308
|
-
continue
|
|
309
|
-
repair
|
|
310
|
-
human-review
|
|
311
|
-
restore-readiness
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
Example stop decision:
|
|
315
|
-
|
|
316
|
-
```txt
|
|
317
|
-
STOP: agent crossed approved function boundary.
|
|
318
|
-
|
|
319
|
-
Allowed:
|
|
320
|
-
- src/auth.ts::refreshToken
|
|
321
|
-
|
|
322
|
-
Changed outside boundary:
|
|
323
|
-
- src/auth.ts::login
|
|
324
|
-
|
|
325
|
-
Fix:
|
|
326
|
-
- undo src/auth.ts::login
|
|
327
|
-
- or create a wider human-approved intent
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
Machine-readable output includes:
|
|
331
|
-
|
|
332
|
-
```json
|
|
333
|
-
{
|
|
334
|
-
"status": "closed",
|
|
335
|
-
"decision": "human-review",
|
|
336
|
-
"canContinue": false,
|
|
337
|
-
"mustStop": true,
|
|
338
|
-
"needsHuman": true,
|
|
339
|
-
"why": ["Changed symbol outside approved boundary: src/auth.ts::login"],
|
|
340
|
-
"fixNow": ["Undo src/auth.ts::login or replan with human approval."]
|
|
341
|
-
}
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
---
|
|
345
|
-
|
|
346
|
-
## Run Manually
|
|
347
|
-
|
|
348
|
-
Run without installing:
|
|
349
|
-
|
|
350
|
-
```bash
|
|
351
|
-
npx -y @getripple/mcp --workspace /absolute/path/to/your/repo
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
Or install globally:
|
|
355
|
-
|
|
356
|
-
```bash
|
|
357
|
-
npm install -g @getripple/mcp
|
|
358
|
-
ripple-mcp --workspace /absolute/path/to/your/repo
|
|
359
|
-
```
|
|
265
|
+
If `function` mode approves only `refreshToken` but the agent also changes
|
|
266
|
+
`login`, Ripple stops the workflow and tells the agent what to fix.
|
|
360
267
|
|
|
361
268
|
---
|
|
362
269
|
|
|
@@ -364,11 +271,8 @@ ripple-mcp --workspace /absolute/path/to/your/repo
|
|
|
364
271
|
|
|
365
272
|
The server communicates over stdio using JSON-RPC.
|
|
366
273
|
|
|
367
|
-
Only MCP protocol messages are written to stdout.
|
|
368
|
-
|
|
369
|
-
Non-protocol scan/cache output is kept off stdout so MCP clients can parse responses reliably.
|
|
370
|
-
|
|
371
|
-
This matters because MCP clients expect clean JSON-RPC messages on stdout.
|
|
274
|
+
Only MCP protocol messages are written to stdout. Non-protocol scan/cache output
|
|
275
|
+
is kept off stdout so MCP clients can parse responses reliably.
|
|
372
276
|
|
|
373
277
|
---
|
|
374
278
|
|
|
@@ -395,25 +299,13 @@ ignore: .ripple/.cache/
|
|
|
395
299
|
|
|
396
300
|
`.ripple/.cache/` is machine cache.
|
|
397
301
|
|
|
398
|
-
Policy, history, intents, and approvals are durable workflow/audit state.
|
|
399
|
-
|
|
400
302
|
---
|
|
401
303
|
|
|
402
304
|
## CLI Relationship
|
|
403
305
|
|
|
404
306
|
The MCP package is for agents.
|
|
405
307
|
|
|
406
|
-
The CLI package is for humans, terminals, scripts, and CI.
|
|
407
|
-
|
|
408
|
-
Use CLI when you want:
|
|
409
|
-
|
|
410
|
-
```txt
|
|
411
|
-
manual commands
|
|
412
|
-
CI gates
|
|
413
|
-
local terminal workflows
|
|
414
|
-
release proofs
|
|
415
|
-
human-controlled checks
|
|
416
|
-
```
|
|
308
|
+
The CLI package is for humans, terminals, hooks, scripts, and CI.
|
|
417
309
|
|
|
418
310
|
Use MCP when you want:
|
|
419
311
|
|
|
@@ -422,28 +314,31 @@ agents to call Ripple directly
|
|
|
422
314
|
structured tool responses
|
|
423
315
|
stdio JSON-RPC protocol
|
|
424
316
|
agent-readable handoff decisions
|
|
317
|
+
verification evidence recorded into the saved intent
|
|
425
318
|
```
|
|
426
319
|
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
## Language Support
|
|
430
|
-
|
|
431
|
-
Strongest today:
|
|
320
|
+
Use CLI when you want:
|
|
432
321
|
|
|
433
322
|
```txt
|
|
434
|
-
|
|
435
|
-
|
|
323
|
+
repo initialization
|
|
324
|
+
Git hook enforcement
|
|
325
|
+
CI gates
|
|
326
|
+
local terminal workflows
|
|
327
|
+
release proofs
|
|
328
|
+
human-controlled checks
|
|
436
329
|
```
|
|
437
330
|
|
|
438
|
-
|
|
331
|
+
---
|
|
439
332
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
file-level staged checks
|
|
446
|
-
|
|
333
|
+
## Language Support
|
|
334
|
+
|
|
335
|
+
| Language | Status |
|
|
336
|
+
| --- | --- |
|
|
337
|
+
| TypeScript / JavaScript | Deep support for imports, exports, symbols, callers, staged drift, and blast radius |
|
|
338
|
+
| Python | Basic support for imports, functions, classes, methods, and file-level staged checks |
|
|
339
|
+
|
|
340
|
+
Ripple uses static analysis. It can miss runtime-only behavior, dynamic imports,
|
|
341
|
+
reflection, decorators, generated code, and framework-specific magic.
|
|
447
342
|
|
|
448
343
|
---
|
|
449
344
|
|
|
@@ -452,37 +347,27 @@ file-level staged checks
|
|
|
452
347
|
Ripple runs locally.
|
|
453
348
|
|
|
454
349
|
```txt
|
|
455
|
-
No account required
|
|
456
|
-
No telemetry
|
|
457
|
-
No cloud indexing
|
|
458
|
-
No code upload
|
|
459
|
-
No remote model call required
|
|
350
|
+
No account required.
|
|
351
|
+
No telemetry.
|
|
352
|
+
No cloud indexing.
|
|
353
|
+
No code upload.
|
|
354
|
+
No remote model call required.
|
|
460
355
|
```
|
|
461
356
|
|
|
462
|
-
Your
|
|
463
|
-
|
|
464
|
-
The MCP server does not require sending your code to a cloud service.
|
|
357
|
+
Your repository is scanned on your machine. The MCP server does not require
|
|
358
|
+
sending your code to a cloud service.
|
|
465
359
|
|
|
466
360
|
---
|
|
467
361
|
|
|
468
|
-
##
|
|
469
|
-
|
|
470
|
-
Public alpha.
|
|
362
|
+
## Honest Limits
|
|
471
363
|
|
|
472
|
-
Ripple is a
|
|
473
|
-
|
|
474
|
-
It is not:
|
|
475
|
-
|
|
476
|
-
```txt
|
|
477
|
-
a sandbox
|
|
478
|
-
a test replacement
|
|
479
|
-
a typechecker replacement
|
|
480
|
-
a code review replacement
|
|
481
|
-
a CI replacement
|
|
482
|
-
a human judgment replacement
|
|
483
|
-
```
|
|
364
|
+
Ripple is deterministic infrastructure, not a magical AI wrapper.
|
|
484
365
|
|
|
485
|
-
Ripple
|
|
366
|
+
- Ripple is not a coding agent.
|
|
367
|
+
- Ripple is not a sandbox.
|
|
368
|
+
- Ripple relies on agents actually calling the MCP tools.
|
|
369
|
+
- Ripple uses static analysis.
|
|
370
|
+
- Ripple does not replace your compiler, test suite, code review, or judgment.
|
|
486
371
|
|
|
487
372
|
---
|
|
488
373
|
|
package/dist/server.js
CHANGED
|
@@ -223,19 +223,7 @@ function parseToolCallParams(params) {
|
|
|
223
223
|
};
|
|
224
224
|
}
|
|
225
225
|
function isRippleMcpToolName(name) {
|
|
226
|
-
return
|
|
227
|
-
name === "ripple_check_changed" ||
|
|
228
|
-
name === "ripple_check_staged" ||
|
|
229
|
-
name === "ripple_audit_change" ||
|
|
230
|
-
name === "ripple_gate" ||
|
|
231
|
-
name === "ripple_get_approval_status" ||
|
|
232
|
-
name === "ripple_get_agent_workflow" ||
|
|
233
|
-
name === "ripple_repair_intent_drift" ||
|
|
234
|
-
name === "ripple_get_focus" ||
|
|
235
|
-
name === "ripple_get_blast_radius" ||
|
|
236
|
-
name === "ripple_explain_policy" ||
|
|
237
|
-
name === "ripple_plan_context" ||
|
|
238
|
-
name === "ripple_get_recent_changes");
|
|
226
|
+
return typeof name === "string" && tools_1.RIPPLE_MCP_TOOLS.some((tool) => tool.name === name);
|
|
239
227
|
}
|
|
240
228
|
function isJsonRpcRequest(value) {
|
|
241
229
|
if (!isRecord(value)) {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAyB;AACzB,2CAA6B;AAC7B,mDAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AgentWorkflowSummary, ChangeIntent, ContextPlanSummary, FileBlastRadiusSummary, FileFocusSummary, IntentDriftRepairPlan, RippleApprovalStatus, RippleAuditSummary, RippleGateSummary, RipplePolicyExplanation, RecentHistorySummary, RippleReadinessSummary, StagedCheckSummary, StagedCheckWithIntentSummary } from "@getripple/core";
|
|
2
|
-
export type RippleMcpToolName = "ripple_doctor" | "ripple_check_changed" | "ripple_check_staged" | "ripple_audit_change" | "ripple_gate" | "ripple_get_approval_status" | "ripple_get_agent_workflow" | "ripple_repair_intent_drift" | "ripple_get_focus" | "ripple_get_blast_radius" | "ripple_explain_policy" | "ripple_plan_context" | "ripple_get_recent_changes";
|
|
1
|
+
import { AgentWorkflowSummary, ChangeIntent, ContextPlanSummary, FileBlastRadiusSummary, FileFocusSummary, IntentDriftRepairPlan, RippleApprovalStatus, RippleAuditSummary, RippleGateIntentBlockSummary, RippleGateSummary, RipplePolicyExplanation, RippleVerificationEvidence, RecentHistorySummary, RippleReadinessSummary, StagedCheckSummary, StagedCheckWithIntentSummary } from "@getripple/core";
|
|
2
|
+
export type RippleMcpToolName = "ripple_doctor" | "ripple_check_changed" | "ripple_check_staged" | "ripple_audit_change" | "ripple_gate" | "ripple_get_intent_status" | "ripple_get_approval_status" | "ripple_get_agent_workflow" | "ripple_repair_intent_drift" | "ripple_get_focus" | "ripple_get_blast_radius" | "ripple_explain_policy" | "ripple_plan_context" | "ripple_record_verification" | "ripple_get_recent_changes";
|
|
3
3
|
export type RippleMcpToolDefinition = {
|
|
4
4
|
name: RippleMcpToolName;
|
|
5
5
|
description: string;
|
|
@@ -14,7 +14,7 @@ export type RippleMcpToolHostOptions = {
|
|
|
14
14
|
workspaceRoot: string;
|
|
15
15
|
};
|
|
16
16
|
export type RippleMcpToolCallArgs = Record<string, unknown>;
|
|
17
|
-
export type RippleMcpToolData = AgentWorkflowSummary | RippleReadinessSummary | FileFocusSummary | FileBlastRadiusSummary | ContextPlanSummary | ContextPlanWithIntentSummary | RipplePolicyExplanation | ApprovalStatusWithIntentSummary | RippleAuditSummary | RippleGateSummary | IntentDriftRepairPlan | RecentHistorySummary | StagedCheckSummary | StagedCheckWithIntentSummary;
|
|
17
|
+
export type RippleMcpToolData = AgentWorkflowSummary | RippleReadinessSummary | FileFocusSummary | FileBlastRadiusSummary | ContextPlanSummary | ContextPlanWithIntentSummary | RipplePolicyExplanation | RippleIntentStatusSummary | ApprovalStatusWithIntentSummary | VerificationEvidenceSummary | RippleAuditSummary | RippleGateSummary | RippleGateIntentBlockSummary | IntentDriftRepairPlan | RecentHistorySummary | StagedCheckSummary | StagedCheckWithIntentSummary;
|
|
18
18
|
export type RippleMcpToolResult<T = RippleMcpToolData> = {
|
|
19
19
|
tool: RippleMcpToolName;
|
|
20
20
|
data: T;
|
|
@@ -24,6 +24,40 @@ export type ContextPlanWithIntentSummary = ContextPlanSummary & {
|
|
|
24
24
|
changeIntent?: ChangeIntent;
|
|
25
25
|
changeIntentPath?: string;
|
|
26
26
|
};
|
|
27
|
+
export type RippleIntentLifecycleState = "missing" | "active" | "closed" | "invalid";
|
|
28
|
+
export type RippleIntentSnapshot = {
|
|
29
|
+
id: string;
|
|
30
|
+
createdAt: string;
|
|
31
|
+
task: string;
|
|
32
|
+
targetFile: string;
|
|
33
|
+
controlMode: ChangeIntent["controlMode"];
|
|
34
|
+
humanGate: ChangeIntent["humanGate"];
|
|
35
|
+
boundaryRisk: ChangeIntent["boundaryRisk"];
|
|
36
|
+
};
|
|
37
|
+
export type RippleClosedIntentSummary = {
|
|
38
|
+
closedAt?: string;
|
|
39
|
+
closedBy?: string;
|
|
40
|
+
reason?: string;
|
|
41
|
+
originalIntentPath?: string;
|
|
42
|
+
intent?: RippleIntentSnapshot;
|
|
43
|
+
};
|
|
44
|
+
export type RippleIntentStatusSummary = {
|
|
45
|
+
protocol: "ripple-intent-status";
|
|
46
|
+
version: 1;
|
|
47
|
+
workspace: string;
|
|
48
|
+
intentRef: string;
|
|
49
|
+
intentPath: string;
|
|
50
|
+
state: RippleIntentLifecycleState;
|
|
51
|
+
exists: boolean;
|
|
52
|
+
active: boolean;
|
|
53
|
+
canSaveNewIntent: boolean;
|
|
54
|
+
mustAskHuman: boolean;
|
|
55
|
+
nextRequiredAction: string;
|
|
56
|
+
nextSteps: string[];
|
|
57
|
+
intent?: RippleIntentSnapshot;
|
|
58
|
+
closed?: RippleClosedIntentSummary;
|
|
59
|
+
error?: string;
|
|
60
|
+
};
|
|
27
61
|
export type ApprovalStatusWithIntentSummary = RippleApprovalStatus & {
|
|
28
62
|
intent: {
|
|
29
63
|
id: string;
|
|
@@ -34,6 +68,16 @@ export type ApprovalStatusWithIntentSummary = RippleApprovalStatus & {
|
|
|
34
68
|
boundaryRisk: ChangeIntent["boundaryRisk"];
|
|
35
69
|
};
|
|
36
70
|
};
|
|
71
|
+
export type VerificationEvidenceSummary = {
|
|
72
|
+
protocol: "ripple-verification-evidence";
|
|
73
|
+
version: 1;
|
|
74
|
+
workspace: string;
|
|
75
|
+
intentPath: string;
|
|
76
|
+
intentId: string;
|
|
77
|
+
evidence: RippleVerificationEvidence;
|
|
78
|
+
totalEvidence: number;
|
|
79
|
+
nextSteps: string[];
|
|
80
|
+
};
|
|
37
81
|
export declare const RIPPLE_MCP_TOOLS: RippleMcpToolDefinition[];
|
|
38
82
|
export declare class RippleMcpToolHost {
|
|
39
83
|
private readonly workspaceRoot;
|
|
@@ -50,6 +94,8 @@ export declare class RippleMcpToolHost {
|
|
|
50
94
|
private explainPolicy;
|
|
51
95
|
private planContext;
|
|
52
96
|
private getRecentChanges;
|
|
97
|
+
private getIntentStatus;
|
|
98
|
+
private recordVerification;
|
|
53
99
|
private getApprovalStatus;
|
|
54
100
|
private checkStaged;
|
|
55
101
|
private checkChanged;
|
package/dist/tools.js
CHANGED
|
@@ -24,11 +24,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.createRippleMcpToolHost = exports.RippleMcpToolHost = exports.RIPPLE_MCP_TOOLS = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
27
28
|
const path = __importStar(require("path"));
|
|
28
29
|
const core_1 = require("@getripple/core");
|
|
29
30
|
const MCP_CONTROL_MODES = ["brainstorm", "function", "file", "task", "pr"];
|
|
30
31
|
const MCP_AUDIT_MODES = ["staged", "changed"];
|
|
31
32
|
const MCP_APPROVAL_GATES = ["before-risky-edit", "before-merge"];
|
|
33
|
+
const MCP_VERIFICATION_STATUSES = [
|
|
34
|
+
"passed",
|
|
35
|
+
"failed",
|
|
36
|
+
"skipped",
|
|
37
|
+
"unknown",
|
|
38
|
+
];
|
|
32
39
|
exports.RIPPLE_MCP_TOOLS = [
|
|
33
40
|
{
|
|
34
41
|
name: "ripple_doctor",
|
|
@@ -133,6 +140,20 @@ exports.RIPPLE_MCP_TOOLS = [
|
|
|
133
140
|
additionalProperties: false,
|
|
134
141
|
},
|
|
135
142
|
},
|
|
143
|
+
{
|
|
144
|
+
name: "ripple_get_intent_status",
|
|
145
|
+
description: "Return whether a saved Ripple intent boundary is missing, active, closed, or invalid before an agent plans or edits.",
|
|
146
|
+
inputSchema: {
|
|
147
|
+
type: "object",
|
|
148
|
+
properties: {
|
|
149
|
+
intentPath: {
|
|
150
|
+
type: "string",
|
|
151
|
+
description: "Saved Ripple change intent path, id, or latest. Defaults to latest.",
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
additionalProperties: false,
|
|
155
|
+
},
|
|
156
|
+
},
|
|
136
157
|
{
|
|
137
158
|
name: "ripple_get_approval_status",
|
|
138
159
|
description: "Return whether the saved Ripple change intent has a valid, missing, stale, or not-required human approval record.",
|
|
@@ -281,6 +302,34 @@ exports.RIPPLE_MCP_TOOLS = [
|
|
|
281
302
|
additionalProperties: false,
|
|
282
303
|
},
|
|
283
304
|
},
|
|
305
|
+
{
|
|
306
|
+
name: "ripple_record_verification",
|
|
307
|
+
description: "Record reported verification evidence on a saved Ripple intent after an agent runs, skips, or cannot prove a check.",
|
|
308
|
+
inputSchema: {
|
|
309
|
+
type: "object",
|
|
310
|
+
properties: {
|
|
311
|
+
intentPath: {
|
|
312
|
+
type: "string",
|
|
313
|
+
description: "Saved Ripple change intent path, id, or latest. Defaults to latest.",
|
|
314
|
+
},
|
|
315
|
+
command: {
|
|
316
|
+
type: "string",
|
|
317
|
+
description: "Verification command or manual check label being reported.",
|
|
318
|
+
},
|
|
319
|
+
status: {
|
|
320
|
+
type: "string",
|
|
321
|
+
enum: MCP_VERIFICATION_STATUSES,
|
|
322
|
+
description: "Reported verification result. Failed blocks as repair; skipped/unknown require human review.",
|
|
323
|
+
},
|
|
324
|
+
note: {
|
|
325
|
+
type: "string",
|
|
326
|
+
description: "Optional short note explaining the reported result.",
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
required: ["command", "status"],
|
|
330
|
+
additionalProperties: false,
|
|
331
|
+
},
|
|
332
|
+
},
|
|
284
333
|
{
|
|
285
334
|
name: "ripple_get_recent_changes",
|
|
286
335
|
description: "Return recent Ripple history groups for this workspace.",
|
|
@@ -335,6 +384,12 @@ class RippleMcpToolHost {
|
|
|
335
384
|
data: this.getApprovalStatus(args),
|
|
336
385
|
};
|
|
337
386
|
}
|
|
387
|
+
if (name === "ripple_get_intent_status") {
|
|
388
|
+
return {
|
|
389
|
+
tool: name,
|
|
390
|
+
data: this.getIntentStatus(args),
|
|
391
|
+
};
|
|
392
|
+
}
|
|
338
393
|
if (name === "ripple_get_focus") {
|
|
339
394
|
await this.initialize();
|
|
340
395
|
return {
|
|
@@ -363,6 +418,12 @@ class RippleMcpToolHost {
|
|
|
363
418
|
data: this.planContext(args),
|
|
364
419
|
};
|
|
365
420
|
}
|
|
421
|
+
if (name === "ripple_record_verification") {
|
|
422
|
+
return {
|
|
423
|
+
tool: name,
|
|
424
|
+
data: this.recordVerification(args),
|
|
425
|
+
};
|
|
426
|
+
}
|
|
366
427
|
if (name === "ripple_check_staged") {
|
|
367
428
|
return {
|
|
368
429
|
tool: name,
|
|
@@ -460,6 +521,7 @@ class RippleMcpToolHost {
|
|
|
460
521
|
policy,
|
|
461
522
|
policyExplanation,
|
|
462
523
|
});
|
|
524
|
+
assertMcpCanSaveIntent(this.workspaceRoot, parsed.intentPath);
|
|
463
525
|
const savedPath = (0, core_1.saveChangeIntent)(this.workspaceRoot, changeIntent, parsed.intentPath);
|
|
464
526
|
const readiness = (0, core_1.buildRippleReadinessSummary)(this.workspaceRoot, this.engine);
|
|
465
527
|
changeIntent.readinessSnapshot = (0, core_1.buildChangeIntentReadinessSnapshot)(readiness);
|
|
@@ -474,15 +536,117 @@ class RippleMcpToolHost {
|
|
|
474
536
|
getRecentChanges(args) {
|
|
475
537
|
return this.engine.getRecentHistorySummary(optionalPositiveInteger(args, "limit", 10));
|
|
476
538
|
}
|
|
539
|
+
getIntentStatus(args) {
|
|
540
|
+
const intentRef = optionalString(args, "intentPath") ?? "latest";
|
|
541
|
+
const intentPath = resolveMcpIntentPath(this.workspaceRoot, intentRef);
|
|
542
|
+
const relativeIntentPath = formatWorkspacePath(this.workspaceRoot, intentPath);
|
|
543
|
+
if (!fs.existsSync(intentPath)) {
|
|
544
|
+
return {
|
|
545
|
+
protocol: "ripple-intent-status",
|
|
546
|
+
version: 1,
|
|
547
|
+
workspace: this.workspaceRoot,
|
|
548
|
+
intentRef,
|
|
549
|
+
intentPath: relativeIntentPath,
|
|
550
|
+
state: "missing",
|
|
551
|
+
exists: false,
|
|
552
|
+
active: false,
|
|
553
|
+
canSaveNewIntent: true,
|
|
554
|
+
mustAskHuman: false,
|
|
555
|
+
nextRequiredAction: "Create a saved Ripple plan before editing so the agent has an auditable boundary.",
|
|
556
|
+
nextSteps: [
|
|
557
|
+
"Call ripple_plan_context with saveIntent: true before editing.",
|
|
558
|
+
"If the task is risky, wait for the human approval gate before changing code.",
|
|
559
|
+
],
|
|
560
|
+
};
|
|
561
|
+
}
|
|
562
|
+
const parsed = readIntentMarker(intentPath);
|
|
563
|
+
if (!parsed.ok) {
|
|
564
|
+
return invalidIntentStatus(this.workspaceRoot, intentRef, relativeIntentPath, parsed.error);
|
|
565
|
+
}
|
|
566
|
+
if (parsed.protocol === "ripple-change-intent") {
|
|
567
|
+
try {
|
|
568
|
+
const intent = (0, core_1.loadChangeIntent)(this.workspaceRoot, intentRef);
|
|
569
|
+
return {
|
|
570
|
+
protocol: "ripple-intent-status",
|
|
571
|
+
version: 1,
|
|
572
|
+
workspace: this.workspaceRoot,
|
|
573
|
+
intentRef,
|
|
574
|
+
intentPath: relativeIntentPath,
|
|
575
|
+
state: "active",
|
|
576
|
+
exists: true,
|
|
577
|
+
active: true,
|
|
578
|
+
canSaveNewIntent: false,
|
|
579
|
+
mustAskHuman: false,
|
|
580
|
+
nextRequiredAction: "Use this saved boundary for gate/check calls, or ask the human to close or widen it before saving a different intent.",
|
|
581
|
+
intent: intentSnapshot(intent),
|
|
582
|
+
nextSteps: [
|
|
583
|
+
"Call ripple_gate with this intent after changes are staged.",
|
|
584
|
+
"Do not call ripple_plan_context with saveIntent: true for another boundary while this intent is active.",
|
|
585
|
+
"If the scope must change, ask the human to run ripple intent close --reason or approve a wider plan.",
|
|
586
|
+
],
|
|
587
|
+
};
|
|
588
|
+
}
|
|
589
|
+
catch (err) {
|
|
590
|
+
return invalidIntentStatus(this.workspaceRoot, intentRef, relativeIntentPath, errorMessage(err));
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
if (parsed.protocol === "ripple-closed-intent") {
|
|
594
|
+
const closed = closedIntentSummary(parsed.value);
|
|
595
|
+
return {
|
|
596
|
+
protocol: "ripple-intent-status",
|
|
597
|
+
version: 1,
|
|
598
|
+
workspace: this.workspaceRoot,
|
|
599
|
+
intentRef,
|
|
600
|
+
intentPath: relativeIntentPath,
|
|
601
|
+
state: "closed",
|
|
602
|
+
exists: true,
|
|
603
|
+
active: false,
|
|
604
|
+
canSaveNewIntent: true,
|
|
605
|
+
mustAskHuman: false,
|
|
606
|
+
nextRequiredAction: "Start a new saved Ripple plan before the agent edits again.",
|
|
607
|
+
closed,
|
|
608
|
+
nextSteps: [
|
|
609
|
+
"Call ripple_plan_context with saveIntent: true for the next approved task boundary.",
|
|
610
|
+
"Use the closed marker only as audit history; do not treat it as permission to edit.",
|
|
611
|
+
],
|
|
612
|
+
};
|
|
613
|
+
}
|
|
614
|
+
return invalidIntentStatus(this.workspaceRoot, intentRef, relativeIntentPath, `Unsupported intent protocol: ${String(parsed.protocol)}.`);
|
|
615
|
+
}
|
|
616
|
+
recordVerification(args) {
|
|
617
|
+
const parsed = parseRecordVerificationArgs(args);
|
|
618
|
+
const intentRef = parsed.intentPath ?? "latest";
|
|
619
|
+
const intent = (0, core_1.loadChangeIntent)(this.workspaceRoot, intentRef);
|
|
620
|
+
const updatedIntent = (0, core_1.appendRippleVerificationEvidence)(intent, {
|
|
621
|
+
command: parsed.command,
|
|
622
|
+
status: parsed.status,
|
|
623
|
+
note: parsed.note,
|
|
624
|
+
});
|
|
625
|
+
const savedPath = (0, core_1.saveChangeIntent)(this.workspaceRoot, updatedIntent, intentRef);
|
|
626
|
+
const evidence = updatedIntent.verificationEvidence[updatedIntent.verificationEvidence.length - 1];
|
|
627
|
+
return {
|
|
628
|
+
protocol: "ripple-verification-evidence",
|
|
629
|
+
version: 1,
|
|
630
|
+
workspace: this.workspaceRoot,
|
|
631
|
+
intentPath: formatWorkspacePath(this.workspaceRoot, savedPath),
|
|
632
|
+
intentId: updatedIntent.id,
|
|
633
|
+
evidence,
|
|
634
|
+
totalEvidence: updatedIntent.verificationEvidence.length,
|
|
635
|
+
nextSteps: [
|
|
636
|
+
"Call ripple_gate with the same intentPath to include this evidence in the continue/stop decision.",
|
|
637
|
+
"Ripple records reported evidence only; it does not claim the command was independently executed.",
|
|
638
|
+
],
|
|
639
|
+
};
|
|
640
|
+
}
|
|
477
641
|
getApprovalStatus(args) {
|
|
478
642
|
const intentPath = optionalString(args, "intentPath") ?? "latest";
|
|
479
643
|
const intent = (0, core_1.loadChangeIntent)(this.workspaceRoot, intentPath);
|
|
480
644
|
return approvalStatusWithIntent(intent, (0, core_1.resolveRippleApprovalStatus)(this.workspaceRoot, intent, optionalApprovalGate(args, "gate")));
|
|
481
645
|
}
|
|
482
646
|
async checkStaged(args) {
|
|
483
|
-
const stagedFiles = (0, core_1.listGitStagedFiles)(this.workspaceRoot);
|
|
484
647
|
const intentPath = optionalString(args, "intentPath");
|
|
485
648
|
const intent = intentPath ? (0, core_1.loadChangeIntent)(this.workspaceRoot, intentPath) : undefined;
|
|
649
|
+
const stagedFiles = (0, core_1.listGitStagedFiles)(this.workspaceRoot);
|
|
486
650
|
await this.prepareFastCheck(stagedFiles, intent);
|
|
487
651
|
const stagedSummary = (0, core_1.buildStagedCheckSummary)(this.engine, {
|
|
488
652
|
workspaceRoot: this.workspaceRoot,
|
|
@@ -499,9 +663,9 @@ class RippleMcpToolHost {
|
|
|
499
663
|
}
|
|
500
664
|
async checkChanged(args) {
|
|
501
665
|
const baseRef = optionalString(args, "baseRef") ?? "HEAD";
|
|
502
|
-
const changedFiles = (0, core_1.listGitChangedFiles)(this.workspaceRoot, baseRef);
|
|
503
666
|
const intentPath = optionalString(args, "intentPath");
|
|
504
667
|
const intent = intentPath ? (0, core_1.loadChangeIntent)(this.workspaceRoot, intentPath) : undefined;
|
|
668
|
+
const changedFiles = (0, core_1.listGitChangedFiles)(this.workspaceRoot, baseRef);
|
|
505
669
|
await this.prepareFastCheck(changedFiles, intent);
|
|
506
670
|
const changedSummary = (0, core_1.buildStagedCheckSummary)(this.engine, {
|
|
507
671
|
workspaceRoot: this.workspaceRoot,
|
|
@@ -551,6 +715,21 @@ class RippleMcpToolHost {
|
|
|
551
715
|
});
|
|
552
716
|
}
|
|
553
717
|
async gateChange(args) {
|
|
718
|
+
const mode = optionalAuditMode(args, "mode") ?? "staged";
|
|
719
|
+
const baseRef = optionalString(args, "baseRef") ?? "HEAD";
|
|
720
|
+
const intentPath = optionalString(args, "intentPath") ?? "latest";
|
|
721
|
+
try {
|
|
722
|
+
(0, core_1.loadChangeIntent)(this.workspaceRoot, intentPath);
|
|
723
|
+
}
|
|
724
|
+
catch (err) {
|
|
725
|
+
return (0, core_1.buildRippleGateIntentBlockSummary)({
|
|
726
|
+
workspaceRoot: this.workspaceRoot,
|
|
727
|
+
mode,
|
|
728
|
+
baseRef: mode === "changed" ? baseRef : undefined,
|
|
729
|
+
intentRef: intentPath,
|
|
730
|
+
error: err,
|
|
731
|
+
});
|
|
732
|
+
}
|
|
554
733
|
return (0, core_1.buildRippleGateSummary)(await this.auditChange(args));
|
|
555
734
|
}
|
|
556
735
|
async repairIntentDrift(args) {
|
|
@@ -680,6 +859,54 @@ function parsePlanContextArgs(args) {
|
|
|
680
859
|
intentPath: optionalString(args, "intentPath"),
|
|
681
860
|
};
|
|
682
861
|
}
|
|
862
|
+
function assertMcpCanSaveIntent(workspaceRoot, intentPath) {
|
|
863
|
+
const targetPath = resolveMcpIntentPath(workspaceRoot, intentPath);
|
|
864
|
+
const latestPath = (0, core_1.defaultChangeIntentPath)(workspaceRoot);
|
|
865
|
+
const activePath = isActiveMcpIntentPath(latestPath) ? latestPath : undefined;
|
|
866
|
+
if (isActiveMcpIntentPath(targetPath)) {
|
|
867
|
+
throw new Error("An active Ripple intent already exists at this path. MCP agents cannot overwrite their own boundary. Ask the human to approve a wider boundary or run ripple intent close --reason before saving a new intent.");
|
|
868
|
+
}
|
|
869
|
+
if (activePath && path.resolve(targetPath) !== path.resolve(activePath)) {
|
|
870
|
+
throw new Error("An active Ripple intent already exists. MCP agents cannot create a second saved boundary to bypass the current one. Ask the human to approve, repair, or run ripple intent close --reason first.");
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
function isActiveMcpIntentPath(intentPath) {
|
|
874
|
+
try {
|
|
875
|
+
const parsed = JSON.parse(fs.readFileSync(intentPath, "utf8"));
|
|
876
|
+
return parsed.protocol === "ripple-change-intent";
|
|
877
|
+
}
|
|
878
|
+
catch {
|
|
879
|
+
return false;
|
|
880
|
+
}
|
|
881
|
+
}
|
|
882
|
+
function resolveMcpIntentPath(workspaceRoot, intentPath) {
|
|
883
|
+
const normalized = intentPath?.trim() ?? "";
|
|
884
|
+
if (normalized.length === 0 || normalized === "latest") {
|
|
885
|
+
return (0, core_1.defaultChangeIntentPath)(workspaceRoot);
|
|
886
|
+
}
|
|
887
|
+
if (path.isAbsolute(normalized)) {
|
|
888
|
+
return normalized;
|
|
889
|
+
}
|
|
890
|
+
if (normalized.endsWith(".json") || normalized.includes("/") || normalized.includes("\\")) {
|
|
891
|
+
return path.resolve(workspaceRoot, normalized);
|
|
892
|
+
}
|
|
893
|
+
return path.join(workspaceRoot, ".ripple", "intents", `${normalized}.json`);
|
|
894
|
+
}
|
|
895
|
+
function parseRecordVerificationArgs(args) {
|
|
896
|
+
return {
|
|
897
|
+
intentPath: optionalString(args, "intentPath"),
|
|
898
|
+
command: requiredString(args, "command"),
|
|
899
|
+
status: requiredVerificationStatus(args, "status"),
|
|
900
|
+
note: optionalString(args, "note"),
|
|
901
|
+
};
|
|
902
|
+
}
|
|
903
|
+
function requiredVerificationStatus(args, key) {
|
|
904
|
+
const value = requiredString(args, key);
|
|
905
|
+
if (MCP_VERIFICATION_STATUSES.includes(value)) {
|
|
906
|
+
return value;
|
|
907
|
+
}
|
|
908
|
+
throw new Error(`${key} must be one of: ${MCP_VERIFICATION_STATUSES.join(", ")}.`);
|
|
909
|
+
}
|
|
683
910
|
function uniqueItems(items) {
|
|
684
911
|
const seen = new Set();
|
|
685
912
|
return items.filter((item) => {
|
|
@@ -708,6 +935,107 @@ function fastCheckCandidateFiles(files, intent) {
|
|
|
708
935
|
: []),
|
|
709
936
|
].filter((file) => Boolean(file)));
|
|
710
937
|
}
|
|
938
|
+
function readIntentMarker(intentPath) {
|
|
939
|
+
try {
|
|
940
|
+
const parsed = JSON.parse(fs.readFileSync(intentPath, "utf8"));
|
|
941
|
+
if (!isRecord(parsed)) {
|
|
942
|
+
return { ok: false, error: "Intent file is not a JSON object." };
|
|
943
|
+
}
|
|
944
|
+
return { ok: true, value: parsed, protocol: parsed.protocol };
|
|
945
|
+
}
|
|
946
|
+
catch (err) {
|
|
947
|
+
return { ok: false, error: errorMessage(err) };
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
function invalidIntentStatus(workspaceRoot, intentRef, intentPath, error) {
|
|
951
|
+
return {
|
|
952
|
+
protocol: "ripple-intent-status",
|
|
953
|
+
version: 1,
|
|
954
|
+
workspace: workspaceRoot,
|
|
955
|
+
intentRef,
|
|
956
|
+
intentPath,
|
|
957
|
+
state: "invalid",
|
|
958
|
+
exists: true,
|
|
959
|
+
active: false,
|
|
960
|
+
canSaveNewIntent: false,
|
|
961
|
+
mustAskHuman: true,
|
|
962
|
+
nextRequiredAction: "Ask the human to inspect or replace the invalid Ripple intent marker before the agent edits.",
|
|
963
|
+
error,
|
|
964
|
+
nextSteps: [
|
|
965
|
+
"Do not treat this intent file as permission to edit.",
|
|
966
|
+
"Ask the human to run ripple intent status and repair, close, or recreate the saved boundary.",
|
|
967
|
+
],
|
|
968
|
+
};
|
|
969
|
+
}
|
|
970
|
+
function closedIntentSummary(value) {
|
|
971
|
+
const summary = {};
|
|
972
|
+
if (typeof value.closedAt === "string") {
|
|
973
|
+
summary.closedAt = value.closedAt;
|
|
974
|
+
}
|
|
975
|
+
if (typeof value.closedBy === "string") {
|
|
976
|
+
summary.closedBy = value.closedBy;
|
|
977
|
+
}
|
|
978
|
+
if (typeof value.reason === "string") {
|
|
979
|
+
summary.reason = value.reason;
|
|
980
|
+
}
|
|
981
|
+
if (typeof value.originalIntentPath === "string") {
|
|
982
|
+
summary.originalIntentPath = value.originalIntentPath;
|
|
983
|
+
}
|
|
984
|
+
const intent = intentSnapshotFromUnknown(value.intent);
|
|
985
|
+
if (intent) {
|
|
986
|
+
summary.intent = intent;
|
|
987
|
+
}
|
|
988
|
+
return summary;
|
|
989
|
+
}
|
|
990
|
+
function intentSnapshot(intent) {
|
|
991
|
+
return {
|
|
992
|
+
id: intent.id,
|
|
993
|
+
createdAt: intent.createdAt,
|
|
994
|
+
task: intent.task,
|
|
995
|
+
targetFile: intent.targetFile,
|
|
996
|
+
controlMode: intent.controlMode,
|
|
997
|
+
humanGate: intent.humanGate,
|
|
998
|
+
boundaryRisk: intent.boundaryRisk,
|
|
999
|
+
};
|
|
1000
|
+
}
|
|
1001
|
+
function intentSnapshotFromUnknown(value) {
|
|
1002
|
+
if (!isRecord(value)) {
|
|
1003
|
+
return undefined;
|
|
1004
|
+
}
|
|
1005
|
+
if (typeof value.id !== "string" ||
|
|
1006
|
+
typeof value.createdAt !== "string" ||
|
|
1007
|
+
typeof value.task !== "string" ||
|
|
1008
|
+
typeof value.targetFile !== "string" ||
|
|
1009
|
+
!isControlMode(value.controlMode) ||
|
|
1010
|
+
!isHumanGate(value.humanGate) ||
|
|
1011
|
+
!isBoundaryRisk(value.boundaryRisk)) {
|
|
1012
|
+
return undefined;
|
|
1013
|
+
}
|
|
1014
|
+
return {
|
|
1015
|
+
id: value.id,
|
|
1016
|
+
createdAt: value.createdAt,
|
|
1017
|
+
task: value.task,
|
|
1018
|
+
targetFile: value.targetFile,
|
|
1019
|
+
controlMode: value.controlMode,
|
|
1020
|
+
humanGate: value.humanGate,
|
|
1021
|
+
boundaryRisk: value.boundaryRisk,
|
|
1022
|
+
};
|
|
1023
|
+
}
|
|
1024
|
+
function isControlMode(value) {
|
|
1025
|
+
return MCP_CONTROL_MODES.includes(value);
|
|
1026
|
+
}
|
|
1027
|
+
function isHumanGate(value) {
|
|
1028
|
+
return value === "none" || value === "required-before-edit" || value === "required-before-merge";
|
|
1029
|
+
}
|
|
1030
|
+
function isBoundaryRisk(value) {
|
|
1031
|
+
return value === "low" || value === "medium" || value === "high" || value === "critical";
|
|
1032
|
+
}
|
|
1033
|
+
function isRecord(value) {
|
|
1034
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1035
|
+
}
|
|
1036
|
+
function errorMessage(err) {
|
|
1037
|
+
return err instanceof Error ? err.message : String(err);
|
|
1038
|
+
}
|
|
711
1039
|
function approvalStatusWithIntent(intent, status) {
|
|
712
1040
|
return {
|
|
713
1041
|
...status,
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getripple/mcp",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "MCP stdio server for Ripple's local
|
|
3
|
+
"version": "1.0.9",
|
|
4
|
+
"description": "MCP stdio server for Ripple's local authorization gate for AI coding agents.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "commonjs",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"mcp",
|
|
22
22
|
"model-context-protocol",
|
|
23
23
|
"stdio",
|
|
24
|
-
"
|
|
24
|
+
"authorization-gate",
|
|
25
25
|
"trust-boundaries",
|
|
26
26
|
"codebase",
|
|
27
27
|
"typescript",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"build": "tsc -p tsconfig.json"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@getripple/core": "^1.0.
|
|
48
|
+
"@getripple/core": "^1.0.9"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@types/node": "^18.0.0",
|