@tenova/swt3-mcp 0.5.1 → 0.5.2

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/README.md CHANGED
@@ -1,7 +1,117 @@
1
1
  # @tenova/swt3-mcp
2
2
 
3
+ > Listed on the [MCP Registry](https://github.com/modelcontextprotocol/servers) as `io.tenova/swt3-witness`
4
+
3
5
  MCP server for the SWT3 AI Witness protocol. Adds cryptographic compliance attestation to any MCP-compatible AI agent.
4
6
 
7
+ SWT3 (Sovereign Witness Traceability) works by hashing your AI's inputs and outputs locally, extracting numeric factors (latency, token count, guardrail status), and anchoring them into a cryptographic fingerprint that anyone can independently verify. Your prompts and responses never leave your machine. The auditor gets tamper-proof evidence. You keep your data.
8
+
9
+ ## Why This Exists
10
+
11
+ In 2026, attackers exploited MCP configuration injection in Flowise to achieve arbitrary code execution across thousands of AI workflow instances. A compromised third-party AI tool (Context.ai) pivoted into Vercel's internal systems. Microsoft disclosed RCE vulnerabilities in Semantic Kernel where a single prompt could execute commands on the host. 65% of firms reported AI agent security incidents. Only 14.4% of agents go live with full security approval.
12
+
13
+ Every tool call your agent makes is an attack surface. This server witnesses those calls, enforces tool-level policy gates, and produces a cryptographic evidence chain that proves what happened. If an agent is compromised, the audit trail is immutable. If a tool call violates policy, the gate blocks it before execution.
14
+
15
+ ## Trust Mesh -- Secure Agent-to-Agent Communication
16
+
17
+ Witnessing your own agent is step one. The next question is: can you trust the agent on the other side? Before two agents exchange data, invoke each other's tools, or share context, each side verifies the other's compliance posture. No anchor, no handshake.
18
+
19
+ **You run Agent A. Your partner runs Agent B. Here's what happens:**
20
+
21
+ ```
22
+ Your Agent (A) Partner's Agent (B)
23
+ | |
24
+ |--- presentCredential() --------->|
25
+ | |-- verifyTrust(credential)
26
+ | |-- signed? yes
27
+ | |-- procedures witnessed? 12 of 12
28
+ | |-- trust level? 2 (verified)
29
+ |<---------- GRANTED --------------|
30
+ | |
31
+ | (data exchange begins) |
32
+ | |
33
+ |<-- presentCredential() ----------|
34
+ |-- verifyTrust(credential) |
35
+ |-- signed? yes |
36
+ |-- trusted tenant? yes |
37
+ |------------ GRANTED ------------>|
38
+ | |
39
+ | (bidirectional trust) |
40
+ ```
41
+
42
+ **What each side needs:**
43
+
44
+ 1. Both agents install the SDK (`pip install swt3-ai` or `npm install @tenova/swt3-ai`)
45
+ 2. Both configure `.swt3.yaml` with signing keys and trust boundaries
46
+ 3. Both add each other's tenant to `trusted_tenants`
47
+ 4. Exchange signing keys out-of-band (env vars, secrets manager, KMS)
48
+ 5. Call `presentCredential()` / `verifyTrust()` before any data exchange
49
+
50
+ That's it. When you adopt the SWT3 witness layer, your partners and vendors must adopt it too in order to interact with your agents. Compliance becomes the connection protocol. Every agent in the mesh strengthens the network.
51
+
52
+ ```yaml
53
+ # Your .swt3.yaml
54
+ trust_mesh:
55
+ mode: strict
56
+ min_trust_level: 2
57
+ require_signature: true
58
+ trusted_tenants: ["PARTNER_B_TENANT"]
59
+
60
+ # Partner's .swt3.yaml
61
+ trust_mesh:
62
+ mode: strict
63
+ min_trust_level: 2
64
+ require_signature: true
65
+ trusted_tenants: ["YOUR_TENANT"]
66
+ ```
67
+
68
+ **Trust levels:**
69
+
70
+ | Level | Name | What It Means |
71
+ |-------|------|---------------|
72
+ | 1 | Basic | Valid credential, no signature verified |
73
+ | 2 | Verified | Credential + HMAC signature confirmed |
74
+ | 3 | Attested | Verified + hardware attestation + guardrails |
75
+ | 4 | Sovereign | Attested + clearing level 2+ |
76
+
77
+ Unsigned agents are capped at level 1. You decide the minimum level your agents accept. All verification is local. Zero cloud overhead. No data leaves until both sides clear the gate.
78
+
79
+ ## Policy-as-Code (swt3.yaml)
80
+
81
+ Define your entire witnessing policy in a YAML file. No constructor parameters, no environment variable sprawl:
82
+
83
+ ```bash
84
+ # Generate a config from a built-in profile
85
+ npx @tenova/swt3-mcp # reads .swt3.yaml automatically
86
+ ```
87
+
88
+ ```yaml
89
+ # .swt3.yaml
90
+ endpoint: https://sovereign.tenova.io
91
+ tenant_id: YOUR_TENANT
92
+ api_key_env: SWT3_API_KEY
93
+ clearing_level: 2
94
+ signing_key_env: SWT3_SIGNING_KEY
95
+ agent_id: my-agent
96
+
97
+ trust_mesh:
98
+ mode: strict
99
+ min_trust_level: 2
100
+ require_signature: true
101
+
102
+ mcp_policy:
103
+ require_witness: true
104
+ blocked_tools: ["shell_exec", "rm_rf"]
105
+ ```
106
+
107
+ Layer configs with `extends:` for environment-specific overrides. Three built-in profiles ship with the SDK: `eu-ai-act-high-risk`, `nist-ai-rmf`, and `minimal`.
108
+
109
+ Validate your config:
110
+
111
+ ```bash
112
+ npx swt3 doctor # 8 checks: YAML, env vars, profile, trust mesh
113
+ ```
114
+
5
115
  ## Zero-config start
6
116
 
7
117
  ```bash
@@ -10,6 +120,19 @@ npx @tenova/swt3-mcp
10
120
 
11
121
  That's it. No account, no API key, no configuration. The server starts in demo mode and mints local witness anchors immediately.
12
122
 
123
+ Ask your agent to witness an inference and you'll see:
124
+
125
+ ```
126
+ Verdict: PASS
127
+ Anchor: SWT3-DEMO-LOCAL-AI-AIINF1-PASS-1779146826-ed28dc4c2698
128
+ Procedure: AI-INF.1
129
+ Model: gpt-4o
130
+ Clearing Level: 1
131
+ Fingerprint: ed28dc4c2698
132
+ ```
133
+
134
+ That fingerprint is a SHA-256 hash of the tenant, procedure, factors, and timestamp. Anyone can recompute it independently. If it matches, the anchor is real. If a single bit changed, the hash breaks.
135
+
13
136
  When you're ready to persist anchors to the SWT3 ledger, use the `signup` tool from within your agent conversation -- no need to leave your editor.
14
137
 
15
138
  ## Setup
@@ -68,49 +191,55 @@ claude mcp add swt3 -- npx @tenova/swt3-mcp
68
191
  | **API key only** | `SWT3_API_KEY` | Tenant auto-resolved, anchors persisted |
69
192
  | **Full config** | `SWT3_API_KEY` + `SWT3_TENANT_ID` | Explicit tenant, anchors persisted |
70
193
 
71
- ## Tools
72
-
73
- ### witness_inference
194
+ ## Regulatory Coverage
74
195
 
75
- Mint a cryptographic witness anchor for an AI inference.
196
+ Every anchor maps to specific regulatory obligations:
76
197
 
77
- ```
78
- model_id: "gpt-4o" # required -- everything else is optional
79
- prompt: "What is 2+2?" # hashed locally, never sent to server
80
- response: "4" # hashed locally, never sent to server
81
- ```
198
+ - **EU AI Act**: Articles 9, 10, 12, 13, 14, 53, 72
199
+ - **NIST AI RMF**: GOVERN, MAP, MEASURE, MANAGE functions
200
+ - **OWASP Agentic Top 10**: Tool abuse, prompt injection, chain exploitation
201
+ - **CMMC**: Level 2 evidence automation for defense contractors
202
+ - **NIST 800-53**: SI-7 (integrity), AU-2/AU-3 (audit), AC controls
203
+ - **SR 11-7**: Model risk management for financial services
204
+ - **ISO 42001**: Annex A AI management controls
82
205
 
83
- Returns verdict (PASS/FAIL), anchor token, and verification URL.
206
+ ## Tools (18)
84
207
 
85
- ### verify_anchor
208
+ **Witnessing:**
209
+ `witness_inference` -- mint a cryptographic anchor for any AI inference. Prompt and response are hashed locally, never sent to the server. Returns verdict (PASS/FAIL), anchor token, and verification URL.
86
210
 
87
- Verify the cryptographic integrity of an existing anchor.
211
+ **Verification:**
212
+ `verify_anchor` -- verify the cryptographic integrity of an existing anchor.
88
213
 
89
- ```
90
- token: "SWT3-E-VULTR-AI-AIINF1-PASS-1700000000-96b7d56c0245"
91
- ```
214
+ **Trust Mesh:**
215
+ `verify_agent_trust` -- verify another agent's compliance credential.
216
+ `present_trust_credential` -- present your agent's credential for verification.
92
217
 
93
- ### list_procedures
218
+ **Audit Sessions:**
219
+ `start_audit_session` -- begin a scoped audit session with a session ID.
220
+ `end_audit_session` -- close the session and get a summary with Merkle root.
94
221
 
95
- Browse the UCT procedure registry. 151+ compliance controls.
222
+ **Agent Chains:**
223
+ `start_chain` -- initialize a multi-agent chain with a cycle ID.
224
+ `chain_handoff` -- record a handoff between agents in the chain.
225
+ `report_violation` -- report a policy violation with severity and category.
96
226
 
97
- ```
98
- namespace: "AI" # optional filter
99
- ```
227
+ **Model Governance:**
228
+ `witness_model_integrity` -- witness model weight hashes for tamper detection.
229
+ `witness_adapter_stack` -- witness LoRA/adapter configurations.
100
230
 
101
- ### check_posture
231
+ **Skill Attestation:**
232
+ `attest_skill_manifest` -- witness which skills and plugins are loaded.
233
+ `attest_memory_context` -- witness which memory sources the agent accesses.
102
234
 
103
- Check current tenant compliance posture. No arguments.
104
-
105
- ### signup
106
-
107
- Get a signup link to create a free account. No credentials pass through the AI.
108
-
109
- ```
110
- framework: "EU-AI-ACT" # optional (default: NIST-800-53)
111
- ```
235
+ **Authorization:**
236
+ `witness_authorization` -- witness pre-inference authorization decisions.
112
237
 
113
- Returns a browser URL. Complete signup there, copy your API key, add it to your MCP config.
238
+ **Discovery:**
239
+ `list_procedures` -- browse the UCT procedure registry (151+ controls).
240
+ `suggest_procedures` -- get recommended procedures based on your use case.
241
+ `check_posture` -- check current tenant compliance posture.
242
+ `signup` -- create a free account without leaving your editor.
114
243
 
115
244
  ## Environment variables (optional)
116
245
 
@@ -143,4 +272,4 @@ Raw prompt and response text never leaves your machine at any clearing level.
143
272
 
144
273
  Apache 2.0. Patent pending.
145
274
 
146
- Built by [TeNova](https://tenova.io).
275
+ Built by [TeNova](https://tenova.io). Questions: engineering@tenovaai.com
@@ -15,8 +15,9 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
15
15
  import { loadConfig } from "../config.js";
16
16
  import { createServer } from "../server.js";
17
17
  try {
18
- const config = loadConfig();
19
- const server = createServer(config);
18
+ const bundle = loadConfig();
19
+ const config = bundle.config;
20
+ const server = createServer(config, bundle);
20
21
  const transport = new StdioServerTransport();
21
22
  if (config.demo) {
22
23
  process.stderr.write("swt3-mcp: running in demo mode (local-only anchors)\n" +
@@ -1 +1 @@
1
- {"version":3,"file":"swt3-mcp.js","sourceRoot":"","sources":["../../src/bin/swt3-mcp.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,IAAI,CAAC;IACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uDAAuD;YACvD,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAc,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"swt3-mcp.js","sourceRoot":"","sources":["../../src/bin/swt3-mcp.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,IAAI,CAAC;IACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uDAAuD;YACvD,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAc,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -12,7 +12,7 @@
12
12
  * 4. Evaluate density policy
13
13
  * 5. Return structured result
14
14
  *
15
- * Patent coverage: PPA #5, PPA #7, PPA #9
15
+ * Patent pending.
16
16
  */
17
17
  import type { McpConfig } from "./config.js";
18
18
  import type { AxiomClient } from "./client.js";
@@ -12,7 +12,7 @@
12
12
  * 4. Evaluate density policy
13
13
  * 5. Return structured result
14
14
  *
15
- * Patent coverage: PPA #5, PPA #7, PPA #9
15
+ * Patent pending.
16
16
  */
17
17
  import { queryAnchors } from "./redis-reader.js";
18
18
  import { signPayload } from "./fingerprint.js";
package/dist/config.d.ts CHANGED
@@ -1,11 +1,15 @@
1
1
  /**
2
- * SWT3 MCP Server Configuration from environment variables.
2
+ * SWT3 MCP Server -- Configuration.
3
3
  *
4
- * Three modes:
5
- * 1. Demo mode (no env vars) — local-only anchors, no account needed
6
- * 2. API key only — tenant auto-resolved from first API call
7
- * 3. Full config API key + explicit tenant ID
4
+ * Priority: env vars > YAML file > defaults
5
+ *
6
+ * Four modes:
7
+ * 1. Demo mode (no env vars, no YAML) -- local-only anchors, no account needed
8
+ * 2. YAML config (SWT3_CONFIG_FILE) -- one file governs MCP + SDK
9
+ * 3. API key only -- tenant auto-resolved from first API call
10
+ * 4. Full config -- API key + explicit tenant ID
8
11
  */
12
+ import type { DensityPolicy } from "./density-policy.js";
9
13
  export interface McpConfig {
10
14
  endpoint: string;
11
15
  apiKey: string;
@@ -22,6 +26,44 @@ export interface McpConfig {
22
26
  redisStream: string;
23
27
  /** Maximum seconds between consecutive anchors in a chain. */
24
28
  maxChainGapSeconds: number;
29
+ /** SHA-256 hash of the config file (if loaded from YAML). */
30
+ configHash?: string;
31
+ }
32
+ export interface YamlTrustMesh {
33
+ trustedTenants: string[];
34
+ deniedAgents: string[];
35
+ deniedTenants: string[];
36
+ }
37
+ export interface McpToolPolicy {
38
+ /** Glob patterns for tools that MUST be witnessed. */
39
+ witnessedTools: string[];
40
+ /** Glob patterns for tools exempt from witnessing. */
41
+ exemptTools: string[];
42
+ /** Minimum trust level required before executing any MCP tool. */
43
+ requireTrustLevel: number;
44
+ /** Auto-witness all MCP tool calls without explicit wrapping. */
45
+ autoWitness: boolean;
46
+ /** Block tool execution if witnessing fails (true) or log-only (false). */
47
+ blockOnFailure: boolean;
48
+ /** Rate limit: "N/Xs" format (e.g., "4/30s"). */
49
+ maxVelocity?: string;
50
+ /** Maximum sequential dependent tool calls. */
51
+ maxChainDepth?: number;
52
+ /** Only these tools are permitted. Empty = all. */
53
+ toolAllowlist?: string[];
54
+ /** These tools are always blocked. */
55
+ toolBlocklist?: string[];
56
+ /** On enforcement error: true = block, false = log. Default true. */
57
+ failSecure?: boolean;
25
58
  }
26
- export declare function loadConfig(): McpConfig;
59
+ export interface McpConfigBundle {
60
+ config: McpConfig;
61
+ densityPolicy: DensityPolicy | null;
62
+ trustMesh: YamlTrustMesh | null;
63
+ mcpPolicy: McpToolPolicy | null;
64
+ }
65
+ /**
66
+ * Load configuration. Checks SWT3_CONFIG_FILE first, falls back to env vars.
67
+ */
68
+ export declare function loadConfig(): McpConfigBundle;
27
69
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,UAAU,IAAI,SAAS,CA0CtC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,sDAAsD;IACtD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,WAAW,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,cAAc,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;CACjC;AAwID;;GAEG;AACH,wBAAgB,UAAU,IAAI,eAAe,CAmD5C"}
package/dist/config.js CHANGED
@@ -1,12 +1,138 @@
1
1
  /**
2
- * SWT3 MCP Server Configuration from environment variables.
2
+ * SWT3 MCP Server -- Configuration.
3
3
  *
4
- * Three modes:
5
- * 1. Demo mode (no env vars) — local-only anchors, no account needed
6
- * 2. API key only — tenant auto-resolved from first API call
7
- * 3. Full config API key + explicit tenant ID
4
+ * Priority: env vars > YAML file > defaults
5
+ *
6
+ * Four modes:
7
+ * 1. Demo mode (no env vars, no YAML) -- local-only anchors, no account needed
8
+ * 2. YAML config (SWT3_CONFIG_FILE) -- one file governs MCP + SDK
9
+ * 3. API key only -- tenant auto-resolved from first API call
10
+ * 4. Full config -- API key + explicit tenant ID
11
+ */
12
+ import { readFileSync, existsSync } from "node:fs";
13
+ function parseYaml(content) {
14
+ try {
15
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
16
+ const yamlMod = require("yaml");
17
+ return yamlMod.parse(content);
18
+ }
19
+ catch {
20
+ throw new Error("The 'yaml' package is required for YAML config. Install it with: npm install yaml");
21
+ }
22
+ }
23
+ /**
24
+ * Load config from YAML file + env var overrides.
25
+ * Returns the full bundle: McpConfig + DensityPolicy + TrustMesh.
26
+ */
27
+ function loadFromYaml(yamlPath) {
28
+ if (!existsSync(yamlPath)) {
29
+ throw new Error(`SWT3 config file not found: ${yamlPath}`);
30
+ }
31
+ const content = readFileSync(yamlPath, "utf-8");
32
+ const { createHash } = require("node:crypto");
33
+ const configHash = createHash("sha256").update(content, "utf-8").digest("hex");
34
+ const raw = parseYaml(content);
35
+ if (!raw || typeof raw !== "object") {
36
+ throw new Error("Invalid config file: expected a YAML mapping");
37
+ }
38
+ // Resolve _env fields
39
+ let apiKey = raw.api_key || "";
40
+ if (raw.api_key_env) {
41
+ apiKey = process.env[raw.api_key_env] || "";
42
+ }
43
+ let signingKey = raw.signing_key || undefined;
44
+ if (raw.signing_key_env) {
45
+ signingKey = process.env[raw.signing_key_env] || undefined;
46
+ }
47
+ // Extract sections
48
+ const trustMeshRaw = raw.trust_mesh;
49
+ const densityRaw = raw.density_policy;
50
+ const mcpPolicyRaw = raw.mcp_policy;
51
+ // Build McpConfig (env vars override YAML)
52
+ const endpoint = process.env.SWT3_ENDPOINT || raw.endpoint || "https://sovereign.tenova.io";
53
+ apiKey = process.env.SWT3_API_KEY || apiKey;
54
+ const tenantId = process.env.SWT3_TENANT_ID || raw.tenant_id || "";
55
+ const agentId = process.env.SWT3_AGENT_ID || raw.agent_id || undefined;
56
+ signingKey = process.env.SWT3_SIGNING_KEY || signingKey;
57
+ const demo = !apiKey;
58
+ if (apiKey && !apiKey.startsWith("axm_")) {
59
+ throw new Error("API key must start with 'axm_'");
60
+ }
61
+ const rawLevel = process.env.SWT3_CLEARING_LEVEL ?? String(raw.clearing_level ?? 1);
62
+ let clearingLevel = 1;
63
+ const parsed = parseInt(rawLevel, 10);
64
+ if ([0, 1, 2, 3].includes(parsed)) {
65
+ clearingLevel = parsed;
66
+ }
67
+ // Chain verify: env > trust_mesh.mode === "strict" > false
68
+ const chainVerifyEnv = process.env.SWT3_CHAIN_VERIFY;
69
+ const meshMode = trustMeshRaw?.mode;
70
+ const chainVerify = chainVerifyEnv
71
+ ? chainVerifyEnv === "true"
72
+ : meshMode === "strict";
73
+ const maxChainGapSeconds = parseInt(process.env.SWT3_MAX_CHAIN_GAP
74
+ || String(densityRaw?.max_chain_gap_seconds ?? trustMeshRaw?.freshness_window ?? 60), 10);
75
+ const config = {
76
+ endpoint: endpoint.replace(/\/+$/, ""),
77
+ apiKey: demo ? "axm_demo_local" : apiKey,
78
+ tenantId: demo ? "DEMO_LOCAL" : tenantId,
79
+ clearingLevel,
80
+ agentId,
81
+ signingKey,
82
+ demo,
83
+ chainVerify: demo ? false : chainVerify,
84
+ redisUrl: process.env.SWT3_REDIS_URL || "redis://localhost:6379",
85
+ redisStream: process.env.SWT3_REDIS_STREAM || "swt3:anchors",
86
+ maxChainGapSeconds,
87
+ configHash,
88
+ };
89
+ // Density policy from YAML
90
+ let densityPolicy = null;
91
+ if (densityRaw) {
92
+ densityPolicy = {
93
+ min_anchors_per_1000_tokens: densityRaw.min_anchors_per_1000_tokens ?? 1,
94
+ required_providers: densityRaw.required_providers ?? [],
95
+ max_chain_gap_seconds: densityRaw.max_chain_gap_seconds ?? 60,
96
+ require_signing_key: densityRaw.require_signing_key ?? false,
97
+ min_trust_level: densityRaw.min_trust_level ?? 1,
98
+ };
99
+ }
100
+ // Trust mesh from YAML
101
+ let trustMesh = null;
102
+ if (trustMeshRaw) {
103
+ trustMesh = {
104
+ trustedTenants: trustMeshRaw.trusted_tenants ?? [],
105
+ deniedAgents: trustMeshRaw.deny_agents ?? [],
106
+ deniedTenants: trustMeshRaw.deny_tenants ?? [],
107
+ };
108
+ }
109
+ // MCP policy from YAML
110
+ let mcpPolicy = null;
111
+ if (mcpPolicyRaw) {
112
+ mcpPolicy = {
113
+ witnessedTools: mcpPolicyRaw.witnessed_tools ?? [],
114
+ exemptTools: mcpPolicyRaw.exempt_tools ?? [],
115
+ requireTrustLevel: mcpPolicyRaw.require_trust_level ?? 0,
116
+ autoWitness: mcpPolicyRaw.auto_witness ?? true,
117
+ blockOnFailure: mcpPolicyRaw.block_on_failure ?? false,
118
+ maxVelocity: mcpPolicyRaw.max_velocity,
119
+ maxChainDepth: mcpPolicyRaw.max_chain_depth,
120
+ toolAllowlist: mcpPolicyRaw.tool_allowlist ?? [],
121
+ toolBlocklist: mcpPolicyRaw.tool_blocklist ?? [],
122
+ failSecure: mcpPolicyRaw.fail_secure ?? true,
123
+ };
124
+ }
125
+ return { config, densityPolicy, trustMesh, mcpPolicy };
126
+ }
127
+ /**
128
+ * Load configuration. Checks SWT3_CONFIG_FILE first, falls back to env vars.
8
129
  */
9
130
  export function loadConfig() {
131
+ const yamlPath = process.env.SWT3_CONFIG_FILE;
132
+ if (yamlPath) {
133
+ return loadFromYaml(yamlPath);
134
+ }
135
+ // Legacy env-var-only path
10
136
  const endpoint = process.env.SWT3_ENDPOINT || "https://sovereign.tenova.io";
11
137
  const apiKey = process.env.SWT3_API_KEY || "";
12
138
  const tenantId = process.env.SWT3_TENANT_ID || "";
@@ -17,9 +143,7 @@ export function loadConfig() {
17
143
  const redisUrl = process.env.SWT3_REDIS_URL || "redis://localhost:6379";
18
144
  const redisStream = process.env.SWT3_REDIS_STREAM || "swt3:anchors";
19
145
  const maxChainGapSeconds = parseInt(process.env.SWT3_MAX_CHAIN_GAP || "60", 10);
20
- // Demo mode: no API key set
21
146
  const demo = !apiKey;
22
- // Validate API key format if provided
23
147
  if (apiKey && !apiKey.startsWith("axm_")) {
24
148
  throw new Error("SWT3_API_KEY must start with 'axm_'");
25
149
  }
@@ -32,17 +156,22 @@ export function loadConfig() {
32
156
  clearingLevel = parsed;
33
157
  }
34
158
  return {
35
- endpoint: endpoint.replace(/\/+$/, ""),
36
- apiKey: demo ? "axm_demo_local" : apiKey,
37
- tenantId: demo ? "DEMO_LOCAL" : tenantId,
38
- clearingLevel,
39
- agentId,
40
- signingKey,
41
- demo,
42
- chainVerify: demo ? false : chainVerify,
43
- redisUrl,
44
- redisStream,
45
- maxChainGapSeconds,
159
+ config: {
160
+ endpoint: endpoint.replace(/\/+$/, ""),
161
+ apiKey: demo ? "axm_demo_local" : apiKey,
162
+ tenantId: demo ? "DEMO_LOCAL" : tenantId,
163
+ clearingLevel,
164
+ agentId,
165
+ signingKey,
166
+ demo,
167
+ chainVerify: demo ? false : chainVerify,
168
+ redisUrl,
169
+ redisStream,
170
+ maxChainGapSeconds,
171
+ },
172
+ densityPolicy: null,
173
+ trustMesh: null,
174
+ mcpPolicy: null,
46
175
  };
47
176
  }
48
177
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoBH,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,6BAA6B,CAAC;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS,CAAC;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAC;IAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,wBAAwB,CAAC;IACxE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,cAAc,CAAC;IACpE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IAEhF,4BAA4B;IAC5B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;IAErB,sCAAsC;IACtC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,aAAa,GAAkB,CAAC,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,aAAa,GAAG,MAAuB,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM;QACxC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;QACxC,aAAa;QACb,OAAO;QACP,UAAU;QACV,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW;QACvC,QAAQ;QACR,WAAW;QACX,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * requirements, chain gap limits, and signing enforcement. Agents that
6
6
  * fail policy checks are denied tool execution by the chain verifier.
7
7
  *
8
- * Patent coverage: PPA #7, PPA #9, PPA #11
8
+ * Patent pending.
9
9
  */
10
10
  export interface DensityPolicy {
11
11
  /** Minimum anchors per 1,000 tokens generated. Default: 1 */
@@ -42,7 +42,7 @@ export interface ChainAnchor {
42
42
  * Load density policy from environment.
43
43
  * Priority: SWT3_DENSITY_POLICY (inline JSON) > SWT3_DENSITY_POLICY_FILE (path) > defaults
44
44
  */
45
- export declare function loadDensityPolicy(): DensityPolicy;
45
+ export declare function loadDensityPolicy(yamlPolicy?: DensityPolicy): DensityPolicy;
46
46
  /**
47
47
  * Evaluate an anchor chain against the density policy.
48
48
  *
@@ -1 +1 @@
1
- {"version":3,"file":"density-policy.d.ts","sourceRoot":"","sources":["../src/density-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,2BAA2B,EAAE,MAAM,CAAC;IACpC,qFAAqF;IACrF,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oEAAoE;IACpE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAcD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAqBjD;AAID;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,WAAW,EAAE,EACtB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,GACvB,YAAY,CA0Ed"}
1
+ {"version":3,"file":"density-policy.d.ts","sourceRoot":"","sources":["../src/density-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,2BAA2B,EAAE,MAAM,CAAC;IACpC,qFAAqF;IACrF,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oEAAoE;IACpE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAcD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,aAAa,CAyB3E;AAID;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,WAAW,EAAE,EACtB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,GACvB,YAAY,CA0Ed"}
@@ -5,7 +5,7 @@
5
5
  * requirements, chain gap limits, and signing enforcement. Agents that
6
6
  * fail policy checks are denied tool execution by the chain verifier.
7
7
  *
8
- * Patent coverage: PPA #7, PPA #9, PPA #11
8
+ * Patent pending.
9
9
  */
10
10
  import { readFileSync } from "node:fs";
11
11
  // ── Defaults ──────────────────────────────────────────────────────────
@@ -21,7 +21,11 @@ const DEFAULT_POLICY = {
21
21
  * Load density policy from environment.
22
22
  * Priority: SWT3_DENSITY_POLICY (inline JSON) > SWT3_DENSITY_POLICY_FILE (path) > defaults
23
23
  */
24
- export function loadDensityPolicy() {
24
+ export function loadDensityPolicy(yamlPolicy) {
25
+ // YAML-provided policy has second priority (after inline env var)
26
+ if (yamlPolicy && !process.env.SWT3_DENSITY_POLICY) {
27
+ return { ...DEFAULT_POLICY, ...yamlPolicy };
28
+ }
25
29
  const inline = process.env.SWT3_DENSITY_POLICY;
26
30
  if (inline) {
27
31
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"density-policy.js","sourceRoot":"","sources":["../src/density-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuCvC,yEAAyE;AAEzE,MAAM,cAAc,GAAkB;IACpC,2BAA2B,EAAE,CAAC;IAC9B,kBAAkB,EAAE,EAAE;IACtB,qBAAqB,EAAE,EAAE;IACzB,mBAAmB,EAAE,KAAK;IAC1B,eAAe,EAAE,CAAC;CACnB,CAAC;AAEF,yEAAyE;AAEzE;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACtD,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3C,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;AAC/B,CAAC;AAED,yEAAyE;AAEzE;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAqB,EACrB,OAAsB,EACtB,eAAwB,EACxB,eAAwB;IAExB,MAAM,UAAU,GAAsB,EAAE,CAAC;IAEzC,oDAAoD;IACpD,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,GAAG,CAAC,IAAI,MAAM,CAAC,2BAA2B,GAAG,CAAC,EAAE,CAAC;QAC7F,MAAM,eAAe,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,2BAA2B,CAAC;QACtF,IAAI,OAAO,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,gCAAgC,OAAO,CAAC,MAAM,gBAAgB,eAAe,iBAAiB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG;gBACpI,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACjF,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,8BAA8B,QAAQ,EAAE;oBACjD,MAAM,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;oBAClD,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,IAAI,MAAM,CAAC,qBAAqB,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;YAClE,IAAI,GAAG,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,gBAAgB,GAAG,qBAAqB,MAAM,CAAC,qBAAqB,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG;oBACpH,MAAM,EAAE,GAAG;oBACX,QAAQ,EAAE,MAAM,CAAC,qBAAqB;iBACvC,CAAC,CAAC;gBACH,MAAM,CAAC,wBAAwB;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,OAAO,OAAO,CAAC,MAAM,oCAAoC;gBACpF,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;gBACxC,QAAQ,EAAE,OAAO,CAAC,MAAM;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QACxE,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,qBAAqB,eAAe,kBAAkB,MAAM,CAAC,eAAe,EAAE;YACvF,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,MAAM,CAAC,eAAe;SACjC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC;QAClC,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"density-policy.js","sourceRoot":"","sources":["../src/density-policy.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  * - In-memory index keyed by agent_id and cycle_id
12
12
  * - TTL eviction (1 hour) + max entries (10,000 LRU)
13
13
  *
14
- * Patent coverage: PPA #7
14
+ * Patent pending.
15
15
  */
16
16
  export interface AnchorEntry {
17
17
  messageId: string;
@@ -11,7 +11,7 @@
11
11
  * - In-memory index keyed by agent_id and cycle_id
12
12
  * - TTL eviction (1 hour) + max entries (10,000 LRU)
13
13
  *
14
- * Patent coverage: PPA #7
14
+ * Patent pending.
15
15
  */
16
16
  import { hostname } from "node:os";
17
17
  // ── Constants ──────────────────────────────────────────��──────────────
package/dist/server.d.ts CHANGED
@@ -6,6 +6,6 @@
6
6
  * and full config (API key + tenant ID).
7
7
  */
8
8
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
9
- import type { McpConfig } from "./config.js";
10
- export declare function createServer(config: McpConfig): McpServer;
9
+ import type { McpConfig, McpConfigBundle } from "./config.js";
10
+ export declare function createServer(config: McpConfig, bundle?: McpConfigBundle): McpServer;
11
11
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAyB7C,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAunBzD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAiB,MAAM,aAAa,CAAC;AAmH7E,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAoqBnF"}
package/dist/server.js CHANGED
@@ -30,10 +30,86 @@ import { verifyAnchorChain } from "./chain-verifier.js";
30
30
  import { loadDensityPolicy } from "./density-policy.js";
31
31
  import { startRedisReader, stopRedisReader, getReaderState } from "./redis-reader.js";
32
32
  import { mintFingerprint, timestampMs, signPayload } from "./fingerprint.js";
33
- export function createServer(config) {
33
+ /**
34
+ * Match a tool name against a glob pattern list.
35
+ * Supports * (any chars) and ? (single char).
36
+ */
37
+ function matchesToolPattern(toolName, patterns) {
38
+ for (const pattern of patterns) {
39
+ const regex = new RegExp("^" + pattern.replace(/[.+^${}()|[\]\\]/g, "\\$&")
40
+ .replace(/\*/g, ".*")
41
+ .replace(/\?/g, ".") + "$");
42
+ if (regex.test(toolName))
43
+ return true;
44
+ }
45
+ return false;
46
+ }
47
+ function initChainDensity(policy) {
48
+ if (!policy.maxVelocity && policy.maxChainDepth === undefined &&
49
+ !policy.toolAllowlist?.length && !policy.toolBlocklist?.length) {
50
+ return null;
51
+ }
52
+ let velocityLimit = 0, velocityWindowMs = 0;
53
+ if (policy.maxVelocity) {
54
+ const parts = policy.maxVelocity.split("/");
55
+ velocityLimit = parseInt(parts[0], 10);
56
+ velocityWindowMs = parseInt(parts[1].replace("s", ""), 10) * 1000;
57
+ }
58
+ const toRegex = (p) => new RegExp("^" + p.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*").replace(/\?/g, ".") + "$");
59
+ return {
60
+ velocityWindow: [],
61
+ velocityLimit,
62
+ velocityWindowMs,
63
+ chainDepth: 0,
64
+ maxChainDepth: policy.maxChainDepth ?? Infinity,
65
+ lastToolName: null,
66
+ blockPatterns: (policy.toolBlocklist ?? []).map(toRegex),
67
+ allowPatterns: policy.toolAllowlist?.length ? policy.toolAllowlist.map(toRegex) : null,
68
+ failSecure: policy.failSecure ?? true,
69
+ };
70
+ }
71
+ function checkChainDensity(state, toolName) {
72
+ const now = Date.now();
73
+ // Blocklist
74
+ for (const p of state.blockPatterns) {
75
+ if (p.test(toolName))
76
+ return `Tool "${toolName}" is on the blocklist`;
77
+ }
78
+ // Allowlist
79
+ if (state.allowPatterns && !state.allowPatterns.some((p) => p.test(toolName))) {
80
+ return `Tool "${toolName}" is not on the allowlist`;
81
+ }
82
+ // Velocity
83
+ if (state.velocityLimit > 0) {
84
+ const cutoff = now - state.velocityWindowMs;
85
+ while (state.velocityWindow.length > 0 && state.velocityWindow[0] <= cutoff) {
86
+ state.velocityWindow.shift();
87
+ }
88
+ if (state.velocityWindow.length >= state.velocityLimit) {
89
+ if (state.failSecure)
90
+ return `Rate limit exceeded: ${state.velocityLimit} calls per ${state.velocityWindowMs / 1000}s`;
91
+ }
92
+ state.velocityWindow.push(now);
93
+ }
94
+ // Depth
95
+ if (state.maxChainDepth < Infinity) {
96
+ if (toolName !== state.lastToolName && state.lastToolName !== null)
97
+ state.chainDepth = 0;
98
+ state.chainDepth++;
99
+ state.lastToolName = toolName;
100
+ if (state.chainDepth > state.maxChainDepth) {
101
+ if (state.failSecure)
102
+ return `Chain depth ${state.chainDepth} exceeds max ${state.maxChainDepth}`;
103
+ }
104
+ }
105
+ return null;
106
+ }
107
+ export function createServer(config, bundle) {
34
108
  const client = new AxiomClient(config);
35
- const sessionState = createSessionState();
36
- const densityPolicy = loadDensityPolicy();
109
+ const sessionState = createSessionState(bundle?.trustMesh?.trustedTenants, bundle?.trustMesh?.deniedAgents);
110
+ const densityPolicy = bundle?.densityPolicy ?? loadDensityPolicy();
111
+ const mcpPolicy = bundle?.mcpPolicy ?? null;
112
+ const chainDensity = mcpPolicy ? initChainDensity(mcpPolicy) : null;
37
113
  // Start Redis reader if chain verification is enabled
38
114
  if (config.chainVerify) {
39
115
  startRedisReader({ redisUrl: config.redisUrl, streamName: config.redisStream })
@@ -93,6 +169,42 @@ export function createServer(config) {
93
169
  `linked by agent_id or cycle_id with no gaps exceeding ${config.maxChainGapSeconds}s.`,
94
170
  ].join("\n");
95
171
  }
172
+ /**
173
+ * MCP tool policy gate. Checks if a tool name requires witnessing per the
174
+ * mcp_policy section of the YAML config. Returns:
175
+ * - "witness": tool must be witnessed (auto_witness or matched pattern)
176
+ * - "exempt": tool is explicitly exempt
177
+ * - "block": tool blocked due to trust level or failure policy
178
+ * - null: no mcp_policy configured, pass through
179
+ */
180
+ function toolPolicyGate(toolName) {
181
+ if (!mcpPolicy)
182
+ return null;
183
+ // Exempt tools always pass through unwatched
184
+ if (mcpPolicy.exemptTools.length > 0 && matchesToolPattern(toolName, mcpPolicy.exemptTools)) {
185
+ return "exempt";
186
+ }
187
+ // Check if tool matches witnessed patterns
188
+ const isWitnessed = mcpPolicy.witnessedTools.length === 0
189
+ || matchesToolPattern(toolName, mcpPolicy.witnessedTools);
190
+ if (!isWitnessed)
191
+ return "exempt";
192
+ // Trust level gate: use real verified trust level, fall back to heuristic
193
+ if (mcpPolicy.requireTrustLevel > 0) {
194
+ const sessionTrust = sessionState.verifiedTrustLevel
195
+ ?? (sessionState.activeAuditSession ? 2 : (config.signingKey ? 1 : 0));
196
+ if (sessionTrust < mcpPolicy.requireTrustLevel) {
197
+ return "block";
198
+ }
199
+ }
200
+ // Chain density enforcement
201
+ if (chainDensity) {
202
+ const violation = checkChainDensity(chainDensity, toolName);
203
+ if (violation)
204
+ return "block";
205
+ }
206
+ return mcpPolicy.autoWitness ? "witness" : "exempt";
207
+ }
96
208
  const server = new McpServer({
97
209
  name: "swt3-mcp",
98
210
  version: "0.1.0",
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -20,8 +20,10 @@ export interface SessionState {
20
20
  trustedTenants: Set<string>;
21
21
  /** Agent IDs denied for this session. */
22
22
  deniedAgents: Set<string>;
23
+ /** Last verified trust level from verify_agent_trust (null if no verification performed). */
24
+ verifiedTrustLevel: number | null;
23
25
  /** Redis reader state (null if not configured or unavailable). */
24
26
  redisReader: RedisReaderState | null;
25
27
  }
26
- export declare function createSessionState(): SessionState;
28
+ export declare function createSessionState(yamlTrustedTenants?: string[], yamlDeniedAgents?: string[]): SessionState;
27
29
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,kBAAkB,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B,GAAG,IAAI,CAAC;IACT,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,qEAAqE;IACrE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,yCAAyC;IACzC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,kEAAkE;IAClE,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtC;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAWjD"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,kBAAkB,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B,GAAG,IAAI,CAAC;IACT,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,qEAAqE;IACrE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,yCAAyC;IACzC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,6FAA6F;IAC7F,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,kEAAkE;IAClE,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtC;AAED,wBAAgB,kBAAkB,CAChC,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAC1B,YAAY,CAad"}
package/dist/state.js CHANGED
@@ -4,14 +4,16 @@
4
4
  * Ephemeral in-memory state for audit sessions and chain tracking.
5
5
  * Lost on restart by design -- sessions are conversation-scoped.
6
6
  */
7
- export function createSessionState() {
8
- // Seed trusted tenants from env var (comma-separated)
7
+ export function createSessionState(yamlTrustedTenants, yamlDeniedAgents) {
8
+ // Seed trusted tenants from env var (comma-separated) + YAML
9
9
  const envTrusted = process.env.SWT3_TRUSTED_TENANTS?.split(",").map((s) => s.trim()).filter(Boolean) ?? [];
10
+ const allTrusted = [...envTrusted, ...(yamlTrustedTenants ?? [])];
10
11
  return {
11
12
  activeAuditSession: null,
12
13
  activeChain: null,
13
- trustedTenants: new Set(envTrusted),
14
- deniedAgents: new Set(),
14
+ trustedTenants: new Set(allTrusted),
15
+ deniedAgents: new Set(yamlDeniedAgents ?? []),
16
+ verifiedTrustLevel: null,
15
17
  redisReader: null,
16
18
  };
17
19
  }
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,MAAM,UAAU,kBAAkB;IAChC,sDAAsD;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAE3G,OAAO;QACL,kBAAkB,EAAE,IAAI;QACxB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC;QACnC,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyBH,MAAM,UAAU,kBAAkB,CAChC,kBAA6B,EAC7B,gBAA2B;IAE3B,6DAA6D;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC3G,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC;IAElE,OAAO;QACL,kBAAkB,EAAE,IAAI;QACxB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC;QACnC,YAAY,EAAE,IAAI,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAC7C,kBAAkB,EAAE,IAAI;QACxB,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["../../src/tools/trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAsFhD,UAAU,UAAU;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,MAAM,CAAC,CA2HjB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,SAAS,GAChB,MAAM,CA0BR"}
1
+ {"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["../../src/tools/trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAsFhD,UAAU,UAAU;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,MAAM,CAAC,CAiIjB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,SAAS,GAChB,MAAM,CA0BR"}
@@ -65,6 +65,10 @@ function verifyCounterpart(args, config, state) {
65
65
  export async function handleVerifyAgentTrust(args, config, client, state) {
66
66
  const clearingLevel = args.clearing_level ?? config.clearingLevel;
67
67
  const result = verifyCounterpart(args, config, state);
68
+ // Store verified trust level for toolPolicyGate to use
69
+ if (result.granted) {
70
+ state.verifiedTrustLevel = result.trustLevel;
71
+ }
68
72
  const verdict1 = result.granted ? "PASS" : "FAIL";
69
73
  const levelName = TRUST_LEVEL_NAMES[result.trustLevel] ?? "unknown";
70
74
  // ── Mint AI-TRUST.1 ──
@@ -1 +1 @@
1
- {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../src/tools/trust.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../src/tools/trust.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@tenova/swt3-mcp",
3
- "version": "0.5.1",
4
- "description": "MCP server for SWT3 AI Witness protocol — witness inferences, verify anchors, browse UCT registry",
3
+ "version": "0.5.2",
4
+ "mcpName": "io.tenova/swt3-witness",
5
+ "description": "Cryptographic compliance witnessing and security governance for AI agents. EU AI Act, NIST AI RMF, OWASP Agentic Top 10, CMMC, SR 11-7. Tool policy gates, trust mesh, inference attestation, audit sessions. Zero-config demo.",
5
6
  "type": "module",
6
7
  "main": "dist/index.js",
7
8
  "types": "dist/index.d.ts",
@@ -33,19 +34,25 @@
33
34
  "attestation",
34
35
  "eu-ai-act",
35
36
  "nist-ai-rmf",
37
+ "owasp-agentic-top10",
36
38
  "ai-governance",
37
39
  "ai-audit",
38
40
  "ai-accountability",
39
41
  "ai-observability",
40
- "llm-monitoring",
41
- "compliance-as-code",
42
- "responsible-ai",
43
42
  "ai-safety",
43
+ "agent-security",
44
+ "trust-mesh",
45
+ "policy-as-code",
44
46
  "nist-800-53",
45
47
  "cmmc",
48
+ "sr-11-7",
49
+ "iso-42001",
46
50
  "fedramp",
51
+ "gdpr",
47
52
  "cryptographic-attestation",
48
- "audit-trail"
53
+ "audit-trail",
54
+ "non-repudiation",
55
+ "tool-policy-gate"
49
56
  ],
50
57
  "author": "TeNova <engineering@tenovaai.com>",
51
58
  "license": "Apache-2.0",