@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/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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"}