@tenova/swt3-mcp 0.1.0 → 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.
Files changed (71) hide show
  1. package/README.md +162 -33
  2. package/dist/bin/swt3-mcp.js +3 -2
  3. package/dist/bin/swt3-mcp.js.map +1 -1
  4. package/dist/chain-verifier.d.ts +46 -0
  5. package/dist/chain-verifier.d.ts.map +1 -0
  6. package/dist/chain-verifier.js +210 -0
  7. package/dist/chain-verifier.js.map +1 -0
  8. package/dist/client.d.ts +4 -0
  9. package/dist/client.d.ts.map +1 -1
  10. package/dist/client.js.map +1 -1
  11. package/dist/config.d.ts +56 -6
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +151 -14
  14. package/dist/config.js.map +1 -1
  15. package/dist/density-policy.d.ts +55 -0
  16. package/dist/density-policy.d.ts.map +1 -0
  17. package/dist/density-policy.js +128 -0
  18. package/dist/density-policy.js.map +1 -0
  19. package/dist/redis-reader.d.ts +57 -0
  20. package/dist/redis-reader.d.ts.map +1 -0
  21. package/dist/redis-reader.js +254 -0
  22. package/dist/redis-reader.js.map +1 -0
  23. package/dist/server.d.ts +2 -2
  24. package/dist/server.d.ts.map +1 -1
  25. package/dist/server.js +555 -1
  26. package/dist/server.js.map +1 -1
  27. package/dist/state.d.ts +29 -0
  28. package/dist/state.d.ts.map +1 -0
  29. package/dist/state.js +20 -0
  30. package/dist/state.js.map +1 -0
  31. package/dist/tools/audit.d.ts +20 -0
  32. package/dist/tools/audit.d.ts.map +1 -0
  33. package/dist/tools/audit.js +102 -0
  34. package/dist/tools/audit.js.map +1 -0
  35. package/dist/tools/authorize.d.ts +19 -0
  36. package/dist/tools/authorize.d.ts.map +1 -0
  37. package/dist/tools/authorize.js +96 -0
  38. package/dist/tools/authorize.js.map +1 -0
  39. package/dist/tools/chain.d.ts +24 -0
  40. package/dist/tools/chain.d.ts.map +1 -0
  41. package/dist/tools/chain.js +114 -0
  42. package/dist/tools/chain.js.map +1 -0
  43. package/dist/tools/model.d.ts +33 -0
  44. package/dist/tools/model.d.ts.map +1 -0
  45. package/dist/tools/model.js +162 -0
  46. package/dist/tools/model.js.map +1 -0
  47. package/dist/tools/signup.d.ts +2 -2
  48. package/dist/tools/signup.d.ts.map +1 -1
  49. package/dist/tools/signup.js +10 -3
  50. package/dist/tools/signup.js.map +1 -1
  51. package/dist/tools/skill.d.ts +33 -0
  52. package/dist/tools/skill.d.ts.map +1 -0
  53. package/dist/tools/skill.js +168 -0
  54. package/dist/tools/skill.js.map +1 -0
  55. package/dist/tools/suggest.d.ts +15 -0
  56. package/dist/tools/suggest.d.ts.map +1 -0
  57. package/dist/tools/suggest.js +174 -0
  58. package/dist/tools/suggest.js.map +1 -0
  59. package/dist/tools/trust.d.ts +33 -0
  60. package/dist/tools/trust.d.ts.map +1 -0
  61. package/dist/tools/trust.js +213 -0
  62. package/dist/tools/trust.js.map +1 -0
  63. package/dist/tools/violation.d.ts +20 -0
  64. package/dist/tools/violation.d.ts.map +1 -0
  65. package/dist/tools/violation.js +97 -0
  66. package/dist/tools/violation.js.map +1 -0
  67. package/dist/tools/witness.d.ts +6 -1
  68. package/dist/tools/witness.d.ts.map +1 -1
  69. package/dist/tools/witness.js +19 -5
  70. package/dist/tools/witness.js.map +1 -1
  71. package/package.json +33 -3
@@ -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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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * SWT3 MCP Server: session state.
3
+ *
4
+ * Ephemeral in-memory state for audit sessions and chain tracking.
5
+ * Lost on restart by design -- sessions are conversation-scoped.
6
+ */
7
+ import type { RedisReaderState } from "./redis-reader.js";
8
+ export interface SessionState {
9
+ activeAuditSession: {
10
+ sessionId: string;
11
+ startedAt: number;
12
+ proceduresWitnessed: string[];
13
+ } | null;
14
+ activeChain: {
15
+ cycleId: string;
16
+ description: string;
17
+ startedAt: number;
18
+ } | null;
19
+ /** Tenant IDs trusted for this session (env + runtime additions). */
20
+ trustedTenants: Set<string>;
21
+ /** Agent IDs denied for this session. */
22
+ deniedAgents: Set<string>;
23
+ /** Last verified trust level from verify_agent_trust (null if no verification performed). */
24
+ verifiedTrustLevel: number | null;
25
+ /** Redis reader state (null if not configured or unavailable). */
26
+ redisReader: RedisReaderState | null;
27
+ }
28
+ export declare function createSessionState(yamlTrustedTenants?: string[], yamlDeniedAgents?: string[]): SessionState;
29
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +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,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 ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SWT3 MCP Server: session state.
3
+ *
4
+ * Ephemeral in-memory state for audit sessions and chain tracking.
5
+ * Lost on restart by design -- sessions are conversation-scoped.
6
+ */
7
+ export function createSessionState(yamlTrustedTenants, yamlDeniedAgents) {
8
+ // Seed trusted tenants from env var (comma-separated) + YAML
9
+ const envTrusted = process.env.SWT3_TRUSTED_TENANTS?.split(",").map((s) => s.trim()).filter(Boolean) ?? [];
10
+ const allTrusted = [...envTrusted, ...(yamlTrustedTenants ?? [])];
11
+ return {
12
+ activeAuditSession: null,
13
+ activeChain: null,
14
+ trustedTenants: new Set(allTrusted),
15
+ deniedAgents: new Set(yamlDeniedAgents ?? []),
16
+ verifiedTrustLevel: null,
17
+ redisReader: null,
18
+ };
19
+ }
20
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SWT3 MCP Server: audit session tools.
3
+ *
4
+ * Passive compliance tracking for a conversation. Records which procedures
5
+ * were witnessed and produces a gap report at session end.
6
+ *
7
+ * Never blocks execution. Purely observational.
8
+ */
9
+ import type { AxiomClient } from "../client.js";
10
+ import type { SessionState } from "../state.js";
11
+ export declare function handleStartAudit(state: SessionState): string;
12
+ export declare function handleEndAudit(_args: {
13
+ session_id?: string;
14
+ }, state: SessionState, client: AxiomClient): Promise<string>;
15
+ /**
16
+ * Track a procedure in the active audit session (if any).
17
+ * Called from server.ts after witness/authorize tool calls.
18
+ */
19
+ export declare function trackProcedure(state: SessionState, procedureId: string): void;
20
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAyB5D;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CA+DjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAI7E"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * SWT3 MCP Server: audit session tools.
3
+ *
4
+ * Passive compliance tracking for a conversation. Records which procedures
5
+ * were witnessed and produces a gap report at session end.
6
+ *
7
+ * Never blocks execution. Purely observational.
8
+ */
9
+ import { randomUUID } from "node:crypto";
10
+ export function handleStartAudit(state) {
11
+ // Idempotent: return existing session if already active
12
+ if (state.activeAuditSession) {
13
+ return [
14
+ `Audit session already active.`,
15
+ `Session ID: ${state.activeAuditSession.sessionId}`,
16
+ `Started: ${new Date(state.activeAuditSession.startedAt).toISOString()}`,
17
+ `Procedures witnessed so far: ${state.activeAuditSession.proceduresWitnessed.length}`,
18
+ ].join("\n");
19
+ }
20
+ const sessionId = randomUUID();
21
+ state.activeAuditSession = {
22
+ sessionId,
23
+ startedAt: Date.now(),
24
+ proceduresWitnessed: [],
25
+ };
26
+ return [
27
+ `Audit session started.`,
28
+ `Session ID: ${sessionId}`,
29
+ ``,
30
+ `All witness_inference and witness_authorization calls will be tracked.`,
31
+ `Call end_audit_session when done to see a compliance gap report.`,
32
+ ].join("\n");
33
+ }
34
+ export async function handleEndAudit(_args, state, client) {
35
+ if (!state.activeAuditSession) {
36
+ return "No audit session is active. Call start_audit_session first.";
37
+ }
38
+ const session = state.activeAuditSession;
39
+ const durationMs = Date.now() - session.startedAt;
40
+ const durationSec = Math.round(durationMs / 1000);
41
+ const witnessed = [...new Set(session.proceduresWitnessed)];
42
+ // Fetch AI procedures from registry for gap analysis
43
+ let allAiProcedures = [];
44
+ try {
45
+ const registry = await client.fetchRegistry();
46
+ const procedures = registry?.procedures ?? registry;
47
+ if (Array.isArray(procedures)) {
48
+ allAiProcedures = procedures
49
+ .map((p) => p.procedure_id || p.id || "")
50
+ .filter((id) => id.startsWith("AI-"));
51
+ }
52
+ }
53
+ catch {
54
+ // Registry unavailable -- report what we have
55
+ }
56
+ const gaps = allAiProcedures.filter((p) => !witnessed.includes(p));
57
+ const coverage = allAiProcedures.length > 0
58
+ ? Math.round((witnessed.filter(w => allAiProcedures.includes(w)).length / allAiProcedures.length) * 100)
59
+ : 0;
60
+ // Clear session
61
+ state.activeAuditSession = null;
62
+ const lines = [
63
+ `Audit Session Complete`,
64
+ `Session ID: ${session.sessionId}`,
65
+ `Duration: ${durationSec}s`,
66
+ ``,
67
+ `Procedures Witnessed (${witnessed.length}):`,
68
+ ];
69
+ if (witnessed.length > 0) {
70
+ for (const p of witnessed.sort()) {
71
+ lines.push(` [x] ${p}`);
72
+ }
73
+ }
74
+ else {
75
+ lines.push(` (none)`);
76
+ }
77
+ if (allAiProcedures.length > 0) {
78
+ lines.push(``);
79
+ lines.push(`AI Procedures Not Witnessed (${gaps.length}):`);
80
+ if (gaps.length > 0) {
81
+ for (const p of gaps.sort()) {
82
+ lines.push(` [ ] ${p}`);
83
+ }
84
+ }
85
+ else {
86
+ lines.push(` (full coverage)`);
87
+ }
88
+ lines.push(``);
89
+ lines.push(`AI Procedure Coverage: ${coverage}%`);
90
+ }
91
+ return lines.join("\n");
92
+ }
93
+ /**
94
+ * Track a procedure in the active audit session (if any).
95
+ * Called from server.ts after witness/authorize tool calls.
96
+ */
97
+ export function trackProcedure(state, procedureId) {
98
+ if (state.activeAuditSession) {
99
+ state.activeAuditSession.proceduresWitnessed.push(procedureId);
100
+ }
101
+ }
102
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * SWT3 MCP Server: witness_authorization tool.
3
+ *
4
+ * Records an authorization decision as an AI-ACC.1 anchor. Never blocks
5
+ * execution. FAIL anchors trigger alerts, not blocks.
6
+ */
7
+ import type { McpConfig } from "../config.js";
8
+ import type { AxiomClient } from "../client.js";
9
+ interface AuthorizeArgs {
10
+ resource: string;
11
+ scope?: string;
12
+ granted: boolean;
13
+ agent_id?: string;
14
+ cycle_id?: string;
15
+ clearing_level?: 0 | 1 | 2 | 3;
16
+ }
17
+ export declare function handleAuthorize(args: AuthorizeArgs, config: McpConfig, client: AxiomClient): Promise<string>;
18
+ export {};
19
+ //# sourceMappingURL=authorize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorize.d.ts","sourceRoot":"","sources":["../../src/tools/authorize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,cAAc,CAAC;AAQhE,UAAU,aAAa;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAChC;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CAqGjB"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * SWT3 MCP Server: witness_authorization tool.
3
+ *
4
+ * Records an authorization decision as an AI-ACC.1 anchor. Never blocks
5
+ * execution. FAIL anchors trigger alerts, not blocks.
6
+ */
7
+ import { mintFingerprint, sha256Truncated, timestampMs, signPayload, } from "../fingerprint.js";
8
+ export async function handleAuthorize(args, config, client) {
9
+ const procedureId = "AI-ACC.1";
10
+ const clearingLevel = args.clearing_level ?? config.clearingLevel;
11
+ // AI-ACC.1 factors: access attempt, granted/denied
12
+ const factorA = 1;
13
+ const factorB = args.granted ? 1 : 0;
14
+ const factorC = args.granted ? 1 : 0;
15
+ // Mint fingerprint
16
+ const [ts, epoch] = timestampMs();
17
+ const fp = mintFingerprint(config.tenantId, procedureId, factorA, factorB, factorC, ts);
18
+ // Build payload with clearing applied
19
+ const payload = {
20
+ procedure_id: procedureId,
21
+ factor_a: factorA,
22
+ factor_b: factorB,
23
+ factor_c: factorC,
24
+ clearing_level: clearingLevel,
25
+ anchor_fingerprint: fp,
26
+ anchor_epoch: epoch,
27
+ fingerprint_timestamp_ms: ts,
28
+ };
29
+ // Apply clearing level
30
+ if (clearingLevel <= 1) {
31
+ payload.ai_model_id = args.resource;
32
+ payload.ai_context = {
33
+ provider: "access",
34
+ access_target: args.resource,
35
+ access_scope: args.scope || "default",
36
+ access_granted: args.granted,
37
+ };
38
+ }
39
+ else if (clearingLevel === 2) {
40
+ payload.ai_model_id = args.resource;
41
+ }
42
+ else {
43
+ // Level 3: hash resource name
44
+ payload.ai_model_id = sha256Truncated(args.resource);
45
+ }
46
+ // Source identification
47
+ payload.witness_source = "mcp";
48
+ // Operational metadata (survives all clearing levels)
49
+ const agentId = args.agent_id || config.agentId;
50
+ if (agentId)
51
+ payload.agent_id = agentId;
52
+ if (args.cycle_id)
53
+ payload.cycle_id = args.cycle_id;
54
+ if (config.signingKey) {
55
+ payload.payload_signature = signPayload(config.signingKey, fp, agentId);
56
+ }
57
+ const verdict = args.granted ? "PASS" : "FAIL";
58
+ // Demo mode: mint locally, no network call
59
+ if (config.demo) {
60
+ const demoAnchor = `SWT3-DEMO-LOCAL-AI-${procedureId.replace(/[.-]/g, "")}-${verdict}-${epoch}-${fp}`;
61
+ return [
62
+ `[DEMO MODE: local only, not persisted]`,
63
+ ``,
64
+ `Authorization ${args.granted ? "GRANTED" : "DENIED"}`,
65
+ `Verdict: ${verdict}`,
66
+ `Anchor: ${demoAnchor}`,
67
+ `Procedure: ${procedureId}`,
68
+ `Resource: ${args.resource}`,
69
+ `Scope: ${args.scope || "default"}`,
70
+ `Clearing Level: ${clearingLevel}`,
71
+ `Fingerprint: ${fp}`,
72
+ ``,
73
+ `This anchor was minted locally. To persist anchors to the SWT3 ledger,`,
74
+ `use the signup tool to create a free account, or set SWT3_API_KEY.`,
75
+ ].join("\n");
76
+ }
77
+ // POST to witness endpoint
78
+ const receipt = await client.postWitness(payload);
79
+ // Auto-resolve tenant ID for future calls
80
+ if (receipt.tenant_id && !process.env.SWT3_TENANT_ID) {
81
+ config.tenantId = receipt.tenant_id;
82
+ }
83
+ return [
84
+ `Authorization ${args.granted ? "GRANTED" : "DENIED"}`,
85
+ `Verdict: ${receipt.verdict}`,
86
+ `Anchor: ${receipt.swt3_anchor}`,
87
+ `Procedure: ${receipt.procedure_id}`,
88
+ `Resource: ${args.resource}`,
89
+ `Scope: ${args.scope || "default"}`,
90
+ `Clearing Level: ${receipt.clearing_level}`,
91
+ `Witnessed: ${receipt.witnessed_at}`,
92
+ `Verify: ${config.endpoint}${receipt.verification_url}`,
93
+ `Fingerprint: ${fp}`,
94
+ ].join("\n");
95
+ }
96
+ //# sourceMappingURL=authorize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorize.js","sourceRoot":"","sources":["../../src/tools/authorize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * SWT3 MCP Server: multi-agent chain tools.
3
+ *
4
+ * Metadata tagging for multi-agent pipelines. start_chain generates a
5
+ * cycle_id, chain_handoff witnesses custody transfer. Neither blocks
6
+ * execution.
7
+ */
8
+ import type { McpConfig } from "../config.js";
9
+ import type { AxiomClient } from "../client.js";
10
+ import type { SessionState } from "../state.js";
11
+ interface StartChainArgs {
12
+ description?: string;
13
+ }
14
+ interface HandoffArgs {
15
+ cycle_id: string;
16
+ from_agent: string;
17
+ to_agent: string;
18
+ context?: string;
19
+ clearing_level?: 0 | 1 | 2 | 3;
20
+ }
21
+ export declare function handleStartChain(args: StartChainArgs, state: SessionState): string;
22
+ export declare function handleChainHandoff(args: HandoffArgs, config: McpConfig, client: AxiomClient): Promise<string>;
23
+ export {};
24
+ //# sourceMappingURL=chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/tools/chain.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,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;AAQhD,UAAU,cAAc;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAChC;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,YAAY,GAClB,MAAM,CA4BR;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CA0FjB"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * SWT3 MCP Server: multi-agent chain tools.
3
+ *
4
+ * Metadata tagging for multi-agent pipelines. start_chain generates a
5
+ * cycle_id, chain_handoff witnesses custody transfer. Neither blocks
6
+ * execution.
7
+ */
8
+ import { randomUUID } from "node:crypto";
9
+ import { mintFingerprint, sha256Truncated, timestampMs, signPayload, } from "../fingerprint.js";
10
+ export function handleStartChain(args, state) {
11
+ // Idempotent: return existing chain if active
12
+ if (state.activeChain) {
13
+ return [
14
+ `Chain already active.`,
15
+ `Cycle ID: ${state.activeChain.cycleId}`,
16
+ `Description: ${state.activeChain.description}`,
17
+ `Started: ${new Date(state.activeChain.startedAt).toISOString()}`,
18
+ ``,
19
+ `Pass this cycle_id to witness_inference and chain_handoff calls.`,
20
+ ].join("\n");
21
+ }
22
+ const cycleId = randomUUID();
23
+ state.activeChain = {
24
+ cycleId,
25
+ description: args.description || "unnamed chain",
26
+ startedAt: Date.now(),
27
+ };
28
+ return [
29
+ `Chain started.`,
30
+ `Cycle ID: ${cycleId}`,
31
+ `Description: ${args.description || "unnamed chain"}`,
32
+ ``,
33
+ `Pass this cycle_id to witness_inference and chain_handoff calls`,
34
+ `to link all anchors in this multi-agent chain.`,
35
+ ].join("\n");
36
+ }
37
+ export async function handleChainHandoff(args, config, client) {
38
+ const procedureId = "AI-CHAIN.1";
39
+ const clearingLevel = args.clearing_level ?? config.clearingLevel;
40
+ // AI-CHAIN.1 factors: handoff occurred (always 1), transfer complete (always 1), reserved
41
+ const factorA = 1;
42
+ const factorB = 1;
43
+ const factorC = 0;
44
+ const [ts, epoch] = timestampMs();
45
+ const fp = mintFingerprint(config.tenantId, procedureId, factorA, factorB, factorC, ts);
46
+ const payload = {
47
+ procedure_id: procedureId,
48
+ factor_a: factorA,
49
+ factor_b: factorB,
50
+ factor_c: factorC,
51
+ clearing_level: clearingLevel,
52
+ anchor_fingerprint: fp,
53
+ anchor_epoch: epoch,
54
+ fingerprint_timestamp_ms: ts,
55
+ };
56
+ // Apply clearing level to handoff context
57
+ if (clearingLevel <= 1) {
58
+ payload.ai_model_id = `${args.from_agent} -> ${args.to_agent}`;
59
+ payload.ai_context = {
60
+ provider: "chain",
61
+ from_agent: args.from_agent,
62
+ to_agent: args.to_agent,
63
+ handoff_context: args.context || "unspecified",
64
+ };
65
+ }
66
+ else if (clearingLevel === 2) {
67
+ payload.ai_model_id = `${args.from_agent} -> ${args.to_agent}`;
68
+ }
69
+ else {
70
+ payload.ai_model_id = sha256Truncated(`${args.from_agent}:${args.to_agent}`);
71
+ }
72
+ payload.witness_source = "mcp";
73
+ payload.cycle_id = args.cycle_id;
74
+ const agentId = config.agentId;
75
+ if (agentId)
76
+ payload.agent_id = agentId;
77
+ if (config.signingKey) {
78
+ payload.payload_signature = signPayload(config.signingKey, fp, agentId);
79
+ }
80
+ // Demo mode
81
+ if (config.demo) {
82
+ const demoAnchor = `SWT3-DEMO-LOCAL-AI-${procedureId.replace(/[.-]/g, "")}-PASS-${epoch}-${fp}`;
83
+ return [
84
+ `[DEMO MODE: local only, not persisted]`,
85
+ ``,
86
+ `Chain Handoff Witnessed`,
87
+ `Anchor: ${demoAnchor}`,
88
+ `Procedure: ${procedureId}`,
89
+ `From: ${args.from_agent}`,
90
+ `To: ${args.to_agent}`,
91
+ `Cycle ID: ${args.cycle_id}`,
92
+ `Clearing Level: ${clearingLevel}`,
93
+ `Fingerprint: ${fp}`,
94
+ ].join("\n");
95
+ }
96
+ const receipt = await client.postWitness(payload);
97
+ if (receipt.tenant_id && !process.env.SWT3_TENANT_ID) {
98
+ config.tenantId = receipt.tenant_id;
99
+ }
100
+ return [
101
+ `Chain Handoff Witnessed`,
102
+ `Verdict: ${receipt.verdict}`,
103
+ `Anchor: ${receipt.swt3_anchor}`,
104
+ `Procedure: ${receipt.procedure_id}`,
105
+ `From: ${args.from_agent}`,
106
+ `To: ${args.to_agent}`,
107
+ `Cycle ID: ${args.cycle_id}`,
108
+ `Clearing Level: ${receipt.clearing_level}`,
109
+ `Witnessed: ${receipt.witnessed_at}`,
110
+ `Verify: ${config.endpoint}${receipt.verification_url}`,
111
+ `Fingerprint: ${fp}`,
112
+ ].join("\n");
113
+ }
114
+ //# sourceMappingURL=chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/tools/chain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * SWT3 MCP Server: model integrity tools.
3
+ *
4
+ * witness_model_integrity (AI-MDL.5): Verify model weight file hash.
5
+ * witness_adapter_stack (AI-MDL.6): Attest active LoRA/PEFT adapters.
6
+ */
7
+ import type { McpConfig } from "../config.js";
8
+ import type { AxiomClient } from "../client.js";
9
+ interface ModelIntegrityArgs {
10
+ model_id: string;
11
+ weight_hash: string;
12
+ expected_hash?: string;
13
+ format?: string;
14
+ file_size_bytes?: number;
15
+ agent_id?: string;
16
+ cycle_id?: string;
17
+ clearing_level?: 0 | 1 | 2 | 3;
18
+ }
19
+ export declare function handleWitnessModelIntegrity(args: ModelIntegrityArgs, config: McpConfig, client: AxiomClient): Promise<string>;
20
+ interface AdapterStackArgs {
21
+ base_model: string;
22
+ adapters: Array<{
23
+ name: string;
24
+ hash: string;
25
+ base_model?: string;
26
+ }>;
27
+ agent_id?: string;
28
+ cycle_id?: string;
29
+ clearing_level?: 0 | 1 | 2 | 3;
30
+ }
31
+ export declare function handleWitnessAdapterStack(args: AdapterStackArgs, config: McpConfig, client: AxiomClient): Promise<string>;
32
+ export {};
33
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/tools/model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,cAAc,CAAC;AAUhE,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAChC;AAED,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CAgFjB;AAID,UAAU,gBAAgB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAChC;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CA4EjB"}