@mysten-incubation/memwal 0.0.2 → 0.0.3-dev.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.
- package/README.md +2 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/manual-entry.d.ts +1 -1
- package/dist/manual-entry.d.ts.map +1 -1
- package/dist/manual.d.ts +29 -13
- package/dist/manual.d.ts.map +1 -1
- package/dist/manual.js +105 -37
- package/dist/manual.js.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 +109 -8
- 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/manual-entry.d.ts
CHANGED
|
@@ -8,5 +8,5 @@
|
|
|
8
8
|
* import { MemWalManual } from "@mysten-incubation/memwal/manual";
|
|
9
9
|
*/
|
|
10
10
|
export { MemWalManual } from "./manual.js";
|
|
11
|
-
export type { MemWalManualConfig, WalletSigner, RememberManualOptions, RememberManualResult, RecallManualOptions, RecallManualResult, RecallManualHit, RecallManualMemory, } from "./types.js";
|
|
11
|
+
export type { MemWalManualConfig, SealServerConfig, WalletSigner, RememberManualOptions, RememberManualResult, RecallManualOptions, RecallManualResult, RecallManualHit, RecallManualMemory, } from "./types.js";
|
|
12
12
|
//# sourceMappingURL=manual-entry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual-entry.d.ts","sourceRoot":"","sources":["../src/manual-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,YAAY,EACR,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,GACrB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"manual-entry.d.ts","sourceRoot":"","sources":["../src/manual-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,YAAY,EACR,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,GACrB,MAAM,YAAY,CAAC"}
|
package/dist/manual.d.ts
CHANGED
|
@@ -66,7 +66,7 @@ export declare class MemWalManual {
|
|
|
66
66
|
/** Sign and execute a transaction — via wallet popup or programmatic keypair */
|
|
67
67
|
private signAndExecuteTransaction;
|
|
68
68
|
private getSealClient;
|
|
69
|
-
/** MED-10: SEAL threshold —
|
|
69
|
+
/** MED-10: SEAL threshold — defaults to 2, capped to configured server weight. */
|
|
70
70
|
private get sealThreshold();
|
|
71
71
|
private getWalrusClient;
|
|
72
72
|
/**
|
|
@@ -90,20 +90,36 @@ export declare class MemWalManual {
|
|
|
90
90
|
/**
|
|
91
91
|
* SEAL-encrypt a payload.
|
|
92
92
|
*
|
|
93
|
-
* LOW-24: The `id` passed to SEAL is the on-chain
|
|
94
|
-
* by `seal_approve` to gate decryption.
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
* could obtain keys for namespace "B" ciphertext.
|
|
93
|
+
* LOW-24 (namespace scoping): The `id` passed to SEAL is the on-chain
|
|
94
|
+
* policy identifier used by `seal_approve` to gate decryption. We scope
|
|
95
|
+
* encryption keys by namespace so a delegate authorized to decrypt
|
|
96
|
+
* namespace "A" cannot unwrap ciphertext for namespace "B".
|
|
98
97
|
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
98
|
+
* ENG-1725 fix: The on-chain `seal_approve` does
|
|
99
|
+
* `has_suffix(id, bcs::to_bytes(account.owner))` for the owner-caller
|
|
100
|
+
* branch. The id MUST therefore end with the caller's 32 raw address
|
|
101
|
+
* bytes (in hex form on the SEAL side, raw on the Move side). The
|
|
102
|
+
* previous LOW-24 layout — `hex(accountId) || hex(namespace)` — used
|
|
103
|
+
* the MemWalAccount object id (not the owner address) and put the
|
|
104
|
+
* namespace as the suffix, so `has_suffix` always failed and owners
|
|
105
|
+
* could no longer recall their own manually-remembered data. (Delegate
|
|
106
|
+
* decrypt still worked because the delegate branch skips the suffix
|
|
107
|
+
* check.)
|
|
101
108
|
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
109
|
+
* Layout:
|
|
110
|
+
* id = hex(utf8(namespace)) || hex(callerAddress[2:])
|
|
111
|
+
*
|
|
112
|
+
* - namespace is the prefix → still distinct keys per namespace, so the
|
|
113
|
+
* LOW-24 isolation property is preserved (different ns → different
|
|
114
|
+
* SEAL key).
|
|
115
|
+
* - caller address (32 bytes) is the suffix → `has_suffix` passes for
|
|
116
|
+
* owner mode; delegate mode still passes via the delegate-list check
|
|
117
|
+
* in `seal_approve` regardless of suffix.
|
|
118
|
+
*
|
|
119
|
+
* NOTE: Ciphertext written between the original LOW-24 fix and this fix
|
|
120
|
+
* (id = accountHex + nsHex) is unrecoverable by the owner caller. There
|
|
121
|
+
* is no production data in that window per the team; if recovery is
|
|
122
|
+
* needed, decrypt via a delegate key (delegate branch ignores suffix).
|
|
107
123
|
*/
|
|
108
124
|
private sealEncrypt;
|
|
109
125
|
private walrusUpload;
|
package/dist/manual.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../src/manual.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EACR,kBAAkB,EAElB,oBAAoB,EACpB,kBAAkB,EAElB,aAAa,
|
|
1
|
+
{"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../src/manual.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EACR,kBAAkB,EAElB,oBAAoB,EACpB,kBAAkB,EAElB,aAAa,EAEhB,MAAM,YAAY,CAAC;AAsFpB,qBAAa,YAAY;IACrB,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAa;IAE7B,OAAO;IAgBP;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAIvD;;;OAGG;IACH,OAAO,IAAI,IAAI;IASf,0EAA0E;IAC1E,IAAI,YAAY,IAAI,OAAO,CAE1B;YASa,YAAY;YA8BZ,UAAU;IAaxB,yEAAyE;YAC3D,eAAe;IAQ7B,gFAAgF;YAClE,yBAAyB;YAYzB,aAAa;IAsB3B,kFAAkF;IAClF,OAAO,KAAK,aAAa,GAOxB;YAEa,eAAe;IAyB7B;;;;;OAKG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuBrF;;;;;;OAMG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6HtG,8DAA8D;YAChD,YAAY;YAuBZ,KAAK;IAsCnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;YACW,WAAW;YA4BX,YAAY;YAiCZ,cAAc;YAoBd,oBAAoB;IAQlC;;;;;;;OAOG;YACW,aAAa;IA0D3B;;;;;;OAMG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CAM/E"}
|
package/dist/manual.js
CHANGED
|
@@ -27,21 +27,68 @@
|
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
29
|
import { sha256hex, hexToBytes, bytesToHex, normalizeServerUrl, sanitizeServerError } from "./utils.js";
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
|
|
35
|
-
const DEFAULT_KEY_SERVERS = {
|
|
30
|
+
// Default SEAL server configs per network.
|
|
31
|
+
// Keep testnet on the legacy independent servers so Manual mode can decrypt
|
|
32
|
+
// data written by the hosted testnet relayer. Committee aggregators remain
|
|
33
|
+
// supported through explicit sealServerConfigs.
|
|
34
|
+
const DEFAULT_SEAL_SERVER_CONFIGS = {
|
|
36
35
|
mainnet: [
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
{
|
|
37
|
+
objectId: "0x145540d931f182fef76467dd8074c9839aea126852d90d18e1556fcbbd1208b6", // Overclock (Open)
|
|
38
|
+
weight: 1,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
objectId: "0xe0eb52eba9261b96e895bbb4deca10dcd64fbc626a1133017adcd5131353fd10", // Studio Mirai (Open)
|
|
42
|
+
weight: 1,
|
|
43
|
+
},
|
|
39
44
|
],
|
|
40
45
|
testnet: [
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
{
|
|
47
|
+
objectId: "0x73d05d62c18d9374e3ea529e8e0ed6161da1a141a94d3f76ae3fe4e99356db75",
|
|
48
|
+
weight: 1,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
objectId: "0xf5d14a81a982144ae441cd7d64b09027f116a468bd36e7eca494f750591623c8",
|
|
52
|
+
weight: 1,
|
|
53
|
+
},
|
|
43
54
|
],
|
|
44
55
|
};
|
|
56
|
+
function normalizeSealServerConfigs(configs) {
|
|
57
|
+
return configs.map((config, index) => {
|
|
58
|
+
const objectId = config.objectId?.trim();
|
|
59
|
+
if (!objectId) {
|
|
60
|
+
throw new Error(`MemWalManual: sealServerConfigs[${index}].objectId is required`);
|
|
61
|
+
}
|
|
62
|
+
const weight = config.weight ?? 1;
|
|
63
|
+
if (!Number.isInteger(weight) || weight < 1) {
|
|
64
|
+
throw new Error(`MemWalManual: sealServerConfigs[${index}].weight must be a positive integer`);
|
|
65
|
+
}
|
|
66
|
+
const aggregatorUrl = config.aggregatorUrl?.trim();
|
|
67
|
+
const apiKeyName = config.apiKeyName?.trim();
|
|
68
|
+
const apiKey = config.apiKey?.trim();
|
|
69
|
+
if ((apiKeyName && !apiKey) || (!apiKeyName && apiKey)) {
|
|
70
|
+
throw new Error(`MemWalManual: sealServerConfigs[${index}] must provide both apiKeyName and apiKey, or neither`);
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
objectId,
|
|
74
|
+
weight,
|
|
75
|
+
...(aggregatorUrl ? { aggregatorUrl } : {}),
|
|
76
|
+
...(apiKeyName && apiKey ? { apiKeyName, apiKey } : {}),
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function resolveSealServerConfigs(config, network) {
|
|
81
|
+
if (config.sealServerConfigs !== undefined) {
|
|
82
|
+
return normalizeSealServerConfigs(config.sealServerConfigs);
|
|
83
|
+
}
|
|
84
|
+
if (config.sealKeyServers !== undefined) {
|
|
85
|
+
return normalizeSealServerConfigs(config.sealKeyServers.map((objectId) => ({ objectId })));
|
|
86
|
+
}
|
|
87
|
+
return normalizeSealServerConfigs(DEFAULT_SEAL_SERVER_CONFIGS[network] ?? []);
|
|
88
|
+
}
|
|
89
|
+
function sealServerConfigTotalWeight(configs) {
|
|
90
|
+
return configs.reduce((sum, config) => sum + config.weight, 0);
|
|
91
|
+
}
|
|
45
92
|
// ============================================================
|
|
46
93
|
// MemWalManual Client
|
|
47
94
|
// ============================================================
|
|
@@ -175,25 +222,27 @@ export class MemWalManual {
|
|
|
175
222
|
const { SealClient } = await import("@mysten/seal");
|
|
176
223
|
const suiClient = await this.getSuiClient();
|
|
177
224
|
const network = this.config.suiNetwork ?? "mainnet";
|
|
178
|
-
const
|
|
179
|
-
if (
|
|
225
|
+
const serverConfigs = resolveSealServerConfigs(this.config, network);
|
|
226
|
+
if (serverConfigs.length === 0) {
|
|
180
227
|
throw new Error(`MemWalManual: no SEAL key servers configured for network "${network}". ` +
|
|
181
|
-
"Please provide sealKeyServers in config
|
|
228
|
+
"Please provide sealServerConfigs or sealKeyServers in config.");
|
|
182
229
|
}
|
|
183
230
|
this._sealClient = new SealClient({
|
|
184
231
|
suiClient,
|
|
185
|
-
serverConfigs
|
|
186
|
-
objectId: id,
|
|
187
|
-
weight: 1,
|
|
188
|
-
})),
|
|
232
|
+
serverConfigs,
|
|
189
233
|
verifyKeyServers: true,
|
|
190
234
|
});
|
|
191
235
|
}
|
|
192
236
|
return this._sealClient;
|
|
193
237
|
}
|
|
194
|
-
/** MED-10: SEAL threshold —
|
|
238
|
+
/** MED-10: SEAL threshold — defaults to 2, capped to configured server weight. */
|
|
195
239
|
get sealThreshold() {
|
|
196
|
-
|
|
240
|
+
if (this.config.sealThreshold !== undefined) {
|
|
241
|
+
return this.config.sealThreshold;
|
|
242
|
+
}
|
|
243
|
+
const network = this.config.suiNetwork ?? "mainnet";
|
|
244
|
+
const totalWeight = sealServerConfigTotalWeight(resolveSealServerConfigs(this.config, network));
|
|
245
|
+
return totalWeight > 0 ? Math.min(2, totalWeight) : 2;
|
|
197
246
|
}
|
|
198
247
|
async getWalrusClient() {
|
|
199
248
|
if (!this._walrusClient) {
|
|
@@ -411,30 +460,49 @@ export class MemWalManual {
|
|
|
411
460
|
/**
|
|
412
461
|
* SEAL-encrypt a payload.
|
|
413
462
|
*
|
|
414
|
-
* LOW-24: The `id` passed to SEAL is the on-chain
|
|
415
|
-
* by `seal_approve` to gate decryption.
|
|
416
|
-
*
|
|
417
|
-
*
|
|
418
|
-
* could obtain keys for namespace "B" ciphertext.
|
|
463
|
+
* LOW-24 (namespace scoping): The `id` passed to SEAL is the on-chain
|
|
464
|
+
* policy identifier used by `seal_approve` to gate decryption. We scope
|
|
465
|
+
* encryption keys by namespace so a delegate authorized to decrypt
|
|
466
|
+
* namespace "A" cannot unwrap ciphertext for namespace "B".
|
|
419
467
|
*
|
|
420
|
-
*
|
|
421
|
-
*
|
|
468
|
+
* ENG-1725 fix: The on-chain `seal_approve` does
|
|
469
|
+
* `has_suffix(id, bcs::to_bytes(account.owner))` for the owner-caller
|
|
470
|
+
* branch. The id MUST therefore end with the caller's 32 raw address
|
|
471
|
+
* bytes (in hex form on the SEAL side, raw on the Move side). The
|
|
472
|
+
* previous LOW-24 layout — `hex(accountId) || hex(namespace)` — used
|
|
473
|
+
* the MemWalAccount object id (not the owner address) and put the
|
|
474
|
+
* namespace as the suffix, so `has_suffix` always failed and owners
|
|
475
|
+
* could no longer recall their own manually-remembered data. (Delegate
|
|
476
|
+
* decrypt still worked because the delegate branch skips the suffix
|
|
477
|
+
* check.)
|
|
422
478
|
*
|
|
423
|
-
*
|
|
424
|
-
*
|
|
425
|
-
*
|
|
426
|
-
*
|
|
427
|
-
*
|
|
479
|
+
* Layout:
|
|
480
|
+
* id = hex(utf8(namespace)) || hex(callerAddress[2:])
|
|
481
|
+
*
|
|
482
|
+
* - namespace is the prefix → still distinct keys per namespace, so the
|
|
483
|
+
* LOW-24 isolation property is preserved (different ns → different
|
|
484
|
+
* SEAL key).
|
|
485
|
+
* - caller address (32 bytes) is the suffix → `has_suffix` passes for
|
|
486
|
+
* owner mode; delegate mode still passes via the delegate-list check
|
|
487
|
+
* in `seal_approve` regardless of suffix.
|
|
488
|
+
*
|
|
489
|
+
* NOTE: Ciphertext written between the original LOW-24 fix and this fix
|
|
490
|
+
* (id = accountHex + nsHex) is unrecoverable by the owner caller. There
|
|
491
|
+
* is no production data in that window per the team; if recovery is
|
|
492
|
+
* needed, decrypt via a delegate key (delegate branch ignores suffix).
|
|
428
493
|
*/
|
|
429
494
|
async sealEncrypt(plaintext, namespace) {
|
|
430
495
|
const sealClient = await this.getSealClient();
|
|
431
|
-
// Build a namespace-scoped SEAL id
|
|
432
|
-
//
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
496
|
+
// Build a namespace-scoped SEAL id whose final 32 bytes are the
|
|
497
|
+
// caller's address bytes, so the on-chain `seal_approve` owner-branch
|
|
498
|
+
// `has_suffix(id, bcs::to_bytes(owner))` check passes. Hex-encoded
|
|
499
|
+
// throughout so the id is a stable ASCII hex string.
|
|
500
|
+
const callerAddress = await this.getOwnerAddress();
|
|
501
|
+
const callerHex = callerAddress.startsWith("0x")
|
|
502
|
+
? callerAddress.slice(2)
|
|
503
|
+
: callerAddress;
|
|
436
504
|
const nsHex = bytesToHex(new TextEncoder().encode(namespace));
|
|
437
|
-
const scopedId = `${
|
|
505
|
+
const scopedId = `${nsHex}${callerHex}`;
|
|
438
506
|
const result = await sealClient.encrypt({
|
|
439
507
|
threshold: this.sealThreshold,
|
|
440
508
|
packageId: this.config.packageId,
|
package/dist/manual.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manual.js","sourceRoot":"","sources":["../src/manual.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manual.js","sourceRoot":"","sources":["../src/manual.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAWH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAQxG,2CAA2C;AAC3C,4EAA4E;AAC5E,2EAA2E;AAC3E,gDAAgD;AAChD,MAAM,2BAA2B,GAA+C;IAC5E,OAAO,EAAE;QACL;YACI,QAAQ,EAAE,oEAAoE,EAAE,mBAAmB;YACnG,MAAM,EAAE,CAAC;SACZ;QACD;YACI,QAAQ,EAAE,oEAAoE,EAAE,sBAAsB;YACtG,MAAM,EAAE,CAAC;SACZ;KACJ;IACD,OAAO,EAAE;QACL;YACI,QAAQ,EAAE,oEAAoE;YAC9E,MAAM,EAAE,CAAC;SACZ;QACD;YACI,QAAQ,EAAE,oEAAoE;YAC9E,MAAM,EAAE,CAAC;SACZ;KACJ;CACJ,CAAC;AAEF,SAAS,0BAA0B,CAAC,OAA2B;IAC3D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,wBAAwB,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,qCAAqC,CAAC,CAAC;QACnG,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACX,mCAAmC,KAAK,uDAAuD,CAClG,CAAC;QACN,CAAC;QAED,OAAO;YACH,QAAQ;YACR,MAAM;YACN,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA0B,EAAE,OAAe;IACzE,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,0BAA0B,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,0BAA0B,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAmC;IACpE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,+DAA+D;AAC/D,sBAAsB;AACtB,+DAA+D;AAE/D,MAAM,OAAO,YAAY;IACb,kBAAkB,CAAa;IAC/B,iBAAiB,GAAsB,IAAI,CAAC;IAC5C,SAAS,CAAS;IAClB,MAAM,CAAqB;IAC3B,YAAY,CAAsB;IAClC,SAAS,CAAS;IAE1B,mFAAmF;IAC3E,UAAU,GAAQ,IAAI,CAAC;IACvB,WAAW,GAAQ,IAAI,CAAC;IACxB,aAAa,GAAQ,IAAI,CAAC;IAC1B,QAAQ,GAAQ,IAAI,CAAC;IAE7B,YAAoB,MAA0B;QAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAC/F,kEAAkE;QAClE,+BAA+B;QAC/B,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,IAAI,4BAA4B,CAAC,CAAC;QACtF,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,MAAM,CAAC,MAA0B;QACpC,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,OAAO;QACH,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IACtC,CAAC;IAED,+DAA+D;IAC/D,6BAA6B;IAC7B,oEAAoE;IACpE,gEAAgE;IAChE,uCAAuC;IACvC,+DAA+D;IAEvD,KAAK,CAAC,YAAY;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,0EAA0E;YAC1E,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,6CAA6C;gBAC7C,wCAAwC;gBACxC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAC/C,MAAM,SAAS,GAAI,GAAW,CAAC,SAAS,CAAC;gBACzC,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CACX,6CAA6C;wBAC7C,oDAAoD;wBACpD,uCAAuC,CAC1C,CAAC;gBACN,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;gBACpD,MAAM,IAAI,GAA2B;oBACjC,OAAO,EAAE,qCAAqC;oBAC9C,OAAO,EAAE,qCAAqC;iBACjD,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,CAAC;oBAC5B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO;iBACrC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,UAAU;QACpB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACzE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;YACxE,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAc,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,yEAAyE;IACjE,KAAK,CAAC,eAAe;QACzB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,CAAC;IACjD,CAAC;IAED,gFAAgF;IACxE,KAAK,CAAC,yBAAyB,CAAC,WAAgB;QACpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC,yBAAyB,CAAC;YACvC,MAAM,EAAE,OAAO;YACf,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,wCAAwC;YACxC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;YACpD,MAAM,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACX,6DAA6D,OAAO,KAAK;oBACzE,+DAA+D,CAClE,CAAC;YACN,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC;gBAC9B,SAAS;gBACT,aAAa;gBACb,gBAAgB,EAAE,IAAI;aACzB,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,kFAAkF;IAClF,IAAY,aAAa;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;QACpD,MAAM,WAAW,GAAG,2BAA2B,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAChG,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,eAAe;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,wCAAwC;YACxC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;YACpD,MAAM,eAAe,GAAG,OAAO,KAAK,SAAS;gBACzC,CAAC,CAAC,2CAA2C;gBAC7C,CAAC,CAAC,2CAA2C,CAAC;YAClD,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC;gBAClC,OAAO,EAAE,OAAc;gBACvB,SAAS;gBACT,WAAW,EAAE;oBACT,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;iBAC/B;aACJ,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,+DAA+D;IAC/D,kBAAkB;IAClB,+DAA+D;IAE/D;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,SAAkB;QACjD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAEnD,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QAEvC,gDAAgD;QAChD,kEAAkE;QAClE,qEAAqE;QACrE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;SACvD,CAAC,CAAC;QAEH,4DAA4D;QAC5D,wEAAwE;QACxE,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,aAAa,CAAuB,MAAM,EAAE,sBAAsB,EAAE;YAC5E,cAAc,EAAE,eAAe;YAC/B,MAAM;YACN,SAAS,EAAE,EAAE;SAChB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE,SAAkB;QACpE,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAErD,MAAM,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QAEvC,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEvC,wBAAwB;QACxB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CACzC,MAAM,EACN,oBAAoB,EACpB,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CACnC,CAAC;QAEF,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrC,CAAC;QAED,gEAAgE;QAChE,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACzD,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpD,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;YAClE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,6CAA6C,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChF,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAC7D,CAAC,CAAC,EAAgE,EAAE,CAAC,CAAC,KAAK,IAAI,CAClF,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrC,CAAC;QAED,gFAAgF;QAChF,IAAI,UAAe,CAAC;QACpB,IAAI,SAAc,CAAC;QACnB,IAAI,UAAe,CAAC;QACpB,IAAI,eAAoB,CAAC;QACzB,IAAI,WAAgB,CAAC;QACrB,IAAI,UAAe,CAAC;QACpB,IAAI,CAAC;YACD,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,wCAAwC;YACxC,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;YACjE,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAC;YAC5E,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAEnD,4CAA4C;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAEtD,sDAAsD;QACtD,sEAAsE;QACtE,4CAA4C;QAC5C,IAAI,CAAC;YACD,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;gBACjC,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,MAAM,EAAE,CAAC;gBACT,MAAM;gBACN,SAAS;aACZ,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACrC,CAAC;QAED,8DAA8D;QAC9D,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;gBAEzB,yBAAyB;gBACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CACtB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAChF,CAAC;gBACF,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC7B,EAAE,CAAC,QAAQ,CAAC;oBACR,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,yBAAyB;oBACzD,SAAS,EAAE;wBACP,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;wBAC9B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;qBACnC;iBACJ,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEjF,iDAAiD;gBACjD,MAAM,UAAU,CAAC,SAAS,CAAC;oBACvB,GAAG,EAAE,CAAC,MAAM,CAAC;oBACb,OAAO;oBACP,UAAU;oBACV,SAAS,EAAE,IAAI,CAAC,aAAa;iBAChC,CAAC,CAAC;gBAEH,kBAAkB;gBAClB,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;oBACvC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,UAAU;oBACV,OAAO;iBACV,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,0CAA0C,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;YAClF,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC9C,CAAC;IAED,+DAA+D;IAC/D,2BAA2B;IAC3B,+DAA+D;IAE/D,8DAA8D;IACtD,KAAK,CAAC,YAAY,CAAC,aAAqB;QAC5C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7B,OAAO;gBACH,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa;gBACjC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;gBAC3D,IAAI,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE;oBAC7B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC3C,CAAC;gBACD,mBAAmB,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE;oBAC5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC3C,CAAC;aACJ,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,+DAA+D;IAC/D,sBAAsB;IACtB,+DAA+D;IAEvD,KAAK,CAAC,KAAK,CAAC,IAAY;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACX,6CAA6C;gBAC7C,sDAAsD,CACzD,CAAC;QACN,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,2BAA2B,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjG,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC/F,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,YAAY,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,aAAa,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;aAC3D;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SAC/C,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAyC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClC,CAAC;IAED,+DAA+D;IAC/D,yBAAyB;IACzB,+DAA+D;IAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACK,KAAK,CAAC,WAAW,CAAC,SAAqB,EAAE,SAAiB;QAC9D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE9C,gEAAgE;QAChE,sEAAsE;QACtE,mEAAmE;QACnE,qDAAqD;QACrD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,CAAC,CAAC,aAAa,CAAC;QACpB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC;QAExC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,aAAa;YAC7B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,SAAS;SAClB,CAAC,CAAC;QAEH,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC;IAED,+DAA+D;IAC/D,mCAAmC;IACnC,+DAA+D;IAEvD,KAAK,CAAC,YAAY,CAAC,IAAgB;QACvC,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;QACpD,MAAM,gBAAgB,GAAG,OAAO,KAAK,SAAS;YAC1C,CAAC,CAAC,+CAA+C;YACjD,CAAC,CAAC,+CAA+C,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,gBAAgB,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;QAE9C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,YAAY,oBAAoB,MAAM,iBAAiB,EAAE;YACjF,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE;YACvD,IAAI,EAAE,IAA2B;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAS,CAAC;QACxC,+DAA+D;QAC/D,sCAAsC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM;eAC/C,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAEvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAc;QACvC,6EAA6E;QAC7E,yDAAyD;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC;QACpD,MAAM,iBAAiB,GAAG,OAAO,KAAK,SAAS;YAC3C,CAAC,CAAC,gDAAgD;YAClD,CAAC,CAAC,gDAAgD,CAAC;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,iBAAiB,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,aAAa,aAAa,MAAM,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,MAAM,MAAM,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,+DAA+D;IAC/D,gEAAgE;IAChE,+DAA+D;IAEvD,KAAK,CAAC,oBAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC1C,IAAI,CAAC,iBAAiB,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,aAAa,CACvB,MAAc,EACd,IAAY,EACZ,IAAY;QAEZ,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAE1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,kDAAkD;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAElC,qEAAqE;QACrE,sEAAsE;QACtE,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,MAAM,IAAI,IAAI,IAAI,UAAU,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACjG,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEpD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACzB,MAAM;YACN,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC;gBACrC,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC;gBACpC,aAAa,EAAE,SAAS;gBACxB,SAAS,EAAE,KAAK;gBAChB,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;aACxC;YACD,IAAI,EAAE,OAAO;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,2DAA2D;YAC3D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAChF,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,CAI9B,CAAC;YACF,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACxB,IAAI,UAAU;gBAAE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;YAC5C,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;YAChB,MAAM,GAAG,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;IACpC,CAAC;IAED,+DAA+D;IAC/D,UAAU;IACV,+DAA+D;IAE/D;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,QAAgB,EAAE;QAC/C,OAAO,IAAI,CAAC,aAAa,CAAgB,MAAM,EAAE,cAAc,EAAE;YAC7D,SAAS;YACT,KAAK;SACR,CAAC,CAAC;IACP,CAAC;CACJ"}
|
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 */
|
|
@@ -91,6 +174,19 @@ export interface RestoreResult {
|
|
|
91
174
|
namespace: string;
|
|
92
175
|
owner: string;
|
|
93
176
|
}
|
|
177
|
+
/** Full @mysten/seal server config. Committee servers require aggregatorUrl. */
|
|
178
|
+
export interface SealServerConfig {
|
|
179
|
+
/** On-chain SEAL key server or committee object ID */
|
|
180
|
+
objectId: string;
|
|
181
|
+
/** Server weight for threshold encryption. Defaults to 1. */
|
|
182
|
+
weight?: number;
|
|
183
|
+
/** Committee aggregator URL. Required for committee mode servers. */
|
|
184
|
+
aggregatorUrl?: string;
|
|
185
|
+
/** Optional API key header name for permissioned key servers */
|
|
186
|
+
apiKeyName?: string;
|
|
187
|
+
/** Optional API key value for permissioned key servers */
|
|
188
|
+
apiKey?: string;
|
|
189
|
+
}
|
|
94
190
|
/** Config for MemWalManual (full client-side: SEAL + Walrus + embedding) */
|
|
95
191
|
export interface MemWalManualConfig {
|
|
96
192
|
/** Ed25519 delegate private key (hex or Uint8Array) for server auth */
|
|
@@ -127,15 +223,20 @@ export interface MemWalManualConfig {
|
|
|
127
223
|
/** Sui network (default: mainnet) */
|
|
128
224
|
suiNetwork?: "testnet" | "mainnet";
|
|
129
225
|
/**
|
|
130
|
-
*
|
|
226
|
+
* Full SEAL server configs, including committee aggregators.
|
|
227
|
+
* Takes priority over legacy sealKeyServers when provided.
|
|
228
|
+
*/
|
|
229
|
+
sealServerConfigs?: SealServerConfig[];
|
|
230
|
+
/**
|
|
231
|
+
* Legacy custom SEAL independent key server object IDs.
|
|
131
232
|
* Array of on-chain object IDs, e.g. ["0x..."].
|
|
132
|
-
* If omitted, uses built-in defaults for the selected suiNetwork.
|
|
233
|
+
* If omitted, uses sealServerConfigs or built-in defaults for the selected suiNetwork.
|
|
133
234
|
*/
|
|
134
235
|
sealKeyServers?: string[];
|
|
135
236
|
/**
|
|
136
237
|
* SEAL threshold — number of key server shares required for encrypt/decrypt.
|
|
137
|
-
* Must be ≤
|
|
138
|
-
* Default: 2
|
|
238
|
+
* Must be ≤ the total configured SEAL server weight.
|
|
239
|
+
* Default: 2, capped to the total configured SEAL server weight.
|
|
139
240
|
*/
|
|
140
241
|
sealThreshold?: number;
|
|
141
242
|
/** Walrus storage epochs (default: 50) */
|
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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"}
|