exovault-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 (305) hide show
  1. package/dist/auth.d.ts +41 -0
  2. package/dist/auth.d.ts.map +1 -0
  3. package/dist/auth.js +236 -0
  4. package/dist/auth.js.map +1 -0
  5. package/dist/auto-session.d.ts +39 -0
  6. package/dist/auto-session.d.ts.map +1 -0
  7. package/dist/auto-session.js +128 -0
  8. package/dist/auto-session.js.map +1 -0
  9. package/dist/buffer-persistence.d.ts +35 -0
  10. package/dist/buffer-persistence.d.ts.map +1 -0
  11. package/dist/buffer-persistence.js +110 -0
  12. package/dist/buffer-persistence.js.map +1 -0
  13. package/dist/coerce-params.d.ts +36 -0
  14. package/dist/coerce-params.d.ts.map +1 -0
  15. package/dist/coerce-params.js +120 -0
  16. package/dist/coerce-params.js.map +1 -0
  17. package/dist/crypto.d.ts +39 -0
  18. package/dist/crypto.d.ts.map +1 -0
  19. package/dist/crypto.js +119 -0
  20. package/dist/crypto.js.map +1 -0
  21. package/dist/db.d.ts +350 -0
  22. package/dist/db.d.ts.map +1 -0
  23. package/dist/db.js +866 -0
  24. package/dist/db.js.map +1 -0
  25. package/dist/embedding-config.d.ts +11 -0
  26. package/dist/embedding-config.d.ts.map +1 -0
  27. package/dist/embedding-config.js +24 -0
  28. package/dist/embedding-config.js.map +1 -0
  29. package/dist/entity-extraction.d.ts +22 -0
  30. package/dist/entity-extraction.d.ts.map +1 -0
  31. package/dist/entity-extraction.js +140 -0
  32. package/dist/entity-extraction.js.map +1 -0
  33. package/dist/episodic-headline.d.ts +6 -0
  34. package/dist/episodic-headline.d.ts.map +1 -0
  35. package/dist/episodic-headline.js +62 -0
  36. package/dist/episodic-headline.js.map +1 -0
  37. package/dist/error-sanitizer.d.ts +20 -0
  38. package/dist/error-sanitizer.d.ts.map +1 -0
  39. package/dist/error-sanitizer.js +54 -0
  40. package/dist/error-sanitizer.js.map +1 -0
  41. package/dist/extraction-budget.d.ts +39 -0
  42. package/dist/extraction-budget.d.ts.map +1 -0
  43. package/dist/extraction-budget.js +122 -0
  44. package/dist/extraction-budget.js.map +1 -0
  45. package/dist/extraction-llm.d.ts +22 -0
  46. package/dist/extraction-llm.d.ts.map +1 -0
  47. package/dist/extraction-llm.js +32 -0
  48. package/dist/extraction-llm.js.map +1 -0
  49. package/dist/extraction-prompt.d.ts +40 -0
  50. package/dist/extraction-prompt.d.ts.map +1 -0
  51. package/dist/extraction-prompt.js +176 -0
  52. package/dist/extraction-prompt.js.map +1 -0
  53. package/dist/gateway-client.d.ts +303 -0
  54. package/dist/gateway-client.d.ts.map +1 -0
  55. package/dist/gateway-client.js +285 -0
  56. package/dist/gateway-client.js.map +1 -0
  57. package/dist/gateway-init.d.ts +32 -0
  58. package/dist/gateway-init.d.ts.map +1 -0
  59. package/dist/gateway-init.js +71 -0
  60. package/dist/gateway-init.js.map +1 -0
  61. package/dist/index.d.ts +2 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +1242 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/infer-task-status.d.ts +7 -0
  66. package/dist/infer-task-status.d.ts.map +1 -0
  67. package/dist/infer-task-status.js +23 -0
  68. package/dist/infer-task-status.js.map +1 -0
  69. package/dist/normalize-agent-id.d.ts +21 -0
  70. package/dist/normalize-agent-id.d.ts.map +1 -0
  71. package/dist/normalize-agent-id.js +54 -0
  72. package/dist/normalize-agent-id.js.map +1 -0
  73. package/dist/openai.d.ts +14 -0
  74. package/dist/openai.d.ts.map +1 -0
  75. package/dist/openai.js +43 -0
  76. package/dist/openai.js.map +1 -0
  77. package/dist/rlm/actions.d.ts +31 -0
  78. package/dist/rlm/actions.d.ts.map +1 -0
  79. package/dist/rlm/actions.js +241 -0
  80. package/dist/rlm/actions.js.map +1 -0
  81. package/dist/rlm/benchmark.d.ts +2 -0
  82. package/dist/rlm/benchmark.d.ts.map +1 -0
  83. package/dist/rlm/benchmark.js +215 -0
  84. package/dist/rlm/benchmark.js.map +1 -0
  85. package/dist/rlm/execute.d.ts +13 -0
  86. package/dist/rlm/execute.d.ts.map +1 -0
  87. package/dist/rlm/execute.js +366 -0
  88. package/dist/rlm/execute.js.map +1 -0
  89. package/dist/rlm/index.d.ts +6 -0
  90. package/dist/rlm/index.d.ts.map +1 -0
  91. package/dist/rlm/index.js +147 -0
  92. package/dist/rlm/index.js.map +1 -0
  93. package/dist/rlm/profiles.d.ts +9 -0
  94. package/dist/rlm/profiles.d.ts.map +1 -0
  95. package/dist/rlm/profiles.js +46 -0
  96. package/dist/rlm/profiles.js.map +1 -0
  97. package/dist/rlm/types.d.ts +98 -0
  98. package/dist/rlm/types.d.ts.map +1 -0
  99. package/dist/rlm/types.js +6 -0
  100. package/dist/rlm/types.js.map +1 -0
  101. package/dist/rlm/verify.d.ts +13 -0
  102. package/dist/rlm/verify.d.ts.map +1 -0
  103. package/dist/rlm/verify.js +58 -0
  104. package/dist/rlm/verify.js.map +1 -0
  105. package/dist/rlm/writeback.d.ts +7 -0
  106. package/dist/rlm/writeback.d.ts.map +1 -0
  107. package/dist/rlm/writeback.js +77 -0
  108. package/dist/rlm/writeback.js.map +1 -0
  109. package/dist/scripts/backfill-memory-embeddings.d.ts +2 -0
  110. package/dist/scripts/backfill-memory-embeddings.d.ts.map +1 -0
  111. package/dist/scripts/backfill-memory-embeddings.js +153 -0
  112. package/dist/scripts/backfill-memory-embeddings.js.map +1 -0
  113. package/dist/session-buffer.d.ts +104 -0
  114. package/dist/session-buffer.d.ts.map +1 -0
  115. package/dist/session-buffer.js +466 -0
  116. package/dist/session-buffer.js.map +1 -0
  117. package/dist/session-dedup.d.ts +30 -0
  118. package/dist/session-dedup.d.ts.map +1 -0
  119. package/dist/session-dedup.js +67 -0
  120. package/dist/session-dedup.js.map +1 -0
  121. package/dist/session-flush.d.ts +81 -0
  122. package/dist/session-flush.d.ts.map +1 -0
  123. package/dist/session-flush.js +169 -0
  124. package/dist/session-flush.js.map +1 -0
  125. package/dist/session-lifecycle.d.ts +72 -0
  126. package/dist/session-lifecycle.d.ts.map +1 -0
  127. package/dist/session-lifecycle.js +247 -0
  128. package/dist/session-lifecycle.js.map +1 -0
  129. package/dist/setup.d.ts +2 -0
  130. package/dist/setup.d.ts.map +1 -0
  131. package/dist/setup.js +260 -0
  132. package/dist/setup.js.map +1 -0
  133. package/dist/stopwords.d.ts +2 -0
  134. package/dist/stopwords.d.ts.map +1 -0
  135. package/dist/stopwords.js +20 -0
  136. package/dist/stopwords.js.map +1 -0
  137. package/dist/strip-html.d.ts +5 -0
  138. package/dist/strip-html.d.ts.map +1 -0
  139. package/dist/strip-html.js +35 -0
  140. package/dist/strip-html.js.map +1 -0
  141. package/dist/task-completion-flush.d.ts +36 -0
  142. package/dist/task-completion-flush.d.ts.map +1 -0
  143. package/dist/task-completion-flush.js +97 -0
  144. package/dist/task-completion-flush.js.map +1 -0
  145. package/dist/task-lifecycle-types.d.ts +13 -0
  146. package/dist/task-lifecycle-types.d.ts.map +1 -0
  147. package/dist/task-lifecycle-types.js +12 -0
  148. package/dist/task-lifecycle-types.js.map +1 -0
  149. package/dist/task-lifecycle.d.ts +78 -0
  150. package/dist/task-lifecycle.d.ts.map +1 -0
  151. package/dist/task-lifecycle.js +256 -0
  152. package/dist/task-lifecycle.js.map +1 -0
  153. package/dist/tools/agent-messages.d.ts +26 -0
  154. package/dist/tools/agent-messages.d.ts.map +1 -0
  155. package/dist/tools/agent-messages.js +123 -0
  156. package/dist/tools/agent-messages.js.map +1 -0
  157. package/dist/tools/agent-tasks.d.ts +24 -0
  158. package/dist/tools/agent-tasks.d.ts.map +1 -0
  159. package/dist/tools/agent-tasks.js +162 -0
  160. package/dist/tools/agent-tasks.js.map +1 -0
  161. package/dist/tools/archive-memory.d.ts +2 -0
  162. package/dist/tools/archive-memory.d.ts.map +1 -0
  163. package/dist/tools/archive-memory.js +19 -0
  164. package/dist/tools/archive-memory.js.map +1 -0
  165. package/dist/tools/blind-index.d.ts +29 -0
  166. package/dist/tools/blind-index.d.ts.map +1 -0
  167. package/dist/tools/blind-index.js +53 -0
  168. package/dist/tools/blind-index.js.map +1 -0
  169. package/dist/tools/cleanup-memories.d.ts +44 -0
  170. package/dist/tools/cleanup-memories.d.ts.map +1 -0
  171. package/dist/tools/cleanup-memories.js +126 -0
  172. package/dist/tools/cleanup-memories.js.map +1 -0
  173. package/dist/tools/context-checkpoint.d.ts +28 -0
  174. package/dist/tools/context-checkpoint.d.ts.map +1 -0
  175. package/dist/tools/context-checkpoint.js +140 -0
  176. package/dist/tools/context-checkpoint.js.map +1 -0
  177. package/dist/tools/context-profiles.d.ts +67 -0
  178. package/dist/tools/context-profiles.d.ts.map +1 -0
  179. package/dist/tools/context-profiles.js +30 -0
  180. package/dist/tools/context-profiles.js.map +1 -0
  181. package/dist/tools/create-note.d.ts +2 -0
  182. package/dist/tools/create-note.d.ts.map +1 -0
  183. package/dist/tools/create-note.js +60 -0
  184. package/dist/tools/create-note.js.map +1 -0
  185. package/dist/tools/create-vault.d.ts +5 -0
  186. package/dist/tools/create-vault.d.ts.map +1 -0
  187. package/dist/tools/create-vault.js +121 -0
  188. package/dist/tools/create-vault.js.map +1 -0
  189. package/dist/tools/decrypt-helpers.d.ts +31 -0
  190. package/dist/tools/decrypt-helpers.d.ts.map +1 -0
  191. package/dist/tools/decrypt-helpers.js +33 -0
  192. package/dist/tools/decrypt-helpers.js.map +1 -0
  193. package/dist/tools/delete-note.d.ts +2 -0
  194. package/dist/tools/delete-note.d.ts.map +1 -0
  195. package/dist/tools/delete-note.js +21 -0
  196. package/dist/tools/delete-note.js.map +1 -0
  197. package/dist/tools/explore-graph.d.ts +11 -0
  198. package/dist/tools/explore-graph.d.ts.map +1 -0
  199. package/dist/tools/explore-graph.js +169 -0
  200. package/dist/tools/explore-graph.js.map +1 -0
  201. package/dist/tools/get-related-memories.d.ts +2 -0
  202. package/dist/tools/get-related-memories.d.ts.map +1 -0
  203. package/dist/tools/get-related-memories.js +59 -0
  204. package/dist/tools/get-related-memories.js.map +1 -0
  205. package/dist/tools/knowledge-links.d.ts +17 -0
  206. package/dist/tools/knowledge-links.d.ts.map +1 -0
  207. package/dist/tools/knowledge-links.js +102 -0
  208. package/dist/tools/knowledge-links.js.map +1 -0
  209. package/dist/tools/list-active-agents.d.ts +5 -0
  210. package/dist/tools/list-active-agents.d.ts.map +1 -0
  211. package/dist/tools/list-active-agents.js +15 -0
  212. package/dist/tools/list-active-agents.js.map +1 -0
  213. package/dist/tools/list-notes.d.ts +2 -0
  214. package/dist/tools/list-notes.d.ts.map +1 -0
  215. package/dist/tools/list-notes.js +19 -0
  216. package/dist/tools/list-notes.js.map +1 -0
  217. package/dist/tools/list-vaults.d.ts +2 -0
  218. package/dist/tools/list-vaults.d.ts.map +1 -0
  219. package/dist/tools/list-vaults.js +19 -0
  220. package/dist/tools/list-vaults.js.map +1 -0
  221. package/dist/tools/mmr.d.ts +18 -0
  222. package/dist/tools/mmr.d.ts.map +1 -0
  223. package/dist/tools/mmr.js +67 -0
  224. package/dist/tools/mmr.js.map +1 -0
  225. package/dist/tools/read-memories.d.ts +2 -0
  226. package/dist/tools/read-memories.d.ts.map +1 -0
  227. package/dist/tools/read-memories.js +46 -0
  228. package/dist/tools/read-memories.js.map +1 -0
  229. package/dist/tools/read-note.d.ts +2 -0
  230. package/dist/tools/read-note.d.ts.map +1 -0
  231. package/dist/tools/read-note.js +35 -0
  232. package/dist/tools/read-note.js.map +1 -0
  233. package/dist/tools/read-notes.d.ts +6 -0
  234. package/dist/tools/read-notes.d.ts.map +1 -0
  235. package/dist/tools/read-notes.js +45 -0
  236. package/dist/tools/read-notes.js.map +1 -0
  237. package/dist/tools/resolve-vault-id.d.ts +6 -0
  238. package/dist/tools/resolve-vault-id.d.ts.map +1 -0
  239. package/dist/tools/resolve-vault-id.js +7 -0
  240. package/dist/tools/resolve-vault-id.js.map +1 -0
  241. package/dist/tools/rrf.d.ts +28 -0
  242. package/dist/tools/rrf.d.ts.map +1 -0
  243. package/dist/tools/rrf.js +19 -0
  244. package/dist/tools/rrf.js.map +1 -0
  245. package/dist/tools/search-and-read.d.ts +11 -0
  246. package/dist/tools/search-and-read.d.ts.map +1 -0
  247. package/dist/tools/search-and-read.js +208 -0
  248. package/dist/tools/search-and-read.js.map +1 -0
  249. package/dist/tools/search-memories.d.ts +13 -0
  250. package/dist/tools/search-memories.d.ts.map +1 -0
  251. package/dist/tools/search-memories.js +272 -0
  252. package/dist/tools/search-memories.js.map +1 -0
  253. package/dist/tools/search-notes.d.ts +2 -0
  254. package/dist/tools/search-notes.d.ts.map +1 -0
  255. package/dist/tools/search-notes.js +94 -0
  256. package/dist/tools/search-notes.js.map +1 -0
  257. package/dist/tools/semantic-search.d.ts +7 -0
  258. package/dist/tools/semantic-search.d.ts.map +1 -0
  259. package/dist/tools/semantic-search.js +85 -0
  260. package/dist/tools/semantic-search.js.map +1 -0
  261. package/dist/tools/session-start.d.ts +24 -0
  262. package/dist/tools/session-start.d.ts.map +1 -0
  263. package/dist/tools/session-start.js +256 -0
  264. package/dist/tools/session-start.js.map +1 -0
  265. package/dist/tools/stale-tasks.d.ts +22 -0
  266. package/dist/tools/stale-tasks.d.ts.map +1 -0
  267. package/dist/tools/stale-tasks.js +39 -0
  268. package/dist/tools/stale-tasks.js.map +1 -0
  269. package/dist/tools/temporal-decay.d.ts +21 -0
  270. package/dist/tools/temporal-decay.d.ts.map +1 -0
  271. package/dist/tools/temporal-decay.js +32 -0
  272. package/dist/tools/temporal-decay.js.map +1 -0
  273. package/dist/tools/update-memory.d.ts +19 -0
  274. package/dist/tools/update-memory.d.ts.map +1 -0
  275. package/dist/tools/update-memory.js +230 -0
  276. package/dist/tools/update-memory.js.map +1 -0
  277. package/dist/tools/update-note.d.ts +2 -0
  278. package/dist/tools/update-note.d.ts.map +1 -0
  279. package/dist/tools/update-note.js +79 -0
  280. package/dist/tools/update-note.js.map +1 -0
  281. package/dist/tools/vault-instruction-template.d.ts +17 -0
  282. package/dist/tools/vault-instruction-template.d.ts.map +1 -0
  283. package/dist/tools/vault-instruction-template.js +77 -0
  284. package/dist/tools/vault-instruction-template.js.map +1 -0
  285. package/dist/tools/wiki-link-sync.d.ts +34 -0
  286. package/dist/tools/wiki-link-sync.d.ts.map +1 -0
  287. package/dist/tools/wiki-link-sync.js +132 -0
  288. package/dist/tools/wiki-link-sync.js.map +1 -0
  289. package/dist/tools/wrap-tool-handler.d.ts +8 -0
  290. package/dist/tools/wrap-tool-handler.d.ts.map +1 -0
  291. package/dist/tools/wrap-tool-handler.js +32 -0
  292. package/dist/tools/wrap-tool-handler.js.map +1 -0
  293. package/dist/tools/write-memory.d.ts +34 -0
  294. package/dist/tools/write-memory.d.ts.map +1 -0
  295. package/dist/tools/write-memory.js +359 -0
  296. package/dist/tools/write-memory.js.map +1 -0
  297. package/dist/usage.d.ts +11 -0
  298. package/dist/usage.d.ts.map +1 -0
  299. package/dist/usage.js +38 -0
  300. package/dist/usage.js.map +1 -0
  301. package/dist/wiki-link-parser.d.ts +27 -0
  302. package/dist/wiki-link-parser.d.ts.map +1 -0
  303. package/dist/wiki-link-parser.js +93 -0
  304. package/dist/wiki-link-parser.js.map +1 -0
  305. package/package.json +38 -0
@@ -0,0 +1,285 @@
1
+ /**
2
+ * Gateway client for the ExoVault Agent Gateway HTTP API.
3
+ *
4
+ * When EXOVAULT_AGENT_KEY is configured, the MCP server routes all operations
5
+ * through this client instead of talking to Supabase directly.
6
+ * This ensures the agent key's lastUsedAt is touched on every request,
7
+ * enabling verification polling and unified activity tracking.
8
+ */
9
+ export class GatewayError extends Error {
10
+ status;
11
+ body;
12
+ constructor(message, status, body) {
13
+ super(message);
14
+ this.status = status;
15
+ this.body = body;
16
+ this.name = "GatewayError";
17
+ }
18
+ }
19
+ const MAX_RETRIES = 3;
20
+ const RETRY_BASE_MS = 500;
21
+ const RETRYABLE_PATTERNS = [
22
+ "ECONNREFUSED",
23
+ "ECONNRESET",
24
+ "fetch failed",
25
+ "socket hang up",
26
+ "network",
27
+ ];
28
+ function isRetryableError(err) {
29
+ const msg = err instanceof Error ? err.message : String(err);
30
+ return RETRYABLE_PATTERNS.some((p) => msg.toLowerCase().includes(p.toLowerCase()));
31
+ }
32
+ export class GatewayClient {
33
+ baseUrl;
34
+ apiKey;
35
+ sessionRunId;
36
+ constructor(baseUrl, apiKey, sessionRunId) {
37
+ // Strip trailing slash
38
+ this.baseUrl = baseUrl.replace(/\/$/, "");
39
+ this.apiKey = apiKey;
40
+ this.sessionRunId = sessionRunId;
41
+ }
42
+ async request(method, path, body) {
43
+ const url = `${this.baseUrl}${path}`;
44
+ const headers = {
45
+ Authorization: `Bearer ${this.apiKey}`,
46
+ };
47
+ if (this.sessionRunId) {
48
+ headers["X-Agent-Run-Id"] = this.sessionRunId;
49
+ }
50
+ if (body !== undefined) {
51
+ headers["Content-Type"] = "application/json";
52
+ }
53
+ let lastError;
54
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
55
+ try {
56
+ const response = await fetch(url, {
57
+ method,
58
+ headers,
59
+ body: body !== undefined ? JSON.stringify(body) : undefined,
60
+ });
61
+ if (!response.ok) {
62
+ let errorBody;
63
+ try {
64
+ errorBody = await response.json();
65
+ }
66
+ catch {
67
+ errorBody = await response.text().catch(() => null);
68
+ }
69
+ const message = errorBody?.error ??
70
+ `Gateway returned ${response.status}`;
71
+ throw new GatewayError(message, response.status, errorBody);
72
+ }
73
+ return response.json();
74
+ }
75
+ catch (err) {
76
+ // Never retry HTTP errors (server responded) — only network failures
77
+ if (err instanceof GatewayError)
78
+ throw err;
79
+ lastError = err;
80
+ if (attempt < MAX_RETRIES && isRetryableError(err)) {
81
+ const delayMs = RETRY_BASE_MS * 2 ** attempt;
82
+ console.error(`[gateway] Retry ${attempt + 1}/${MAX_RETRIES} for ${path} — waiting ${delayMs}ms`);
83
+ await new Promise((r) => setTimeout(r, delayMs));
84
+ continue;
85
+ }
86
+ throw err;
87
+ }
88
+ }
89
+ // Unreachable — loop always throws on final attempt — but satisfies TS
90
+ throw lastError;
91
+ }
92
+ // ─── Info ──────────────────────────────────────────────────────────────────
93
+ async info() {
94
+ return this.request("GET", "/api/agent/info");
95
+ }
96
+ // ─── Memory operations ─────────────────────────────────────────────────────
97
+ async writeMemory(params) {
98
+ const result = await this.request("POST", "/api/agent/write-memory", params);
99
+ return JSON.stringify(result);
100
+ }
101
+ async searchMemories(params) {
102
+ const result = await this.request("POST", "/api/agent/search-memories", params);
103
+ return JSON.stringify(result);
104
+ }
105
+ async readMemories(memoryIds) {
106
+ const result = await this.request("POST", "/api/agent/read-memories", { memoryIds });
107
+ return JSON.stringify(result);
108
+ }
109
+ async updateMemory(params) {
110
+ const result = await this.request("POST", "/api/agent/update-memory", params);
111
+ return JSON.stringify(result);
112
+ }
113
+ async archiveMemory(memoryId, archived) {
114
+ const result = await this.request("POST", "/api/agent/archive-memory", { memoryId, archived: archived ?? true });
115
+ return JSON.stringify(result);
116
+ }
117
+ async getRelatedMemories(memoryId, limit, vaultId) {
118
+ const result = await this.request("POST", "/api/agent/get-related-memories", { memoryId, limit, vaultId });
119
+ return JSON.stringify(result);
120
+ }
121
+ async listActiveAgents(sinceDays, limit) {
122
+ const result = await this.request("POST", "/api/agent/list-active-agents", { sinceDays, limit });
123
+ return JSON.stringify(result);
124
+ }
125
+ async cleanupMemories(params) {
126
+ const result = await this.request("POST", "/api/agent/cleanup-memories", params);
127
+ return JSON.stringify(result);
128
+ }
129
+ // ─── Composite operations ──────────────────────────────────────────────────
130
+ async sessionStart(params) {
131
+ const result = await this.request("POST", "/api/agent/session-start", params);
132
+ return JSON.stringify(result);
133
+ }
134
+ async contextCheckpoint(params) {
135
+ const result = await this.request("POST", "/api/agent/context-checkpoint", params);
136
+ return JSON.stringify(result);
137
+ }
138
+ // ─── Vault operations ──────────────────────────────────────────────────────
139
+ async listVaults() {
140
+ const result = await this.request("GET", "/api/agent/list-vaults");
141
+ return JSON.stringify(result);
142
+ }
143
+ // ─── Note operations ───────────────────────────────────────────────────────
144
+ async listNotes(params) {
145
+ const result = await this.request("POST", "/api/agent/list-notes", params);
146
+ return JSON.stringify(result);
147
+ }
148
+ async readNote(noteId) {
149
+ const result = await this.request("POST", "/api/agent/read-note", { noteId });
150
+ return JSON.stringify(result);
151
+ }
152
+ async readNotes(noteIds) {
153
+ const result = await this.request("POST", "/api/agent/read-notes", { noteIds });
154
+ return JSON.stringify(result);
155
+ }
156
+ async searchNotes(params) {
157
+ const result = await this.request("POST", "/api/agent/search-notes", params);
158
+ return JSON.stringify(result);
159
+ }
160
+ async createNote(params) {
161
+ const result = await this.request("POST", "/api/agent/create-note", params);
162
+ return JSON.stringify(result);
163
+ }
164
+ async updateNote(params) {
165
+ const result = await this.request("POST", "/api/agent/update-note", params);
166
+ return JSON.stringify(result);
167
+ }
168
+ async deleteNote(noteId) {
169
+ const result = await this.request("POST", "/api/agent/delete-note", { noteId });
170
+ return JSON.stringify(result);
171
+ }
172
+ async semanticSearch(params) {
173
+ const result = await this.request("POST", "/api/agent/semantic-search", params);
174
+ return JSON.stringify(result);
175
+ }
176
+ async searchAndRead(params) {
177
+ const result = await this.request("POST", "/api/agent/search-and-read", params);
178
+ return JSON.stringify(result);
179
+ }
180
+ // ─── Folder operations ──────────────────────────────────────────────────
181
+ async listFolders(params) {
182
+ const result = await this.request("POST", "/api/agent/list-folders", params);
183
+ return JSON.stringify(result);
184
+ }
185
+ async createFolder(params) {
186
+ const result = await this.request("POST", "/api/agent/create-folder", params);
187
+ return JSON.stringify(result);
188
+ }
189
+ async moveNote(params) {
190
+ const result = await this.request("POST", "/api/agent/move-note", params);
191
+ return JSON.stringify(result);
192
+ }
193
+ // ─── Vault operations (create) ────────────────────────────────────────────
194
+ async createVault(params) {
195
+ const result = await this.request("POST", "/api/agent/create-vault", params);
196
+ return JSON.stringify(result);
197
+ }
198
+ // ─── Task operations ─────────────────────────────────────────────────────
199
+ async createTask(params) {
200
+ const result = await this.request("POST", "/api/agent/create-task", params);
201
+ return JSON.stringify(result);
202
+ }
203
+ async updateTask(params) {
204
+ const result = await this.request("POST", "/api/agent/update-task", params);
205
+ return JSON.stringify(result);
206
+ }
207
+ async listTasks(params) {
208
+ const result = await this.request("POST", "/api/agent/list-tasks", params);
209
+ return JSON.stringify(result);
210
+ }
211
+ // ─── Knowledge link operations ──────────────────────────────────────────
212
+ async getLinks(params) {
213
+ const result = await this.request("POST", "/api/agent/get-links", params);
214
+ return JSON.stringify(result);
215
+ }
216
+ async addLink(params) {
217
+ const result = await this.request("POST", "/api/agent/add-link", params);
218
+ return JSON.stringify(result);
219
+ }
220
+ async removeLink(linkId) {
221
+ const result = await this.request("POST", "/api/agent/remove-link", { linkId });
222
+ return JSON.stringify(result);
223
+ }
224
+ // ─── Graph exploration ─────────────────────────────────────────────────
225
+ async exploreGraph(params) {
226
+ const result = await this.request("POST", "/api/agent/explore-graph", params);
227
+ return JSON.stringify(result);
228
+ }
229
+ // ─── Turn ingestion ────────────────────────────────────────────────────
230
+ async ingestTurn(params) {
231
+ const result = await this.request("POST", "/api/agent/ingest-turn", params);
232
+ return JSON.stringify(result);
233
+ }
234
+ // ─── Settings operations ──────────────────────────────────────────────
235
+ async getSettings(vaultId) {
236
+ const result = await this.request("POST", "/api/agent/get-settings", vaultId ? { vaultId } : {});
237
+ return JSON.stringify(result);
238
+ }
239
+ async updateSettings(params) {
240
+ const result = await this.request("POST", "/api/agent/update-settings", params);
241
+ return JSON.stringify(result);
242
+ }
243
+ // ─── Session tracking ──────────────────────────────────────────────────
244
+ /**
245
+ * Record a tool call in the agent_sessions table. Fire-and-forget —
246
+ * errors are swallowed so tracking never blocks tool execution.
247
+ */
248
+ async trackSession(params) {
249
+ try {
250
+ await this.request("POST", "/api/agent/session-track", params);
251
+ }
252
+ catch {
253
+ // Fire-and-forget — never fail the tool call because of tracking
254
+ }
255
+ }
256
+ // ─── Agent messaging ─────────────────────────────────────────────────────
257
+ async sendMessage(params) {
258
+ const result = await this.request("POST", "/api/agent/send-message", params);
259
+ return JSON.stringify(result);
260
+ }
261
+ async ackMessage(messageId) {
262
+ const result = await this.request("POST", "/api/agent/ack-message", { messageId });
263
+ return JSON.stringify(result);
264
+ }
265
+ async readMessages(params) {
266
+ const result = await this.request("POST", "/api/agent/read-messages", params);
267
+ return JSON.stringify(result);
268
+ }
269
+ async getPendingMessages(params) {
270
+ const result = await this.request("POST", "/api/agent/pending-messages", params);
271
+ return JSON.stringify(result);
272
+ }
273
+ async readDocument(params) {
274
+ const result = await this.request("POST", "/api/agent/read-document", params);
275
+ return JSON.stringify(result);
276
+ }
277
+ async readDocs(params) {
278
+ const result = await this.request("POST", "/api/agent/read-docs", params);
279
+ return JSON.stringify(result);
280
+ }
281
+ async updateDocument(params) {
282
+ const result = await this.request("POST", "/api/agent/update-document", params);
283
+ return JSON.stringify(result);
284
+ }
285
+ }
@@ -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,32 @@
1
+ /**
2
+ * Gateway mode initialization for the MCP server.
3
+ *
4
+ * When EXOVAULT_AGENT_KEY is set (via env var or config.json),
5
+ * the MCP server routes all operations through the HTTP gateway
6
+ * instead of connecting directly to Supabase.
7
+ */
8
+ import { type McpConfig } from "./auth.js";
9
+ import { GatewayClient } from "./gateway-client.js";
10
+ export interface GatewayMode {
11
+ mode: "gateway";
12
+ client: GatewayClient;
13
+ agentLabel?: string;
14
+ defaultVaultId?: string;
15
+ allowedVaultIds?: string[];
16
+ allowGlobalMemoryWrite: boolean;
17
+ /** Per-vault scope preset overrides. Key = vaultId, value = preset or null (inherit). */
18
+ vaultScopePresets?: Record<string, string | null>;
19
+ }
20
+ /**
21
+ * Resolves the agent key and API URL from config + env vars.
22
+ * Returns null if gateway mode is not configured.
23
+ */
24
+ export declare function resolveGatewayConfig(config: McpConfig): {
25
+ agentKey: string;
26
+ apiUrl: string;
27
+ } | null;
28
+ /**
29
+ * Initializes the MCP server in gateway mode.
30
+ * Creates a GatewayClient and validates the connection via /api/agent/info.
31
+ */
32
+ export declare function initializeGateway(): Promise<GatewayMode>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-init.d.ts","sourceRoot":"","sources":["../src/gateway-init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CACnD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAQP;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CA+D9D"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Gateway mode initialization for the MCP server.
3
+ *
4
+ * When EXOVAULT_AGENT_KEY is set (via env var or config.json),
5
+ * the MCP server routes all operations through the HTTP gateway
6
+ * instead of connecting directly to Supabase.
7
+ */
8
+ import { randomUUID } from "node:crypto";
9
+ import { readConfig } from "./auth.js";
10
+ import { GatewayClient } from "./gateway-client.js";
11
+ /**
12
+ * Resolves the agent key and API URL from config + env vars.
13
+ * Returns null if gateway mode is not configured.
14
+ */
15
+ export function resolveGatewayConfig(config) {
16
+ const agentKey = process.env.EXOVAULT_AGENT_KEY ?? config.agentKey;
17
+ if (!agentKey)
18
+ return null;
19
+ const apiUrl = process.env.EXOVAULT_API_URL ?? config.apiUrl ?? "https://exovault.co";
20
+ return { agentKey, apiUrl };
21
+ }
22
+ /**
23
+ * Initializes the MCP server in gateway mode.
24
+ * Creates a GatewayClient and validates the connection via /api/agent/info.
25
+ */
26
+ export async function initializeGateway() {
27
+ const config = await readConfig();
28
+ const resolved = resolveGatewayConfig(config);
29
+ if (!resolved) {
30
+ throw new Error("Gateway mode requires EXOVAULT_AGENT_KEY env var or agentKey in config.json");
31
+ }
32
+ const sessionRunId = randomUUID();
33
+ const client = new GatewayClient(resolved.apiUrl, resolved.agentKey, sessionRunId);
34
+ process.stderr.write(`[exovault-mcp] Session run ID: ${sessionRunId}\n`);
35
+ // Validate the connection
36
+ const info = await client.info();
37
+ process.stderr.write(`[exovault-mcp] Gateway mode: connected to ${resolved.apiUrl} as integration ${info.integrationId}\n`);
38
+ // Determine default vault: allowed vaults > config override > info.vaultId
39
+ const allowedVaultIds = info.allowedVaultIds ?? undefined;
40
+ let defaultVaultId;
41
+ if (info.restrictToVault && allowedVaultIds?.length) {
42
+ // For vault-restricted agents, always default to the first allowed vault
43
+ defaultVaultId = allowedVaultIds[0];
44
+ }
45
+ else if (config.defaultVaultId) {
46
+ defaultVaultId = config.defaultVaultId;
47
+ }
48
+ else if (info.vaultId) {
49
+ defaultVaultId = info.vaultId;
50
+ }
51
+ // Validate: config override must be in allowed set for restricted agents
52
+ if (defaultVaultId &&
53
+ info.restrictToVault &&
54
+ allowedVaultIds?.length &&
55
+ !allowedVaultIds.includes(defaultVaultId)) {
56
+ process.stderr.write(`[exovault-mcp] Warning: defaultVaultId ${defaultVaultId} not in allowed vaults, using ${allowedVaultIds[0]}\n`);
57
+ defaultVaultId = allowedVaultIds[0];
58
+ }
59
+ if (allowedVaultIds && allowedVaultIds.length > 1) {
60
+ process.stderr.write(`[exovault-mcp] Multi-vault access: ${allowedVaultIds.length} vaults allowed. Default vault: ${defaultVaultId ?? "none"}.\n`);
61
+ }
62
+ return {
63
+ mode: "gateway",
64
+ client,
65
+ agentLabel: info.label,
66
+ defaultVaultId,
67
+ allowedVaultIds,
68
+ allowGlobalMemoryWrite: config.allowGlobalMemoryWrite === true,
69
+ vaultScopePresets: info.vaultScopePresets ?? undefined,
70
+ };
71
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-init.js","sourceRoot":"","sources":["../src/gateway-init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}