exovault 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 (93) hide show
  1. package/dist/config.d.ts +8 -0
  2. package/dist/config.d.ts.map +1 -0
  3. package/dist/config.js +53 -0
  4. package/dist/config.js.map +1 -0
  5. package/dist/connect.d.ts +32 -0
  6. package/dist/connect.d.ts.map +1 -0
  7. package/dist/connect.js +224 -0
  8. package/dist/connect.js.map +1 -0
  9. package/dist/gateway-client.d.ts +104 -0
  10. package/dist/gateway-client.d.ts.map +1 -0
  11. package/dist/gateway-client.js +242 -0
  12. package/dist/gateway-client.js.map +1 -0
  13. package/dist/index.d.ts +10 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +60 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/mcp/helpers.d.ts +56 -0
  18. package/dist/mcp/helpers.d.ts.map +1 -0
  19. package/dist/mcp/helpers.js +37 -0
  20. package/dist/mcp/helpers.js.map +1 -0
  21. package/dist/mcp/register.d.ts +10 -0
  22. package/dist/mcp/register.d.ts.map +1 -0
  23. package/dist/mcp/register.js +334 -0
  24. package/dist/mcp/register.js.map +1 -0
  25. package/dist/pipeline/context-injector.d.ts +13 -0
  26. package/dist/pipeline/context-injector.d.ts.map +1 -0
  27. package/dist/pipeline/context-injector.js +30 -0
  28. package/dist/pipeline/context-injector.js.map +1 -0
  29. package/dist/pipeline/dedup-filter.d.ts +29 -0
  30. package/dist/pipeline/dedup-filter.d.ts.map +1 -0
  31. package/dist/pipeline/dedup-filter.js +48 -0
  32. package/dist/pipeline/dedup-filter.js.map +1 -0
  33. package/dist/pipeline/injection-budget.d.ts +33 -0
  34. package/dist/pipeline/injection-budget.d.ts.map +1 -0
  35. package/dist/pipeline/injection-budget.js +98 -0
  36. package/dist/pipeline/injection-budget.js.map +1 -0
  37. package/dist/pipeline/memory-formatter.d.ts +16 -0
  38. package/dist/pipeline/memory-formatter.d.ts.map +1 -0
  39. package/dist/pipeline/memory-formatter.js +56 -0
  40. package/dist/pipeline/memory-formatter.js.map +1 -0
  41. package/dist/pipeline/query-extractor.d.ts +16 -0
  42. package/dist/pipeline/query-extractor.d.ts.map +1 -0
  43. package/dist/pipeline/query-extractor.js +47 -0
  44. package/dist/pipeline/query-extractor.js.map +1 -0
  45. package/dist/pipeline/sanitize.d.ts +11 -0
  46. package/dist/pipeline/sanitize.d.ts.map +1 -0
  47. package/dist/pipeline/sanitize.js +48 -0
  48. package/dist/pipeline/sanitize.js.map +1 -0
  49. package/dist/pipeline/session-state.d.ts +46 -0
  50. package/dist/pipeline/session-state.d.ts.map +1 -0
  51. package/dist/pipeline/session-state.js +80 -0
  52. package/dist/pipeline/session-state.js.map +1 -0
  53. package/dist/pipeline/stream-passthrough.d.ts +23 -0
  54. package/dist/pipeline/stream-passthrough.d.ts.map +1 -0
  55. package/dist/pipeline/stream-passthrough.js +79 -0
  56. package/dist/pipeline/stream-passthrough.js.map +1 -0
  57. package/dist/pipeline/turn-capture.d.ts +11 -0
  58. package/dist/pipeline/turn-capture.d.ts.map +1 -0
  59. package/dist/pipeline/turn-capture.js +25 -0
  60. package/dist/pipeline/turn-capture.js.map +1 -0
  61. package/dist/routes/health.d.ts +2 -0
  62. package/dist/routes/health.d.ts.map +1 -0
  63. package/dist/routes/health.js +5 -0
  64. package/dist/routes/health.js.map +1 -0
  65. package/dist/routes/mcp.d.ts +13 -0
  66. package/dist/routes/mcp.d.ts.map +1 -0
  67. package/dist/routes/mcp.js +141 -0
  68. package/dist/routes/mcp.js.map +1 -0
  69. package/dist/routes/messages.d.ts +16 -0
  70. package/dist/routes/messages.d.ts.map +1 -0
  71. package/dist/routes/messages.js +329 -0
  72. package/dist/routes/messages.js.map +1 -0
  73. package/dist/server.d.ts +16 -0
  74. package/dist/server.d.ts.map +1 -0
  75. package/dist/server.js +101 -0
  76. package/dist/server.js.map +1 -0
  77. package/dist/setup.d.ts +5 -0
  78. package/dist/setup.d.ts.map +1 -0
  79. package/dist/setup.js +90 -0
  80. package/dist/setup.js.map +1 -0
  81. package/dist/shutdown.d.ts +24 -0
  82. package/dist/shutdown.d.ts.map +1 -0
  83. package/dist/shutdown.js +63 -0
  84. package/dist/shutdown.js.map +1 -0
  85. package/dist/types/anthropic.d.ts +66 -0
  86. package/dist/types/anthropic.d.ts.map +1 -0
  87. package/dist/types/anthropic.js +5 -0
  88. package/dist/types/anthropic.js.map +1 -0
  89. package/dist/types/config.d.ts +64 -0
  90. package/dist/types/config.d.ts.map +1 -0
  91. package/dist/types/config.js +4 -0
  92. package/dist/types/config.js.map +1 -0
  93. package/package.json +35 -0
@@ -0,0 +1,242 @@
1
+ /**
2
+ * ExoVault gateway client for the unified proxy + MCP server.
3
+ *
4
+ * Two method styles:
5
+ * - proxy*() methods return parsed objects (used by proxy pipeline)
6
+ * - All other methods return JSON strings (used by MCP tool handlers)
7
+ */
8
+ export class GatewayError extends Error {
9
+ status;
10
+ constructor(message, status) {
11
+ super(message);
12
+ this.status = status;
13
+ this.name = "GatewayError";
14
+ }
15
+ }
16
+ const MAX_RETRIES = 3;
17
+ const RETRY_BASE_MS = 500;
18
+ const RETRYABLE_PATTERNS = [
19
+ "ECONNREFUSED",
20
+ "ECONNRESET",
21
+ "fetch failed",
22
+ "socket hang up",
23
+ "network",
24
+ ];
25
+ function isRetryableError(err) {
26
+ const msg = err instanceof Error ? err.message : String(err);
27
+ return RETRYABLE_PATTERNS.some((p) => msg.toLowerCase().includes(p.toLowerCase()));
28
+ }
29
+ export class GatewayClient {
30
+ baseUrl;
31
+ apiKey;
32
+ constructor(baseUrl, apiKey) {
33
+ this.baseUrl = baseUrl.replace(/\/$/, "");
34
+ this.apiKey = apiKey;
35
+ }
36
+ async request(method, path, body) {
37
+ const url = `${this.baseUrl}${path}`;
38
+ const headers = {
39
+ Authorization: `Bearer ${this.apiKey}`,
40
+ };
41
+ if (body !== undefined) {
42
+ headers["Content-Type"] = "application/json";
43
+ }
44
+ let lastError;
45
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
46
+ try {
47
+ const response = await fetch(url, {
48
+ method,
49
+ headers,
50
+ body: body !== undefined ? JSON.stringify(body) : undefined,
51
+ });
52
+ if (!response.ok) {
53
+ let errorMsg;
54
+ try {
55
+ const errorBody = await response.json();
56
+ errorMsg = errorBody.error ?? `Gateway returned ${response.status}`;
57
+ }
58
+ catch {
59
+ errorMsg = `Gateway returned ${response.status}`;
60
+ }
61
+ throw new GatewayError(errorMsg, response.status);
62
+ }
63
+ return response.json();
64
+ }
65
+ catch (err) {
66
+ // Never retry HTTP errors (server responded) — only network failures
67
+ if (err instanceof GatewayError)
68
+ throw err;
69
+ lastError = err;
70
+ if (attempt < MAX_RETRIES && isRetryableError(err)) {
71
+ const delayMs = RETRY_BASE_MS * 2 ** attempt;
72
+ console.error(`[gateway] Retry ${attempt + 1}/${MAX_RETRIES} for ${path} — waiting ${delayMs}ms`);
73
+ await new Promise((r) => setTimeout(r, delayMs));
74
+ continue;
75
+ }
76
+ throw err;
77
+ }
78
+ }
79
+ // Unreachable — loop always throws on final attempt — but satisfies TS
80
+ throw lastError;
81
+ }
82
+ /** Generic POST that returns JSON string. Used by most MCP tools. */
83
+ async postJson(path, body) {
84
+ const result = await this.request("POST", path, body);
85
+ return JSON.stringify(result, null, 2);
86
+ }
87
+ // ═══════════════════════════════════════════════════════════════════════════
88
+ // Info (shared — returns parsed object)
89
+ // ═══════════════════════════════════════════════════════════════════════════
90
+ async info() {
91
+ return this.request("GET", "/api/agent/info");
92
+ }
93
+ // ═══════════════════════════════════════════════════════════════════════════
94
+ // Proxy pipeline methods — return PARSED objects for direct use
95
+ // ═══════════════════════════════════════════════════════════════════════════
96
+ async proxySessionStart(params) {
97
+ return this.request("POST", "/api/agent/session-start", params ?? {});
98
+ }
99
+ async proxySearchMemories(params) {
100
+ return this.request("POST", "/api/agent/search-memories", {
101
+ ...params,
102
+ compact: true,
103
+ });
104
+ }
105
+ async proxyFetchPendingMessages(params) {
106
+ return this.request("POST", "/api/agent/pending-messages", params ?? { limit: 5 });
107
+ }
108
+ async proxyIngestTurn(params) {
109
+ return this.request("POST", "/api/agent/ingest-turn", {
110
+ ...params,
111
+ // Proxy captures full conversations — flag ALL turns for extraction.
112
+ // Signal-based filtering is for MCP mode where agents trigger selectively.
113
+ signalThreshold: 0,
114
+ });
115
+ }
116
+ // ═══════════════════════════════════════════════════════════════════════════
117
+ // MCP tool methods — return JSON STRINGS for tool responses
118
+ // ═══════════════════════════════════════════════════════════════════════════
119
+ // ─── Memory ───────────────────────────────────────────────────────────────
120
+ async writeMemory(params) {
121
+ return this.postJson("/api/agent/write-memory", params);
122
+ }
123
+ async searchMemories(params) {
124
+ return this.postJson("/api/agent/search-memories", params);
125
+ }
126
+ async readMemories(memoryIds) {
127
+ return this.postJson("/api/agent/read-memories", { memoryIds });
128
+ }
129
+ async updateMemory(params) {
130
+ return this.postJson("/api/agent/update-memory", params);
131
+ }
132
+ async archiveMemory(memoryId, archived) {
133
+ return this.postJson("/api/agent/archive-memory", { memoryId, archived: archived ?? true });
134
+ }
135
+ async getRelatedMemories(memoryId, limit) {
136
+ return this.postJson("/api/agent/get-related-memories", { memoryId, limit });
137
+ }
138
+ async cleanupMemories(params) {
139
+ return this.postJson("/api/agent/cleanup-memories", params);
140
+ }
141
+ // ─── Notes ────────────────────────────────────────────────────────────────
142
+ async listNotes(params) {
143
+ return this.postJson("/api/agent/list-notes", params);
144
+ }
145
+ async readNote(noteId) {
146
+ return this.postJson("/api/agent/read-note", { noteId });
147
+ }
148
+ async readNotes(noteIds) {
149
+ return this.postJson("/api/agent/read-notes", { noteIds });
150
+ }
151
+ async searchNotes(params) {
152
+ return this.postJson("/api/agent/search-notes", params);
153
+ }
154
+ async createNote(params) {
155
+ return this.postJson("/api/agent/create-note", params);
156
+ }
157
+ async updateNote(params) {
158
+ return this.postJson("/api/agent/update-note", params);
159
+ }
160
+ async deleteNote(noteId) {
161
+ return this.postJson("/api/agent/delete-note", { noteId });
162
+ }
163
+ // ─── Search ───────────────────────────────────────────────────────────────
164
+ async semanticSearch(params) {
165
+ return this.postJson("/api/agent/semantic-search", params);
166
+ }
167
+ async searchAndRead(params) {
168
+ return this.postJson("/api/agent/search-and-read", params);
169
+ }
170
+ // ─── Tasks ────────────────────────────────────────────────────────────────
171
+ async createTask(params) {
172
+ return this.postJson("/api/agent/create-task", params);
173
+ }
174
+ async updateTask(params) {
175
+ return this.postJson("/api/agent/update-task", params);
176
+ }
177
+ async listTasks(params) {
178
+ return this.postJson("/api/agent/list-tasks", params);
179
+ }
180
+ async createPlanTasks(params) {
181
+ return this.postJson("/api/agent/create-plan-tasks", params);
182
+ }
183
+ // ─── Vaults ───────────────────────────────────────────────────────────────
184
+ async listVaults() {
185
+ const result = await this.request("GET", "/api/agent/list-vaults");
186
+ return JSON.stringify(result, null, 2);
187
+ }
188
+ async createVault(params) {
189
+ return this.postJson("/api/agent/create-vault", params);
190
+ }
191
+ // ─── Knowledge Links ──────────────────────────────────────────────────────
192
+ async getLinks(params) {
193
+ return this.postJson("/api/agent/get-links", params);
194
+ }
195
+ async addLink(params) {
196
+ return this.postJson("/api/agent/add-link", params);
197
+ }
198
+ async removeLink(linkId) {
199
+ return this.postJson("/api/agent/remove-link", { linkId });
200
+ }
201
+ // ─── System / Composite ───────────────────────────────────────────────────
202
+ async sessionStart(params) {
203
+ return this.postJson("/api/agent/session-start", params);
204
+ }
205
+ async contextCheckpoint(params) {
206
+ return this.postJson("/api/agent/context-checkpoint", params);
207
+ }
208
+ async listActiveAgents(sinceDays, limit) {
209
+ return this.postJson("/api/agent/list-active-agents", { sinceDays, limit });
210
+ }
211
+ async ingestTurn(params) {
212
+ return this.postJson("/api/agent/ingest-turn", params);
213
+ }
214
+ async updateDocument(params) {
215
+ return this.postJson("/api/agent/update-document", params);
216
+ }
217
+ // ═══════════════════════════════════════════════════════════════════════════
218
+ // Pipeline event logging — fire-and-forget, errors swallowed
219
+ // ═══════════════════════════════════════════════════════════════════════════
220
+ /**
221
+ * Log a pipeline event for proxy observability.
222
+ * Fire-and-forget — errors are swallowed so logging never blocks.
223
+ */
224
+ logPipelineEvent(event) {
225
+ this.request("POST", "/api/agent/pipeline-event", event).catch(() => { });
226
+ }
227
+ // ═══════════════════════════════════════════════════════════════════════════
228
+ // Session tracking — fire-and-forget, errors swallowed
229
+ // ═══════════════════════════════════════════════════════════════════════════
230
+ /**
231
+ * Record a tool call / event in the agent_sessions table.
232
+ * Fire-and-forget — errors are swallowed so tracking never blocks.
233
+ */
234
+ async trackSession(params) {
235
+ try {
236
+ await this.request("POST", "/api/agent/session-track", params);
237
+ }
238
+ catch {
239
+ // Fire-and-forget — never fail the caller
240
+ }
241
+ }
242
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ExoVault — unified proxy + MCP server CLI.
4
+ *
5
+ * Usage:
6
+ * exovault connect <key> One-time setup (writes MCP + proxy configs)
7
+ * exovault start Start the proxy + MCP server
8
+ * exovault setup (backward compat alias for old proxy setup)
9
+ */
10
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ExoVault — unified proxy + MCP server CLI.
4
+ *
5
+ * Usage:
6
+ * exovault connect <key> One-time setup (writes MCP + proxy configs)
7
+ * exovault start Start the proxy + MCP server
8
+ * exovault setup (backward compat alias for old proxy setup)
9
+ */
10
+ const command = process.argv[2];
11
+ async function main() {
12
+ if (command === "connect") {
13
+ const { runConnect } = await import("./connect.js");
14
+ await runConnect();
15
+ }
16
+ else if (command === "setup") {
17
+ // Backward compat alias
18
+ const { runSetup } = await import("./setup.js");
19
+ await runSetup();
20
+ }
21
+ else if (command === "start" || !command) {
22
+ const { loadConfig } = await import("./config.js");
23
+ const { startServer } = await import("./server.js");
24
+ try {
25
+ const config = loadConfig();
26
+ await startServer(config);
27
+ }
28
+ catch (error) {
29
+ console.error("Failed to start:", error instanceof Error ? error.message : error);
30
+ process.exit(1);
31
+ }
32
+ }
33
+ else if (command === "--help" || command === "-h") {
34
+ printHelp();
35
+ }
36
+ else {
37
+ console.error(`Unknown command: ${command}\n`);
38
+ printHelp();
39
+ process.exit(1);
40
+ }
41
+ }
42
+ function printHelp() {
43
+ console.log("ExoVault — proxy + MCP server for durable agent memory");
44
+ console.log();
45
+ console.log("Usage:");
46
+ console.log(" exovault connect <key> One-time setup (validates key, writes configs)");
47
+ console.log(" exovault start Start the proxy + MCP server");
48
+ console.log(" exovault setup Legacy setup (backward compat)");
49
+ console.log(" exovault --help Show this help");
50
+ console.log();
51
+ console.log("Quickstart:");
52
+ console.log(" npx exovault connect exv_abc123");
53
+ console.log(" npx exovault start");
54
+ console.log(" export ANTHROPIC_BASE_URL=http://localhost:4100");
55
+ }
56
+ main().catch((err) => {
57
+ console.error(err);
58
+ process.exit(1);
59
+ });
60
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAIH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhC,KAAK,UAAU,IAAI;IACjB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QACpD,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC;SAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,wBAAwB;QACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,QAAQ,EAAE,CAAC;IACnB,CAAC;SAAM,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,SAAS,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,IAAI,CAAC,CAAC;QAC/C,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;AACnE,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,56 @@
1
+ /**
2
+ * Shared helpers for MCP tool registration in the unified proxy.
3
+ */
4
+ import { z } from "zod";
5
+ /** MCP SDK AnySchema type — required for Zod v4 compatibility. */
6
+ type AnySchema = import("@modelcontextprotocol/sdk/server/zod-compat.js").AnySchema;
7
+ /** Cast Zod v4 schemas to AnySchema for MCP SDK registerTool. */
8
+ export declare const s: <T extends z.ZodType>(schema: T) => AnySchema;
9
+ /**
10
+ * Wrap a string-returning handler into an MCP CallToolResult handler with error catching.
11
+ *
12
+ * Return type is `any` because the MCP SDK's registerTool overloads have varying
13
+ * handler signatures (with/without inputSchema, extra arg). The Zod schemas on each
14
+ * tool provide the real input validation; this wrapper just handles response formatting.
15
+ */
16
+ export declare function wrapToolHandler(fn: (args: Record<string, unknown>) => Promise<string>): any;
17
+ /** Valid memory types for Zod schemas. */
18
+ export declare const MEMORY_TYPES: readonly ["fact", "skill", "preference", "constraint", "task", "episodic", "correction"];
19
+ export declare const memoryTypeEnum: z.ZodEnum<{
20
+ fact: "fact";
21
+ skill: "skill";
22
+ preference: "preference";
23
+ constraint: "constraint";
24
+ task: "task";
25
+ episodic: "episodic";
26
+ correction: "correction";
27
+ }>;
28
+ /** Task status enum for Zod schemas. */
29
+ export declare const taskStatusEnum: z.ZodEnum<{
30
+ done: "done";
31
+ backlog: "backlog";
32
+ todo: "todo";
33
+ in_progress: "in_progress";
34
+ blocked: "blocked";
35
+ }>;
36
+ /** Relation types for related memories. */
37
+ export declare const relationTypeEnum: z.ZodEnum<{
38
+ derived_from: "derived_from";
39
+ contradicts: "contradicts";
40
+ refines: "refines";
41
+ part_of: "part_of";
42
+ supersedes: "supersedes";
43
+ }>;
44
+ /** Knowledge link relation types. */
45
+ export declare const linkRelationTypeEnum: z.ZodEnum<{
46
+ derived_from: "derived_from";
47
+ contradicts: "contradicts";
48
+ refines: "refines";
49
+ part_of: "part_of";
50
+ supersedes: "supersedes";
51
+ wiki_link: "wiki_link";
52
+ source_of: "source_of";
53
+ references: "references";
54
+ manual: "manual";
55
+ }>;
56
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/mcp/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kEAAkE;AAClE,KAAK,SAAS,GAAG,OAAO,gDAAgD,EAAE,SAAS,CAAC;AAEpF,iEAAiE;AACjE,eAAO,MAAM,CAAC,GAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAG,SACnB,CAAC;AAEjC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAErD,GAAG,CAUL;AAED,0CAA0C;AAC1C,eAAO,MAAM,YAAY,0FAA2F,CAAC;AACrH,eAAO,MAAM,cAAc;;;;;;;;EAAuB,CAAC;AAEnD,wCAAwC;AACxC,eAAO,MAAM,cAAc;;;;;;EAAgE,CAAC;AAE5F,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB;;;;;;EAA8E,CAAC;AAE5G,qCAAqC;AACrC,eAAO,MAAM,oBAAoB;;;;;;;;;;EAG/B,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Shared helpers for MCP tool registration in the unified proxy.
3
+ */
4
+ import { z } from "zod";
5
+ /** Cast Zod v4 schemas to AnySchema for MCP SDK registerTool. */
6
+ export const s = (schema) => schema;
7
+ /**
8
+ * Wrap a string-returning handler into an MCP CallToolResult handler with error catching.
9
+ *
10
+ * Return type is `any` because the MCP SDK's registerTool overloads have varying
11
+ * handler signatures (with/without inputSchema, extra arg). The Zod schemas on each
12
+ * tool provide the real input validation; this wrapper just handles response formatting.
13
+ */
14
+ export function wrapToolHandler(fn) {
15
+ return async (args) => {
16
+ try {
17
+ const result = await fn(args ?? {});
18
+ return { content: [{ type: "text", text: result }] };
19
+ }
20
+ catch (error) {
21
+ const message = error instanceof Error ? error.message : String(error);
22
+ return { content: [{ type: "text", text: `Error: ${message}` }], isError: true };
23
+ }
24
+ };
25
+ }
26
+ /** Valid memory types for Zod schemas. */
27
+ export const MEMORY_TYPES = ["fact", "skill", "preference", "constraint", "task", "episodic", "correction"];
28
+ export const memoryTypeEnum = z.enum(MEMORY_TYPES);
29
+ /** Task status enum for Zod schemas. */
30
+ export const taskStatusEnum = z.enum(["backlog", "todo", "in_progress", "done", "blocked"]);
31
+ /** Relation types for related memories. */
32
+ export const relationTypeEnum = z.enum(["derived_from", "contradicts", "refines", "part_of", "supersedes"]);
33
+ /** Knowledge link relation types. */
34
+ export const linkRelationTypeEnum = z.enum([
35
+ "wiki_link", "derived_from", "contradicts", "refines",
36
+ "part_of", "supersedes", "source_of", "references", "manual",
37
+ ]);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/mcp/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,iEAAiE;AACjE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAsB,MAAS,EAAa,EAAE,CAC7D,MAA8B,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAsD;IAGtD,OAAO,KAAK,EAAE,IAA6B,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AACrH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAEnD,wCAAwC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAE5F,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;AAE5G,qCAAqC;AACrC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS;IACrD,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ;CAC7D,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Register all ExoVault MCP tools on an McpServer instance.
3
+ *
4
+ * Gateway-only: every tool handler calls the GatewayClient directly.
5
+ * Session tracking: each tool call fires a fire-and-forget trackSession()
6
+ * to populate the agent_sessions table for the dashboard.
7
+ */
8
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
9
+ import type { GatewayClient } from "../gateway-client.js";
10
+ export declare function registerAllTools(server: McpServer, gateway: GatewayClient, agentRunId?: string): void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/mcp/register.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAU1D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CA+WN"}