@agenttrust-sdk/mcp 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/embedded-data/devnet-attestor-trace.json +32 -0
- package/dist/embedded-data/devnet-chained-validation.json +52 -0
- package/dist/embedded-data/devnet-counterparties.json +53 -0
- package/dist/embedded-data/devnet-demo-policies.json +46 -0
- package/dist/embedded-data/devnet-namespaces.json +107 -0
- package/dist/embedded-data/devnet-smoke.json +24 -0
- package/dist/embedded-docs/getting-started/architecture-overview.mdx +85 -0
- package/dist/embedded-docs/getting-started/quickstart.mdx +100 -0
- package/dist/embedded-docs/index.mdx +64 -0
- package/dist/embedded-docs/integration-guides/capability-namespaces.mdx +15 -0
- package/dist/embedded-docs/integration-guides/custom-attestor.mdx +15 -0
- package/dist/embedded-docs/integration-guides/facilitator-adapters.mdx +85 -0
- package/dist/embedded-docs/integration-guides/pay-sh-adapter.mdx +110 -0
- package/dist/embedded-docs/integration-guides/x402-facilitator.mdx +79 -0
- package/dist/embedded-docs/programs/policy-vault/counterparty-tier-policy.mdx +15 -0
- package/dist/embedded-docs/programs/policy-vault/index.mdx +68 -0
- package/dist/embedded-docs/programs/policy-vault/kill-switch-policy.mdx +15 -0
- package/dist/embedded-docs/programs/policy-vault/require-validation-policy.mdx +15 -0
- package/dist/embedded-docs/programs/policy-vault/spending-policy.mdx +15 -0
- package/dist/embedded-docs/programs/policy-vault/velocity-policy.mdx +15 -0
- package/dist/embedded-docs/programs/trustgate.mdx +53 -0
- package/dist/embedded-docs/programs/validation-registry.mdx +49 -0
- package/dist/embedded-docs/reference/byte-offset-reference.mdx +20 -0
- package/dist/embedded-docs/reference/changelog.mdx +19 -0
- package/dist/embedded-docs/reference/devnet-program-ids.mdx +24 -0
- package/dist/embedded-docs/reference/discriminator-constants.mdx +16 -0
- package/dist/embedded-docs/reference/formal-verification.mdx +19 -0
- package/dist/embedded-docs/reference/mainnet-program-ids.mdx +16 -0
- package/dist/embedded-docs/reference/quantu-agent-registry.mdx +15 -0
- package/dist/embedded-docs/sdk/atomic-tx-invariant.mdx +37 -0
- package/dist/embedded-docs/sdk/gate-payment.mdx +22 -0
- package/dist/embedded-docs/sdk/index.mdx +73 -0
- package/dist/embedded-docs/sdk/mount-trustgate.mdx +15 -0
- package/dist/embedded-examples/attestor-demo/README.md +100 -0
- package/dist/embedded-examples/pay-sh-demo/README.md +136 -0
- package/dist/embedded-examples/pay-sh-demo/src/deps-real.ts +150 -0
- package/dist/embedded-examples/pay-sh-demo/src/deps.ts +150 -0
- package/dist/embedded-examples/pay-sh-demo/src/index.ts +471 -0
- package/dist/embedded-examples/pay-sh-demo/src/middleware.ts +198 -0
- package/dist/embedded-examples/pay-sh-demo/src/policy.ts +247 -0
- package/dist/embedded-examples/pay-sh-demo/src/x402.ts +140 -0
- package/dist/index.js +73 -18
- package/dist/index.js.map +1 -1
- package/dist/resources/docs.js +69 -46
- package/dist/resources/docs.js.map +1 -1
- package/dist/server.js +6 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/discovery/docs.js +7 -0
- package/dist/tools/discovery/docs.js.map +1 -1
- package/dist/tools/discovery/facilitator-walkthrough.js +44 -18
- package/dist/tools/discovery/facilitator-walkthrough.js.map +1 -1
- package/dist/tools/read/demo-state.js +7 -4
- package/dist/tools/read/demo-state.js.map +1 -1
- package/dist/trustgate/server/src/facilitators/README.md +241 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -59,7 +59,6 @@ async function main() {
|
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
61
|
const cfg = (0, config_1.loadConfig)();
|
|
62
|
-
const server = (0, server_1.createMcpServer)(cfg);
|
|
63
62
|
if (cfg.transport === "http") {
|
|
64
63
|
// Lazy-import the streamable-HTTP transport so the stdio path
|
|
65
64
|
// doesn't pay the cost of pulling Node's http module on cold start.
|
|
@@ -68,18 +67,43 @@ async function main() {
|
|
|
68
67
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
69
68
|
const http = require("http");
|
|
70
69
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
70
|
+
const crypto = require("crypto");
|
|
71
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
71
72
|
const pkg = require("../package.json");
|
|
72
73
|
const startedAt = Date.now();
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
const sessions = new Map();
|
|
75
|
+
const IDLE_MS = 30 * 60 * 1000;
|
|
76
|
+
setInterval(() => {
|
|
77
|
+
const now = Date.now();
|
|
78
|
+
for (const [sid, s] of sessions) {
|
|
79
|
+
if (now - s.lastTouched > IDLE_MS) {
|
|
80
|
+
try {
|
|
81
|
+
s.transport.close?.();
|
|
82
|
+
}
|
|
83
|
+
catch { /* ignore */ }
|
|
84
|
+
sessions.delete(sid);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}, 5 * 60 * 1000).unref();
|
|
88
|
+
async function makeSession() {
|
|
89
|
+
const sessionServer = (0, server_1.createMcpServer)(cfg);
|
|
90
|
+
const sessionTransport = new StreamableHTTPServerTransport({
|
|
91
|
+
sessionIdGenerator: () => crypto.randomUUID(),
|
|
92
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
93
|
+
onsessioninitialized: (sid) => {
|
|
94
|
+
sessions.set(sid, { server: sessionServer, transport: sessionTransport, lastTouched: Date.now() });
|
|
95
|
+
},
|
|
96
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
97
|
+
onsessionclosed: (sid) => { sessions.delete(sid); },
|
|
98
|
+
});
|
|
99
|
+
await sessionServer.connect(sessionTransport);
|
|
100
|
+
return { server: sessionServer, transport: sessionTransport, lastTouched: Date.now() };
|
|
101
|
+
}
|
|
102
|
+
const httpServer = http.createServer(async (req, res) => {
|
|
76
103
|
// /healthz: lightweight Fly.io / status-page probe. NOT part
|
|
77
104
|
// of MCP protocol — handled before the transport sees it.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
// uniformly (ok, network, version, uptimeSeconds).
|
|
81
|
-
const path = (req.url ?? "").split("?")[0];
|
|
82
|
-
if (req.method === "GET" && (path === "/healthz" || path === "/")) {
|
|
105
|
+
const url = (req.url ?? "").split("?")[0];
|
|
106
|
+
if (req.method === "GET" && (url === "/healthz" || url === "/")) {
|
|
83
107
|
res.writeHead(200, { "content-type": "application/json" });
|
|
84
108
|
res.end(JSON.stringify({
|
|
85
109
|
ok: true,
|
|
@@ -88,21 +112,51 @@ async function main() {
|
|
|
88
112
|
network: cfg.network,
|
|
89
113
|
rpcUrl: cfg.rpcUrl,
|
|
90
114
|
uptimeSeconds: Math.round((Date.now() - startedAt) / 1000),
|
|
115
|
+
activeSessions: sessions.size,
|
|
91
116
|
// Tools count is the load-bearing surface signal — if
|
|
92
|
-
// an upstream regression dropped a tool, the status
|
|
93
|
-
//
|
|
94
|
-
//
|
|
95
|
-
// pinned expected count here so monitors can alert on
|
|
96
|
-
// mismatch without parsing JSON-RPC.
|
|
117
|
+
// an upstream regression dropped a tool, the status page
|
|
118
|
+
// would show the count drop. Pinned expected so monitors
|
|
119
|
+
// can alert on mismatch without parsing JSON-RPC.
|
|
97
120
|
toolCount: 18,
|
|
98
121
|
}) + "\n");
|
|
99
122
|
return;
|
|
100
123
|
}
|
|
101
|
-
|
|
124
|
+
// Resolve session: existing mcp-session-id wins; otherwise mint
|
|
125
|
+
// a new one (the SDK will only accept the request if it's an
|
|
126
|
+
// initialize call when no session exists).
|
|
127
|
+
const sid = req.headers["mcp-session-id"];
|
|
128
|
+
const sessionId = Array.isArray(sid) ? sid[0] : sid;
|
|
129
|
+
let session;
|
|
130
|
+
if (sessionId && sessions.has(sessionId)) {
|
|
131
|
+
session = sessions.get(sessionId);
|
|
132
|
+
if (session)
|
|
133
|
+
session.lastTouched = Date.now();
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
// No / unknown session id — start a fresh server+transport pair.
|
|
137
|
+
// The transport's onsessioninitialized hook puts it into
|
|
138
|
+
// `sessions` once the SDK assigns a session id. Pre-init
|
|
139
|
+
// requests (initialize itself) reach handleRequest and the
|
|
140
|
+
// transport routes them.
|
|
141
|
+
try {
|
|
142
|
+
session = await makeSession();
|
|
143
|
+
}
|
|
144
|
+
catch (err) {
|
|
145
|
+
// eslint-disable-next-line no-console
|
|
146
|
+
console.error("session create failed:", err);
|
|
147
|
+
res.writeHead(500).end();
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
try {
|
|
152
|
+
await session.transport.handleRequest(req, res);
|
|
153
|
+
}
|
|
154
|
+
catch (err) {
|
|
102
155
|
// eslint-disable-next-line no-console
|
|
103
156
|
console.error("transport error:", err);
|
|
104
|
-
res.
|
|
105
|
-
|
|
157
|
+
if (!res.headersSent)
|
|
158
|
+
res.writeHead(500).end();
|
|
159
|
+
}
|
|
106
160
|
});
|
|
107
161
|
httpServer.listen(cfg.httpPort, () => {
|
|
108
162
|
// eslint-disable-next-line no-console
|
|
@@ -110,7 +164,8 @@ async function main() {
|
|
|
110
164
|
});
|
|
111
165
|
return;
|
|
112
166
|
}
|
|
113
|
-
// stdio (default)
|
|
167
|
+
// stdio (default) — single transport, single server.
|
|
168
|
+
const server = (0, server_1.createMcpServer)(cfg);
|
|
114
169
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
115
170
|
await server.connect(transport);
|
|
116
171
|
// Stay alive — stdio's stdin close terminates us cleanly via the SDK.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA;;;;;;;GAOG;;AAEH,wEAAiF;AAEjF,qCAAsC;AACtC,qCAA2C;AAE3C,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BjB,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,mEAAmE;IACnE,gEAAgE;IAChE,8BAA8B;IAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IACD,kDAAkD;IAClD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7E,qGAAqG;QACrG,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,mBAAU,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/docs.js
CHANGED
|
@@ -50,19 +50,30 @@ const docs_1 = require("../tools/discovery/docs");
|
|
|
50
50
|
Object.defineProperty(exports, "findDocsRoot", { enumerable: true, get: function () { return docs_1.findDocsRoot; } });
|
|
51
51
|
const DOCS_PROTOCOL = "agenttrust://docs/";
|
|
52
52
|
const EXAMPLES_PROT = "agenttrust://examples/";
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Resolve the examples root. Phase N1+N2 fix:
|
|
55
|
+
* `dist/embedded-examples/` is preferred (npm-install path) and the
|
|
56
|
+
* live `examples/` tree under the repo root is the local-clone fallback.
|
|
57
|
+
*
|
|
58
|
+
* Returns one or more candidate roots so callers can try each in order.
|
|
59
|
+
*/
|
|
60
|
+
function findExamplesRoots() {
|
|
61
|
+
const out = [];
|
|
62
|
+
// __dirname at runtime is dist/resources, so one level up reaches dist/.
|
|
63
|
+
const distExamples = path.resolve(__dirname, "../embedded-examples");
|
|
64
|
+
if (fs.existsSync(distExamples))
|
|
65
|
+
out.push(distExamples);
|
|
66
|
+
const repoCandidates = [path.resolve(__dirname, "../../.."), process.cwd()];
|
|
67
|
+
for (const c of repoCandidates) {
|
|
59
68
|
try {
|
|
60
|
-
if (fs.existsSync(path.join(c, "Anchor.toml")))
|
|
61
|
-
|
|
69
|
+
if (fs.existsSync(path.join(c, "Anchor.toml"))) {
|
|
70
|
+
out.push(path.join(c, "examples"));
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
62
73
|
}
|
|
63
74
|
catch { /* ignore */ }
|
|
64
75
|
}
|
|
65
|
-
return
|
|
76
|
+
return out;
|
|
66
77
|
}
|
|
67
78
|
function listDocsResources() {
|
|
68
79
|
const corpus = (0, docs_1.loadDocsCorpus)();
|
|
@@ -88,34 +99,45 @@ function readDocsResource(uri) {
|
|
|
88
99
|
}
|
|
89
100
|
const EXAMPLE_DEMOS = ["pay-sh-demo", "attestor-demo"];
|
|
90
101
|
function listExampleResources() {
|
|
91
|
-
const
|
|
102
|
+
const roots = findExamplesRoots();
|
|
103
|
+
const seen = new Set();
|
|
92
104
|
const out = [];
|
|
93
|
-
for (const
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
mimeType: "text/markdown",
|
|
102
|
-
});
|
|
103
|
-
// List the source files non-recursively (one level deep keeps the
|
|
104
|
-
// resource list compact; clients fetch full content via read).
|
|
105
|
-
const srcDir = path.join(demoDir, "src");
|
|
106
|
-
if (fs.existsSync(srcDir)) {
|
|
107
|
-
for (const ent of fs.readdirSync(srcDir, { withFileTypes: true })) {
|
|
108
|
-
if (!ent.isFile())
|
|
109
|
-
continue;
|
|
110
|
-
if (!ent.name.endsWith(".ts"))
|
|
111
|
-
continue;
|
|
105
|
+
for (const root of roots) {
|
|
106
|
+
for (const demo of EXAMPLE_DEMOS) {
|
|
107
|
+
const demoDir = path.join(root, demo);
|
|
108
|
+
if (!fs.existsSync(demoDir))
|
|
109
|
+
continue;
|
|
110
|
+
const readmeUri = `${EXAMPLES_PROT}${demo}/README.md`;
|
|
111
|
+
if (!seen.has(readmeUri) && fs.existsSync(path.join(demoDir, "README.md"))) {
|
|
112
|
+
seen.add(readmeUri);
|
|
112
113
|
out.push({
|
|
113
|
-
uri:
|
|
114
|
-
name: `examples/${demo}/
|
|
115
|
-
description: `${demo}
|
|
116
|
-
mimeType: "text/
|
|
114
|
+
uri: readmeUri,
|
|
115
|
+
name: `examples/${demo}/README.md`,
|
|
116
|
+
description: `${demo} README — install + smoke walkthrough`,
|
|
117
|
+
mimeType: "text/markdown",
|
|
117
118
|
});
|
|
118
119
|
}
|
|
120
|
+
// List the source files non-recursively (one level deep keeps
|
|
121
|
+
// the resource list compact; clients fetch full content via read).
|
|
122
|
+
const srcDir = path.join(demoDir, "src");
|
|
123
|
+
if (fs.existsSync(srcDir)) {
|
|
124
|
+
for (const ent of fs.readdirSync(srcDir, { withFileTypes: true })) {
|
|
125
|
+
if (!ent.isFile())
|
|
126
|
+
continue;
|
|
127
|
+
if (!ent.name.endsWith(".ts"))
|
|
128
|
+
continue;
|
|
129
|
+
const uri = `${EXAMPLES_PROT}${demo}/src/${ent.name}`;
|
|
130
|
+
if (seen.has(uri))
|
|
131
|
+
continue;
|
|
132
|
+
seen.add(uri);
|
|
133
|
+
out.push({
|
|
134
|
+
uri,
|
|
135
|
+
name: `examples/${demo}/src/${ent.name}`,
|
|
136
|
+
description: `${demo} source: ${ent.name}`,
|
|
137
|
+
mimeType: "text/x-typescript",
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
119
141
|
}
|
|
120
142
|
}
|
|
121
143
|
return out;
|
|
@@ -124,24 +146,25 @@ function readExampleResource(uri) {
|
|
|
124
146
|
if (!uri.startsWith(EXAMPLES_PROT))
|
|
125
147
|
return null;
|
|
126
148
|
const rest = uri.slice(EXAMPLES_PROT.length);
|
|
127
|
-
// Validate: only allow accessing files inside examples/<demo>/
|
|
128
149
|
const parts = rest.split("/");
|
|
129
150
|
if (parts.length < 2)
|
|
130
151
|
return null;
|
|
131
152
|
const demo = parts[0];
|
|
132
153
|
if (!EXAMPLE_DEMOS.includes(demo))
|
|
133
154
|
return null;
|
|
134
|
-
const root
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
155
|
+
for (const root of findExamplesRoots()) {
|
|
156
|
+
const fullPath = path.resolve(root, demo, ...parts.slice(1));
|
|
157
|
+
// Path-traversal guard: resolve must remain within the demo dir.
|
|
158
|
+
const allowed = path.resolve(root, demo);
|
|
159
|
+
if (!fullPath.startsWith(allowed + path.sep) && fullPath !== allowed)
|
|
160
|
+
continue;
|
|
161
|
+
if (!fs.existsSync(fullPath) || !fs.statSync(fullPath).isFile())
|
|
162
|
+
continue;
|
|
163
|
+
const mime = fullPath.endsWith(".ts") ? "text/x-typescript"
|
|
164
|
+
: fullPath.endsWith(".md") ? "text/markdown"
|
|
165
|
+
: "text/plain";
|
|
166
|
+
return { uri, mimeType: mime, text: fs.readFileSync(fullPath, "utf-8") };
|
|
167
|
+
}
|
|
168
|
+
return null;
|
|
146
169
|
}
|
|
147
170
|
//# sourceMappingURL=docs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/resources/docs.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/resources/docs.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -25,8 +25,13 @@ const prompts_1 = require("./prompts");
|
|
|
25
25
|
const programs_1 = require("./resources/programs");
|
|
26
26
|
const docs_1 = require("./resources/docs");
|
|
27
27
|
const tools_1 = require("./tools");
|
|
28
|
+
// Read SERVER_VERSION from package.json so MCP clients see the same
|
|
29
|
+
// version that npm reports. Hardcoding drifted in 0.2.x (Phase M E2E
|
|
30
|
+
// found serverInfo.version=0.1.0 while package.json was 0.2.1).
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
32
|
+
const PKG_VERSION = require("../package.json").version;
|
|
28
33
|
const SERVER_NAME = "agenttrust";
|
|
29
|
-
const SERVER_VERSION =
|
|
34
|
+
const SERVER_VERSION = PKG_VERSION;
|
|
30
35
|
const SERVER_INSTRUCTIONS = "AgentTrust MCP server. Read tools work without auth (devnet by default). " +
|
|
31
36
|
"Write tools require KEYPAIR_B58 in env. Resources expose the AgentTrust " +
|
|
32
37
|
"docs corpus, deployed program manifest, and example demo source. Prompts " +
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,8 +58,15 @@ const InputSchema = zod_1.z.object({
|
|
|
58
58
|
let cache = null;
|
|
59
59
|
function findDocsRoot() {
|
|
60
60
|
const candidates = [
|
|
61
|
+
// Env override wins (tests + power-users)
|
|
61
62
|
process.env.MCP_DOCS_DIR ?? "",
|
|
63
|
+
// npm-install path: full MDX corpus copied into dist/embedded-docs
|
|
64
|
+
// by scripts/copy-embedded-assets.js (Phase N2 fix). __dirname at
|
|
65
|
+
// runtime is dist/tools/discovery, so two levels up reaches dist/.
|
|
66
|
+
path.resolve(__dirname, "../../embedded-docs"),
|
|
67
|
+
// Local-clone path: read directly from the source-of-truth tree.
|
|
62
68
|
path.resolve(__dirname, "../../../../docs-site/content/docs"),
|
|
69
|
+
// Process cwd fallback (tests, custom layouts).
|
|
63
70
|
path.resolve(process.cwd(), "docs-site/content/docs"),
|
|
64
71
|
].filter(Boolean);
|
|
65
72
|
for (const c of candidates) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../src/tools/discovery/docs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCH,
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../src/tools/discovery/docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,19 +61,39 @@ const ADAPTER_DOCS = {
|
|
|
61
61
|
};
|
|
62
62
|
const GENERIC_FALLBACK = "integration-guides/facilitator-adapters.mdx";
|
|
63
63
|
const SERVICES_README = "trustgate/server/src/facilitators/README.md";
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Resolve the bundled docs root (Phase N2: dist/embedded-docs/) plus
|
|
66
|
+
* the repo-root fallback. The bundled path is preferred — it's the
|
|
67
|
+
* load-bearing fix for npm-install consumers.
|
|
68
|
+
*/
|
|
69
|
+
function findDocsLookupRoots() {
|
|
70
|
+
// npm install: copy-embedded-assets.js puts the MDX tree under
|
|
71
|
+
// dist/embedded-docs and the facilitators README under
|
|
72
|
+
// dist/trustgate/server/src/facilitators/README.md. __dirname at
|
|
73
|
+
// runtime is dist/tools/discovery, so two levels up reaches dist/.
|
|
74
|
+
const distDocs = path.resolve(__dirname, "../../embedded-docs");
|
|
75
|
+
const distSvc = path.resolve(__dirname, "../../" + SERVICES_README);
|
|
76
|
+
// Local clone: live tree.
|
|
77
|
+
const repoCandidates = [
|
|
66
78
|
path.resolve(__dirname, "../../../.."),
|
|
67
79
|
process.cwd(),
|
|
68
80
|
];
|
|
69
|
-
|
|
81
|
+
let liveRoot = null;
|
|
82
|
+
for (const c of repoCandidates) {
|
|
70
83
|
try {
|
|
71
|
-
if (fs.existsSync(path.join(c, "Anchor.toml")))
|
|
72
|
-
|
|
84
|
+
if (fs.existsSync(path.join(c, "Anchor.toml"))) {
|
|
85
|
+
liveRoot = c;
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
73
88
|
}
|
|
74
89
|
catch { /* ignore */ }
|
|
75
90
|
}
|
|
76
|
-
|
|
91
|
+
const out = [];
|
|
92
|
+
if (fs.existsSync(distDocs))
|
|
93
|
+
out.push({ docsRoot: distDocs, servicesReadme: distSvc });
|
|
94
|
+
if (liveRoot)
|
|
95
|
+
out.push({ docsRoot: path.join(liveRoot, "docs-site/content/docs"), servicesReadme: path.join(liveRoot, SERVICES_README) });
|
|
96
|
+
return out;
|
|
77
97
|
}
|
|
78
98
|
exports.facilitatorWalkthroughTool = {
|
|
79
99
|
name: "agenttrust_facilitator_walkthrough",
|
|
@@ -83,24 +103,30 @@ exports.facilitatorWalkthroughTool = {
|
|
|
83
103
|
"the trustgate/server facilitators README content for cross-reference.",
|
|
84
104
|
inputSchema: InputSchema,
|
|
85
105
|
async handler(input) {
|
|
86
|
-
const root = findRepoRoot();
|
|
87
106
|
const docKey = input.name.toLowerCase().replace(/[\s_]/g, "-");
|
|
88
107
|
const matched = !!ADAPTER_DOCS[docKey];
|
|
89
108
|
const docRel = ADAPTER_DOCS[docKey] ?? GENERIC_FALLBACK;
|
|
90
|
-
const docAbs = path.join(root, "docs-site", "content", "docs", docRel);
|
|
91
|
-
const readmeAbs = path.join(root, SERVICES_README);
|
|
92
109
|
let content = "";
|
|
93
|
-
try {
|
|
94
|
-
content = fs.readFileSync(docAbs, "utf-8");
|
|
95
|
-
}
|
|
96
|
-
catch (err) {
|
|
97
|
-
content = `(failed to read ${docRel}: ${err.message})`;
|
|
98
|
-
}
|
|
99
110
|
let services = "";
|
|
100
|
-
|
|
101
|
-
|
|
111
|
+
for (const { docsRoot, servicesReadme } of findDocsLookupRoots()) {
|
|
112
|
+
const docAbs = path.join(docsRoot, docRel);
|
|
113
|
+
if (!content) {
|
|
114
|
+
try {
|
|
115
|
+
content = fs.readFileSync(docAbs, "utf-8");
|
|
116
|
+
}
|
|
117
|
+
catch { /* try next */ }
|
|
118
|
+
}
|
|
119
|
+
if (!services) {
|
|
120
|
+
try {
|
|
121
|
+
services = fs.readFileSync(servicesReadme, "utf-8");
|
|
122
|
+
}
|
|
123
|
+
catch { /* try next */ }
|
|
124
|
+
}
|
|
125
|
+
if (content && services)
|
|
126
|
+
break;
|
|
102
127
|
}
|
|
103
|
-
|
|
128
|
+
if (!content)
|
|
129
|
+
content = `(no walkthrough bundled for ${docRel})`;
|
|
104
130
|
const out = {
|
|
105
131
|
name: input.name,
|
|
106
132
|
matched,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facilitator-walkthrough.js","sourceRoot":"","sources":["../../../src/tools/discovery/facilitator-walkthrough.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAE7B,6BAAwB;AAIxB,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6EAA6E,CAAC;CAChH,CAAC,CAAC;AAYH,MAAM,YAAY,GAA2B;IAC3C,QAAQ,EAAG,uCAAuC;IAClD,OAAO,EAAI,uCAAuC;IAClD,QAAQ,EAAG,uCAAuC;IAClD,QAAQ,EAAG,6CAA6C;IACxD,MAAM,EAAK,6CAA6C;IACxD,SAAS,EAAE,6CAA6C;IACxD,OAAO,EAAI,6CAA6C;CACzD,CAAC;AACF,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AACvE,MAAM,eAAe,GAAI,6CAA6C,CAAC;AAEvE,SAAS,
|
|
1
|
+
{"version":3,"file":"facilitator-walkthrough.js","sourceRoot":"","sources":["../../../src/tools/discovery/facilitator-walkthrough.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,12 +51,15 @@ const config_1 = require("../../config");
|
|
|
51
51
|
const InputSchema = zod_1.z.object({});
|
|
52
52
|
function findDemoFile() {
|
|
53
53
|
const candidates = [
|
|
54
|
-
//
|
|
54
|
+
// Env override wins (tests + power-users)
|
|
55
|
+
process.env.PAY_SH_DEMO_STATE_FILE ?? "",
|
|
56
|
+
// npm-install path: snapshot bundled into dist/embedded-data/ at
|
|
57
|
+
// build time by scripts/copy-embedded-assets.js (Phase N1 fix).
|
|
58
|
+
path.resolve(__dirname, "../../embedded-data/devnet-counterparties.json"),
|
|
59
|
+
// Local-clone path: read directly from the source-of-truth file.
|
|
55
60
|
path.resolve(__dirname, "../../../../examples/pay-sh-demo/devnet-counterparties.json"),
|
|
56
|
-
//
|
|
61
|
+
// Process cwd fallback (tests, custom layouts).
|
|
57
62
|
path.resolve(process.cwd(), "examples/pay-sh-demo/devnet-counterparties.json"),
|
|
58
|
-
// Env override
|
|
59
|
-
process.env.PAY_SH_DEMO_STATE_FILE ?? "",
|
|
60
63
|
].filter(Boolean);
|
|
61
64
|
for (const p of candidates) {
|
|
62
65
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo-state.js","sourceRoot":"","sources":["../../../src/tools/read/demo-state.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAE7B,6BAAwB;AAExB,yCAA2C;AAG3C,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAqCjC,SAAS,YAAY;IACnB,MAAM,UAAU,GAAG;QACjB,
|
|
1
|
+
{"version":3,"file":"demo-state.js","sourceRoot":"","sources":["../../../src/tools/read/demo-state.ts"],"names":[],"mappings":"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"}
|