@getripple/mcp 1.0.8 → 1.0.10
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 +54 -54
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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"}
|