@mysten-incubation/memwal 0.0.2-dev.2 → 0.0.2-dev.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/README.md +2 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/memwal.d.ts +72 -12
- package/dist/memwal.d.ts.map +1 -1
- package/dist/memwal.js +240 -20
- package/dist/memwal.js.map +1 -1
- package/dist/types.d.ts +87 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,7 +32,8 @@ const memwal = MemWal.create({
|
|
|
32
32
|
namespace: "demo",
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
await memwal.remember("User prefers dark mode and uses TypeScript.");
|
|
35
|
+
const job = await memwal.remember("User prefers dark mode and uses TypeScript.");
|
|
36
|
+
await memwal.waitForRememberJob(job.job_id);
|
|
36
37
|
const memories = await memwal.recall("What are the user's preferences?");
|
|
37
38
|
await memwal.restore("demo");
|
|
38
39
|
```
|
package/dist/index.d.ts
CHANGED
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
*/
|
|
13
13
|
export { MemWal } from "./memwal.js";
|
|
14
14
|
export { delegateKeyToSuiAddress, delegateKeyToPublicKey } from "./utils.js";
|
|
15
|
-
export type { MemWalConfig, RememberResult, RecallResult, RecallMemory, EmbedResult, AnalyzeResult, AnalyzedFact, HealthResult, RestoreResult, } from "./types.js";
|
|
15
|
+
export type { MemWalConfig, RememberAcceptedResult, RememberJobStatus, RememberResult, RecallResult, RecallMemory, EmbedResult, AnalyzeResult, AnalyzeWaitResult, AnalyzedFact, HealthResult, RestoreResult, RememberBulkItem, RememberBulkOptions, RememberBulkAcceptedResult, RememberBulkStatusItem, RememberBulkStatusResult, RememberBulkResult, RememberBulkItemResult, } from "./types.js";
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAG7E,YAAY,EACR,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAG7E,YAAY,EACR,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,GACzB,MAAM,YAAY,CAAC"}
|
package/dist/memwal.d.ts
CHANGED
|
@@ -18,15 +18,16 @@
|
|
|
18
18
|
* accountId: process.env.MEMWAL_ACCOUNT_ID, // MemWalAccount object ID
|
|
19
19
|
* })
|
|
20
20
|
*
|
|
21
|
-
* // Remember —
|
|
22
|
-
* await memwal.remember("I'm allergic to peanuts")
|
|
21
|
+
* // Remember — returns an accepted background job immediately
|
|
22
|
+
* const accepted = await memwal.remember("I'm allergic to peanuts")
|
|
23
|
+
* await memwal.waitForRememberJob(accepted.job_id)
|
|
23
24
|
*
|
|
24
25
|
* // Recall — server: verify → embed query → search → download → decrypt
|
|
25
26
|
* const result = await memwal.recall("food allergies")
|
|
26
27
|
* console.log(result.results[0].text) // "I'm allergic to peanuts"
|
|
27
28
|
* ```
|
|
28
29
|
*/
|
|
29
|
-
import type { MemWalConfig, RememberResult, RecallResult, EmbedResult, AnalyzeResult, HealthResult, RememberManualOptions, RememberManualResult, RecallManualOptions, RecallManualResult, RestoreResult } from "./types.js";
|
|
30
|
+
import type { MemWalConfig, RememberResult, RecallResult, EmbedResult, AnalyzeResult, AnalyzeWaitResult, HealthResult, RememberManualOptions, RememberManualResult, RecallManualOptions, RecallManualResult, RestoreResult, RememberBulkItem, RememberBulkOptions, RememberBulkResult, RememberAcceptedResult, RememberBulkAcceptedResult, RememberBulkStatusResult } from "./types.js";
|
|
30
31
|
export declare class MemWal {
|
|
31
32
|
private privateKey;
|
|
32
33
|
private publicKey;
|
|
@@ -51,18 +52,65 @@ export declare class MemWal {
|
|
|
51
52
|
*/
|
|
52
53
|
destroy(): void;
|
|
53
54
|
/**
|
|
54
|
-
*
|
|
55
|
+
* Submit a remember request and return as soon as the server accepts the job.
|
|
56
|
+
*/
|
|
57
|
+
rememberAsync(text: string, namespace?: string): Promise<RememberAcceptedResult>;
|
|
58
|
+
/**
|
|
59
|
+
* Poll an accepted remember job until it reaches a terminal state.
|
|
60
|
+
*/
|
|
61
|
+
waitForRememberJob(jobId: string, opts?: {
|
|
62
|
+
pollIntervalMs?: number;
|
|
63
|
+
timeoutMs?: number;
|
|
64
|
+
}): Promise<RememberResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Remember something and wait for the background job to complete.
|
|
67
|
+
*/
|
|
68
|
+
rememberAndWait(text: string, namespace?: string, opts?: {
|
|
69
|
+
pollIntervalMs?: number;
|
|
70
|
+
timeoutMs?: number;
|
|
71
|
+
}): Promise<RememberResult>;
|
|
72
|
+
/**
|
|
73
|
+
* Remember something and return as soon as the server accepts the job.
|
|
74
|
+
*
|
|
75
|
+
* The relayer continues embedding, encrypting, uploading, and indexing in the background.
|
|
76
|
+
* Use rememberAndWait() when the caller needs the final blob_id before continuing.
|
|
55
77
|
*
|
|
56
78
|
* @param text - The text to remember
|
|
57
|
-
* @
|
|
79
|
+
* @param namespace - Optional namespace override
|
|
80
|
+
*/
|
|
81
|
+
remember(text: string, namespace?: string): Promise<RememberAcceptedResult>;
|
|
82
|
+
/**
|
|
83
|
+
* Remember multiple memories in one batched request (ENG-1408).
|
|
84
|
+
*
|
|
85
|
+
* Server handles: verify → embed + SEAL-encrypt all items concurrently →
|
|
86
|
+
* upload N blobs to Walrus in parallel → 1 PTB per wallet slot for
|
|
87
|
+
* set-metadata + transfer. This collapses `N × (2 + 1)` Sui transactions
|
|
88
|
+
* into roughly `2N + K` where K ≤ wallet pool size.
|
|
89
|
+
*
|
|
90
|
+
* Returns `202 Accepted` immediately with `job_ids[]`.
|
|
91
|
+
*
|
|
92
|
+
* @param items - Array of `{ text, namespace? }` items (max 20 per call)
|
|
58
93
|
*
|
|
59
94
|
* @example
|
|
60
95
|
* ```typescript
|
|
61
|
-
* const
|
|
62
|
-
*
|
|
96
|
+
* const accepted = await memwal.rememberBulk([
|
|
97
|
+
* { text: "I love coffee" },
|
|
98
|
+
* { text: "I live in Tokyo", namespace: "profile" },
|
|
99
|
+
* ])
|
|
100
|
+
* console.log(accepted.job_ids)
|
|
63
101
|
* ```
|
|
64
102
|
*/
|
|
65
|
-
|
|
103
|
+
rememberBulkAsync(items: RememberBulkItem[]): Promise<RememberBulkAcceptedResult>;
|
|
104
|
+
getRememberBulkStatus(jobIds: string[]): Promise<RememberBulkStatusResult>;
|
|
105
|
+
waitForRememberJobs(jobIds: string[], namespaces?: string[], opts?: RememberBulkOptions): Promise<RememberBulkResult>;
|
|
106
|
+
/**
|
|
107
|
+
* Remember multiple memories and return as soon as the server accepts the jobs.
|
|
108
|
+
*/
|
|
109
|
+
rememberBulk(items: RememberBulkItem[]): Promise<RememberBulkAcceptedResult>;
|
|
110
|
+
/**
|
|
111
|
+
* Remember multiple memories and wait until every job reaches a terminal state.
|
|
112
|
+
*/
|
|
113
|
+
rememberBulkAndWait(items: RememberBulkItem[], opts?: RememberBulkOptions): Promise<RememberBulkResult>;
|
|
66
114
|
/**
|
|
67
115
|
* Recall memories similar to a query — server handles:
|
|
68
116
|
* verify → embed query → search → Walrus download → decrypt → return plaintext
|
|
@@ -141,19 +189,25 @@ export declare class MemWal {
|
|
|
141
189
|
*/
|
|
142
190
|
embed(text: string): Promise<EmbedResult>;
|
|
143
191
|
/**
|
|
144
|
-
* Analyze conversation text
|
|
145
|
-
*
|
|
192
|
+
* Analyze conversation text and return as soon as extracted facts are accepted.
|
|
193
|
+
*
|
|
194
|
+
* The relayer extracts facts synchronously, returns one job_id per fact, then
|
|
195
|
+
* embeds, encrypts, uploads, and indexes each fact in the background.
|
|
146
196
|
*
|
|
147
197
|
* @param text - Conversation text to analyze
|
|
148
|
-
* @returns AnalyzeResult with extracted and
|
|
198
|
+
* @returns AnalyzeResult with extracted facts and accepted job_ids
|
|
149
199
|
*
|
|
150
200
|
* @example
|
|
151
201
|
* ```typescript
|
|
152
202
|
* const result = await memwal.analyze("I love coffee and live in Tokyo")
|
|
153
|
-
* console.log(result.
|
|
203
|
+
* console.log(result.job_ids)
|
|
154
204
|
* ```
|
|
155
205
|
*/
|
|
156
206
|
analyze(text: string, namespace?: string): Promise<AnalyzeResult>;
|
|
207
|
+
/**
|
|
208
|
+
* Analyze conversation text and wait until every extracted fact is stored.
|
|
209
|
+
*/
|
|
210
|
+
analyzeAndWait(text: string, namespace?: string, opts?: RememberBulkOptions): Promise<AnalyzeWaitResult>;
|
|
157
211
|
/**
|
|
158
212
|
* Restore a namespace — server downloads all blobs from Walrus,
|
|
159
213
|
* decrypts with delegate key, re-embeds, and re-indexes.
|
|
@@ -213,6 +267,12 @@ export declare class MemWal {
|
|
|
213
267
|
* (5-min TTL, scoped to the server's `packageId`) so a wire capture has
|
|
214
268
|
* a bounded blast radius. Requires `@mysten/seal` and `@mysten/sui`.
|
|
215
269
|
*/
|
|
270
|
+
/**
|
|
271
|
+
* Make a signed request to the server.
|
|
272
|
+
*
|
|
273
|
+
* @param acceptedStatuses - HTTP status codes to treat as success (default [200]).
|
|
274
|
+
* Pass [200, 202] for endpoints that return 202 Accepted.
|
|
275
|
+
*/
|
|
216
276
|
private signedRequest;
|
|
217
277
|
}
|
|
218
278
|
//# sourceMappingURL=memwal.d.ts.map
|
package/dist/memwal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memwal.d.ts","sourceRoot":"","sources":["../src/memwal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"memwal.d.ts","sourceRoot":"","sources":["../src/memwal.ts"],"names":[],"mappings":"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"}
|
package/dist/memwal.js
CHANGED
|
@@ -18,8 +18,9 @@
|
|
|
18
18
|
* accountId: process.env.MEMWAL_ACCOUNT_ID, // MemWalAccount object ID
|
|
19
19
|
* })
|
|
20
20
|
*
|
|
21
|
-
* // Remember —
|
|
22
|
-
* await memwal.remember("I'm allergic to peanuts")
|
|
21
|
+
* // Remember — returns an accepted background job immediately
|
|
22
|
+
* const accepted = await memwal.remember("I'm allergic to peanuts")
|
|
23
|
+
* await memwal.waitForRememberJob(accepted.job_id)
|
|
23
24
|
*
|
|
24
25
|
* // Recall — server: verify → embed query → search → download → decrypt
|
|
25
26
|
* const result = await memwal.recall("food allergies")
|
|
@@ -42,6 +43,18 @@ const SEAL_SESSION_TTL_MIN = 5;
|
|
|
42
43
|
// the client thinks the session is valid but a just-received request hits
|
|
43
44
|
// a key server that sees it as expired.
|
|
44
45
|
const SEAL_SESSION_SAFETY_MARGIN_MS = 30_000;
|
|
46
|
+
function sleep(ms) {
|
|
47
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
48
|
+
}
|
|
49
|
+
function pollingDelayMs(baseMs, attempt) {
|
|
50
|
+
const base = Math.max(100, baseMs);
|
|
51
|
+
const capped = Math.min(10_000, base * 1.5 ** Math.min(attempt, 6));
|
|
52
|
+
const jitter = 0.75 + Math.random() * 0.5;
|
|
53
|
+
return Math.floor(capped * jitter);
|
|
54
|
+
}
|
|
55
|
+
function isTransientPollingStatus(status) {
|
|
56
|
+
return status === 0 || status === 429 || status >= 500;
|
|
57
|
+
}
|
|
45
58
|
export class MemWal {
|
|
46
59
|
privateKey;
|
|
47
60
|
publicKey = null;
|
|
@@ -92,22 +105,198 @@ export class MemWal {
|
|
|
92
105
|
// Core API
|
|
93
106
|
// ============================================================
|
|
94
107
|
/**
|
|
95
|
-
*
|
|
108
|
+
* Submit a remember request and return as soon as the server accepts the job.
|
|
109
|
+
*/
|
|
110
|
+
async rememberAsync(text, namespace) {
|
|
111
|
+
return this.signedRequest("POST", "/api/remember", { text, namespace: namespace ?? this.namespace }, [200, 202]);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Poll an accepted remember job until it reaches a terminal state.
|
|
115
|
+
*/
|
|
116
|
+
async waitForRememberJob(jobId, opts = {}) {
|
|
117
|
+
const { pollIntervalMs = 1500, timeoutMs = 60_000 } = opts;
|
|
118
|
+
const deadline = Date.now() + timeoutMs;
|
|
119
|
+
let attempt = 0;
|
|
120
|
+
while (Date.now() < deadline) {
|
|
121
|
+
await sleep(pollingDelayMs(pollIntervalMs, attempt++));
|
|
122
|
+
let status;
|
|
123
|
+
try {
|
|
124
|
+
status = await this.signedRequest("GET", `/api/remember/${jobId}`, {}, [200, 404]);
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
const httpStatus = err.status ?? 0;
|
|
128
|
+
if (isTransientPollingStatus(httpStatus)) {
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
throw err;
|
|
132
|
+
}
|
|
133
|
+
if (!("status" in status) || status.status === "not_found") {
|
|
134
|
+
throw Object.assign(new Error(`remember job not found: ${jobId}`), {
|
|
135
|
+
status: 404,
|
|
136
|
+
jobId,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
if (status.status === "done") {
|
|
140
|
+
return {
|
|
141
|
+
id: status.job_id,
|
|
142
|
+
job_id: status.job_id,
|
|
143
|
+
blob_id: status.blob_id ?? "",
|
|
144
|
+
owner: status.owner ?? "",
|
|
145
|
+
namespace: status.namespace ?? this.namespace,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
if (status.status === "failed") {
|
|
149
|
+
throw Object.assign(new Error(`remember job failed: ${status.error ?? "unknown error"}`), { status: 500, jobId });
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
throw Object.assign(new Error(`remember job timed out after ${timeoutMs}ms (job_id=${jobId})`), { status: 504, jobId });
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Remember something and wait for the background job to complete.
|
|
156
|
+
*/
|
|
157
|
+
async rememberAndWait(text, namespace, opts = {}) {
|
|
158
|
+
const accepted = await this.rememberAsync(text, namespace);
|
|
159
|
+
return this.waitForRememberJob(accepted.job_id, opts);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Remember something and return as soon as the server accepts the job.
|
|
163
|
+
*
|
|
164
|
+
* The relayer continues embedding, encrypting, uploading, and indexing in the background.
|
|
165
|
+
* Use rememberAndWait() when the caller needs the final blob_id before continuing.
|
|
96
166
|
*
|
|
97
167
|
* @param text - The text to remember
|
|
98
|
-
* @
|
|
168
|
+
* @param namespace - Optional namespace override
|
|
169
|
+
*/
|
|
170
|
+
async remember(text, namespace) {
|
|
171
|
+
return this.rememberAsync(text, namespace);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Remember multiple memories in one batched request (ENG-1408).
|
|
175
|
+
*
|
|
176
|
+
* Server handles: verify → embed + SEAL-encrypt all items concurrently →
|
|
177
|
+
* upload N blobs to Walrus in parallel → 1 PTB per wallet slot for
|
|
178
|
+
* set-metadata + transfer. This collapses `N × (2 + 1)` Sui transactions
|
|
179
|
+
* into roughly `2N + K` where K ≤ wallet pool size.
|
|
180
|
+
*
|
|
181
|
+
* Returns `202 Accepted` immediately with `job_ids[]`.
|
|
182
|
+
*
|
|
183
|
+
* @param items - Array of `{ text, namespace? }` items (max 20 per call)
|
|
99
184
|
*
|
|
100
185
|
* @example
|
|
101
186
|
* ```typescript
|
|
102
|
-
* const
|
|
103
|
-
*
|
|
187
|
+
* const accepted = await memwal.rememberBulk([
|
|
188
|
+
* { text: "I love coffee" },
|
|
189
|
+
* { text: "I live in Tokyo", namespace: "profile" },
|
|
190
|
+
* ])
|
|
191
|
+
* console.log(accepted.job_ids)
|
|
104
192
|
* ```
|
|
105
193
|
*/
|
|
106
|
-
async
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
194
|
+
async rememberBulkAsync(items) {
|
|
195
|
+
if (!Array.isArray(items) || items.length === 0) {
|
|
196
|
+
throw new Error("rememberBulkAsync: items must be a non-empty array");
|
|
197
|
+
}
|
|
198
|
+
const normalised = items.map((item) => ({
|
|
199
|
+
text: item.text,
|
|
200
|
+
namespace: item.namespace ?? this.namespace,
|
|
201
|
+
}));
|
|
202
|
+
const accepted = await this.signedRequest("POST", "/api/remember/bulk", { items: normalised }, [200, 202]);
|
|
203
|
+
if (!accepted.job_ids || accepted.job_ids.length !== normalised.length) {
|
|
204
|
+
throw new Error(`rememberBulkAsync: server returned ${accepted.job_ids?.length ?? 0} job_ids for ${normalised.length} items`);
|
|
205
|
+
}
|
|
206
|
+
return accepted;
|
|
207
|
+
}
|
|
208
|
+
async getRememberBulkStatus(jobIds) {
|
|
209
|
+
return this.signedRequest("POST", "/api/remember/bulk/status", { job_ids: jobIds });
|
|
210
|
+
}
|
|
211
|
+
async waitForRememberJobs(jobIds, namespaces = [], opts = {}) {
|
|
212
|
+
const { pollIntervalMs = 1500, timeoutMs = 120_000 } = opts;
|
|
213
|
+
const deadline = Date.now() + timeoutMs;
|
|
214
|
+
const results = jobIds.map((jobId, idx) => ({
|
|
215
|
+
id: jobId,
|
|
216
|
+
blob_id: "",
|
|
217
|
+
status: "timeout",
|
|
218
|
+
namespace: namespaces[idx] ?? this.namespace,
|
|
219
|
+
error: `polling timed out after ${timeoutMs}ms`,
|
|
220
|
+
}));
|
|
221
|
+
const pending = new Set(jobIds);
|
|
222
|
+
let attempt = 0;
|
|
223
|
+
while (pending.size > 0 && Date.now() < deadline) {
|
|
224
|
+
await sleep(pollingDelayMs(pollIntervalMs, attempt++));
|
|
225
|
+
const pendingIds = jobIds.filter((jobId) => pending.has(jobId));
|
|
226
|
+
if (pendingIds.length === 0) {
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
let batchStatus;
|
|
230
|
+
try {
|
|
231
|
+
batchStatus = await this.getRememberBulkStatus(pendingIds);
|
|
232
|
+
}
|
|
233
|
+
catch (err) {
|
|
234
|
+
const httpStatus = err.status ?? 0;
|
|
235
|
+
if (isTransientPollingStatus(httpStatus)) {
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
throw err;
|
|
239
|
+
}
|
|
240
|
+
const statusById = new Map();
|
|
241
|
+
for (const item of batchStatus.results) {
|
|
242
|
+
const bucket = statusById.get(item.job_id);
|
|
243
|
+
if (bucket) {
|
|
244
|
+
bucket.push(item);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
statusById.set(item.job_id, [item]);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
for (const jobId of pendingIds) {
|
|
251
|
+
const status = statusById.get(jobId)?.shift();
|
|
252
|
+
if (!status) {
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
const idx = jobIds.indexOf(jobId);
|
|
256
|
+
if (status.status === "done") {
|
|
257
|
+
results[idx] = {
|
|
258
|
+
id: jobId,
|
|
259
|
+
blob_id: status.blob_id ?? "",
|
|
260
|
+
status: "done",
|
|
261
|
+
namespace: namespaces[idx] ?? this.namespace,
|
|
262
|
+
};
|
|
263
|
+
pending.delete(jobId);
|
|
264
|
+
}
|
|
265
|
+
else if (status.status === "failed" || status.status === "not_found") {
|
|
266
|
+
results[idx] = {
|
|
267
|
+
id: jobId,
|
|
268
|
+
blob_id: "",
|
|
269
|
+
status: "failed",
|
|
270
|
+
namespace: namespaces[idx] ?? this.namespace,
|
|
271
|
+
error: status.status === "not_found"
|
|
272
|
+
? "job not found"
|
|
273
|
+
: status.error ?? "unknown error",
|
|
274
|
+
};
|
|
275
|
+
pending.delete(jobId);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
const succeeded = results.filter((r) => r.status === "done").length;
|
|
280
|
+
return {
|
|
281
|
+
results,
|
|
282
|
+
total: results.length,
|
|
283
|
+
succeeded,
|
|
284
|
+
failed: results.length - succeeded,
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Remember multiple memories and return as soon as the server accepts the jobs.
|
|
289
|
+
*/
|
|
290
|
+
async rememberBulk(items) {
|
|
291
|
+
return this.rememberBulkAsync(items);
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Remember multiple memories and wait until every job reaches a terminal state.
|
|
295
|
+
*/
|
|
296
|
+
async rememberBulkAndWait(items, opts = {}) {
|
|
297
|
+
const namespaces = items.map((item) => item.namespace ?? this.namespace);
|
|
298
|
+
const accepted = await this.rememberBulkAsync(items);
|
|
299
|
+
return this.waitForRememberJobs(accepted.job_ids, namespaces, opts);
|
|
111
300
|
}
|
|
112
301
|
/**
|
|
113
302
|
* Recall memories similar to a query — server handles:
|
|
@@ -217,23 +406,38 @@ export class MemWal {
|
|
|
217
406
|
return this.signedRequest("POST", "/api/embed", { text });
|
|
218
407
|
}
|
|
219
408
|
/**
|
|
220
|
-
* Analyze conversation text
|
|
221
|
-
*
|
|
409
|
+
* Analyze conversation text and return as soon as extracted facts are accepted.
|
|
410
|
+
*
|
|
411
|
+
* The relayer extracts facts synchronously, returns one job_id per fact, then
|
|
412
|
+
* embeds, encrypts, uploads, and indexes each fact in the background.
|
|
222
413
|
*
|
|
223
414
|
* @param text - Conversation text to analyze
|
|
224
|
-
* @returns AnalyzeResult with extracted and
|
|
415
|
+
* @returns AnalyzeResult with extracted facts and accepted job_ids
|
|
225
416
|
*
|
|
226
417
|
* @example
|
|
227
418
|
* ```typescript
|
|
228
419
|
* const result = await memwal.analyze("I love coffee and live in Tokyo")
|
|
229
|
-
* console.log(result.
|
|
420
|
+
* console.log(result.job_ids)
|
|
230
421
|
* ```
|
|
231
422
|
*/
|
|
232
423
|
async analyze(text, namespace) {
|
|
233
424
|
return this.signedRequest("POST", "/api/analyze", {
|
|
234
425
|
text,
|
|
235
426
|
namespace: namespace ?? this.namespace,
|
|
236
|
-
});
|
|
427
|
+
}, [200, 202]);
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Analyze conversation text and wait until every extracted fact is stored.
|
|
431
|
+
*/
|
|
432
|
+
async analyzeAndWait(text, namespace, opts = {}) {
|
|
433
|
+
const accepted = await this.analyze(text, namespace);
|
|
434
|
+
const namespaces = accepted.job_ids.map(() => namespace ?? this.namespace);
|
|
435
|
+
const completed = await this.waitForRememberJobs(accepted.job_ids, namespaces, opts);
|
|
436
|
+
return {
|
|
437
|
+
...completed,
|
|
438
|
+
facts: accepted.facts,
|
|
439
|
+
owner: accepted.owner,
|
|
440
|
+
};
|
|
237
441
|
}
|
|
238
442
|
/**
|
|
239
443
|
* Restore a namespace — server downloads all blobs from Walrus,
|
|
@@ -451,10 +655,26 @@ export class MemWal {
|
|
|
451
655
|
* (5-min TTL, scoped to the server's `packageId`) so a wire capture has
|
|
452
656
|
* a bounded blast radius. Requires `@mysten/seal` and `@mysten/sui`.
|
|
453
657
|
*/
|
|
454
|
-
|
|
658
|
+
/**
|
|
659
|
+
* Make a signed request to the server.
|
|
660
|
+
*
|
|
661
|
+
* @param acceptedStatuses - HTTP status codes to treat as success (default [200]).
|
|
662
|
+
* Pass [200, 202] for endpoints that return 202 Accepted.
|
|
663
|
+
*/
|
|
664
|
+
async signedRequest(method, path, body, acceptedStatusesOrOptions = [200], requestOptions = {}) {
|
|
665
|
+
const acceptedStatuses = Array.isArray(acceptedStatusesOrOptions)
|
|
666
|
+
? acceptedStatusesOrOptions
|
|
667
|
+
: [200];
|
|
668
|
+
const options = Array.isArray(acceptedStatusesOrOptions)
|
|
669
|
+
? requestOptions
|
|
670
|
+
: acceptedStatusesOrOptions;
|
|
455
671
|
const ed = await getEd();
|
|
456
672
|
const timestamp = Math.floor(Date.now() / 1000).toString();
|
|
457
|
-
|
|
673
|
+
// Canonical body used for both: (a) the HTTP wire body and
|
|
674
|
+
// (b) the SHA-256 digest inside the signed message. GET requests
|
|
675
|
+
// carry no body, so the server will hash an EMPTY byte string —
|
|
676
|
+
// we must sign the same empty string for the signature to verify.
|
|
677
|
+
const bodyStr = method === "GET" ? "" : JSON.stringify(body);
|
|
458
678
|
const bodySha256 = await sha256hex(bodyStr);
|
|
459
679
|
// MED-1 fix: Generate per-request nonce (UUID v4) for replay protection
|
|
460
680
|
const nonce = crypto.randomUUID();
|
|
@@ -484,10 +704,10 @@ export class MemWal {
|
|
|
484
704
|
const res = await fetch(url, {
|
|
485
705
|
method,
|
|
486
706
|
headers,
|
|
487
|
-
body: bodyStr,
|
|
707
|
+
body: method === "GET" ? undefined : bodyStr,
|
|
488
708
|
signal: options.signal,
|
|
489
709
|
});
|
|
490
|
-
if (!res.
|
|
710
|
+
if (!acceptedStatuses.includes(res.status)) {
|
|
491
711
|
// LOW-26: sanitize server error bodies before surfacing to callers.
|
|
492
712
|
const raw = await res.text();
|
|
493
713
|
const { message, serverCode } = sanitizeServerError(res.status, raw);
|
package/dist/memwal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memwal.js","sourceRoot":"","sources":["../src/memwal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memwal.js","sourceRoot":"","sources":["../src/memwal.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -14,9 +14,26 @@ export interface MemWalConfig {
|
|
|
14
14
|
/** Default namespace for memory isolation (default: "default") */
|
|
15
15
|
namespace?: string;
|
|
16
16
|
}
|
|
17
|
-
/** Result from remember() */
|
|
17
|
+
/** Result from remember() / rememberAsync() */
|
|
18
|
+
export interface RememberAcceptedResult {
|
|
19
|
+
job_id: string;
|
|
20
|
+
status: string;
|
|
21
|
+
}
|
|
22
|
+
/** Status returned for an async remember job */
|
|
23
|
+
export interface RememberJobStatus {
|
|
24
|
+
job_id: string;
|
|
25
|
+
status: "pending" | "running" | "uploaded" | "done" | "failed" | "not_found";
|
|
26
|
+
owner?: string;
|
|
27
|
+
namespace?: string;
|
|
28
|
+
blob_id?: string;
|
|
29
|
+
error?: string;
|
|
30
|
+
}
|
|
31
|
+
/** Result from rememberAndWait() / waitForRememberJob() */
|
|
18
32
|
export interface RememberResult {
|
|
33
|
+
/** Stable server job_id used as the vector row id. */
|
|
19
34
|
id: string;
|
|
35
|
+
/** Async job id returned by remember(). */
|
|
36
|
+
job_id?: string;
|
|
20
37
|
blob_id: string;
|
|
21
38
|
owner: string;
|
|
22
39
|
namespace: string;
|
|
@@ -32,20 +49,86 @@ export interface RecallResult {
|
|
|
32
49
|
results: RecallMemory[];
|
|
33
50
|
total: number;
|
|
34
51
|
}
|
|
52
|
+
/** Result from rememberBulk() / rememberBulkAsync() */
|
|
53
|
+
export interface RememberBulkAcceptedResult {
|
|
54
|
+
job_ids: string[];
|
|
55
|
+
total: number;
|
|
56
|
+
status: string;
|
|
57
|
+
}
|
|
58
|
+
/** Per-item status returned from the bulk status endpoint */
|
|
59
|
+
export interface RememberBulkStatusItem {
|
|
60
|
+
job_id: string;
|
|
61
|
+
status: "pending" | "running" | "uploaded" | "done" | "failed" | "not_found";
|
|
62
|
+
blob_id?: string;
|
|
63
|
+
error?: string;
|
|
64
|
+
}
|
|
65
|
+
/** Result from getRememberBulkStatus() */
|
|
66
|
+
export interface RememberBulkStatusResult {
|
|
67
|
+
results: RememberBulkStatusItem[];
|
|
68
|
+
}
|
|
69
|
+
/** One item in a bulk remember request */
|
|
70
|
+
export interface RememberBulkItem {
|
|
71
|
+
/** The text to remember */
|
|
72
|
+
text: string;
|
|
73
|
+
/** Optional per-item namespace override (falls back to client default) */
|
|
74
|
+
namespace?: string;
|
|
75
|
+
}
|
|
76
|
+
/** Options for remember bulk polling behaviour */
|
|
77
|
+
export interface RememberBulkOptions {
|
|
78
|
+
/** How often to poll each job_id (default: 1500ms) */
|
|
79
|
+
pollIntervalMs?: number;
|
|
80
|
+
/** Max total wait time before throwing (default: 120_000ms) */
|
|
81
|
+
timeoutMs?: number;
|
|
82
|
+
}
|
|
83
|
+
/** Per-item result returned from rememberBulkAndWait() / waitForRememberJobs() */
|
|
84
|
+
export interface RememberBulkItemResult {
|
|
85
|
+
/** job_id returned by the server */
|
|
86
|
+
id: string;
|
|
87
|
+
/** Walrus blob_id once the job completes ("" if failed) */
|
|
88
|
+
blob_id: string;
|
|
89
|
+
/** Final status reported by the server: "done" | "failed" | "timeout" */
|
|
90
|
+
status: "done" | "failed" | "timeout";
|
|
91
|
+
/** Namespace the memory was stored under */
|
|
92
|
+
namespace: string;
|
|
93
|
+
/** Error message if status !== "done" */
|
|
94
|
+
error?: string;
|
|
95
|
+
}
|
|
96
|
+
/** Result from rememberBulkAndWait() / waitForRememberJobs() */
|
|
97
|
+
export interface RememberBulkResult {
|
|
98
|
+
/** One result per input item, in the same order */
|
|
99
|
+
results: RememberBulkItemResult[];
|
|
100
|
+
/** Total items submitted */
|
|
101
|
+
total: number;
|
|
102
|
+
/** Count of items that reached status=done */
|
|
103
|
+
succeeded: number;
|
|
104
|
+
/** Count of items that failed or timed out */
|
|
105
|
+
failed: number;
|
|
106
|
+
}
|
|
35
107
|
/** Result from embed() */
|
|
36
108
|
export interface EmbedResult {
|
|
37
109
|
vector: number[];
|
|
38
110
|
}
|
|
39
|
-
/** A
|
|
111
|
+
/** A fact extracted by analyze() and accepted for background storage. */
|
|
40
112
|
export interface AnalyzedFact {
|
|
41
113
|
text: string;
|
|
114
|
+
/** Stable job id/vector row id for this extracted fact. */
|
|
42
115
|
id: string;
|
|
43
|
-
|
|
116
|
+
/** Polling id for this extracted fact. */
|
|
117
|
+
job_id?: string;
|
|
118
|
+
/** Walrus blob_id once the background job completes. */
|
|
119
|
+
blob_id?: string;
|
|
44
120
|
}
|
|
45
121
|
/** Result from analyze() */
|
|
46
122
|
export interface AnalyzeResult {
|
|
123
|
+
job_ids: string[];
|
|
124
|
+
facts: AnalyzedFact[];
|
|
125
|
+
fact_count: number;
|
|
126
|
+
status: string;
|
|
127
|
+
owner: string;
|
|
128
|
+
}
|
|
129
|
+
/** Result from analyzeAndWait() */
|
|
130
|
+
export interface AnalyzeWaitResult extends RememberBulkResult {
|
|
47
131
|
facts: AnalyzedFact[];
|
|
48
|
-
total: number;
|
|
49
132
|
owner: string;
|
|
50
133
|
}
|
|
51
134
|
/** Server health response */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,YAAY;IACzB,mGAAmG;IACnG,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IACzB,6GAA6G;IAC7G,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|