@cmdoss/memwal-sdk 0.6.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARCHITECTURE.md +547 -547
- package/BENCHMARKS.md +238 -238
- package/README.md +310 -181
- package/dist/ai-sdk/tools.d.ts +2 -2
- package/dist/ai-sdk/tools.js +2 -2
- package/dist/client/ClientMemoryManager.js +2 -2
- package/dist/client/ClientMemoryManager.js.map +1 -1
- package/dist/client/PersonalDataWallet.d.ts.map +1 -1
- package/dist/client/SimplePDWClient.d.ts +29 -1
- package/dist/client/SimplePDWClient.d.ts.map +1 -1
- package/dist/client/SimplePDWClient.js +45 -13
- package/dist/client/SimplePDWClient.js.map +1 -1
- package/dist/client/namespaces/EmbeddingsNamespace.d.ts +1 -1
- package/dist/client/namespaces/EmbeddingsNamespace.js +1 -1
- package/dist/client/namespaces/MemoryNamespace.d.ts +31 -0
- package/dist/client/namespaces/MemoryNamespace.d.ts.map +1 -1
- package/dist/client/namespaces/MemoryNamespace.js +272 -39
- package/dist/client/namespaces/MemoryNamespace.js.map +1 -1
- package/dist/client/namespaces/consolidated/AINamespace.d.ts +2 -2
- package/dist/client/namespaces/consolidated/AINamespace.js +2 -2
- package/dist/client/namespaces/consolidated/BlockchainNamespace.d.ts +12 -2
- package/dist/client/namespaces/consolidated/BlockchainNamespace.d.ts.map +1 -1
- package/dist/client/namespaces/consolidated/BlockchainNamespace.js +62 -4
- package/dist/client/namespaces/consolidated/BlockchainNamespace.js.map +1 -1
- package/dist/client/namespaces/consolidated/StorageNamespace.d.ts +67 -2
- package/dist/client/namespaces/consolidated/StorageNamespace.d.ts.map +1 -1
- package/dist/client/namespaces/consolidated/StorageNamespace.js +549 -16
- package/dist/client/namespaces/consolidated/StorageNamespace.js.map +1 -1
- package/dist/config/ConfigurationHelper.js +61 -61
- package/dist/config/defaults.js +2 -2
- package/dist/config/defaults.js.map +1 -1
- package/dist/graph/GraphService.js +21 -21
- package/dist/graph/GraphService.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/seal/EncryptionService.d.ts +9 -5
- package/dist/infrastructure/seal/EncryptionService.d.ts.map +1 -1
- package/dist/infrastructure/seal/EncryptionService.js +37 -15
- package/dist/infrastructure/seal/EncryptionService.js.map +1 -1
- package/dist/infrastructure/seal/SealService.d.ts +13 -5
- package/dist/infrastructure/seal/SealService.d.ts.map +1 -1
- package/dist/infrastructure/seal/SealService.js +36 -34
- package/dist/infrastructure/seal/SealService.js.map +1 -1
- package/dist/langchain/createPDWRAG.js +30 -30
- package/dist/retrieval/MemoryDecryptionPipeline.d.ts.map +1 -1
- package/dist/retrieval/MemoryDecryptionPipeline.js +2 -1
- package/dist/retrieval/MemoryDecryptionPipeline.js.map +1 -1
- package/dist/retrieval/MemoryRetrievalService.d.ts +31 -0
- package/dist/retrieval/MemoryRetrievalService.d.ts.map +1 -1
- package/dist/retrieval/MemoryRetrievalService.js +44 -4
- package/dist/retrieval/MemoryRetrievalService.js.map +1 -1
- package/dist/services/CapabilityService.d.ts.map +1 -1
- package/dist/services/CapabilityService.js +30 -14
- package/dist/services/CapabilityService.js.map +1 -1
- package/dist/services/CrossContextPermissionService.d.ts.map +1 -1
- package/dist/services/CrossContextPermissionService.js +9 -7
- package/dist/services/CrossContextPermissionService.js.map +1 -1
- package/dist/services/EmbeddingService.d.ts +28 -1
- package/dist/services/EmbeddingService.d.ts.map +1 -1
- package/dist/services/EmbeddingService.js +54 -0
- package/dist/services/EmbeddingService.js.map +1 -1
- package/dist/services/EncryptionService.d.ts.map +1 -1
- package/dist/services/EncryptionService.js +6 -5
- package/dist/services/EncryptionService.js.map +1 -1
- package/dist/services/GeminiAIService.js +309 -309
- package/dist/services/IndexManager.d.ts +5 -1
- package/dist/services/IndexManager.d.ts.map +1 -1
- package/dist/services/IndexManager.js +17 -40
- package/dist/services/IndexManager.js.map +1 -1
- package/dist/services/QueryService.js +1 -1
- package/dist/services/QueryService.js.map +1 -1
- package/dist/services/StorageService.d.ts +11 -0
- package/dist/services/StorageService.d.ts.map +1 -1
- package/dist/services/StorageService.js +73 -10
- package/dist/services/StorageService.js.map +1 -1
- package/dist/services/TransactionService.d.ts +20 -0
- package/dist/services/TransactionService.d.ts.map +1 -1
- package/dist/services/TransactionService.js +43 -0
- package/dist/services/TransactionService.js.map +1 -1
- package/dist/services/ViewService.js +2 -2
- package/dist/services/ViewService.js.map +1 -1
- package/dist/services/storage/QuiltBatchManager.d.ts +101 -1
- package/dist/services/storage/QuiltBatchManager.d.ts.map +1 -1
- package/dist/services/storage/QuiltBatchManager.js +410 -20
- package/dist/services/storage/QuiltBatchManager.js.map +1 -1
- package/dist/services/storage/index.d.ts +1 -1
- package/dist/services/storage/index.d.ts.map +1 -1
- package/dist/services/storage/index.js.map +1 -1
- package/dist/utils/LRUCache.d.ts +106 -0
- package/dist/utils/LRUCache.d.ts.map +1 -0
- package/dist/utils/LRUCache.js +281 -0
- package/dist/utils/LRUCache.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/memoryIndexOnChain.d.ts +212 -0
- package/dist/utils/memoryIndexOnChain.d.ts.map +1 -0
- package/dist/utils/memoryIndexOnChain.js +312 -0
- package/dist/utils/memoryIndexOnChain.js.map +1 -0
- package/dist/utils/rebuildIndexNode.d.ts +29 -0
- package/dist/utils/rebuildIndexNode.d.ts.map +1 -1
- package/dist/utils/rebuildIndexNode.js +366 -98
- package/dist/utils/rebuildIndexNode.js.map +1 -1
- package/dist/vector/HnswWasmService.d.ts +20 -5
- package/dist/vector/HnswWasmService.d.ts.map +1 -1
- package/dist/vector/HnswWasmService.js +73 -40
- package/dist/vector/HnswWasmService.js.map +1 -1
- package/dist/vector/IHnswService.d.ts +10 -1
- package/dist/vector/IHnswService.d.ts.map +1 -1
- package/dist/vector/IHnswService.js.map +1 -1
- package/dist/vector/NodeHnswService.d.ts +16 -0
- package/dist/vector/NodeHnswService.d.ts.map +1 -1
- package/dist/vector/NodeHnswService.js +84 -5
- package/dist/vector/NodeHnswService.js.map +1 -1
- package/dist/vector/createHnswService.d.ts +1 -1
- package/dist/vector/createHnswService.js +1 -1
- package/dist/vector/index.d.ts +1 -1
- package/dist/vector/index.js +1 -1
- package/package.json +157 -157
- package/src/access/PermissionService.ts +635 -635
- package/src/aggregation/AggregationService.ts +389 -389
- package/src/ai-sdk/PDWVectorStore.ts +715 -715
- package/src/ai-sdk/index.ts +65 -65
- package/src/ai-sdk/tools.ts +460 -460
- package/src/ai-sdk/types.ts +404 -404
- package/src/batch/BatchManager.ts +597 -597
- package/src/batch/BatchingService.ts +429 -429
- package/src/batch/MemoryProcessingCache.ts +492 -492
- package/src/batch/index.ts +30 -30
- package/src/browser.ts +200 -200
- package/src/client/ClientMemoryManager.ts +987 -987
- package/src/client/PersonalDataWallet.ts +345 -345
- package/src/client/SimplePDWClient.ts +1289 -1222
- package/src/client/factory.ts +154 -154
- package/src/client/namespaces/AnalyticsNamespace.ts +377 -377
- package/src/client/namespaces/BatchNamespace.ts +356 -356
- package/src/client/namespaces/CacheNamespace.ts +123 -123
- package/src/client/namespaces/CapabilityNamespace.ts +217 -217
- package/src/client/namespaces/ClassifyNamespace.ts +169 -169
- package/src/client/namespaces/ContextNamespace.ts +297 -297
- package/src/client/namespaces/EmbeddingsNamespace.ts +99 -99
- package/src/client/namespaces/EncryptionNamespace.ts +221 -221
- package/src/client/namespaces/GraphNamespace.ts +468 -468
- package/src/client/namespaces/IndexNamespace.ts +361 -361
- package/src/client/namespaces/MemoryNamespace.ts +1422 -1135
- package/src/client/namespaces/PermissionsNamespace.ts +254 -254
- package/src/client/namespaces/PipelineNamespace.ts +220 -220
- package/src/client/namespaces/SearchNamespace.ts +1049 -1049
- package/src/client/namespaces/StorageNamespace.ts +458 -458
- package/src/client/namespaces/TxNamespace.ts +260 -260
- package/src/client/namespaces/WalletNamespace.ts +243 -243
- package/src/client/namespaces/consolidated/AINamespace.ts +449 -449
- package/src/client/namespaces/consolidated/BlockchainNamespace.ts +607 -546
- package/src/client/namespaces/consolidated/SecurityNamespace.ts +648 -648
- package/src/client/namespaces/consolidated/StorageNamespace.ts +1141 -497
- package/src/client/namespaces/consolidated/index.ts +39 -39
- package/src/client/signers/KeypairSigner.ts +108 -108
- package/src/client/signers/UnifiedSigner.ts +110 -110
- package/src/client/signers/WalletAdapterSigner.ts +159 -159
- package/src/client/signers/index.ts +26 -26
- package/src/config/ConfigurationHelper.ts +412 -412
- package/src/config/defaults.ts +51 -51
- package/src/config/index.ts +8 -8
- package/src/config/validation.ts +70 -70
- package/src/core/index.ts +14 -14
- package/src/core/interfaces/IService.ts +307 -307
- package/src/core/interfaces/index.ts +8 -8
- package/src/core/types/capability.ts +297 -297
- package/src/core/types/index.ts +870 -870
- package/src/core/types/wallet.ts +270 -270
- package/src/core/types.ts +9 -9
- package/src/core/wallet.ts +222 -222
- package/src/embedding/index.ts +19 -19
- package/src/embedding/types.ts +357 -357
- package/src/errors/index.ts +602 -602
- package/src/errors/recovery.ts +461 -461
- package/src/errors/validation.ts +567 -567
- package/src/generated/pdw/capability.ts +319 -319
- package/src/graph/GraphService.ts +887 -887
- package/src/graph/KnowledgeGraphManager.ts +728 -728
- package/src/graph/index.ts +25 -25
- package/src/index.ts +498 -474
- package/src/infrastructure/index.ts +22 -22
- package/src/infrastructure/seal/EncryptionService.ts +628 -603
- package/src/infrastructure/seal/SealService.ts +613 -615
- package/src/infrastructure/seal/index.ts +9 -9
- package/src/infrastructure/sui/BlockchainManager.ts +627 -627
- package/src/infrastructure/sui/SuiService.ts +888 -888
- package/src/infrastructure/sui/index.ts +9 -9
- package/src/infrastructure/walrus/StorageManager.ts +604 -604
- package/src/infrastructure/walrus/WalrusStorageService.ts +612 -612
- package/src/infrastructure/walrus/index.ts +9 -9
- package/src/langchain/PDWEmbeddings.ts +145 -145
- package/src/langchain/PDWVectorStore.ts +456 -456
- package/src/langchain/createPDWRAG.ts +303 -303
- package/src/langchain/index.ts +47 -47
- package/src/permissions/ConsentRepository.browser.ts +249 -249
- package/src/permissions/ConsentRepository.ts +364 -364
- package/src/pipeline/MemoryPipeline.ts +862 -862
- package/src/pipeline/PipelineManager.ts +683 -683
- package/src/pipeline/index.ts +26 -26
- package/src/retrieval/AdvancedSearchService.ts +629 -629
- package/src/retrieval/MemoryAnalyticsService.ts +711 -711
- package/src/retrieval/MemoryDecryptionPipeline.ts +825 -824
- package/src/retrieval/MemoryRetrievalService.ts +904 -830
- package/src/retrieval/index.ts +42 -42
- package/src/services/BatchService.ts +352 -352
- package/src/services/CapabilityService.ts +464 -448
- package/src/services/ClassifierService.ts +465 -465
- package/src/services/CrossContextPermissionService.ts +486 -484
- package/src/services/EmbeddingService.ts +771 -706
- package/src/services/EncryptionService.ts +712 -711
- package/src/services/GeminiAIService.ts +753 -753
- package/src/services/IndexManager.ts +977 -1004
- package/src/services/MemoryIndexService.ts +1003 -1003
- package/src/services/MemoryService.ts +369 -369
- package/src/services/QueryService.ts +890 -890
- package/src/services/StorageService.ts +1182 -1111
- package/src/services/TransactionService.ts +838 -790
- package/src/services/VectorService.ts +462 -462
- package/src/services/ViewService.ts +484 -484
- package/src/services/index.ts +25 -25
- package/src/services/storage/BlobAttributesManager.ts +333 -333
- package/src/services/storage/KnowledgeGraphManager.ts +425 -425
- package/src/services/storage/MemorySearchManager.ts +387 -387
- package/src/services/storage/QuiltBatchManager.ts +1130 -660
- package/src/services/storage/WalrusMetadataManager.ts +268 -268
- package/src/services/storage/WalrusStorageManager.ts +287 -287
- package/src/services/storage/index.ts +57 -52
- package/src/types/index.ts +13 -13
- package/src/utils/LRUCache.ts +378 -0
- package/src/utils/index.ts +76 -68
- package/src/utils/memoryIndexOnChain.ts +507 -0
- package/src/utils/rebuildIndex.ts +290 -290
- package/src/utils/rebuildIndexNode.ts +771 -424
- package/src/vector/BrowserHnswIndexService.ts +758 -758
- package/src/vector/HnswWasmService.ts +731 -679
- package/src/vector/IHnswService.ts +233 -224
- package/src/vector/NodeHnswService.ts +833 -735
- package/src/vector/VectorManager.ts +478 -478
- package/src/vector/createHnswService.ts +135 -135
- package/src/vector/index.ts +56 -56
- package/src/wallet/ContextWalletService.ts +656 -656
- package/src/wallet/MainWalletService.ts +317 -317
|
@@ -1,370 +1,370 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Memory Service
|
|
3
|
-
*
|
|
4
|
-
* Handles memory-related blockchain operations including transaction builders,
|
|
5
|
-
* move calls, and view functions for on-chain memory data.
|
|
6
|
-
*
|
|
7
|
-
* Note: This service provides direct blockchain access. For high-level memory
|
|
8
|
-
* operations (create, search), use SimplePDWClient's memory namespace instead.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import type {
|
|
12
|
-
ClientWithCoreApi,
|
|
13
|
-
PDWConfig,
|
|
14
|
-
MemoryCreateOptions,
|
|
15
|
-
MemorySearchOptions,
|
|
16
|
-
MemorySearchResult,
|
|
17
|
-
MemoryContext,
|
|
18
|
-
MemoryContextOptions,
|
|
19
|
-
MemoryStatsResponse,
|
|
20
|
-
Thunk,
|
|
21
|
-
AsyncThunk
|
|
22
|
-
} from '../types';
|
|
23
|
-
import { Transaction } from '@mysten/sui/transactions';
|
|
24
|
-
import * as memoryContract from '../generated/pdw/memory';
|
|
25
|
-
|
|
26
|
-
export class MemoryService {
|
|
27
|
-
constructor(
|
|
28
|
-
private client: ClientWithCoreApi,
|
|
29
|
-
private config: PDWConfig
|
|
30
|
-
) {}
|
|
31
|
-
|
|
32
|
-
// ==================== TRANSACTION BUILDERS ====================
|
|
33
|
-
|
|
34
|
-
get tx() {
|
|
35
|
-
return {
|
|
36
|
-
/**
|
|
37
|
-
* Create transaction for memory record on blockchain
|
|
38
|
-
*/
|
|
39
|
-
createMemoryRecord: async (options: {
|
|
40
|
-
category: string;
|
|
41
|
-
vectorId: number | bigint;
|
|
42
|
-
blobId: string;
|
|
43
|
-
metadata: {
|
|
44
|
-
contentType: string;
|
|
45
|
-
contentSize: number | bigint;
|
|
46
|
-
contentHash: string;
|
|
47
|
-
category: string;
|
|
48
|
-
topic: string;
|
|
49
|
-
importance: number;
|
|
50
|
-
embeddingBlobId: string;
|
|
51
|
-
embeddingDimension: number | bigint;
|
|
52
|
-
createdTimestamp: number | bigint;
|
|
53
|
-
updatedTimestamp: number | bigint;
|
|
54
|
-
customMetadata?: Record<string, string>;
|
|
55
|
-
};
|
|
56
|
-
}) => {
|
|
57
|
-
const tx = new Transaction();
|
|
58
|
-
|
|
59
|
-
// Create the memory record with inline metadata
|
|
60
|
-
const memoryRecord = memoryContract.createMemoryRecord({
|
|
61
|
-
package: this.config.packageId,
|
|
62
|
-
arguments: {
|
|
63
|
-
category: Array.from(new TextEncoder().encode(options.category)),
|
|
64
|
-
vectorId: options.vectorId,
|
|
65
|
-
blobId: Array.from(new TextEncoder().encode(options.blobId)),
|
|
66
|
-
contentType: Array.from(new TextEncoder().encode(options.metadata.contentType)),
|
|
67
|
-
contentSize: options.metadata.contentSize,
|
|
68
|
-
contentHash: Array.from(new TextEncoder().encode(options.metadata.contentHash)),
|
|
69
|
-
topic: Array.from(new TextEncoder().encode(options.metadata.topic)),
|
|
70
|
-
importance: options.metadata.importance,
|
|
71
|
-
embeddingBlobId: Array.from(new TextEncoder().encode(options.metadata.embeddingBlobId))
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
tx.add(memoryRecord);
|
|
76
|
-
return tx;
|
|
77
|
-
},
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Create transaction to delete memory
|
|
81
|
-
*/
|
|
82
|
-
deleteMemory: async (memoryId: string) => {
|
|
83
|
-
const tx = new Transaction();
|
|
84
|
-
|
|
85
|
-
const deleteCall = memoryContract.deleteMemoryRecord({
|
|
86
|
-
package: this.config.packageId,
|
|
87
|
-
arguments: {
|
|
88
|
-
memory: memoryId
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
tx.add(deleteCall);
|
|
93
|
-
return tx;
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Create transaction to update memory metadata
|
|
98
|
-
*/
|
|
99
|
-
updateMemoryMetadata: async (memoryId: string, metadata: {
|
|
100
|
-
newTopic: string;
|
|
101
|
-
newImportance: number;
|
|
102
|
-
}) => {
|
|
103
|
-
const tx = new Transaction();
|
|
104
|
-
|
|
105
|
-
const updateCall = memoryContract.updateMemoryMetadata({
|
|
106
|
-
package: this.config.packageId,
|
|
107
|
-
arguments: {
|
|
108
|
-
memory: memoryId,
|
|
109
|
-
newTopic: Array.from(new TextEncoder().encode(metadata.newTopic)),
|
|
110
|
-
newImportance: metadata.newImportance
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
tx.add(updateCall);
|
|
115
|
-
return tx;
|
|
116
|
-
},
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Create memory index transaction
|
|
120
|
-
*/
|
|
121
|
-
createMemoryIndex: async (options: {
|
|
122
|
-
indexBlobId: string;
|
|
123
|
-
graphBlobId: string;
|
|
124
|
-
}) => {
|
|
125
|
-
const tx = new Transaction();
|
|
126
|
-
|
|
127
|
-
const indexCall = memoryContract.createMemoryIndex({
|
|
128
|
-
package: this.config.packageId,
|
|
129
|
-
arguments: {
|
|
130
|
-
indexBlobId: Array.from(new TextEncoder().encode(options.indexBlobId)),
|
|
131
|
-
graphBlobId: Array.from(new TextEncoder().encode(options.graphBlobId))
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
tx.add(indexCall);
|
|
136
|
-
return tx;
|
|
137
|
-
},
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Update memory index transaction
|
|
141
|
-
*/
|
|
142
|
-
updateMemoryIndex: async (options: {
|
|
143
|
-
memoryIndex: string;
|
|
144
|
-
expectedVersion: number | bigint;
|
|
145
|
-
newIndexBlobId: string;
|
|
146
|
-
newGraphBlobId: string;
|
|
147
|
-
}) => {
|
|
148
|
-
const tx = new Transaction();
|
|
149
|
-
|
|
150
|
-
const updateCall = memoryContract.updateMemoryIndex({
|
|
151
|
-
package: this.config.packageId,
|
|
152
|
-
arguments: {
|
|
153
|
-
memoryIndex: options.memoryIndex,
|
|
154
|
-
expectedVersion: options.expectedVersion,
|
|
155
|
-
newIndexBlobId: Array.from(new TextEncoder().encode(options.newIndexBlobId)),
|
|
156
|
-
newGraphBlobId: Array.from(new TextEncoder().encode(options.newGraphBlobId))
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
tx.add(updateCall);
|
|
161
|
-
return tx;
|
|
162
|
-
},
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// ==================== MOVE CALL BUILDERS ====================
|
|
167
|
-
|
|
168
|
-
get call() {
|
|
169
|
-
return {
|
|
170
|
-
/**
|
|
171
|
-
* Move call for memory record creation
|
|
172
|
-
*/
|
|
173
|
-
createMemoryRecord: (options: {
|
|
174
|
-
category: string;
|
|
175
|
-
vectorId: number | bigint;
|
|
176
|
-
blobId: string;
|
|
177
|
-
contentType: string;
|
|
178
|
-
contentSize: number | bigint;
|
|
179
|
-
contentHash: string;
|
|
180
|
-
topic: string;
|
|
181
|
-
importance: number;
|
|
182
|
-
embeddingBlobId: string;
|
|
183
|
-
}): Thunk => {
|
|
184
|
-
return memoryContract.createMemoryRecord({
|
|
185
|
-
package: this.config.packageId,
|
|
186
|
-
arguments: {
|
|
187
|
-
category: Array.from(new TextEncoder().encode(options.category)),
|
|
188
|
-
vectorId: options.vectorId,
|
|
189
|
-
blobId: Array.from(new TextEncoder().encode(options.blobId)),
|
|
190
|
-
contentType: Array.from(new TextEncoder().encode(options.contentType)),
|
|
191
|
-
contentSize: options.contentSize,
|
|
192
|
-
contentHash: Array.from(new TextEncoder().encode(options.contentHash)),
|
|
193
|
-
topic: Array.from(new TextEncoder().encode(options.topic)),
|
|
194
|
-
importance: options.importance,
|
|
195
|
-
embeddingBlobId: Array.from(new TextEncoder().encode(options.embeddingBlobId))
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
},
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Move call for memory deletion
|
|
202
|
-
*/
|
|
203
|
-
deleteMemory: (memoryId: string): Thunk => {
|
|
204
|
-
return memoryContract.deleteMemoryRecord({
|
|
205
|
-
package: this.config.packageId,
|
|
206
|
-
arguments: {
|
|
207
|
-
memory: memoryId
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
},
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Move call for memory metadata updates
|
|
214
|
-
*/
|
|
215
|
-
updateMemoryMetadata: (memoryId: string, options: {
|
|
216
|
-
newTopic: string;
|
|
217
|
-
newImportance: number;
|
|
218
|
-
}): Thunk => {
|
|
219
|
-
return memoryContract.updateMemoryMetadata({
|
|
220
|
-
package: this.config.packageId,
|
|
221
|
-
arguments: {
|
|
222
|
-
memory: memoryId,
|
|
223
|
-
newTopic: Array.from(new TextEncoder().encode(options.newTopic)),
|
|
224
|
-
newImportance: options.newImportance
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
},
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* Move call for memory index creation
|
|
231
|
-
*/
|
|
232
|
-
createMemoryIndex: (options: {
|
|
233
|
-
indexBlobId: string;
|
|
234
|
-
graphBlobId: string;
|
|
235
|
-
}): Thunk => {
|
|
236
|
-
return memoryContract.createMemoryIndex({
|
|
237
|
-
package: this.config.packageId,
|
|
238
|
-
arguments: {
|
|
239
|
-
indexBlobId: Array.from(new TextEncoder().encode(options.indexBlobId)),
|
|
240
|
-
graphBlobId: Array.from(new TextEncoder().encode(options.graphBlobId))
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
},
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Move call for memory index updates
|
|
247
|
-
*/
|
|
248
|
-
updateMemoryIndex: (options: {
|
|
249
|
-
memoryIndex: string;
|
|
250
|
-
expectedVersion: number | bigint;
|
|
251
|
-
newIndexBlobId: string;
|
|
252
|
-
newGraphBlobId: string;
|
|
253
|
-
}): Thunk => {
|
|
254
|
-
return memoryContract.updateMemoryIndex({
|
|
255
|
-
package: this.config.packageId,
|
|
256
|
-
arguments: {
|
|
257
|
-
memoryIndex: options.memoryIndex,
|
|
258
|
-
expectedVersion: options.expectedVersion,
|
|
259
|
-
newIndexBlobId: Array.from(new TextEncoder().encode(options.newIndexBlobId)),
|
|
260
|
-
newGraphBlobId: Array.from(new TextEncoder().encode(options.newGraphBlobId))
|
|
261
|
-
}
|
|
262
|
-
});
|
|
263
|
-
},
|
|
264
|
-
|
|
265
|
-
/**
|
|
266
|
-
* Move call for adding custom metadata
|
|
267
|
-
*/
|
|
268
|
-
addCustomMetadata: (options: {
|
|
269
|
-
memory: string;
|
|
270
|
-
key: string;
|
|
271
|
-
value: string;
|
|
272
|
-
}): Thunk => {
|
|
273
|
-
return memoryContract.addCustomMetadata({
|
|
274
|
-
package: this.config.packageId,
|
|
275
|
-
arguments: {
|
|
276
|
-
memory: options.memory,
|
|
277
|
-
key: Array.from(new TextEncoder().encode(options.key)),
|
|
278
|
-
value: Array.from(new TextEncoder().encode(options.value))
|
|
279
|
-
}
|
|
280
|
-
});
|
|
281
|
-
},
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
// ==================== VIEW METHODS ====================
|
|
286
|
-
|
|
287
|
-
get view() {
|
|
288
|
-
return {
|
|
289
|
-
/**
|
|
290
|
-
* Get memory object from blockchain
|
|
291
|
-
*/
|
|
292
|
-
getMemory: async (memoryId: string) => {
|
|
293
|
-
try {
|
|
294
|
-
const memoryObject = await this.client.core.getObject(memoryId);
|
|
295
|
-
return memoryObject;
|
|
296
|
-
} catch (error) {
|
|
297
|
-
throw new Error(`Failed to get memory ${memoryId}: ${error}`);
|
|
298
|
-
}
|
|
299
|
-
},
|
|
300
|
-
|
|
301
|
-
/**
|
|
302
|
-
* Get memory index information from blockchain
|
|
303
|
-
*/
|
|
304
|
-
getMemoryIndex: async (indexId: string) => {
|
|
305
|
-
try {
|
|
306
|
-
const indexObject = await this.client.core.getObject(indexId);
|
|
307
|
-
return indexObject;
|
|
308
|
-
} catch (error) {
|
|
309
|
-
throw new Error(`Failed to get memory index ${indexId}: ${error}`);
|
|
310
|
-
}
|
|
311
|
-
},
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* Get memory blob ID from blockchain
|
|
315
|
-
*/
|
|
316
|
-
getMemoryBlobId: async (memoryId: string) => {
|
|
317
|
-
const memoryObject = await this.view.getMemory(memoryId);
|
|
318
|
-
return memoryObject?.data?.content?.fields?.blob_id;
|
|
319
|
-
},
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
* Get memory category from blockchain
|
|
323
|
-
*/
|
|
324
|
-
getMemoryCategory: async (memoryId: string) => {
|
|
325
|
-
const memoryObject = await this.view.getMemory(memoryId);
|
|
326
|
-
return memoryObject?.data?.content?.fields?.category;
|
|
327
|
-
},
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* Get memory vector ID from blockchain
|
|
331
|
-
*/
|
|
332
|
-
getMemoryVectorId: async (memoryId: string) => {
|
|
333
|
-
const memoryObject = await this.view.getMemory(memoryId);
|
|
334
|
-
return memoryObject?.data?.content?.fields?.vector_id;
|
|
335
|
-
},
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* Get memory metadata from blockchain
|
|
339
|
-
*/
|
|
340
|
-
getMemoryMetadata: async (memoryId: string) => {
|
|
341
|
-
const memoryObject = await this.view.getMemory(memoryId);
|
|
342
|
-
return memoryObject?.data?.content?.fields?.metadata;
|
|
343
|
-
},
|
|
344
|
-
|
|
345
|
-
/**
|
|
346
|
-
* Get index blob ID from memory index
|
|
347
|
-
*/
|
|
348
|
-
getIndexBlobId: async (indexId: string) => {
|
|
349
|
-
const indexObject = await this.view.getMemoryIndex(indexId);
|
|
350
|
-
return indexObject?.data?.content?.fields?.index_blob_id;
|
|
351
|
-
},
|
|
352
|
-
|
|
353
|
-
/**
|
|
354
|
-
* Get graph blob ID from memory index
|
|
355
|
-
*/
|
|
356
|
-
getGraphBlobId: async (indexId: string) => {
|
|
357
|
-
const indexObject = await this.view.getMemoryIndex(indexId);
|
|
358
|
-
return indexObject?.data?.content?.fields?.graph_blob_id;
|
|
359
|
-
},
|
|
360
|
-
|
|
361
|
-
/**
|
|
362
|
-
* Get memory index version
|
|
363
|
-
*/
|
|
364
|
-
getIndexVersion: async (indexId: string) => {
|
|
365
|
-
const indexObject = await this.view.getMemoryIndex(indexId);
|
|
366
|
-
return indexObject?.data?.content?.fields?.version;
|
|
367
|
-
},
|
|
368
|
-
};
|
|
369
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Memory Service
|
|
3
|
+
*
|
|
4
|
+
* Handles memory-related blockchain operations including transaction builders,
|
|
5
|
+
* move calls, and view functions for on-chain memory data.
|
|
6
|
+
*
|
|
7
|
+
* Note: This service provides direct blockchain access. For high-level memory
|
|
8
|
+
* operations (create, search), use SimplePDWClient's memory namespace instead.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type {
|
|
12
|
+
ClientWithCoreApi,
|
|
13
|
+
PDWConfig,
|
|
14
|
+
MemoryCreateOptions,
|
|
15
|
+
MemorySearchOptions,
|
|
16
|
+
MemorySearchResult,
|
|
17
|
+
MemoryContext,
|
|
18
|
+
MemoryContextOptions,
|
|
19
|
+
MemoryStatsResponse,
|
|
20
|
+
Thunk,
|
|
21
|
+
AsyncThunk
|
|
22
|
+
} from '../types';
|
|
23
|
+
import { Transaction } from '@mysten/sui/transactions';
|
|
24
|
+
import * as memoryContract from '../generated/pdw/memory';
|
|
25
|
+
|
|
26
|
+
export class MemoryService {
|
|
27
|
+
constructor(
|
|
28
|
+
private client: ClientWithCoreApi,
|
|
29
|
+
private config: PDWConfig
|
|
30
|
+
) {}
|
|
31
|
+
|
|
32
|
+
// ==================== TRANSACTION BUILDERS ====================
|
|
33
|
+
|
|
34
|
+
get tx() {
|
|
35
|
+
return {
|
|
36
|
+
/**
|
|
37
|
+
* Create transaction for memory record on blockchain
|
|
38
|
+
*/
|
|
39
|
+
createMemoryRecord: async (options: {
|
|
40
|
+
category: string;
|
|
41
|
+
vectorId: number | bigint;
|
|
42
|
+
blobId: string;
|
|
43
|
+
metadata: {
|
|
44
|
+
contentType: string;
|
|
45
|
+
contentSize: number | bigint;
|
|
46
|
+
contentHash: string;
|
|
47
|
+
category: string;
|
|
48
|
+
topic: string;
|
|
49
|
+
importance: number;
|
|
50
|
+
embeddingBlobId: string;
|
|
51
|
+
embeddingDimension: number | bigint;
|
|
52
|
+
createdTimestamp: number | bigint;
|
|
53
|
+
updatedTimestamp: number | bigint;
|
|
54
|
+
customMetadata?: Record<string, string>;
|
|
55
|
+
};
|
|
56
|
+
}) => {
|
|
57
|
+
const tx = new Transaction();
|
|
58
|
+
|
|
59
|
+
// Create the memory record with inline metadata
|
|
60
|
+
const memoryRecord = memoryContract.createMemoryRecord({
|
|
61
|
+
package: this.config.packageId,
|
|
62
|
+
arguments: {
|
|
63
|
+
category: Array.from(new TextEncoder().encode(options.category)),
|
|
64
|
+
vectorId: options.vectorId,
|
|
65
|
+
blobId: Array.from(new TextEncoder().encode(options.blobId)),
|
|
66
|
+
contentType: Array.from(new TextEncoder().encode(options.metadata.contentType)),
|
|
67
|
+
contentSize: options.metadata.contentSize,
|
|
68
|
+
contentHash: Array.from(new TextEncoder().encode(options.metadata.contentHash)),
|
|
69
|
+
topic: Array.from(new TextEncoder().encode(options.metadata.topic)),
|
|
70
|
+
importance: options.metadata.importance,
|
|
71
|
+
embeddingBlobId: Array.from(new TextEncoder().encode(options.metadata.embeddingBlobId))
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
tx.add(memoryRecord);
|
|
76
|
+
return tx;
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Create transaction to delete memory
|
|
81
|
+
*/
|
|
82
|
+
deleteMemory: async (memoryId: string) => {
|
|
83
|
+
const tx = new Transaction();
|
|
84
|
+
|
|
85
|
+
const deleteCall = memoryContract.deleteMemoryRecord({
|
|
86
|
+
package: this.config.packageId,
|
|
87
|
+
arguments: {
|
|
88
|
+
memory: memoryId
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
tx.add(deleteCall);
|
|
93
|
+
return tx;
|
|
94
|
+
},
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Create transaction to update memory metadata
|
|
98
|
+
*/
|
|
99
|
+
updateMemoryMetadata: async (memoryId: string, metadata: {
|
|
100
|
+
newTopic: string;
|
|
101
|
+
newImportance: number;
|
|
102
|
+
}) => {
|
|
103
|
+
const tx = new Transaction();
|
|
104
|
+
|
|
105
|
+
const updateCall = memoryContract.updateMemoryMetadata({
|
|
106
|
+
package: this.config.packageId,
|
|
107
|
+
arguments: {
|
|
108
|
+
memory: memoryId,
|
|
109
|
+
newTopic: Array.from(new TextEncoder().encode(metadata.newTopic)),
|
|
110
|
+
newImportance: metadata.newImportance
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
tx.add(updateCall);
|
|
115
|
+
return tx;
|
|
116
|
+
},
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Create memory index transaction
|
|
120
|
+
*/
|
|
121
|
+
createMemoryIndex: async (options: {
|
|
122
|
+
indexBlobId: string;
|
|
123
|
+
graphBlobId: string;
|
|
124
|
+
}) => {
|
|
125
|
+
const tx = new Transaction();
|
|
126
|
+
|
|
127
|
+
const indexCall = memoryContract.createMemoryIndex({
|
|
128
|
+
package: this.config.packageId,
|
|
129
|
+
arguments: {
|
|
130
|
+
indexBlobId: Array.from(new TextEncoder().encode(options.indexBlobId)),
|
|
131
|
+
graphBlobId: Array.from(new TextEncoder().encode(options.graphBlobId))
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
tx.add(indexCall);
|
|
136
|
+
return tx;
|
|
137
|
+
},
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Update memory index transaction
|
|
141
|
+
*/
|
|
142
|
+
updateMemoryIndex: async (options: {
|
|
143
|
+
memoryIndex: string;
|
|
144
|
+
expectedVersion: number | bigint;
|
|
145
|
+
newIndexBlobId: string;
|
|
146
|
+
newGraphBlobId: string;
|
|
147
|
+
}) => {
|
|
148
|
+
const tx = new Transaction();
|
|
149
|
+
|
|
150
|
+
const updateCall = memoryContract.updateMemoryIndex({
|
|
151
|
+
package: this.config.packageId,
|
|
152
|
+
arguments: {
|
|
153
|
+
memoryIndex: options.memoryIndex,
|
|
154
|
+
expectedVersion: options.expectedVersion,
|
|
155
|
+
newIndexBlobId: Array.from(new TextEncoder().encode(options.newIndexBlobId)),
|
|
156
|
+
newGraphBlobId: Array.from(new TextEncoder().encode(options.newGraphBlobId))
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
tx.add(updateCall);
|
|
161
|
+
return tx;
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// ==================== MOVE CALL BUILDERS ====================
|
|
167
|
+
|
|
168
|
+
get call() {
|
|
169
|
+
return {
|
|
170
|
+
/**
|
|
171
|
+
* Move call for memory record creation
|
|
172
|
+
*/
|
|
173
|
+
createMemoryRecord: (options: {
|
|
174
|
+
category: string;
|
|
175
|
+
vectorId: number | bigint;
|
|
176
|
+
blobId: string;
|
|
177
|
+
contentType: string;
|
|
178
|
+
contentSize: number | bigint;
|
|
179
|
+
contentHash: string;
|
|
180
|
+
topic: string;
|
|
181
|
+
importance: number;
|
|
182
|
+
embeddingBlobId: string;
|
|
183
|
+
}): Thunk => {
|
|
184
|
+
return memoryContract.createMemoryRecord({
|
|
185
|
+
package: this.config.packageId,
|
|
186
|
+
arguments: {
|
|
187
|
+
category: Array.from(new TextEncoder().encode(options.category)),
|
|
188
|
+
vectorId: options.vectorId,
|
|
189
|
+
blobId: Array.from(new TextEncoder().encode(options.blobId)),
|
|
190
|
+
contentType: Array.from(new TextEncoder().encode(options.contentType)),
|
|
191
|
+
contentSize: options.contentSize,
|
|
192
|
+
contentHash: Array.from(new TextEncoder().encode(options.contentHash)),
|
|
193
|
+
topic: Array.from(new TextEncoder().encode(options.topic)),
|
|
194
|
+
importance: options.importance,
|
|
195
|
+
embeddingBlobId: Array.from(new TextEncoder().encode(options.embeddingBlobId))
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
},
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Move call for memory deletion
|
|
202
|
+
*/
|
|
203
|
+
deleteMemory: (memoryId: string): Thunk => {
|
|
204
|
+
return memoryContract.deleteMemoryRecord({
|
|
205
|
+
package: this.config.packageId,
|
|
206
|
+
arguments: {
|
|
207
|
+
memory: memoryId
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
},
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Move call for memory metadata updates
|
|
214
|
+
*/
|
|
215
|
+
updateMemoryMetadata: (memoryId: string, options: {
|
|
216
|
+
newTopic: string;
|
|
217
|
+
newImportance: number;
|
|
218
|
+
}): Thunk => {
|
|
219
|
+
return memoryContract.updateMemoryMetadata({
|
|
220
|
+
package: this.config.packageId,
|
|
221
|
+
arguments: {
|
|
222
|
+
memory: memoryId,
|
|
223
|
+
newTopic: Array.from(new TextEncoder().encode(options.newTopic)),
|
|
224
|
+
newImportance: options.newImportance
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
},
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Move call for memory index creation
|
|
231
|
+
*/
|
|
232
|
+
createMemoryIndex: (options: {
|
|
233
|
+
indexBlobId: string;
|
|
234
|
+
graphBlobId: string;
|
|
235
|
+
}): Thunk => {
|
|
236
|
+
return memoryContract.createMemoryIndex({
|
|
237
|
+
package: this.config.packageId,
|
|
238
|
+
arguments: {
|
|
239
|
+
indexBlobId: Array.from(new TextEncoder().encode(options.indexBlobId)),
|
|
240
|
+
graphBlobId: Array.from(new TextEncoder().encode(options.graphBlobId))
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
},
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Move call for memory index updates
|
|
247
|
+
*/
|
|
248
|
+
updateMemoryIndex: (options: {
|
|
249
|
+
memoryIndex: string;
|
|
250
|
+
expectedVersion: number | bigint;
|
|
251
|
+
newIndexBlobId: string;
|
|
252
|
+
newGraphBlobId: string;
|
|
253
|
+
}): Thunk => {
|
|
254
|
+
return memoryContract.updateMemoryIndex({
|
|
255
|
+
package: this.config.packageId,
|
|
256
|
+
arguments: {
|
|
257
|
+
memoryIndex: options.memoryIndex,
|
|
258
|
+
expectedVersion: options.expectedVersion,
|
|
259
|
+
newIndexBlobId: Array.from(new TextEncoder().encode(options.newIndexBlobId)),
|
|
260
|
+
newGraphBlobId: Array.from(new TextEncoder().encode(options.newGraphBlobId))
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
},
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Move call for adding custom metadata
|
|
267
|
+
*/
|
|
268
|
+
addCustomMetadata: (options: {
|
|
269
|
+
memory: string;
|
|
270
|
+
key: string;
|
|
271
|
+
value: string;
|
|
272
|
+
}): Thunk => {
|
|
273
|
+
return memoryContract.addCustomMetadata({
|
|
274
|
+
package: this.config.packageId,
|
|
275
|
+
arguments: {
|
|
276
|
+
memory: options.memory,
|
|
277
|
+
key: Array.from(new TextEncoder().encode(options.key)),
|
|
278
|
+
value: Array.from(new TextEncoder().encode(options.value))
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
},
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// ==================== VIEW METHODS ====================
|
|
286
|
+
|
|
287
|
+
get view() {
|
|
288
|
+
return {
|
|
289
|
+
/**
|
|
290
|
+
* Get memory object from blockchain
|
|
291
|
+
*/
|
|
292
|
+
getMemory: async (memoryId: string) => {
|
|
293
|
+
try {
|
|
294
|
+
const memoryObject = await this.client.core.getObject(memoryId);
|
|
295
|
+
return memoryObject;
|
|
296
|
+
} catch (error) {
|
|
297
|
+
throw new Error(`Failed to get memory ${memoryId}: ${error}`);
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Get memory index information from blockchain
|
|
303
|
+
*/
|
|
304
|
+
getMemoryIndex: async (indexId: string) => {
|
|
305
|
+
try {
|
|
306
|
+
const indexObject = await this.client.core.getObject(indexId);
|
|
307
|
+
return indexObject;
|
|
308
|
+
} catch (error) {
|
|
309
|
+
throw new Error(`Failed to get memory index ${indexId}: ${error}`);
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Get memory blob ID from blockchain
|
|
315
|
+
*/
|
|
316
|
+
getMemoryBlobId: async (memoryId: string) => {
|
|
317
|
+
const memoryObject = await this.view.getMemory(memoryId);
|
|
318
|
+
return memoryObject?.data?.content?.fields?.blob_id;
|
|
319
|
+
},
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Get memory category from blockchain
|
|
323
|
+
*/
|
|
324
|
+
getMemoryCategory: async (memoryId: string) => {
|
|
325
|
+
const memoryObject = await this.view.getMemory(memoryId);
|
|
326
|
+
return memoryObject?.data?.content?.fields?.category;
|
|
327
|
+
},
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Get memory vector ID from blockchain
|
|
331
|
+
*/
|
|
332
|
+
getMemoryVectorId: async (memoryId: string) => {
|
|
333
|
+
const memoryObject = await this.view.getMemory(memoryId);
|
|
334
|
+
return memoryObject?.data?.content?.fields?.vector_id;
|
|
335
|
+
},
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Get memory metadata from blockchain
|
|
339
|
+
*/
|
|
340
|
+
getMemoryMetadata: async (memoryId: string) => {
|
|
341
|
+
const memoryObject = await this.view.getMemory(memoryId);
|
|
342
|
+
return memoryObject?.data?.content?.fields?.metadata;
|
|
343
|
+
},
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Get index blob ID from memory index
|
|
347
|
+
*/
|
|
348
|
+
getIndexBlobId: async (indexId: string) => {
|
|
349
|
+
const indexObject = await this.view.getMemoryIndex(indexId);
|
|
350
|
+
return indexObject?.data?.content?.fields?.index_blob_id;
|
|
351
|
+
},
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Get graph blob ID from memory index
|
|
355
|
+
*/
|
|
356
|
+
getGraphBlobId: async (indexId: string) => {
|
|
357
|
+
const indexObject = await this.view.getMemoryIndex(indexId);
|
|
358
|
+
return indexObject?.data?.content?.fields?.graph_blob_id;
|
|
359
|
+
},
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* Get memory index version
|
|
363
|
+
*/
|
|
364
|
+
getIndexVersion: async (indexId: string) => {
|
|
365
|
+
const indexObject = await this.view.getMemoryIndex(indexId);
|
|
366
|
+
return indexObject?.data?.content?.fields?.version;
|
|
367
|
+
},
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
370
|
}
|