@intutic/mcp-governance-proxy 2.4.0 → 2.5.0

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/refusals.js CHANGED
@@ -10,6 +10,13 @@
10
10
  * `holdId` and `status`, a budget's `budgetId`, `limit`, `used` and
11
11
  * `resetAt`.
12
12
  *
13
+ * In an OPAQUE workspace a refusal on workspace policy
14
+ * ({@link OPAQUE_REFUSAL_CODES}) is sent with `OPAQUE_REFUSAL_MESSAGE`
15
+ * (`@intutic/shared-types`) in place of its reason, and `error.data` keeps
16
+ * its `code` but names no rule: `ruleId` is `''` (the field stays, as a
17
+ * string, so a client that reads it still parses), and the detail is dropped
18
+ * except a hold's `holdId` and `status`, which name the hold, not the policy.
19
+ *
13
20
  * Held to `packages/shared-types/fixtures/refusal-codes.json` (`mcp`) by a
14
21
  * test, as the MCP proxy reference's table is.
15
22
  *
@@ -40,4 +47,47 @@ export const MCP_REFUSAL_CODES = [
40
47
  'RESULT_WITHHELD_DLP',
41
48
  'RESULT_WITHHELD_INJECTION',
42
49
  ];
50
+ /**
51
+ * The refusals on workspace policy: in an OPAQUE workspace the agent is not
52
+ * told which rule, setting or detector refused it. The rest are operational —
53
+ * the control plane or a store unreachable, a pin check that could not run,
54
+ * a server whose tools changed, a budget used up (whose detail says when it
55
+ * resets) — and name no rule an agent could route around, so they are sent
56
+ * unchanged.
57
+ */
58
+ export const OPAQUE_REFUSAL_CODES = new Set([
59
+ 'SERVER_BLOCKED',
60
+ 'SERVER_HELD',
61
+ 'SERVER_NOT_APPROVED',
62
+ 'TOOL_DISABLED',
63
+ 'SERVER_NOT_ALLOWED',
64
+ 'TOOL_NOT_ALLOWED',
65
+ 'SSO_GROUP',
66
+ 'DLP',
67
+ 'SOP_RULE',
68
+ 'HELD',
69
+ 'INJECTION',
70
+ 'ANOMALY',
71
+ 'WASM_RULE',
72
+ 'REASK',
73
+ 'REASK_EXHAUSTED',
74
+ 'RESULT_WITHHELD_DLP',
75
+ 'RESULT_WITHHELD_INJECTION',
76
+ ]);
77
+ /**
78
+ * Whether an OPAQUE workspace's agent is told the generic sentence for this
79
+ * refusal: a code in {@link OPAQUE_REFUSAL_CODES}, or a custom rule that
80
+ * reached no verdict (`GOVERNANCE_UNAVAILABLE` with a `wasm:` rule id), whose
81
+ * message names the rule. The LLM proxy hides the same one.
82
+ */
83
+ export function isOpaqueRefusal(data) {
84
+ return OPAQUE_REFUSAL_CODES.has(data.code) ||
85
+ (data.code === 'GOVERNANCE_UNAVAILABLE' && data.ruleId.startsWith('wasm:'));
86
+ }
87
+ /** `error.data` as an OPAQUE workspace's agent receives it: the code, no rule. */
88
+ export function opaqueRefusalData(data) {
89
+ return data.code === 'HELD'
90
+ ? { code: 'HELD', ruleId: '', status: data['status'], holdId: data['holdId'] }
91
+ : { code: data.code, ruleId: '' };
92
+ }
43
93
  //# sourceMappingURL=refusals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"refusals.js","sourceRoot":"","sources":["../src/refusals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,sBAAsB;IACtB,gBAAgB;IAChB,aAAa;IACb,qBAAqB;IACrB,eAAe;IACf,oBAAoB;IACpB,kBAAkB;IAClB,WAAW;IACX,KAAK;IACL,UAAU;IACV,MAAM;IACN,WAAW;IACX,SAAS;IACT,WAAW;IACX,OAAO;IACP,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,wBAAwB;IACxB,kBAAkB;IAClB,0BAA0B;IAC1B,qBAAqB;IACrB,2BAA2B;CACnB,CAAA"}
1
+ {"version":3,"file":"refusals.js","sourceRoot":"","sources":["../src/refusals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,sBAAsB;IACtB,gBAAgB;IAChB,aAAa;IACb,qBAAqB;IACrB,eAAe;IACf,oBAAoB;IACpB,kBAAkB;IAClB,WAAW;IACX,KAAK;IACL,UAAU;IACV,MAAM;IACN,WAAW;IACX,SAAS;IACT,WAAW;IACX,OAAO;IACP,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,wBAAwB;IACxB,kBAAkB;IAClB,0BAA0B;IAC1B,qBAAqB;IACrB,2BAA2B;CACnB,CAAA;AAWV;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgC,IAAI,GAAG,CAAiB;IACvF,gBAAgB;IAChB,aAAa;IACb,qBAAqB;IACrB,eAAe;IACf,oBAAoB;IACpB,kBAAkB;IAClB,WAAW;IACX,KAAK;IACL,UAAU;IACV,MAAM;IACN,WAAW;IACX,SAAS;IACT,WAAW;IACX,OAAO;IACP,iBAAiB;IACjB,qBAAqB;IACrB,2BAA2B;CAC5B,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAiB;IAC/C,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACxC,CAAC,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;AAC/E,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,IAAiB;IACjD,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM;QACzB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC9E,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AACrC,CAAC"}
@@ -32,6 +32,7 @@
32
32
  * @module
33
33
  */
34
34
  import type { ProxyConfig } from './config.js';
35
+ import type { ChaosInjector } from './chaos.js';
35
36
  /**
36
37
  * Run the proxy in remote bridge mode: connect to `config.remoteUrl` over
37
38
  * HTTP or SSE and proxy the harness's stdio traffic through it, applying the
@@ -47,5 +48,5 @@ import type { ProxyConfig } from './config.js';
47
48
  * block rather than calling `process.exit` itself, so both failure modes
48
49
  * surface through one place with one log shape.
49
50
  */
50
- export declare function runRemoteProxy(config: ProxyConfig): Promise<void>;
51
+ export declare function runRemoteProxy(config: ProxyConfig, chaos?: ChaosInjector | null): Promise<void>;
51
52
  //# sourceMappingURL=remoteBridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remoteBridge.d.ts","sourceRoot":"","sources":["../src/remoteBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AA+B9C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsIvE"}
1
+ {"version":3,"file":"remoteBridge.d.ts","sourceRoot":"","sources":["../src/remoteBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAM9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AA0B/C;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,GAAE,aAAa,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAuI3G"}
@@ -72,7 +72,7 @@ function buildRemoteTransport(config) {
72
72
  * block rather than calling `process.exit` itself, so both failure modes
73
73
  * surface through one place with one log shape.
74
74
  */
75
- export async function runRemoteProxy(config) {
75
+ export async function runRemoteProxy(config, chaos = null) {
76
76
  if (config.remoteUrl === undefined) {
77
77
  throw new Error('runRemoteProxy called without config.remoteUrl');
78
78
  }
@@ -83,12 +83,13 @@ export async function runRemoteProxy(config) {
83
83
  workspaceId: config.workspaceId,
84
84
  serverName: config.serverName,
85
85
  }, 'Starting MCP governance remote bridge');
86
- const proxy = new McpGovernanceProxy(config);
86
+ const proxy = new McpGovernanceProxy(config, chaos);
87
87
  const interceptor = proxy.getInterceptor();
88
88
  const session = proxy.getSessionState();
89
89
  // Requests whose responses this proxy must inspect on the way back — same
90
90
  // role, same shape, as `runProxy`'s own `pending` map.
91
91
  const pending = new Map();
92
+ const chaosHooks = proxy.chaosHooks(pending);
92
93
  const transport = buildRemoteTransport(config);
93
94
  let shuttingDown = false;
94
95
  // Callbacks MUST be installed before `transport.start()` — the `Transport`
@@ -161,7 +162,7 @@ export async function runRemoteProxy(config) {
161
162
  transport.send(message).catch((err) => {
162
163
  log.error({ action: 'remote_send_error', err: err.message }, 'Failed to send message to remote MCP server');
163
164
  });
164
- }, session);
165
+ }, session, chaosHooks);
165
166
  });
166
167
  rl.on('close', () => {
167
168
  log.info({ action: 'stdin_closed' }, 'Harness stdin closed — shutting down remote bridge');
@@ -1 +1 @@
1
- {"version":3,"file":"remoteBridge.js","sourceRoot":"","sources":["../src/remoteBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remoteBridge.js","sourceRoot":"","sources":["../src/remoteBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,aAAa,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,kBAAkB,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAEnE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAuB,MAAM,YAAY,CAAA;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAKlG,MAAM,GAAG,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAA;AAE7C;;;;;;;;;;;GAWG;AACH,SAAS,oBAAoB,CAAC,MAAmB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,SAAU,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAExF,OAAO,MAAM,CAAC,eAAe,KAAK,KAAK;QACrC,CAAC,CAAC,IAAI,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC;QACnC,CAAC,CAAC,IAAI,6BAA6B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAmB,EAAE,QAA8B,IAAI;IAC1F,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IAED,GAAG,CAAC,IAAI,CACN;QACE,MAAM,EAAE,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,MAAM;QACjD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,EACD,uCAAuC,CACxC,CAAA;IAED,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACnD,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAA;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;IAEvC,0EAA0E;IAC1E,uDAAuD;IACvD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAA;IAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAE5C,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAE9C,IAAI,YAAY,GAAG,KAAK,CAAA;IAExB,2EAA2E;IAC3E,sEAAsE;IACtE,4EAA4E;IAC5E,sEAAsE;IACtE,yEAAyE;IACzE,SAAS,CAAC,SAAS,GAAG,CAAC,OAAuB,EAAE,EAAE;QAChD,KAAK,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC,CAAA;IACD,SAAS,CAAC,OAAO,GAAG,CAAC,GAAU,EAAE,EAAE;QACjC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,4BAA4B,CAAC,CAAA;IACjG,CAAC,CAAA;IAED,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CACP;YACE,MAAM,EAAE,sBAAsB;YAC9B,GAAG,EAAG,GAAa,CAAC,OAAO;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,MAAM;SAClD,EACD,wCAAwC,CACzC,CAAA;QACD,iEAAiE;QACjE,6EAA6E;QAC7E,MAAM,GAAG,CAAA;IACX,CAAC;IAED,KAAK,CAAC,WAAW,EAAE,CAAA;IAEnB,0EAA0E;IAC1E,2EAA2E;IAC3E,qEAAqE;IACrE,yEAAyE;IACzE,4EAA4E;IAC5E,yDAAyD;IACzD,MAAM,EAAE,GAAG,aAAa,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IAEnF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,QAAQ,GAAG,CAAC,EAAQ,EAAE;QACtD,IAAI,YAAY;YAAE,OAAM;QACxB,YAAY,GAAG,IAAI,CAAA;QACnB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,EAAE,4CAA4C,CAAC,CAAA;QACpG,KAAK,CAAC,UAAU,EAAE,CAAA;QAClB,EAAE,CAAC,KAAK,EAAE,CAAA;QACV,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YAC3B,gFAAgF;QAClF,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC,CAAA;IAED,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,GAAG,CAAC,KAAK,CACP,EAAE,MAAM,EAAE,sCAAsC,EAAE,EAClD,kEAAkE,CACnE,CAAA;YACD,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IAEhD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACrB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,aAAa,EAAE,EAAE;YAC9D,IAAI,OAAuB,CAAA;YAC3B,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAmB,CAAA;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,qEAAqE;gBACrE,qEAAqE;gBACrE,mEAAmE;gBACnE,kBAAkB;gBAClB,GAAG,CAAC,KAAK,CACP,EAAE,MAAM,EAAE,4BAA4B,EAAE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAC3E,uFAAuF,CACxF,CAAA;gBACD,OAAM;YACR,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBAC7C,GAAG,CAAC,KAAK,CACP,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,EAC5D,6CAA6C,CAC9C,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,oDAAoD,CAAC,CAAA;QAC1F,QAAQ,CAAC,cAAc,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,2EAA2E;IAC3E,sEAAsE;IACtE,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE,oCAAoC,CAAC,CAAA;IAEjF,2EAA2E;IAC3E,iEAAiE;IACjE,MAAM,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intutic/mcp-governance-proxy",
3
- "version": "2.4.0",
3
+ "version": "2.5.0",
4
4
  "description": "Intutic MCP Governance Proxy — transparent stdio proxy that intercepts all tools/call JSON-RPC messages and applies workspace SOP policy before forwarding to real MCP servers",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -33,9 +33,9 @@
33
33
  "@opentelemetry/semantic-conventions": "^1.43.0",
34
34
  "ioredis": "^5",
35
35
  "zod": "^3",
36
- "@intutic/id": "2.4.0",
37
- "@intutic/shared-types": "2.4.0",
38
- "@intutic/logger": "2.4.0"
36
+ "@intutic/logger": "2.5.0",
37
+ "@intutic/shared-types": "2.5.0",
38
+ "@intutic/id": "2.5.0"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/node": "^22",