@waynesutton/agent-memory 0.0.1

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 (201) hide show
  1. package/.claude/settings.json +9 -0
  2. package/.claude/settings.local.json +7 -0
  3. package/AGENTS.md +113 -0
  4. package/CLAUDE.md +79 -0
  5. package/README.md +1 -0
  6. package/dist/cli/index.d.ts +3 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +192 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/cli/parsers/claude-code.d.ts +3 -0
  11. package/dist/cli/parsers/claude-code.d.ts.map +1 -0
  12. package/dist/cli/parsers/claude-code.js +75 -0
  13. package/dist/cli/parsers/claude-code.js.map +1 -0
  14. package/dist/cli/parsers/codex.d.ts +3 -0
  15. package/dist/cli/parsers/codex.d.ts.map +1 -0
  16. package/dist/cli/parsers/codex.js +42 -0
  17. package/dist/cli/parsers/codex.js.map +1 -0
  18. package/dist/cli/parsers/conductor.d.ts +3 -0
  19. package/dist/cli/parsers/conductor.d.ts.map +1 -0
  20. package/dist/cli/parsers/conductor.js +43 -0
  21. package/dist/cli/parsers/conductor.js.map +1 -0
  22. package/dist/cli/parsers/cursor.d.ts +3 -0
  23. package/dist/cli/parsers/cursor.d.ts.map +1 -0
  24. package/dist/cli/parsers/cursor.js +50 -0
  25. package/dist/cli/parsers/cursor.js.map +1 -0
  26. package/dist/cli/parsers/index.d.ts +12 -0
  27. package/dist/cli/parsers/index.d.ts.map +1 -0
  28. package/dist/cli/parsers/index.js +27 -0
  29. package/dist/cli/parsers/index.js.map +1 -0
  30. package/dist/cli/parsers/opencode.d.ts +3 -0
  31. package/dist/cli/parsers/opencode.d.ts.map +1 -0
  32. package/dist/cli/parsers/opencode.js +72 -0
  33. package/dist/cli/parsers/opencode.js.map +1 -0
  34. package/dist/cli/parsers/parsers.test.d.ts +2 -0
  35. package/dist/cli/parsers/parsers.test.d.ts.map +1 -0
  36. package/dist/cli/parsers/parsers.test.js +151 -0
  37. package/dist/cli/parsers/parsers.test.js.map +1 -0
  38. package/dist/cli/parsers/pi.d.ts +3 -0
  39. package/dist/cli/parsers/pi.d.ts.map +1 -0
  40. package/dist/cli/parsers/pi.js +43 -0
  41. package/dist/cli/parsers/pi.js.map +1 -0
  42. package/dist/cli/parsers/types.d.ts +25 -0
  43. package/dist/cli/parsers/types.d.ts.map +1 -0
  44. package/dist/cli/parsers/types.js +2 -0
  45. package/dist/cli/parsers/types.js.map +1 -0
  46. package/dist/cli/parsers/vscode-copilot.d.ts +3 -0
  47. package/dist/cli/parsers/vscode-copilot.d.ts.map +1 -0
  48. package/dist/cli/parsers/vscode-copilot.js +69 -0
  49. package/dist/cli/parsers/vscode-copilot.js.map +1 -0
  50. package/dist/cli/parsers/zed.d.ts +3 -0
  51. package/dist/cli/parsers/zed.d.ts.map +1 -0
  52. package/dist/cli/parsers/zed.js +43 -0
  53. package/dist/cli/parsers/zed.js.map +1 -0
  54. package/dist/cli/sync.d.ts +21 -0
  55. package/dist/cli/sync.d.ts.map +1 -0
  56. package/dist/cli/sync.js +78 -0
  57. package/dist/cli/sync.js.map +1 -0
  58. package/dist/cli/type-extractor.d.ts +25 -0
  59. package/dist/cli/type-extractor.d.ts.map +1 -0
  60. package/dist/cli/type-extractor.js +254 -0
  61. package/dist/cli/type-extractor.js.map +1 -0
  62. package/dist/cli/type-extractor.test.d.ts +2 -0
  63. package/dist/cli/type-extractor.test.d.ts.map +1 -0
  64. package/dist/cli/type-extractor.test.js +173 -0
  65. package/dist/cli/type-extractor.test.js.map +1 -0
  66. package/dist/client/http.d.ts +44 -0
  67. package/dist/client/http.d.ts.map +1 -0
  68. package/dist/client/http.js +311 -0
  69. package/dist/client/http.js.map +1 -0
  70. package/dist/client/index.d.ts +158 -0
  71. package/dist/client/index.d.ts.map +1 -0
  72. package/dist/client/index.js +256 -0
  73. package/dist/client/index.js.map +1 -0
  74. package/dist/component/_generated/api.d.ts +12 -0
  75. package/dist/component/_generated/api.d.ts.map +1 -0
  76. package/dist/component/_generated/api.js +13 -0
  77. package/dist/component/_generated/api.js.map +1 -0
  78. package/dist/component/_generated/dataModel.d.ts +18 -0
  79. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  80. package/dist/component/_generated/dataModel.js +11 -0
  81. package/dist/component/_generated/dataModel.js.map +1 -0
  82. package/dist/component/_generated/server.d.ts +42 -0
  83. package/dist/component/_generated/server.d.ts.map +1 -0
  84. package/dist/component/_generated/server.js +39 -0
  85. package/dist/component/_generated/server.js.map +1 -0
  86. package/dist/component/actions.d.ts +42 -0
  87. package/dist/component/actions.d.ts.map +1 -0
  88. package/dist/component/actions.js +405 -0
  89. package/dist/component/actions.js.map +1 -0
  90. package/dist/component/apiKeyMutations.d.ts +29 -0
  91. package/dist/component/apiKeyMutations.d.ts.map +1 -0
  92. package/dist/component/apiKeyMutations.js +149 -0
  93. package/dist/component/apiKeyMutations.js.map +1 -0
  94. package/dist/component/apiKeyQueries.d.ts +37 -0
  95. package/dist/component/apiKeyQueries.d.ts.map +1 -0
  96. package/dist/component/apiKeyQueries.js +127 -0
  97. package/dist/component/apiKeyQueries.js.map +1 -0
  98. package/dist/component/checksum.d.ts +6 -0
  99. package/dist/component/checksum.d.ts.map +1 -0
  100. package/dist/component/checksum.js +14 -0
  101. package/dist/component/checksum.js.map +1 -0
  102. package/dist/component/checksum.test.d.ts +2 -0
  103. package/dist/component/checksum.test.d.ts.map +1 -0
  104. package/dist/component/checksum.test.js +27 -0
  105. package/dist/component/checksum.test.js.map +1 -0
  106. package/dist/component/convex.config.d.ts +3 -0
  107. package/dist/component/convex.config.d.ts.map +1 -0
  108. package/dist/component/convex.config.js +4 -0
  109. package/dist/component/convex.config.js.map +1 -0
  110. package/dist/component/cronActions.d.ts +3 -0
  111. package/dist/component/cronActions.d.ts.map +1 -0
  112. package/dist/component/cronActions.js +38 -0
  113. package/dist/component/cronActions.js.map +1 -0
  114. package/dist/component/cronQueries.d.ts +6 -0
  115. package/dist/component/cronQueries.d.ts.map +1 -0
  116. package/dist/component/cronQueries.js +38 -0
  117. package/dist/component/cronQueries.js.map +1 -0
  118. package/dist/component/crons.d.ts +3 -0
  119. package/dist/component/crons.d.ts.map +1 -0
  120. package/dist/component/crons.js +18 -0
  121. package/dist/component/crons.js.map +1 -0
  122. package/dist/component/format.d.ts +11 -0
  123. package/dist/component/format.d.ts.map +1 -0
  124. package/dist/component/format.js +175 -0
  125. package/dist/component/format.js.map +1 -0
  126. package/dist/component/format.test.d.ts +2 -0
  127. package/dist/component/format.test.d.ts.map +1 -0
  128. package/dist/component/format.test.js +118 -0
  129. package/dist/component/format.test.js.map +1 -0
  130. package/dist/component/mutations.d.ts +158 -0
  131. package/dist/component/mutations.d.ts.map +1 -0
  132. package/dist/component/mutations.js +745 -0
  133. package/dist/component/mutations.js.map +1 -0
  134. package/dist/component/queries.d.ts +94 -0
  135. package/dist/component/queries.d.ts.map +1 -0
  136. package/dist/component/queries.js +574 -0
  137. package/dist/component/queries.js.map +1 -0
  138. package/dist/component/schema.d.ts +278 -0
  139. package/dist/component/schema.d.ts.map +1 -0
  140. package/dist/component/schema.js +161 -0
  141. package/dist/component/schema.js.map +1 -0
  142. package/dist/mcp/server.d.ts +11 -0
  143. package/dist/mcp/server.d.ts.map +1 -0
  144. package/dist/mcp/server.js +571 -0
  145. package/dist/mcp/server.js.map +1 -0
  146. package/dist/shared.d.ts +126 -0
  147. package/dist/shared.d.ts.map +1 -0
  148. package/dist/shared.js +67 -0
  149. package/dist/shared.js.map +1 -0
  150. package/dist/test.d.ts +23 -0
  151. package/dist/test.d.ts.map +1 -0
  152. package/dist/test.js +21 -0
  153. package/dist/test.js.map +1 -0
  154. package/eslint.config.js +15 -0
  155. package/example/convex/convex.config.ts +7 -0
  156. package/example/convex/memory.ts +129 -0
  157. package/llms.md +175 -0
  158. package/llms.txt +126 -0
  159. package/package.json +72 -0
  160. package/prds/API-REFERENCE.md +935 -0
  161. package/prds/README.md +988 -0
  162. package/prds/SETUP.md +682 -0
  163. package/src/cli/index.ts +254 -0
  164. package/src/cli/parsers/claude-code.ts +80 -0
  165. package/src/cli/parsers/codex.ts +45 -0
  166. package/src/cli/parsers/conductor.ts +47 -0
  167. package/src/cli/parsers/cursor.ts +55 -0
  168. package/src/cli/parsers/index.ts +30 -0
  169. package/src/cli/parsers/opencode.ts +84 -0
  170. package/src/cli/parsers/parsers.test.ts +201 -0
  171. package/src/cli/parsers/pi.ts +47 -0
  172. package/src/cli/parsers/types.ts +26 -0
  173. package/src/cli/parsers/vscode-copilot.ts +78 -0
  174. package/src/cli/parsers/zed.ts +47 -0
  175. package/src/cli/sync.ts +110 -0
  176. package/src/cli/type-extractor.test.ts +241 -0
  177. package/src/cli/type-extractor.ts +331 -0
  178. package/src/client/http.ts +415 -0
  179. package/src/client/index.ts +519 -0
  180. package/src/component/_generated/api.ts +14 -0
  181. package/src/component/_generated/dataModel.ts +20 -0
  182. package/src/component/_generated/server.ts +64 -0
  183. package/src/component/actions.ts +558 -0
  184. package/src/component/apiKeyMutations.ts +175 -0
  185. package/src/component/apiKeyQueries.ts +156 -0
  186. package/src/component/checksum.test.ts +31 -0
  187. package/src/component/checksum.ts +13 -0
  188. package/src/component/convex.config.ts +5 -0
  189. package/src/component/cronActions.ts +52 -0
  190. package/src/component/cronQueries.ts +42 -0
  191. package/src/component/crons.ts +34 -0
  192. package/src/component/format.test.ts +133 -0
  193. package/src/component/format.ts +232 -0
  194. package/src/component/mutations.ts +824 -0
  195. package/src/component/queries.ts +684 -0
  196. package/src/component/schema.ts +207 -0
  197. package/src/mcp/server.ts +695 -0
  198. package/src/shared.ts +251 -0
  199. package/src/test.ts +32 -0
  200. package/tsconfig.json +21 -0
  201. package/vitest.config.ts +8 -0
@@ -0,0 +1,311 @@
1
+ import { httpActionGeneric } from "convex/server";
2
+ // Use the generic httpAction since this is a component (no app-specific data model)
3
+ const httpAction = httpActionGeneric;
4
+ // ── Helpers ─────────────────────────────────────────────────────────
5
+ function corsHeaders(origins) {
6
+ return {
7
+ "Access-Control-Allow-Origin": origins.includes("*") ? "*" : origins[0],
8
+ "Access-Control-Allow-Methods": "GET, OPTIONS",
9
+ "Access-Control-Allow-Headers": "Authorization, Content-Type",
10
+ "Access-Control-Max-Age": "86400",
11
+ };
12
+ }
13
+ function jsonResponse(data, status, cors) {
14
+ return new Response(JSON.stringify(data), {
15
+ status,
16
+ headers: { "Content-Type": "application/json", ...cors },
17
+ });
18
+ }
19
+ function errorResponse(message, status, cors, extra) {
20
+ return jsonResponse({ error: message, ...extra }, status, cors);
21
+ }
22
+ // ── MemoryHttpApi ───────────────────────────────────────────────────
23
+ /**
24
+ * Generates read-only HTTP endpoint handlers that a Convex app mounts
25
+ * on its own `httpRouter`. Each request is authenticated via an API key
26
+ * (Bearer token) and rate-limited using the component's built-in
27
+ * fixed-window token bucket.
28
+ *
29
+ * Usage in the consuming app's `convex/http.ts`:
30
+ *
31
+ * ```typescript
32
+ * import { httpRouter } from "convex/server";
33
+ * import { MemoryHttpApi } from "@waynesutton/agent-memory/http";
34
+ * import { components } from "./_generated/api";
35
+ *
36
+ * const http = httpRouter();
37
+ * const memoryApi = new MemoryHttpApi(components.agentMemory);
38
+ * memoryApi.mount(http, "/api/memory");
39
+ * export default http;
40
+ * ```
41
+ */
42
+ export class MemoryHttpApi {
43
+ component;
44
+ cors;
45
+ constructor(component, config) {
46
+ this.component = component;
47
+ this.cors = corsHeaders(config?.corsOrigins ?? ["*"]);
48
+ }
49
+ // ── Auth + rate-limit middleware ─────────────────────────────────
50
+ /**
51
+ * Validates the Bearer token, checks rate limits, and returns the
52
+ * validated key info. Returns an error Response if auth or rate
53
+ * limiting fails.
54
+ */
55
+ async authenticate(ctx, request, requiredPermission) {
56
+ const authHeader = request.headers.get("Authorization");
57
+ if (!authHeader?.startsWith("Bearer ")) {
58
+ return errorResponse("Missing or invalid Authorization header. Expected: Bearer am_<key>", 401, this.cors);
59
+ }
60
+ const key = authHeader.slice(7);
61
+ const validation = await ctx.runQuery(this.component.apiKeyQueries.validateApiKey, { key });
62
+ if (!validation.valid) {
63
+ return errorResponse(validation.reason, 401, this.cors);
64
+ }
65
+ // Check permission
66
+ if (!validation.permissions.includes(requiredPermission)) {
67
+ return errorResponse(`API key does not have "${requiredPermission}" permission`, 403, this.cors);
68
+ }
69
+ // Consume rate limit
70
+ const rateResult = await ctx.runMutation(this.component.apiKeyMutations.consumeRateLimit, {
71
+ keyHash: validation.keyHash,
72
+ requestsPerWindow: validation.rateLimit.requestsPerWindow,
73
+ windowMs: validation.rateLimit.windowMs,
74
+ });
75
+ if (!rateResult.allowed) {
76
+ return errorResponse("Rate limit exceeded", 429, this.cors, {
77
+ retryAfterMs: rateResult.retryAfterMs,
78
+ "Retry-After": String(Math.ceil(rateResult.retryAfterMs / 1000)),
79
+ });
80
+ }
81
+ // Fire-and-forget: update lastUsedAt
82
+ ctx
83
+ .runMutation(this.component.apiKeyQueries.updateKeyLastUsed, {
84
+ keyHash: validation.keyHash,
85
+ })
86
+ .catch(() => { });
87
+ return validation;
88
+ }
89
+ // ── Route mounting ──────────────────────────────────────────────
90
+ /**
91
+ * Registers all read-only memory API routes on the given httpRouter
92
+ * under the specified prefix (e.g. "/api/memory").
93
+ */
94
+ mount(http, prefix) {
95
+ const p = prefix.endsWith("/") ? prefix.slice(0, -1) : prefix;
96
+ // CORS preflight for all routes
97
+ const optionsHandler = httpAction(async () => {
98
+ return new Response(null, { status: 204, headers: this.cors });
99
+ });
100
+ // ── GET /list ────────────────────────────────────────────────
101
+ http.route({
102
+ path: `${p}/list`,
103
+ method: "GET",
104
+ handler: httpAction(async (ctx, request) => {
105
+ const auth = await this.authenticate(ctx, request, "list");
106
+ if (auth instanceof Response)
107
+ return auth;
108
+ const url = new URL(request.url);
109
+ const result = await ctx.runQuery(this.component.queries.list, {
110
+ projectId: auth.projectId,
111
+ memoryType: url.searchParams.get("memoryType") ?? undefined,
112
+ scope: url.searchParams.get("scope") ?? undefined,
113
+ agentId: url.searchParams.get("agentId") ?? undefined,
114
+ sessionId: url.searchParams.get("sessionId") ?? undefined,
115
+ source: url.searchParams.get("source") ?? undefined,
116
+ tags: url.searchParams.get("tags")
117
+ ? url.searchParams.get("tags").split(",")
118
+ : undefined,
119
+ archived: url.searchParams.get("archived") === "true"
120
+ ? true
121
+ : undefined,
122
+ minPriority: url.searchParams.get("minPriority")
123
+ ? Number(url.searchParams.get("minPriority"))
124
+ : undefined,
125
+ limit: url.searchParams.get("limit")
126
+ ? Number(url.searchParams.get("limit"))
127
+ : undefined,
128
+ });
129
+ return jsonResponse(result, 200, this.cors);
130
+ }),
131
+ });
132
+ http.route({
133
+ path: `${p}/list`,
134
+ method: "OPTIONS",
135
+ handler: optionsHandler,
136
+ });
137
+ // ── GET /get?id=<memoryId> ──────────────────────────────────
138
+ http.route({
139
+ path: `${p}/get`,
140
+ method: "GET",
141
+ handler: httpAction(async (ctx, request) => {
142
+ const auth = await this.authenticate(ctx, request, "get");
143
+ if (auth instanceof Response)
144
+ return auth;
145
+ const url = new URL(request.url);
146
+ const memoryId = url.searchParams.get("id");
147
+ if (!memoryId) {
148
+ return errorResponse("Missing required query param: id", 400, this.cors);
149
+ }
150
+ const result = await ctx.runQuery(this.component.queries.get, {
151
+ memoryId,
152
+ });
153
+ if (!result) {
154
+ return errorResponse("Memory not found", 404, this.cors);
155
+ }
156
+ return jsonResponse(result, 200, this.cors);
157
+ }),
158
+ });
159
+ http.route({
160
+ path: `${p}/get`,
161
+ method: "OPTIONS",
162
+ handler: optionsHandler,
163
+ });
164
+ // ── GET /search?q=<query> ───────────────────────────────────
165
+ http.route({
166
+ path: `${p}/search`,
167
+ method: "GET",
168
+ handler: httpAction(async (ctx, request) => {
169
+ const auth = await this.authenticate(ctx, request, "search");
170
+ if (auth instanceof Response)
171
+ return auth;
172
+ const url = new URL(request.url);
173
+ const query = url.searchParams.get("q");
174
+ if (!query) {
175
+ return errorResponse("Missing required query param: q", 400, this.cors);
176
+ }
177
+ const result = await ctx.runQuery(this.component.queries.search, {
178
+ projectId: auth.projectId,
179
+ query,
180
+ memoryType: url.searchParams.get("memoryType") ?? undefined,
181
+ scope: url.searchParams.get("scope") ?? undefined,
182
+ limit: url.searchParams.get("limit")
183
+ ? Number(url.searchParams.get("limit"))
184
+ : undefined,
185
+ });
186
+ return jsonResponse(result, 200, this.cors);
187
+ }),
188
+ });
189
+ http.route({
190
+ path: `${p}/search`,
191
+ method: "OPTIONS",
192
+ handler: optionsHandler,
193
+ });
194
+ // ── GET /context ────────────────────────────────────────────
195
+ http.route({
196
+ path: `${p}/context`,
197
+ method: "GET",
198
+ handler: httpAction(async (ctx, request) => {
199
+ const auth = await this.authenticate(ctx, request, "context");
200
+ if (auth instanceof Response)
201
+ return auth;
202
+ const url = new URL(request.url);
203
+ const result = await ctx.runQuery(this.component.queries.getContextBundle, {
204
+ projectId: auth.projectId,
205
+ scope: url.searchParams.get("scope") ?? "project",
206
+ userId: url.searchParams.get("userId") ?? undefined,
207
+ agentId: url.searchParams.get("agentId") ?? undefined,
208
+ activePaths: url.searchParams.get("activePaths")
209
+ ? url.searchParams.get("activePaths").split(",")
210
+ : undefined,
211
+ maxTokens: url.searchParams.get("maxTokens")
212
+ ? Number(url.searchParams.get("maxTokens"))
213
+ : undefined,
214
+ });
215
+ return jsonResponse(result, 200, this.cors);
216
+ }),
217
+ });
218
+ http.route({
219
+ path: `${p}/context`,
220
+ method: "OPTIONS",
221
+ handler: optionsHandler,
222
+ });
223
+ // ── GET /export?format=<format> ─────────────────────────────
224
+ http.route({
225
+ path: `${p}/export`,
226
+ method: "GET",
227
+ handler: httpAction(async (ctx, request) => {
228
+ const auth = await this.authenticate(ctx, request, "export");
229
+ if (auth instanceof Response)
230
+ return auth;
231
+ const url = new URL(request.url);
232
+ const format = url.searchParams.get("format");
233
+ if (!format) {
234
+ return errorResponse("Missing required query param: format", 400, this.cors);
235
+ }
236
+ const result = await ctx.runQuery(this.component.queries.exportForTool, {
237
+ projectId: auth.projectId,
238
+ format,
239
+ scope: url.searchParams.get("scope") ?? undefined,
240
+ userId: url.searchParams.get("userId") ?? undefined,
241
+ since: url.searchParams.get("since")
242
+ ? Number(url.searchParams.get("since"))
243
+ : undefined,
244
+ });
245
+ return jsonResponse(result, 200, this.cors);
246
+ }),
247
+ });
248
+ http.route({
249
+ path: `${p}/export`,
250
+ method: "OPTIONS",
251
+ handler: optionsHandler,
252
+ });
253
+ // ── GET /history?id=<memoryId> ──────────────────────────────
254
+ http.route({
255
+ path: `${p}/history`,
256
+ method: "GET",
257
+ handler: httpAction(async (ctx, request) => {
258
+ const auth = await this.authenticate(ctx, request, "history");
259
+ if (auth instanceof Response)
260
+ return auth;
261
+ const url = new URL(request.url);
262
+ const memoryId = url.searchParams.get("id");
263
+ if (!memoryId) {
264
+ return errorResponse("Missing required query param: id", 400, this.cors);
265
+ }
266
+ const result = await ctx.runQuery(this.component.queries.history, {
267
+ memoryId,
268
+ limit: url.searchParams.get("limit")
269
+ ? Number(url.searchParams.get("limit"))
270
+ : undefined,
271
+ });
272
+ return jsonResponse(result, 200, this.cors);
273
+ }),
274
+ });
275
+ http.route({
276
+ path: `${p}/history`,
277
+ method: "OPTIONS",
278
+ handler: optionsHandler,
279
+ });
280
+ // ── GET /relations?id=<memoryId> ────────────────────────────
281
+ http.route({
282
+ path: `${p}/relations`,
283
+ method: "GET",
284
+ handler: httpAction(async (ctx, request) => {
285
+ const auth = await this.authenticate(ctx, request, "relations");
286
+ if (auth instanceof Response)
287
+ return auth;
288
+ const url = new URL(request.url);
289
+ const memoryId = url.searchParams.get("id");
290
+ if (!memoryId) {
291
+ return errorResponse("Missing required query param: id", 400, this.cors);
292
+ }
293
+ const result = await ctx.runQuery(this.component.queries.getRelations, {
294
+ memoryId,
295
+ direction: url.searchParams.get("direction") ?? undefined,
296
+ relationship: url.searchParams.get("relationship") ?? undefined,
297
+ limit: url.searchParams.get("limit")
298
+ ? Number(url.searchParams.get("limit"))
299
+ : undefined,
300
+ });
301
+ return jsonResponse(result, 200, this.cors);
302
+ }),
303
+ });
304
+ http.route({
305
+ path: `${p}/relations`,
306
+ method: "OPTIONS",
307
+ handler: optionsHandler,
308
+ });
309
+ }
310
+ }
311
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ import type { GenericActionCtx, GenericDataModel, GenericMutationCtx, GenericQueryCtx } from "convex/server";
2
+ import type { api } from "../component/_generated/api.js";
3
+ import type { Memory, MemoryType, Scope, ToolFormat, ContextBundle, ExportedFile, ImportResult, MemoryHistoryEntry, MemoryFeedbackEntry, MemoryRelation, FeedbackSentiment, IngestResult, ApiKeyInfo, ApiKeyCreateResult } from "../shared.js";
4
+ export type { Memory, MemoryType, Scope, ToolFormat, ContextBundle, ExportedFile, ImportResult, MemoryHistoryEntry, MemoryFeedbackEntry, MemoryRelation, FeedbackSentiment, IngestResult, ApiKeyInfo, ApiKeyCreateResult, };
5
+ type QueryCtx = GenericQueryCtx<GenericDataModel>;
6
+ type MutationCtx = GenericMutationCtx<GenericDataModel>;
7
+ type ActionCtx = GenericActionCtx<GenericDataModel>;
8
+ type ComponentApi = typeof api;
9
+ export interface AgentMemoryConfig {
10
+ projectId: string;
11
+ defaultScope?: Scope;
12
+ userId?: string;
13
+ agentId?: string;
14
+ sessionId?: string;
15
+ embeddingApiKey?: string;
16
+ embeddingModel?: string;
17
+ llmApiKey?: string;
18
+ llmModel?: string;
19
+ llmBaseUrl?: string;
20
+ }
21
+ export declare class AgentMemory {
22
+ component: ComponentApi;
23
+ config: AgentMemoryConfig;
24
+ constructor(component: ComponentApi, config: AgentMemoryConfig);
25
+ list(ctx: QueryCtx, opts?: {
26
+ memoryType?: MemoryType;
27
+ scope?: Scope;
28
+ agentId?: string;
29
+ sessionId?: string;
30
+ source?: string;
31
+ tags?: string[];
32
+ minPriority?: number;
33
+ archived?: boolean;
34
+ createdAfter?: number;
35
+ createdBefore?: number;
36
+ limit?: number;
37
+ }): Promise<Memory[]>;
38
+ get(ctx: QueryCtx, memoryId: string): Promise<Memory | null>;
39
+ search(ctx: QueryCtx, query: string, opts?: {
40
+ memoryType?: MemoryType;
41
+ scope?: Scope;
42
+ limit?: number;
43
+ }): Promise<Memory[]>;
44
+ getContextBundle(ctx: QueryCtx, opts?: {
45
+ activePaths?: string[];
46
+ maxTokens?: number;
47
+ agentId?: string;
48
+ }): Promise<ContextBundle>;
49
+ exportForTool(ctx: QueryCtx, format: ToolFormat, opts?: {
50
+ since?: number;
51
+ }): Promise<ExportedFile[]>;
52
+ history(ctx: QueryCtx, memoryId: string, opts?: {
53
+ limit?: number;
54
+ }): Promise<MemoryHistoryEntry[]>;
55
+ projectHistory(ctx: QueryCtx, opts?: {
56
+ limit?: number;
57
+ }): Promise<MemoryHistoryEntry[]>;
58
+ getFeedback(ctx: QueryCtx, memoryId: string, opts?: {
59
+ limit?: number;
60
+ }): Promise<MemoryFeedbackEntry[]>;
61
+ addFeedback(ctx: MutationCtx, memoryId: string, sentiment: FeedbackSentiment, opts?: {
62
+ comment?: string;
63
+ actor?: string;
64
+ }): Promise<void>;
65
+ getRelations(ctx: QueryCtx, memoryId: string, opts?: {
66
+ direction?: "from" | "to" | "both";
67
+ relationship?: string;
68
+ limit?: number;
69
+ }): Promise<MemoryRelation[]>;
70
+ addRelation(ctx: MutationCtx, fromMemoryId: string, toMemoryId: string, relationship: string, opts?: {
71
+ confidence?: number;
72
+ createdBy?: string;
73
+ }): Promise<string>;
74
+ removeRelation(ctx: MutationCtx, relationId: string): Promise<void>;
75
+ remember(ctx: MutationCtx, memory: {
76
+ title: string;
77
+ content: string;
78
+ memoryType: MemoryType;
79
+ tags?: string[];
80
+ paths?: string[];
81
+ priority?: number;
82
+ source?: string;
83
+ agentId?: string;
84
+ sessionId?: string;
85
+ }): Promise<string>;
86
+ update(ctx: MutationCtx, memoryId: string, updates: {
87
+ content?: string;
88
+ title?: string;
89
+ tags?: string[];
90
+ paths?: string[];
91
+ priority?: number;
92
+ memoryType?: MemoryType;
93
+ }): Promise<void>;
94
+ forget(ctx: MutationCtx, memoryId: string): Promise<void>;
95
+ restore(ctx: MutationCtx, memoryId: string): Promise<void>;
96
+ batchArchive(ctx: MutationCtx, memoryIds: string[]): Promise<{
97
+ archived: number;
98
+ failed: number;
99
+ }>;
100
+ batchUpdate(ctx: MutationCtx, updates: Array<{
101
+ memoryId: string;
102
+ content?: string;
103
+ title?: string;
104
+ tags?: string[];
105
+ paths?: string[];
106
+ priority?: number;
107
+ memoryType?: MemoryType;
108
+ }>): Promise<{
109
+ updated: number;
110
+ failed: number;
111
+ }>;
112
+ recordAccess(ctx: MutationCtx, memoryIds: string[]): Promise<void>;
113
+ importLocal(ctx: MutationCtx, memories: Array<{
114
+ title: string;
115
+ content: string;
116
+ memoryType: MemoryType;
117
+ scope: Scope;
118
+ tags: string[];
119
+ paths?: string[];
120
+ priority?: number;
121
+ source: string;
122
+ checksum: string;
123
+ }>): Promise<ImportResult>;
124
+ ingestTypes(ctx: MutationCtx, typeMemories: Array<{
125
+ title: string;
126
+ content: string;
127
+ tags?: string[];
128
+ paths?: string[];
129
+ priority?: number;
130
+ }>): Promise<ImportResult>;
131
+ embed(ctx: ActionCtx, memoryId: string): Promise<void>;
132
+ embedAll(ctx: ActionCtx): Promise<{
133
+ embedded: number;
134
+ skipped: number;
135
+ }>;
136
+ semanticSearch(ctx: ActionCtx, query: string, opts?: {
137
+ limit?: number;
138
+ }): Promise<Memory[]>;
139
+ ingest(ctx: ActionCtx, content: string, opts?: {
140
+ scope?: Scope;
141
+ agentId?: string;
142
+ sessionId?: string;
143
+ customExtractionPrompt?: string;
144
+ customUpdatePrompt?: string;
145
+ }): Promise<IngestResult>;
146
+ createApiKey(ctx: MutationCtx, opts: {
147
+ name: string;
148
+ permissions: string[];
149
+ rateLimitOverride?: {
150
+ requestsPerWindow: number;
151
+ windowMs: number;
152
+ };
153
+ expiresAt?: number;
154
+ }): Promise<ApiKeyCreateResult>;
155
+ revokeApiKey(ctx: MutationCtx, keyHash: string): Promise<void>;
156
+ listApiKeys(ctx: QueryCtx): Promise<ApiKeyInfo[]>;
157
+ }
158
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}