@fhestate/mcp-server 1.0.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.
Files changed (66) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +432 -0
  3. package/SECURITY.md +158 -0
  4. package/data/agents.json +81 -0
  5. package/dist/blind-step.d.ts +43 -0
  6. package/dist/blind-step.d.ts.map +1 -0
  7. package/dist/blind-step.js +59 -0
  8. package/dist/blind-step.js.map +1 -0
  9. package/dist/cli-bridge.d.ts +62 -0
  10. package/dist/cli-bridge.d.ts.map +1 -0
  11. package/dist/cli-bridge.js +224 -0
  12. package/dist/cli-bridge.js.map +1 -0
  13. package/dist/config.d.ts +13 -0
  14. package/dist/config.d.ts.map +1 -0
  15. package/dist/config.js +37 -0
  16. package/dist/config.js.map +1 -0
  17. package/dist/content/overview.d.ts +3 -0
  18. package/dist/content/overview.d.ts.map +1 -0
  19. package/dist/content/overview.js +30 -0
  20. package/dist/content/overview.js.map +1 -0
  21. package/dist/content/tweets.d.ts +3 -0
  22. package/dist/content/tweets.d.ts.map +1 -0
  23. package/dist/content/tweets.js +23 -0
  24. package/dist/content/tweets.js.map +1 -0
  25. package/dist/data/agents.json +81 -0
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +13 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/redact.d.ts +23 -0
  31. package/dist/redact.d.ts.map +1 -0
  32. package/dist/redact.js +36 -0
  33. package/dist/redact.js.map +1 -0
  34. package/dist/resources.d.ts +6 -0
  35. package/dist/resources.d.ts.map +1 -0
  36. package/dist/resources.js +12 -0
  37. package/dist/resources.js.map +1 -0
  38. package/dist/server.d.ts +15 -0
  39. package/dist/server.d.ts.map +1 -0
  40. package/dist/server.js +124 -0
  41. package/dist/server.js.map +1 -0
  42. package/dist/tools/agents.d.ts +44 -0
  43. package/dist/tools/agents.d.ts.map +1 -0
  44. package/dist/tools/agents.js +91 -0
  45. package/dist/tools/agents.js.map +1 -0
  46. package/dist/tools/devnet.d.ts +43 -0
  47. package/dist/tools/devnet.d.ts.map +1 -0
  48. package/dist/tools/devnet.js +119 -0
  49. package/dist/tools/devnet.js.map +1 -0
  50. package/dist/tools/fhe.d.ts +7 -0
  51. package/dist/tools/fhe.d.ts.map +1 -0
  52. package/dist/tools/fhe.js +22 -0
  53. package/dist/tools/fhe.js.map +1 -0
  54. package/dist/tools/knowledge.d.ts +19 -0
  55. package/dist/tools/knowledge.d.ts.map +1 -0
  56. package/dist/tools/knowledge.js +15 -0
  57. package/dist/tools/knowledge.js.map +1 -0
  58. package/dist/tools/social.d.ts +14 -0
  59. package/dist/tools/social.d.ts.map +1 -0
  60. package/dist/tools/social.js +10 -0
  61. package/dist/tools/social.js.map +1 -0
  62. package/dist/tools/verification.d.ts +7 -0
  63. package/dist/tools/verification.d.ts.map +1 -0
  64. package/dist/tools/verification.js +6 -0
  65. package/dist/tools/verification.js.map +1 -0
  66. package/package.json +58 -0
@@ -0,0 +1,81 @@
1
+ {
2
+ "demoOrders": [
3
+ "Sentinel Secret Vote (2 min, best for CT)",
4
+ "Sentinel → Auditor Compliance Scan → Auditor Seal Record",
5
+ "Sentinel Market Signal → Coordinator Route Intent"
6
+ ],
7
+ "agents": [
8
+ {
9
+ "id": "sentinel",
10
+ "sdkId": "fhestate-sentinel-v1",
11
+ "name": "Sentinel",
12
+ "role": "Confidential operations",
13
+ "strategy": "Signal · Vote · Policy",
14
+ "prerequisites": "None — run any Sentinel mission first",
15
+ "missions": [
16
+ {
17
+ "id": "signal",
18
+ "label": "Market Signal",
19
+ "inputKind": "signal",
20
+ "valueHint": "uint32 signal level",
21
+ "prerequisites": null
22
+ },
23
+ {
24
+ "id": "vote",
25
+ "label": "Secret Vote",
26
+ "inputKind": "vote",
27
+ "valueHint": "1 = YES, 0 = NO",
28
+ "prerequisites": null
29
+ },
30
+ {
31
+ "id": "threshold",
32
+ "label": "Policy Gate",
33
+ "inputKind": "threshold",
34
+ "valueHint": "uint32 policy threshold",
35
+ "prerequisites": null
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "id": "auditor",
41
+ "sdkId": "fhestate-auditor-v1",
42
+ "name": "Auditor",
43
+ "role": "Compliance attestation",
44
+ "strategy": "Verify · Attest · Log",
45
+ "prerequisites": "Seal Record requires prior Auditor memory",
46
+ "missions": [
47
+ {
48
+ "id": "audit-scan",
49
+ "label": "Compliance Scan",
50
+ "inputKind": "checkpoint",
51
+ "valueHint": "checkpoint code 1–255",
52
+ "prerequisites": null
53
+ },
54
+ {
55
+ "id": "audit-seal",
56
+ "label": "Seal Record",
57
+ "inputKind": "seal",
58
+ "valueHint": "seal nonce 1–9999",
59
+ "prerequisites": "Run Compliance Scan first"
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ "id": "coordinator",
65
+ "sdkId": "fhestate-coordinator-v1",
66
+ "name": "Coordinator",
67
+ "role": "Multi-party routing",
68
+ "strategy": "Route · Sync · Commit",
69
+ "prerequisites": "Route Intent requires at least one Sentinel memory slot",
70
+ "missions": [
71
+ {
72
+ "id": "route-intent",
73
+ "label": "Route Intent",
74
+ "inputKind": "route",
75
+ "valueHint": "route channel id 1–100",
76
+ "prerequisites": "Run any Sentinel mission first"
77
+ }
78
+ ]
79
+ }
80
+ ]
81
+ }
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { createFhestateMcpServer } from "./server.js";
4
+ async function main() {
5
+ const server = createFhestateMcpServer();
6
+ const transport = new StdioServerTransport();
7
+ await server.connect(transport);
8
+ }
9
+ main().catch((err) => {
10
+ console.error(err);
11
+ process.exit(1);
12
+ });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The core topological and cryptographic Redaction Engine.
3
+ * Iterates over all subprocess `stdout` and `stderr` streams, aggressively scrubbing
4
+ * absolute host paths, BIP39 mnemonic phrases, and raw byte arrays to ensure the LLM
5
+ * remains entirely blind to the execution environment's private state.
6
+ * @param text The raw buffer string from the Rust Coprocessor.
7
+ * @returns A sanitized, LLM-safe string with sensitive data explicitly flagged as `[REDACTED]`.
8
+ */
9
+ export declare function redact(text: string): string;
10
+ /**
11
+ * MCP JSON-RPC Output Formatter.
12
+ * Automatically pipes any complex object or string through the Redaction Engine before
13
+ * formatting it into the strict Model Context Protocol response schema.
14
+ * @param data The raw data to format and sanitize.
15
+ * @returns The standardized MCP text block.
16
+ */
17
+ export declare function textResult(data: unknown): {
18
+ content: {
19
+ type: "text";
20
+ text: string;
21
+ }[];
22
+ };
23
+ //# sourceMappingURL=redact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"AAWA;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO3C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAGvF"}
package/dist/redact.js ADDED
@@ -0,0 +1,36 @@
1
+ const SECRET_PATTERNS = [
2
+ /\[[\d,\s]{32,}\]/g,
3
+ /secretKey/gi,
4
+ /mnemonic/gi,
5
+ /seed phrase/gi,
6
+ ];
7
+ /** Redact absolute paths that may contain wallet or key material. */
8
+ const PATH_PATTERN = /(?:[A-Za-z]:\\|\/)[^\s"'`]{0,200}(?:wallet|keypair|id\.json)[^\s"'`]*/gi;
9
+ /**
10
+ * The core topological and cryptographic Redaction Engine.
11
+ * Iterates over all subprocess `stdout` and `stderr` streams, aggressively scrubbing
12
+ * absolute host paths, BIP39 mnemonic phrases, and raw byte arrays to ensure the LLM
13
+ * remains entirely blind to the execution environment's private state.
14
+ * @param text The raw buffer string from the Rust Coprocessor.
15
+ * @returns A sanitized, LLM-safe string with sensitive data explicitly flagged as `[REDACTED]`.
16
+ */
17
+ export function redact(text) {
18
+ let out = text;
19
+ for (const re of SECRET_PATTERNS) {
20
+ out = out.replace(re, "[REDACTED]");
21
+ }
22
+ out = out.replace(PATH_PATTERN, "[REDACTED_PATH]");
23
+ return out;
24
+ }
25
+ /**
26
+ * MCP JSON-RPC Output Formatter.
27
+ * Automatically pipes any complex object or string through the Redaction Engine before
28
+ * formatting it into the strict Model Context Protocol response schema.
29
+ * @param data The raw data to format and sanitize.
30
+ * @returns The standardized MCP text block.
31
+ */
32
+ export function textResult(data) {
33
+ const text = typeof data === "string" ? data : JSON.stringify(data, null, 2);
34
+ return { content: [{ type: "text", text: redact(text) }] };
35
+ }
36
+ //# sourceMappingURL=redact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact.js","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG;IACtB,mBAAmB;IACnB,aAAa;IACb,YAAY;IACZ,eAAe;CAChB,CAAC;AAEF,qEAAqE;AACrE,MAAM,YAAY,GAChB,yEAAyE,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACnD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const RESOURCE_URIS: readonly ["fhestate://agents/registry"];
2
+ export declare function readResource(uri: string): {
3
+ text: string;
4
+ mimeType: string;
5
+ } | null;
6
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,yCAEhB,CAAC;AAEX,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAKnF"}
@@ -0,0 +1,12 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { getAgentsJsonPath } from "./config.js";
3
+ export const RESOURCE_URIS = [
4
+ "fhestate://agents/registry",
5
+ ];
6
+ export function readResource(uri) {
7
+ if (uri === "fhestate://agents/registry") {
8
+ return { text: readFileSync(getAgentsJsonPath(), "utf8"), mimeType: "application/json" };
9
+ }
10
+ return null;
11
+ }
12
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,4BAA4B;CACpB,CAAC;AAEX,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,GAAG,KAAK,4BAA4B,EAAE,CAAC;QACzC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC3F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+
3
+ * CORE ARCHITECTURE FILE
4
+ * This module defines the strict execution bridge between the non-deterministic
5
+ * LLM (e.g., Claude) and the deterministic Rust Coprocessor (`fhe-cli`).
6
+ *
7
+ * SECURITY BOUNDARY:
8
+ * Every tool registered here strictly enforces input schemas using `zod`.
9
+ * This mathematically guarantees that hallucinated parameters (e.g., negative
10
+ * integers, path traversals, float values) are rejected at the gateway before
11
+ * they can ever touch the IPC buffer or the Solana blockchain.
12
+ */
13
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
14
+ export declare function createFhestateMcpServer(): McpServer;
15
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUpE,wBAAgB,uBAAuB,IAAI,SAAS,CAoLnD"}
package/dist/server.js ADDED
@@ -0,0 +1,124 @@
1
+ /**
2
+
3
+ * CORE ARCHITECTURE FILE
4
+ * This module defines the strict execution bridge between the non-deterministic
5
+ * LLM (e.g., Claude) and the deterministic Rust Coprocessor (`fhe-cli`).
6
+ *
7
+ * SECURITY BOUNDARY:
8
+ * Every tool registered here strictly enforces input schemas using `zod`.
9
+ * This mathematically guarantees that hallucinated parameters (e.g., negative
10
+ * integers, path traversals, float values) are rejected at the gateway before
11
+ * they can ever touch the IPC buffer or the Solana blockchain.
12
+ */
13
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
14
+ import { z } from "zod";
15
+ import * as fhe from "./tools/fhe.js";
16
+ import * as agents from "./tools/agents.js";
17
+ import * as devnet from "./tools/devnet.js";
18
+ import * as verification from "./tools/verification.js";
19
+ import * as config from "./config.js";
20
+ import { readResource, RESOURCE_URIS } from "./resources.js";
21
+ export function createFhestateMcpServer() {
22
+ const server = new McpServer({
23
+ name: "@fhestate/mcp-server",
24
+ version: "1.0.0",
25
+ });
26
+ server.registerTool("fhe_encrypt", {
27
+ description: "Encrypt a uint32 via fhe-cli (real FHE). Returns SHA-256 commitment for devnet.",
28
+ inputSchema: {
29
+ value: z
30
+ .number()
31
+ .int()
32
+ .min(0)
33
+ .max(0xffffffff)
34
+ .describe("uint32 value to encrypt"),
35
+ },
36
+ }, async ({ value }) => fhe.fheEncrypt(value));
37
+ server.registerTool("agent_run_blind_step", {
38
+ description: "Encrypt value via fhe-cli, run blind agent step (hash memory, no chain tx).",
39
+ inputSchema: {
40
+ agentId: z.string().describe("sentinel | auditor | coordinator"),
41
+ missionId: z.string().describe("e.g. vote, signal, audit-scan, route-intent"),
42
+ value: z.number().int().min(0).max(0xffffffff),
43
+ },
44
+ }, async ({ agentId, missionId, value }) => agents.agentRunBlindStep(agentId, missionId, value));
45
+ server.registerTool("execution_protocol_script", {
46
+ description: "Returns the strict technical deployment workflow for the Sentinel Secret Vote.",
47
+ inputSchema: {},
48
+ }, async () => agents.executionProtocolScript());
49
+ server.registerTool("list_agents_and_missions", {
50
+ description: "Returns the JSON registry of available confidential agents and their mission IDs.",
51
+ inputSchema: {},
52
+ }, async () => agents.listAgentsAndMissions());
53
+ server.registerTool("fhe_cli_run", {
54
+ description: "Run allowlisted fhe-cli subcommand (devnet). Returns stdout/stderr JSON.",
55
+ inputSchema: {
56
+ subcommand: z.string().describe("e.g. doctor, status, encrypt, history"),
57
+ args: z.array(z.string()).optional().describe("CLI args after subcommand"),
58
+ },
59
+ }, async ({ subcommand, args }) => devnet.fheCliRun(subcommand, args ?? []));
60
+ server.registerTool("devnet_wallet_status", {
61
+ description: "Run fhe-cli doctor and balance (devnet wallet diagnostics).",
62
+ inputSchema: {},
63
+ }, async () => devnet.devnetWalletStatus());
64
+ server.registerTool("devnet_history", {
65
+ description: "Recent devnet transactions via fhe-cli history with Solscan links.",
66
+ inputSchema: {
67
+ limit: z.number().int().min(1).max(50).optional(),
68
+ },
69
+ }, async ({ limit }) => devnet.devnetHistory(limit ?? 10));
70
+ server.registerTool("solscan_link", {
71
+ description: "Build Solana devnet explorer URL for a transaction signature.",
72
+ inputSchema: {
73
+ signature: z.string().min(32),
74
+ },
75
+ }, async ({ signature }) => devnet.solscanLink(signature));
76
+ server.registerTool("devnet_submit_memo", {
77
+ description: "Encrypt value (fhe-cli) and submit SPL Memo commitment on devnet. Requires FHESTATE_WALLET_PATH.",
78
+ inputSchema: {
79
+ value: z.number().int().min(0).max(0xffffffff),
80
+ },
81
+ }, async ({ value }) => devnet.devnetSubmitMemo(value));
82
+ server.registerTool("architectural_proof_checklist", {
83
+ description: "Returns the architectural pre-flight and verification checklist for production deployment.",
84
+ inputSchema: {},
85
+ }, async () => verification.architecturalProofChecklist());
86
+ server.registerTool("get_mcp_config_state", {
87
+ description: "Safely read the server's environment configuration (read-only mode, wallet path status).",
88
+ inputSchema: {},
89
+ }, async () => {
90
+ const state = config.getMcpConfigState();
91
+ return {
92
+ content: [{ type: "text", text: JSON.stringify(state) }]
93
+ };
94
+ });
95
+ server.registerTool("verify_ciphertext_hash", {
96
+ description: "Zero-Trust format verification of an intent hash before anchoring to Devnet.",
97
+ inputSchema: {
98
+ hash: z.string().min(64).describe("The SHA-256 intent hash to mathematically verify")
99
+ },
100
+ }, async ({ hash }) => agents.verifyCiphertextHash(hash));
101
+ server.registerTool("simulate_homomorphic_eval", {
102
+ description: "Simulates the Auditor homomorphic logic over an encrypted payload, returning a boolean deterministic pseudo-hash.",
103
+ inputSchema: {
104
+ logicGate: z.string().describe("e.g. NetWorth > 1000000"),
105
+ inputHash: z.string().min(64).describe("The target intent hash to evaluate")
106
+ },
107
+ }, async ({ logicGate, inputHash }) => agents.simulateHomomorphicEval(logicGate, inputHash));
108
+ for (const uri of RESOURCE_URIS) {
109
+ server.registerResource(uri, uri, {
110
+ description: `FHESTATE resource: ${uri}`,
111
+ mimeType: uri.endsWith("registry") ? "application/json" : "text/plain",
112
+ }, async () => {
113
+ const body = readResource(uri);
114
+ if (!body) {
115
+ return { contents: [{ uri, mimeType: "text/plain", text: "Not found." }] };
116
+ }
117
+ return {
118
+ contents: [{ uri, mimeType: body.mimeType, text: body.text }],
119
+ };
120
+ });
121
+ }
122
+ return server;
123
+ }
124
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Institutional Zero-Trust Agent Execution.
3
+ * Triggers a completely isolated, homomorphic evaluation step for a specified FHESTATE agent.
4
+ * Internally validates the agent identity against the cryptographic registry, encrypts the
5
+ * underlying payload locally, and generates a state-linked `stepHash`.
6
+ *
7
+ * Crucially, this execution path never broadcasts the state to a public ledger,
8
+ * maintaining absolute off-chain privacy until `devnet_submit_memo` is explicitly invoked.
9
+ *
10
+ * @param agentId The operational agent executing the logic (e.g. sentinel, auditor).
11
+ * @param missionId The target workflow intent.
12
+ * @param value The strictly validated primitive data point to encrypt.
13
+ */
14
+ export declare function agentRunBlindStep(agentId: string, missionId: string, value: number): Promise<{
15
+ content: {
16
+ type: "text";
17
+ text: string;
18
+ }[];
19
+ }>;
20
+ export declare function executionProtocolScript(): {
21
+ content: {
22
+ type: "text";
23
+ text: string;
24
+ }[];
25
+ };
26
+ export declare function listAgentsAndMissions(): {
27
+ content: {
28
+ type: "text";
29
+ text: string;
30
+ }[];
31
+ };
32
+ export declare function verifyCiphertextHash(hash: string): {
33
+ content: {
34
+ type: "text";
35
+ text: string;
36
+ }[];
37
+ };
38
+ export declare function simulateHomomorphicEval(logicGate: string, inputHash: string): {
39
+ content: {
40
+ type: "text";
41
+ text: string;
42
+ }[];
43
+ };
44
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/tools/agents.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM;;;;;GAsBd;AAED,wBAAgB,uBAAuB;;;;;EAEtC;AAED,wBAAgB,qBAAqB;;;;;EAOpC;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM;;;;;EAahD;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;EAiB3E"}
@@ -0,0 +1,91 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { createHash } from "node:crypto";
3
+ import { getAgentsJsonPath } from "../config.js";
4
+ import { encryptValueViaCli } from "../cli-bridge.js";
5
+ import { EXECUTION_PROTOCOL_SCRIPT } from "../content/overview.js";
6
+ import { LocalMemory, runBlindStep } from "../blind-step.js";
7
+ import { textResult } from "../redact.js";
8
+ function resolveSdkId(agentId) {
9
+ const data = JSON.parse(readFileSync(getAgentsJsonPath(), "utf8"));
10
+ const agent = data.agents.find((a) => a.id === agentId || a.sdkId === agentId);
11
+ if (!agent) {
12
+ throw new Error(`Unknown agent: ${agentId}. Use sentinel, auditor, or coordinator.`);
13
+ }
14
+ return agent.sdkId;
15
+ }
16
+ /**
17
+ * Institutional Zero-Trust Agent Execution.
18
+ * Triggers a completely isolated, homomorphic evaluation step for a specified FHESTATE agent.
19
+ * Internally validates the agent identity against the cryptographic registry, encrypts the
20
+ * underlying payload locally, and generates a state-linked `stepHash`.
21
+ *
22
+ * Crucially, this execution path never broadcasts the state to a public ledger,
23
+ * maintaining absolute off-chain privacy until `devnet_submit_memo` is explicitly invoked.
24
+ *
25
+ * @param agentId The operational agent executing the logic (e.g. sentinel, auditor).
26
+ * @param missionId The target workflow intent.
27
+ * @param value The strictly validated primitive data point to encrypt.
28
+ */
29
+ export async function agentRunBlindStep(agentId, missionId, value) {
30
+ const sdkId = resolveSdkId(agentId);
31
+ const enc = await encryptValueViaCli(value);
32
+ if (!enc.ok || !enc.sha256) {
33
+ return textResult({ ok: false, error: enc.error ?? "encrypt failed", stderr: enc.stderr });
34
+ }
35
+ const memory = new LocalMemory();
36
+ const step = runBlindStep(sdkId, missionId, enc.sha256, memory);
37
+ return textResult({
38
+ ok: true,
39
+ network: "solana-devnet",
40
+ agentId: sdkId,
41
+ missionId,
42
+ intentHash: enc.sha256,
43
+ commitment: enc.commitmentUri,
44
+ step,
45
+ memory: memory.list(),
46
+ note: "Blind step on hash chain only — no chain tx in this tool. Use devnet_submit_memo to anchor.",
47
+ });
48
+ }
49
+ export function executionProtocolScript() {
50
+ return textResult(EXECUTION_PROTOCOL_SCRIPT);
51
+ }
52
+ export function listAgentsAndMissions() {
53
+ try {
54
+ const data = JSON.parse(readFileSync(getAgentsJsonPath(), "utf8"));
55
+ return textResult(data);
56
+ }
57
+ catch (err) {
58
+ return textResult({ ok: false, error: "Failed to load agents registry", details: err.message });
59
+ }
60
+ }
61
+ export function verifyCiphertextHash(hash) {
62
+ if (!/^[a-f0-9]{64}$/i.test(hash)) {
63
+ return textResult({
64
+ ok: false,
65
+ error: "Invalid cryptographic format. Hash must be exactly 64 hexadecimal characters."
66
+ });
67
+ }
68
+ return textResult({
69
+ ok: true,
70
+ verification: "PASSED",
71
+ status: "Cryptographic syntax valid. Local registry structure intact.",
72
+ hash
73
+ });
74
+ }
75
+ export function simulateHomomorphicEval(logicGate, inputHash) {
76
+ if (!/^[a-f0-9]{64}$/i.test(inputHash)) {
77
+ return textResult({ ok: false, error: "Invalid input hash format." });
78
+ }
79
+ // Create a deterministic mock hash representing the boolean outcome of the gate
80
+ const pseudoHash = createHash("sha256").update(`${logicGate}-${inputHash}`, "utf8").digest("hex");
81
+ return textResult({
82
+ ok: true,
83
+ simulated: true,
84
+ agent: "auditor",
85
+ logicGate,
86
+ inputHash,
87
+ booleanResultHash: pseudoHash,
88
+ note: "TFHE math simulated. Use agent_run_blind_step to log this outcome to the chain."
89
+ });
90
+ }
91
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/tools/agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export declare function fheCliRun(subcommand: string, args?: string[]): Promise<{
2
+ content: {
3
+ type: "text";
4
+ text: string;
5
+ }[];
6
+ }>;
7
+ export declare function devnetWalletStatus(): Promise<{
8
+ content: {
9
+ type: "text";
10
+ text: string;
11
+ }[];
12
+ }>;
13
+ export declare function devnetHistory(limit: number): Promise<{
14
+ content: {
15
+ type: "text";
16
+ text: string;
17
+ }[];
18
+ }>;
19
+ export declare function solscanUrl(signature: string): string;
20
+ export declare function solscanLink(signature: string): {
21
+ content: {
22
+ type: "text";
23
+ text: string;
24
+ }[];
25
+ };
26
+ /**
27
+ * On-Chain Public Settlement Anchoring.
28
+ * Triggers the FHE lattice encryption locally, extracts the resulting `SHA-256` commitment,
29
+ * and permanently anchors it to the Solana Devnet via an SPL Memo transaction.
30
+ *
31
+ * This effectively achieves public verification of a private off-chain computation.
32
+ * The blockchain records the state transition, but the plaintext remains strictly
33
+ * confined to the local Coprocessor environment.
34
+ *
35
+ * @param value The scalar numeric value to encrypt and anchor.
36
+ */
37
+ export declare function devnetSubmitMemo(value: number): Promise<{
38
+ content: {
39
+ type: "text";
40
+ text: string;
41
+ }[];
42
+ }>;
43
+ //# sourceMappingURL=devnet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devnet.d.ts","sourceRoot":"","sources":["../../src/tools/devnet.ts"],"names":[],"mappings":"AAOA,wBAAsB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO;;;;;GAmBtE;AAED,wBAAsB,kBAAkB;;;;;GAUvC;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM;;;;;GAehD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,UAE3C;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM;;;;;EAM5C;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM;;;;;GA8CnD"}