@auctra/mcp-gateway 0.1.9 → 0.1.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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/index.js +7 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auctra/mcp-gateway",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "MCP gateway — gate tool calls and MCP/skill installs through Auctra action.execute",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
package/src/index.js CHANGED
@@ -16,11 +16,12 @@ export function requireMcpGateway() {
16
16
  }
17
17
 
18
18
  export class McpToolBlockedError extends Error {
19
- constructor(message, decision, evidence) {
19
+ constructor(message, decision, evidence, actionDecision = null) {
20
20
  super(message);
21
21
  this.name = "McpToolBlockedError";
22
22
  this.decision = decision;
23
23
  this.evidence = evidence;
24
+ this.actionDecision = actionDecision;
24
25
  }
25
26
  }
26
27
 
@@ -146,7 +147,7 @@ export async function gateMcpInstall(input) {
146
147
  if (result.decision !== "allowed") {
147
148
  const evidenceId = evidenceIdFromResult(result);
148
149
  const message = evidenceId ? `${result.reason} (evidence: ${evidenceId})` : result.reason;
149
- throw new McpToolBlockedError(message, result.decision, result.evidence);
150
+ throw new McpToolBlockedError(message, result.decision, result.evidence, result.action_decision ?? null);
150
151
  }
151
152
 
152
153
  return { ...result, metadata };
@@ -195,7 +196,7 @@ export async function gateMcpToolCall(input) {
195
196
  if (result.decision !== "allowed") {
196
197
  const evidenceId = evidenceIdFromResult(result);
197
198
  const message = evidenceId ? `${result.reason} (evidence: ${evidenceId})` : result.reason;
198
- throw new McpToolBlockedError(message, result.decision, result.evidence);
199
+ throw new McpToolBlockedError(message, result.decision, result.evidence, result.action_decision ?? null);
199
200
  }
200
201
 
201
202
  const requireLease =
@@ -209,6 +210,7 @@ export async function gateMcpToolCall(input) {
209
210
  "execution lease required but action.execute returned none — configure AUCTRA_EXECUTION_LEASE_SECRET",
210
211
  "blocked",
211
212
  result.evidence,
213
+ result.action_decision ?? null,
212
214
  );
213
215
  }
214
216
  if (!input.client.executionLease?.consume) {
@@ -217,6 +219,7 @@ export async function gateMcpToolCall(input) {
217
219
  "executionLease.consume client method required when AUCTRA_REQUIRE_EXECUTION_LEASE=1",
218
220
  "blocked",
219
221
  result.evidence,
222
+ result.action_decision ?? null,
220
223
  );
221
224
  }
222
225
  } else {
@@ -229,6 +232,7 @@ export async function gateMcpToolCall(input) {
229
232
  consumed.error ?? "execution lease consume failed",
230
233
  "blocked",
231
234
  result.evidence,
235
+ result.action_decision ?? null,
232
236
  );
233
237
  }
234
238
  }