@miraigent/free-ai-ops-mcp 0.1.31 → 0.1.32

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.32] - 2026-07-07
4
+
5
+ ### Added
6
+
7
+ - Added smoke-test assertions that parse MCP tool results from
8
+ `content[0].text` as JSON and verify exact public fields for the human review
9
+ and prompt risk JSON-RPC sessions.
10
+
3
11
  ## [0.1.31] - 2026-07-06
4
12
 
5
13
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miraigent/free-ai-ops-mcp",
3
- "version": "0.1.31",
3
+ "version": "0.1.32",
4
4
  "description": "Free MCP server for developers adding human review gates, prompt risk checks, FAQ review, and CRM note safety to AI tools.",
5
5
  "homepage": "https://github.com/Miraigent/miraigent-free-ai-ops-mcp",
6
6
  "type": "module",
@@ -174,6 +174,11 @@ assert.deepEqual(
174
174
  assert.match(sampleResponses[2].result.content[0].text, /gateStatus/);
175
175
  assert.match(sampleResponses[2].result.content[0].text, /reviewOwner/);
176
176
  assert.match(sampleResponses[2].result.content[0].text, /boundary/);
177
+ const sampleToolResult = JSON.parse(sampleResponses[2].result.content[0].text);
178
+ assert.equal(sampleToolResult.tool, 'human_review_gate');
179
+ assert.equal(sampleToolResult.gateStatus, 'stop');
180
+ assert.equal(sampleToolResult.nextLogRow.gate_status, 'stop');
181
+ assert.equal(sampleToolResult.boundary, 'This tool is a review helper. It does not send messages.');
177
182
 
178
183
  const promptRiskSession = await readFile(
179
184
  new URL('../examples/prompt-risk-json-rpc-session/sample-session.jsonl', import.meta.url),
@@ -192,3 +197,11 @@ assert.match(promptRiskResponses[2].result.content[0].text, /prompt_risk_review/
192
197
  assert.match(promptRiskResponses[2].result.content[0].text, /stop_before_ai_use/);
193
198
  assert.match(promptRiskResponses[2].result.content[0].text, /customer_facing/);
194
199
  assert.match(promptRiskResponses[2].result.content[0].text, /sensitive_data_possible/);
200
+ const promptRiskToolResult = JSON.parse(promptRiskResponses[2].result.content[0].text);
201
+ assert.equal(promptRiskToolResult.tool, 'prompt_risk_review');
202
+ assert.equal(promptRiskToolResult.recommendation, 'stop_before_ai_use');
203
+ assert.deepEqual(promptRiskToolResult.riskFlags, ['customer_facing', 'sensitive_data_possible']);
204
+ assert.equal(
205
+ promptRiskToolResult.boundary,
206
+ 'This tool is a prompt risk helper. It is not legal advice and does not call an AI API.'
207
+ );