web-dc-api 0.1.48 → 0.1.49
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/dist/esm/common/blowfish/block.d.ts +24 -0
- package/dist/esm/common/blowfish/block.d.ts.map +1 -0
- package/dist/esm/common/blowfish/cipher.d.ts +18 -0
- package/dist/esm/common/blowfish/cipher.d.ts.map +1 -0
- package/dist/esm/common/blowfish/const.d.ts +7 -0
- package/dist/esm/common/blowfish/const.d.ts.map +1 -0
- package/dist/esm/common/chain.d.ts +51 -0
- package/dist/esm/common/chain.d.ts.map +1 -0
- package/dist/esm/common/commonclient.d.ts +10 -0
- package/dist/esm/common/commonclient.d.ts.map +1 -0
- package/dist/esm/common/constants.d.ts +47 -0
- package/dist/esm/common/constants.d.ts.map +1 -0
- package/dist/esm/common/dc-key/ed25519.d.ts +53 -0
- package/dist/esm/common/dc-key/ed25519.d.ts.map +1 -0
- package/dist/esm/common/dc-key/keyManager.d.ts +80 -0
- package/dist/esm/common/dc-key/keyManager.d.ts.map +1 -0
- package/dist/esm/common/dcapi.d.ts +16 -0
- package/dist/esm/common/dcapi.d.ts.map +1 -0
- package/dist/esm/common/dcutil.d.ts +56 -0
- package/dist/esm/common/dcutil.d.ts.map +1 -0
- package/dist/esm/common/define.d.ts +29 -0
- package/dist/esm/common/define.d.ts.map +1 -0
- package/dist/esm/common/error.d.ts +16 -0
- package/dist/esm/common/error.d.ts.map +1 -0
- package/dist/esm/common/grpc-dc.d.ts +11 -0
- package/dist/esm/common/grpc-dc.d.ts.map +1 -0
- package/dist/esm/common/module-system.d.ts +79 -0
- package/dist/esm/common/module-system.d.ts.map +1 -0
- package/dist/esm/common/service-worker.d.ts +29 -0
- package/dist/esm/common/service-worker.d.ts.map +1 -0
- package/dist/esm/common/types/types.d.ts +289 -0
- package/dist/esm/common/types/types.d.ts.map +1 -0
- package/dist/esm/dc.d.ts +186 -0
- package/dist/esm/dc.d.ts.map +1 -0
- package/dist/esm/implements/account/client.d.ts +21 -0
- package/dist/esm/implements/account/client.d.ts.map +1 -0
- package/dist/esm/implements/account/manager.d.ts +94 -0
- package/dist/esm/implements/account/manager.d.ts.map +1 -0
- package/dist/esm/implements/aiproxy/client.d.ts +15 -0
- package/dist/esm/implements/aiproxy/client.d.ts.map +1 -0
- package/dist/esm/implements/aiproxy/manager.d.ts +41 -0
- package/dist/esm/implements/aiproxy/manager.d.ts.map +1 -0
- package/dist/esm/implements/cache/client.d.ts +13 -0
- package/dist/esm/implements/cache/client.d.ts.map +1 -0
- package/dist/esm/implements/cache/manager.d.ts +23 -0
- package/dist/esm/implements/cache/manager.d.ts.map +1 -0
- package/dist/esm/implements/comment/client.d.ts +26 -0
- package/dist/esm/implements/comment/client.d.ts.map +1 -0
- package/dist/esm/implements/comment/manager.d.ts +48 -0
- package/dist/esm/implements/comment/manager.d.ts.map +1 -0
- package/dist/esm/implements/dc/client.d.ts +11 -0
- package/dist/esm/implements/dc/client.d.ts.map +1 -0
- package/dist/esm/implements/dc/manager.d.ts +17 -0
- package/dist/esm/implements/dc/manager.d.ts.map +1 -0
- package/dist/esm/implements/file/client.d.ts +27 -0
- package/dist/esm/implements/file/client.d.ts.map +1 -0
- package/dist/esm/implements/file/file-cache-manager.d.ts +52 -0
- package/dist/esm/implements/file/file-cache-manager.d.ts.map +1 -0
- package/dist/esm/implements/file/manager.d.ts +180 -0
- package/dist/esm/implements/file/manager.d.ts.map +1 -0
- package/dist/esm/implements/file/seekableFileStream.d.ts +68 -0
- package/dist/esm/implements/file/seekableFileStream.d.ts.map +1 -0
- package/dist/esm/implements/file/streamwriter.d.ts +42 -0
- package/dist/esm/implements/file/streamwriter.d.ts.map +1 -0
- package/dist/esm/implements/keyvalue/client.d.ts +16 -0
- package/dist/esm/implements/keyvalue/client.d.ts.map +1 -0
- package/dist/esm/implements/keyvalue/manager.d.ts +50 -0
- package/dist/esm/implements/keyvalue/manager.d.ts.map +1 -0
- package/dist/esm/implements/message/client.d.ts +16 -0
- package/dist/esm/implements/message/client.d.ts.map +1 -0
- package/dist/esm/implements/message/manager.d.ts +23 -0
- package/dist/esm/implements/message/manager.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/cbor/coding.d.ts +20 -0
- package/dist/esm/implements/threaddb/cbor/coding.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/cbor/event.d.ts +90 -0
- package/dist/esm/implements/threaddb/cbor/event.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/cbor/node.d.ts +55 -0
- package/dist/esm/implements/threaddb/cbor/node.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/cbor/record.d.ts +101 -0
- package/dist/esm/implements/threaddb/cbor/record.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/common/AsyncMutex.d.ts +7 -0
- package/dist/esm/implements/threaddb/common/AsyncMutex.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/common/addrinfo.d.ts +32 -0
- package/dist/esm/implements/threaddb/common/addrinfo.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/common/dispatcher.d.ts +20 -0
- package/dist/esm/implements/threaddb/common/dispatcher.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/common/idbstore-adapter.d.ts +3 -0
- package/dist/esm/implements/threaddb/common/idbstore-adapter.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/common/json-patcher.d.ts +18 -0
- package/dist/esm/implements/threaddb/common/json-patcher.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/common/key.d.ts +67 -0
- package/dist/esm/implements/threaddb/common/key.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/common/lineReader.d.ts +25 -0
- package/dist/esm/implements/threaddb/common/lineReader.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/common/logstore.d.ts +27 -0
- package/dist/esm/implements/threaddb/common/logstore.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/common/transformed-datastore.d.ts +53 -0
- package/dist/esm/implements/threaddb/common/transformed-datastore.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/core/app.d.ts +81 -0
- package/dist/esm/implements/threaddb/core/app.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/core/core.d.ts +132 -0
- package/dist/esm/implements/threaddb/core/core.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/core/db.d.ts +196 -0
- package/dist/esm/implements/threaddb/core/db.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/core/event.d.ts +32 -0
- package/dist/esm/implements/threaddb/core/event.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/core/head.d.ts +28 -0
- package/dist/esm/implements/threaddb/core/head.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/core/identity.d.ts +44 -0
- package/dist/esm/implements/threaddb/core/identity.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/core/logstore.d.ts +108 -0
- package/dist/esm/implements/threaddb/core/logstore.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/core/options.d.ts +13 -0
- package/dist/esm/implements/threaddb/core/options.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/core/record.d.ts +30 -0
- package/dist/esm/implements/threaddb/core/record.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/db/collection.d.ts +289 -0
- package/dist/esm/implements/threaddb/db/collection.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/db/db.d.ts +74 -0
- package/dist/esm/implements/threaddb/db/db.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/db/json2Query.d.ts +8 -0
- package/dist/esm/implements/threaddb/db/json2Query.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/db/query.d.ts +176 -0
- package/dist/esm/implements/threaddb/db/query.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/dbclient.d.ts +67 -0
- package/dist/esm/implements/threaddb/dbclient.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/dbmanager.d.ts +222 -0
- package/dist/esm/implements/threaddb/dbmanager.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/lsstoreds/addr_book.d.ts +63 -0
- package/dist/esm/implements/threaddb/lsstoreds/addr_book.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/lsstoreds/cache.d.ts +2 -0
- package/dist/esm/implements/threaddb/lsstoreds/cache.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/lsstoreds/cyclic_batch.d.ts +19 -0
- package/dist/esm/implements/threaddb/lsstoreds/cyclic_batch.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/lsstoreds/global.d.ts +19 -0
- package/dist/esm/implements/threaddb/lsstoreds/global.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/lsstoreds/headbook.d.ts +36 -0
- package/dist/esm/implements/threaddb/lsstoreds/headbook.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/lsstoreds/keybook.d.ts +31 -0
- package/dist/esm/implements/threaddb/lsstoreds/keybook.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/lsstoreds/logstore.d.ts +7 -0
- package/dist/esm/implements/threaddb/lsstoreds/logstore.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/lsstoreds/metadata.d.ts +29 -0
- package/dist/esm/implements/threaddb/lsstoreds/metadata.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/net/define.d.ts +42 -0
- package/dist/esm/implements/threaddb/net/define.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/net/grpcClient.d.ts +82 -0
- package/dist/esm/implements/threaddb/net/grpcClient.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/net/grpcserver.d.ts +20 -0
- package/dist/esm/implements/threaddb/net/grpcserver.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/net/net.d.ts +306 -0
- package/dist/esm/implements/threaddb/net/net.d.ts.map +1 -0
- package/dist/esm/implements/threaddb/pb/proto-custom-types.d.ts +54 -0
- package/dist/esm/implements/threaddb/pb/proto-custom-types.d.ts.map +1 -0
- package/dist/esm/implements/util/client.d.ts +18 -0
- package/dist/esm/implements/util/client.d.ts.map +1 -0
- package/dist/esm/implements/util/manager.d.ts +22 -0
- package/dist/esm/implements/util/manager.d.ts.map +1 -0
- package/dist/esm/implements/wallet/manager.d.ts +40 -0
- package/dist/esm/implements/wallet/manager.d.ts.map +1 -0
- package/dist/esm/index.d.ts +27 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/indexDB/db.d.ts +23 -0
- package/dist/esm/indexDB/db.d.ts.map +1 -0
- package/dist/esm/indexDB/indexedDBHelper.d.ts +17 -0
- package/dist/esm/indexDB/indexedDBHelper.d.ts.map +1 -0
- package/dist/esm/interfaces/DCContext.d.ts +32 -0
- package/dist/esm/interfaces/DCContext.d.ts.map +1 -0
- package/dist/esm/interfaces/aiproxy-interface.d.ts +110 -0
- package/dist/esm/interfaces/aiproxy-interface.d.ts.map +1 -0
- package/dist/esm/interfaces/auth-interface.d.ts +143 -0
- package/dist/esm/interfaces/auth-interface.d.ts.map +1 -0
- package/dist/esm/interfaces/cache-interface.d.ts +22 -0
- package/dist/esm/interfaces/cache-interface.d.ts.map +1 -0
- package/dist/esm/interfaces/client-interface.d.ts +15 -0
- package/dist/esm/interfaces/client-interface.d.ts.map +1 -0
- package/dist/esm/interfaces/comment-interface.d.ts +111 -0
- package/dist/esm/interfaces/comment-interface.d.ts.map +1 -0
- package/dist/esm/interfaces/components/news-component.d.ts +2 -0
- package/dist/esm/interfaces/components/news-component.d.ts.map +1 -0
- package/dist/esm/interfaces/database-interface.d.ts +138 -0
- package/dist/esm/interfaces/database-interface.d.ts.map +1 -0
- package/dist/esm/interfaces/file-interface.d.ts +124 -0
- package/dist/esm/interfaces/file-interface.d.ts.map +1 -0
- package/dist/esm/interfaces/index.d.ts +11 -0
- package/dist/esm/interfaces/index.d.ts.map +1 -0
- package/dist/esm/interfaces/keyvalue-interface.d.ts +173 -0
- package/dist/esm/interfaces/keyvalue-interface.d.ts.map +1 -0
- package/dist/esm/interfaces/message-interface.d.ts +21 -0
- package/dist/esm/interfaces/message-interface.d.ts.map +1 -0
- package/dist/esm/interfaces/util-interface.d.ts +29 -0
- package/dist/esm/interfaces/util-interface.d.ts.map +1 -0
- package/dist/esm/modules/aiproxy-module.d.ts +57 -0
- package/dist/esm/modules/aiproxy-module.d.ts.map +1 -0
- package/dist/esm/modules/auth-module.d.ts +145 -0
- package/dist/esm/modules/auth-module.d.ts.map +1 -0
- package/dist/esm/modules/cache-module.d.ts +40 -0
- package/dist/esm/modules/cache-module.d.ts.map +1 -0
- package/dist/esm/modules/client-module.d.ts +31 -0
- package/dist/esm/modules/client-module.d.ts.map +1 -0
- package/dist/esm/modules/comment-module.d.ts +119 -0
- package/dist/esm/modules/comment-module.d.ts.map +1 -0
- package/dist/esm/modules/components/news-components.d.ts +83 -0
- package/dist/esm/modules/components/news-components.d.ts.map +1 -0
- package/dist/esm/modules/database-module.d.ts +153 -0
- package/dist/esm/modules/database-module.d.ts.map +1 -0
- package/dist/esm/modules/file-module.d.ts +118 -0
- package/dist/esm/modules/file-module.d.ts.map +1 -0
- package/dist/esm/modules/index.d.ts +11 -0
- package/dist/esm/modules/index.d.ts.map +1 -0
- package/dist/esm/modules/keyvalue-module.d.ts +163 -0
- package/dist/esm/modules/keyvalue-module.d.ts.map +1 -0
- package/dist/esm/modules/message-module.d.ts +42 -0
- package/dist/esm/modules/message-module.d.ts.map +1 -0
- package/dist/esm/modules/util-module.d.ts +58 -0
- package/dist/esm/modules/util-module.d.ts.map +1 -0
- package/dist/esm/proto/datasource.d.ts +29 -0
- package/dist/esm/proto/datasource.d.ts.map +1 -0
- package/dist/esm/serverless/base_entity.d.ts +12 -0
- package/dist/esm/serverless/base_entity.d.ts.map +1 -0
- package/dist/esm/serverless/base_repository.d.ts +49 -0
- package/dist/esm/serverless/base_repository.d.ts.map +1 -0
- package/dist/esm/serverless/decorator_factory.d.ts +84 -0
- package/dist/esm/serverless/decorator_factory.d.ts.map +1 -0
- package/dist/esm/util/BrowserLineReader.d.ts +34 -0
- package/dist/esm/util/BrowserLineReader.d.ts.map +1 -0
- package/dist/esm/util/base64.d.ts +11 -0
- package/dist/esm/util/base64.d.ts.map +1 -0
- package/dist/esm/util/bcrypt.d.ts +23 -0
- package/dist/esm/util/bcrypt.d.ts.map +1 -0
- package/dist/esm/util/curve25519Encryption.d.ts +21 -0
- package/dist/esm/util/curve25519Encryption.d.ts.map +1 -0
- package/dist/esm/util/dccrypt.d.ts +3 -0
- package/dist/esm/util/dccrypt.d.ts.map +1 -0
- package/dist/esm/util/logger.d.ts +38 -0
- package/dist/esm/util/logger.d.ts.map +1 -0
- package/dist/esm/util/utils.d.ts +54 -0
- package/dist/esm/util/utils.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { ICollectionConfig, IDBInfo } from "../implements/threaddb/core/core";
|
|
2
|
+
/**
|
|
3
|
+
* 数据库操作接口,这个数据库主要由threadid确保唯一,servicekey,readkey多重加密来确保数据安全,其中readkey永远不离开用户,servicekey会在DC云端的TEE环境中参与数据备份
|
|
4
|
+
* 提供基于ThreadDB的分布式数据库管理功能
|
|
5
|
+
*/
|
|
6
|
+
export interface IDatabaseOperations {
|
|
7
|
+
/**
|
|
8
|
+
* 初始化数据库管理器
|
|
9
|
+
* 创建数据库操作所需的组件和服务
|
|
10
|
+
* @returns 错误信息
|
|
11
|
+
*/
|
|
12
|
+
initDBManager(): Promise<Error | null>;
|
|
13
|
+
resetDBManager(): void;
|
|
14
|
+
/**
|
|
15
|
+
* 创建新数据库
|
|
16
|
+
* @param name 数据库名称
|
|
17
|
+
* @param b32Rk base32编码的读取密钥
|
|
18
|
+
* @param b32Sk base32编码的服务密钥
|
|
19
|
+
* @param jsonCollections 集合配置数组,定义数据库中的集合结构
|
|
20
|
+
* @returns 创建的线程ID和错误信息
|
|
21
|
+
*/
|
|
22
|
+
newDB(name: string, b32Rk: string, b32Sk: string, jsonCollections: ICollectionConfig[]): Promise<[string | null, Error | null]>;
|
|
23
|
+
/**
|
|
24
|
+
* 从分布式网络同步数据库
|
|
25
|
+
* @param threadid 线程ID
|
|
26
|
+
* @param dbname 数据库名称
|
|
27
|
+
* @param dbAddr 数据库地址
|
|
28
|
+
* @param b32Rk base32编码的读取密钥
|
|
29
|
+
* @param b32Sk base32编码的服务密钥
|
|
30
|
+
* @param block 是否阻塞等待同步完成
|
|
31
|
+
* @param collectionInfos 集合配置数组,定义数据库中的集合结构
|
|
32
|
+
* @returns 错误信息或null表示成功
|
|
33
|
+
*/
|
|
34
|
+
syncDbFromDC(threadid: string, dbname: string, dbAddr: string, b32Rk: string, b32Sk: string, block: boolean, collectionInfos: ICollectionConfig[]): Promise<Error | null>;
|
|
35
|
+
/**
|
|
36
|
+
* 刷新数据库,从分布式网络获取最新数据
|
|
37
|
+
* @param threadid 数据库线程ID
|
|
38
|
+
* @returns 错误信息或null表示成功
|
|
39
|
+
*/
|
|
40
|
+
refreshDBFromDC(threadid: string): Promise<Error | null>;
|
|
41
|
+
/**
|
|
42
|
+
* 同步数据库到分布式网络
|
|
43
|
+
* @param tId 线程ID
|
|
44
|
+
* @returns 错误信息或null表示成功
|
|
45
|
+
*/
|
|
46
|
+
syncDBToDC(tId: string): Promise<Error | null>;
|
|
47
|
+
autoExpandDBSpace(threadId: string, expandSpace: number): Promise<boolean>;
|
|
48
|
+
/**
|
|
49
|
+
* 获取数据库信息
|
|
50
|
+
* @param id threaddbID
|
|
51
|
+
* @returns 数据库信息字符串,或错误
|
|
52
|
+
*/
|
|
53
|
+
getDBInfo(id: string): Promise<[IDBInfo | null, Error | null]>;
|
|
54
|
+
/**
|
|
55
|
+
* 升级集合结构
|
|
56
|
+
* @param threadId 线程ID
|
|
57
|
+
* @param collections 集合配置列表
|
|
58
|
+
* @returns 错误信息或null
|
|
59
|
+
*/
|
|
60
|
+
upgradeCollections(threadId: string, collections: ICollectionConfig[]): Promise<Error | null>;
|
|
61
|
+
/**
|
|
62
|
+
* 关闭数据库管理器
|
|
63
|
+
* @throws 关闭失败时抛出错误
|
|
64
|
+
*/
|
|
65
|
+
close(): Promise<Error | null>;
|
|
66
|
+
/**
|
|
67
|
+
* 在集合中创建新对象实例
|
|
68
|
+
* @param threadId 线程ID
|
|
69
|
+
* @param collectionName 集合名称
|
|
70
|
+
* @param jsonInstance JSON字符串表示的实例对象
|
|
71
|
+
* @returns 创建的实例ID,或错误
|
|
72
|
+
*/
|
|
73
|
+
create(threadId: string, collectionName: string, jsonInstance: string): Promise<[string | null, Error | null]>;
|
|
74
|
+
/**
|
|
75
|
+
* 通过ID删除实例
|
|
76
|
+
* @param threadId 线程ID
|
|
77
|
+
* @param collectionName 集合名称
|
|
78
|
+
* @param instanceID 要删除的实例ID
|
|
79
|
+
* @throws 删除失败时抛出错误
|
|
80
|
+
*/
|
|
81
|
+
delete(threadId: string, collectionName: string, instanceID: string): Promise<Error | null>;
|
|
82
|
+
/**
|
|
83
|
+
* 更新已存在的实例
|
|
84
|
+
* @param threadId 线程ID
|
|
85
|
+
* @param collectionName 集合名称
|
|
86
|
+
* @param instance JSON字符串表示的实例对象
|
|
87
|
+
* @throws 更新失败时抛出错误
|
|
88
|
+
*/
|
|
89
|
+
save(threadId: string, collectionName: string, instance: string): Promise<Error | null>;
|
|
90
|
+
/**
|
|
91
|
+
* 批量删除多个实例
|
|
92
|
+
* @param threadId 线程ID
|
|
93
|
+
* @param collectionName 集合名称
|
|
94
|
+
* @param instanceIDs 逗号分隔或JSON数组表示的实例ID列表
|
|
95
|
+
* @throws 删除失败时抛出错误
|
|
96
|
+
*/
|
|
97
|
+
deleteMany(threadId: string, collectionName: string, instanceIDs: string): Promise<Error | null>;
|
|
98
|
+
/**
|
|
99
|
+
* 检查指定实例是否存在
|
|
100
|
+
* @param threadId 线程ID
|
|
101
|
+
* @param collectionName 集合名称
|
|
102
|
+
* @param instanceID 要检查的实例ID
|
|
103
|
+
* @returns 布尔值表示实例是否存在
|
|
104
|
+
*/
|
|
105
|
+
has(threadId: string, collectionName: string, instanceID: string): Promise<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* 根据查询条件查找实例
|
|
108
|
+
* @param threadId 线程ID
|
|
109
|
+
* @param collectionName 集合名称
|
|
110
|
+
* @param queryString JSON字符串表示的查询条件,
|
|
111
|
+
* 格式举例:(condition表示and条件组合, ors表示或条件组合, sort表示排序, seek表示分页)
|
|
112
|
+
* 格式1: `{"condition":"age=80 and name='John'"}`,"sort":{"fieldPath":"age","desc":true}}`
|
|
113
|
+
* 格式2: `{"ors":[{"condition":"age = 21 and name = 'foo'"}]}`
|
|
114
|
+
* 格式3: `{"condition":"age > 21 ","ors":[{"condition":"age = 21 and name = 'foo'"}],"sort":{"fieldPath":"age","desc":true},skip:10,"seek":"01fyc691gh671nf0s8qpt0ych8"}`
|
|
115
|
+
* @returns JSON字符串表示的查询结果
|
|
116
|
+
* @throws 查询失败时抛出错误
|
|
117
|
+
*/
|
|
118
|
+
find(threadId: string, collectionName: string, queryString?: string): Promise<[string | null, Error | null]>;
|
|
119
|
+
/**
|
|
120
|
+
* 通过ID查找实例
|
|
121
|
+
* @param threadId 线程ID
|
|
122
|
+
* @param collectionName 集合名称
|
|
123
|
+
* @param instanceID 实例ID
|
|
124
|
+
* @returns JSON字符串表示的实例
|
|
125
|
+
* @throws 查询失败时抛出错误
|
|
126
|
+
*/
|
|
127
|
+
findByID(threadId: string, collectionName: string, instanceID: string): Promise<[string | null, Error | null]>;
|
|
128
|
+
/**
|
|
129
|
+
* 获取在指定时间后被修改的实例ID列表
|
|
130
|
+
* @param threadId 线程ID
|
|
131
|
+
* @param collectionName 集合名称
|
|
132
|
+
* @param time 时间戳(毫秒)
|
|
133
|
+
* @returns JSON字符串表示的实例ID列表
|
|
134
|
+
* @throws 查询失败时抛出错误
|
|
135
|
+
*/
|
|
136
|
+
modifiedSince(threadId: string, collectionName: string, time: number): Promise<[string | null, Error | null]>;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=database-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-interface.d.ts","sourceRoot":"","sources":["../../../lib/interfaces/database-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { SeekableFileStream } from "../implements/file/seekableFileStream";
|
|
2
|
+
/**
|
|
3
|
+
* 文件操作接口
|
|
4
|
+
* 提供文件上传、下载、缓存等功能
|
|
5
|
+
*/
|
|
6
|
+
export interface IFileOperations {
|
|
7
|
+
/**
|
|
8
|
+
* 获取可寻址文件流
|
|
9
|
+
* @param ipfsPath IPFS路径或CID
|
|
10
|
+
* @param decryptKey 解密密钥,base32的symmetric key
|
|
11
|
+
* @returns 可寻址文件流实例
|
|
12
|
+
*/
|
|
13
|
+
getSeekableFileStream(ipfsPath: string, decryptKey: string): Promise<SeekableFileStream>;
|
|
14
|
+
/**
|
|
15
|
+
* 获取指定文件夹CID中指定路径的文件流
|
|
16
|
+
* @param rootCid 根文件夹CID
|
|
17
|
+
* @param filePath 文件相对路径
|
|
18
|
+
* @param decryptKey 解密密钥
|
|
19
|
+
* @returns 可寻址文件流实例
|
|
20
|
+
*/
|
|
21
|
+
getSeekableFileStreamFromDir(rootCid: string, filePath: string, decryptKey: string): Promise<SeekableFileStream>;
|
|
22
|
+
/**
|
|
23
|
+
* 清理文件缓存
|
|
24
|
+
* @param pathname 可选的特定路径,不提供则清除所有缓存
|
|
25
|
+
*/
|
|
26
|
+
clearFileCache(pathname?: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* 获取缓存统计信息
|
|
29
|
+
* @returns 包含缓存总数和键列表的统计对象
|
|
30
|
+
*/
|
|
31
|
+
getCacheStats(): [{
|
|
32
|
+
total: number;
|
|
33
|
+
keys: string[];
|
|
34
|
+
} | null, Error | null];
|
|
35
|
+
/**
|
|
36
|
+
* 获取文件内容
|
|
37
|
+
* @param cid 文件的内容标识符
|
|
38
|
+
* @param decryptKey 解密密钥
|
|
39
|
+
* @returns 文件的字节数组,失败则返回undefined
|
|
40
|
+
*/
|
|
41
|
+
getFile(cid: string, decryptKey: string): Promise<[Uint8Array | null, Error | null]>;
|
|
42
|
+
/**
|
|
43
|
+
* 获取指定文件夹CID中指定路径的文件内容或目录列表
|
|
44
|
+
* @param rootCid 根文件夹CID
|
|
45
|
+
* @param filePath 文件相对路径
|
|
46
|
+
* @param decryptKey 解密密钥
|
|
47
|
+
* @returns 文件的字节数组或目录列表,失败则返回undefined
|
|
48
|
+
*/
|
|
49
|
+
getFileFromDir(rootCid: string, filePath: string, decryptKey: string): Promise<[Uint8Array | Array<{
|
|
50
|
+
Name: string;
|
|
51
|
+
Type: number;
|
|
52
|
+
Size: number;
|
|
53
|
+
Hash: string;
|
|
54
|
+
Path: string;
|
|
55
|
+
Content?: Uint8Array;
|
|
56
|
+
}> | null, Error | null]>;
|
|
57
|
+
/**
|
|
58
|
+
* 创建文件可读流
|
|
59
|
+
* @param cid 文件的内容标识符
|
|
60
|
+
* @param decryptKey 解密密钥
|
|
61
|
+
* @returns 可读流对象,失败则返回null
|
|
62
|
+
*/
|
|
63
|
+
createFileStream(cid: string, decryptKey: string): Promise<ReadableStream<Uint8Array> | null>;
|
|
64
|
+
/**
|
|
65
|
+
* 添加文件到存储
|
|
66
|
+
* @param file 要上传的文件对象
|
|
67
|
+
* @param enkey 加密密钥
|
|
68
|
+
* @param onUpdateTransmitSize 传输进度回调函数
|
|
69
|
+
* @returns 添加结果
|
|
70
|
+
*/
|
|
71
|
+
addFile(file: File, enkey: string, onUpdateTransmitSize: (status: number, size: number) => void): Promise<[string | null, Error | null]>;
|
|
72
|
+
/**
|
|
73
|
+
* 添加文件夹到存储
|
|
74
|
+
* @param files 要上传的文件夹下的文件列表
|
|
75
|
+
* @param enkey 加密密钥,base32的symmetric key
|
|
76
|
+
* @param onUpdateTransmitCount 传输进度回调函数
|
|
77
|
+
* @returns 添加结果
|
|
78
|
+
*/
|
|
79
|
+
addFolder(files: FileList, enkey: string, onUpdateTransmitCount: (status: number, total: number, process: number) => void): Promise<[string | null, Error | null]>;
|
|
80
|
+
/**
|
|
81
|
+
* 获取文件夹下的所有文件,包括内容(支持多级目录递归)
|
|
82
|
+
* @param cid 根目录的CID
|
|
83
|
+
* @param decryptKey 解密密钥
|
|
84
|
+
* @param recursive 是否递归获取子目录,默认false(保持向后兼容)
|
|
85
|
+
* @returns 文件列表:[{Name:文件或目录名,Type:0-文件 1-目录,Size:大小,Hash:文件或目录cid,Path:完整路径}]
|
|
86
|
+
*/
|
|
87
|
+
getFolderFileListWithContent(cid: string, decryptKey: string, recursive: boolean): Promise<[Array<{
|
|
88
|
+
Name: string;
|
|
89
|
+
Type: number;
|
|
90
|
+
Size: number;
|
|
91
|
+
Hash: string;
|
|
92
|
+
Path: string;
|
|
93
|
+
Content?: Uint8Array;
|
|
94
|
+
}> | null, Error | null]>;
|
|
95
|
+
/**
|
|
96
|
+
* 获取文件夹下的文件列表(支持多级目录递归)
|
|
97
|
+
* @param cid 根目录的CID
|
|
98
|
+
* @param flag 是否需要连接节点
|
|
99
|
+
* @param recursive 是否递归获取子目录,默认false(保持向后兼容)
|
|
100
|
+
* @returns 返回JSON格式的文件列表:[{Name:文件或目录名,Type:0-文件 1-目录,Size:大小,Hash:文件或目录cid,Path:完整路径}]
|
|
101
|
+
*/
|
|
102
|
+
getFolderFileList(cid: string, flag: number, recursive: boolean): Promise<[Array<{
|
|
103
|
+
Name: string;
|
|
104
|
+
Type: number;
|
|
105
|
+
Size: number;
|
|
106
|
+
Hash: string;
|
|
107
|
+
Path: string;
|
|
108
|
+
Content?: Uint8Array;
|
|
109
|
+
}> | null, Error | null]>;
|
|
110
|
+
/**
|
|
111
|
+
* 创建自定义文件列表
|
|
112
|
+
* @param filesMap 文件列表,可以是Map或Record对象
|
|
113
|
+
* @param rootFolderName 根文件夹名称
|
|
114
|
+
* @returns 自定义文件列表对象
|
|
115
|
+
*/
|
|
116
|
+
createCustomFileList(filesMap: Map<string, string | Uint8Array | ArrayBuffer> | Record<string, string | Uint8Array | ArrayBuffer>, rootFolderName: string): [FileList | null, Error | null];
|
|
117
|
+
/**
|
|
118
|
+
* 判断CID是文件还是目录
|
|
119
|
+
* @param cid
|
|
120
|
+
* @returns 'file' | 'directory' | 'unknown'
|
|
121
|
+
*/
|
|
122
|
+
isFileOrDir(cid: string): Promise<'file' | 'directory' | 'unknown'>;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=file-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-interface.d.ts","sourceRoot":"","sources":["../../../lib/interfaces/file-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type { IAuthOperations } from './auth-interface';
|
|
2
|
+
export type { IClientOperations } from './client-interface';
|
|
3
|
+
export type { IDatabaseOperations } from './database-interface';
|
|
4
|
+
export type { IFileOperations } from './file-interface';
|
|
5
|
+
export type { IMessageOperations } from './message-interface';
|
|
6
|
+
export type { IKeyValueOperations } from './keyvalue-interface';
|
|
7
|
+
export type { ICommentOperations } from './comment-interface';
|
|
8
|
+
export type { ICacheOperations } from './cache-interface';
|
|
9
|
+
export type { DCContext } from './DCContext';
|
|
10
|
+
export type { IUtilOperations } from './util-interface';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAC,SAAS,EAAC,MAAO,aAAa,CAAC;AAC5C,YAAY,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { Direction } from "../common/define";
|
|
2
|
+
import { ThemePermission } from "../common/constants";
|
|
3
|
+
import { ThemeAuthInfo, ThemeComment } from "../common/types/types";
|
|
4
|
+
import { KeyValueStoreType, KeyValueDB } from "../implements/keyvalue/manager";
|
|
5
|
+
/**
|
|
6
|
+
* 键值存储操作接口
|
|
7
|
+
* 提供分布式键值存储的创建、权限管理和数据操作功能
|
|
8
|
+
*/
|
|
9
|
+
export interface IKeyValueOperations {
|
|
10
|
+
/**
|
|
11
|
+
* 创建key-value存储库
|
|
12
|
+
* @param appId 应用ID
|
|
13
|
+
* @param theme 库主题名称
|
|
14
|
+
* @param space 分配的存储空间大小(字节)
|
|
15
|
+
* @param type 存储主题类型 1:鉴权主题(读写都需要鉴权) 2:公共主题(默认所有用户可读,写需要鉴权)
|
|
16
|
+
* @returns 创建的keyvalue数据库实例和可能的错误信息
|
|
17
|
+
*/
|
|
18
|
+
createStore(appId: string, theme: string, space: number, type: KeyValueStoreType): Promise<[KeyValueDB | null, Error | null]>;
|
|
19
|
+
/**
|
|
20
|
+
* 获取指定主题的keyvalue数据库
|
|
21
|
+
* @param appId 应用ID
|
|
22
|
+
* @param theme 主题名称
|
|
23
|
+
* @param themeAuthor 数据库创建者的公钥
|
|
24
|
+
* @returns keyvalue数据库实例
|
|
25
|
+
*/
|
|
26
|
+
getStore(appId: string, theme: string, themeAuthor: string): Promise<[KeyValueDB | null, Error | null]>;
|
|
27
|
+
/**
|
|
28
|
+
* 配置主题的授权信息
|
|
29
|
+
* @param kvdb keyvalue数据库实例
|
|
30
|
+
* @param authPubkey 被授权者的公钥
|
|
31
|
+
* @param permission 权限级别
|
|
32
|
+
* @param remark 备注信息
|
|
33
|
+
* @param vaccount 可选的虚拟账户
|
|
34
|
+
* @returns [授权状态码, 错误信息]
|
|
35
|
+
*/
|
|
36
|
+
configAuth(kvdb: KeyValueDB, authPubkey: string, permission: ThemePermission, remark: string, vaccount?: string): Promise<[number | null, Error | null]>;
|
|
37
|
+
/**
|
|
38
|
+
* 获取主题的授权列表
|
|
39
|
+
* @param kvdb keyvalue数据库实例
|
|
40
|
+
* @param vaccount 可选的虚拟账户
|
|
41
|
+
* @returns [授权列表,含签名的原始授权列表, 错误信息]
|
|
42
|
+
*/
|
|
43
|
+
getAuthList(kvdb: KeyValueDB, vaccount?: string): Promise<[ThemeAuthInfo[] | null, ThemeComment[] | null, Error | null]>;
|
|
44
|
+
/**
|
|
45
|
+
* 获取当前用户自身的kevdb授权信息,用户自己调用
|
|
46
|
+
* @param kvdb keyvalue数据库实例
|
|
47
|
+
* @param vaccount 可选的虚拟账户
|
|
48
|
+
* @returns [授权配置, 错误信息]
|
|
49
|
+
*/
|
|
50
|
+
GetUserOwnAuth(kvdb: KeyValueDB, vaccount?: string): Promise<[ThemeAuthInfo | null, Error | null]>;
|
|
51
|
+
/**
|
|
52
|
+
* 获取指定用户授权信息
|
|
53
|
+
* @param kvdb keyvalue数据库实例
|
|
54
|
+
* @param userPubkey 用户公钥
|
|
55
|
+
* @param vaccount 可选的虚拟账户
|
|
56
|
+
* @returns [授权信息, 错误信息]
|
|
57
|
+
*/
|
|
58
|
+
GetUserAuth(kvdb: KeyValueDB, userPubkey: string, vaccount?: string): Promise<[ThemeAuthInfo | null, Error | null]>;
|
|
59
|
+
/**
|
|
60
|
+
* 设置键值对,支持索引功能
|
|
61
|
+
* @param kvdb: KeyValueDB,
|
|
62
|
+
* @param key 键名
|
|
63
|
+
* @param value 值内容
|
|
64
|
+
* @param indexs 索引列表,格式为json字符串:[{key:"indexkey1",type:"string",value:"value"},{key:"indexkey2",type:"number", value:12}],设置索引后,后续查询可以通过索引快速定位
|
|
65
|
+
* @param vaccount 可选的虚拟账户
|
|
66
|
+
* @returns [是否设置成功, 时间戳, 错误信息]
|
|
67
|
+
*/
|
|
68
|
+
set(kvdb: KeyValueDB, key: string, value: string, indexs: string, vaccount?: string): Promise<[boolean | null, number | null, Error | null]>;
|
|
69
|
+
/**
|
|
70
|
+
* 设置需要统计功能的键值对,调用本方法如果valueFlag为false时,会为key对应value中的指定字段进行加减操作,这时直接可以通过get方法传入key获取到最新的值内容
|
|
71
|
+
* 也自动为DB全局的统计字段进行加减操作,如果valueFlag为true,则只为DB全局的统计字段进行加减操作,支持索引功能
|
|
72
|
+
* @param kvdb: KeyValueDB,
|
|
73
|
+
* @param key 键名
|
|
74
|
+
* @param value 值内容,格式如下:{add:{"field1":10,"field2":5},sub:{"field1":10,"field2":-5},allflag:true,countdate:"2020-01-01",yearFlag:true,monthFlag:true,valueFlag:true,value:"value"}
|
|
75
|
+
* 表示对field1进行加10,减10,对field2进行加5,减-5,allflag表示是不是累计到主题总计数上,如果为true,则同时更新主题的总计数,否则只更新当前key的统计值,countdate不为空表示统计
|
|
76
|
+
* 到所有key累计的总的countdate日期上,yearFlag为true,表示统计值添加到所有key累计的总的按年统计,monthFlag为true,表示统计值添加到所有key累计的总的按月统计,valueFlag为true,表示同时设置该key的值为value字段指定的内容
|
|
77
|
+
* @param indexs 索引列表,格式为json字符串:[{key:"indexkey1",type:"string",value:"value"},{key:"indexkey2",type:"number", value:12}],设置索引后,后续查询可以通过索引快速定位
|
|
78
|
+
* @param vaccount 可选的虚拟账户
|
|
79
|
+
* @returns [是否设置成功, 时间戳, 错误信息]
|
|
80
|
+
*/
|
|
81
|
+
setWithCount(kvdb: KeyValueDB, key: string, value: string, indexs: string, vaccount?: string): Promise<[boolean | null, number | null, Error | null]>;
|
|
82
|
+
/** 获取DB全局的统计数据,即所有key设置操作累计的的统计数据汇总
|
|
83
|
+
* @param kvdb: KeyValueDB,
|
|
84
|
+
* @param countType 统计类型,0:总计数,1:按天统计,2:按月统计,3:按年统计
|
|
85
|
+
* @param typeStr 类型字符串,countType:0 时为空, countType:1时格式为"yyyy-MM-dd",countType:2时格式为"yyyy-MM",countType:3时格式为"yyyy"
|
|
86
|
+
* @param vaccount 可选的虚拟账户
|
|
87
|
+
* @returns [统计值json字符串格式{field1:10,field2:5}, 错误信息]
|
|
88
|
+
*/
|
|
89
|
+
getDBCount(kvdb: KeyValueDB, countType: number, //统计类型,0:总计数,1:按天统计,2:按月统计,3:按年统计
|
|
90
|
+
typeStr: string, //类型字符串,countType:0 时为空, countType:1时格式为"yyyy-MM-dd",countType:2时格式为"yyyy-MM",countType:3时格式为"yyyy"
|
|
91
|
+
vaccount?: string): Promise<[string | null, Error | null]>;
|
|
92
|
+
/**
|
|
93
|
+
* 获取当前用户设置的指定键的元数据
|
|
94
|
+
* @param kvdb
|
|
95
|
+
* @param key
|
|
96
|
+
* @param vaccount
|
|
97
|
+
* @returns [值, 错误信息],值的格式: value$$$dckv_extra$$${'dc_timestamp':'%d','dc_opuser':'%s'}
|
|
98
|
+
*/
|
|
99
|
+
getValueSetByCurrentUser(kvdb: KeyValueDB, key: string, vaccount?: string): Promise<[string | null, Error | null]>;
|
|
100
|
+
/**
|
|
101
|
+
* 获取指定键的值
|
|
102
|
+
* @param kvdb: KeyValueDB,
|
|
103
|
+
* @param key 键名
|
|
104
|
+
* @param writerPubkey 写入者的公钥,如果不指定,则获取所有用户写入的该key的最新值
|
|
105
|
+
* @param vaccount 可选的虚拟账户
|
|
106
|
+
* @returns [值内容, 错误信息] 值的格式: value$$$dckv_extra$$${'dc_timestamp':'%d','dc_opuser':'%s'}
|
|
107
|
+
*/
|
|
108
|
+
get(kvdb: KeyValueDB, key: string, writerPubkey?: string, vaccount?: string): Promise<[string | null, Error | null]>;
|
|
109
|
+
/**
|
|
110
|
+
* 获取指定键的值列表,按key的字典序排序
|
|
111
|
+
* @param kvdb: KeyValueDB,
|
|
112
|
+
* @param key 键名
|
|
113
|
+
* @param limit 返回结果数量限制
|
|
114
|
+
* @param seekKey 查询起始键,用于分页查询
|
|
115
|
+
* @param direction 查询方向
|
|
116
|
+
* @param offset 结果偏移量
|
|
117
|
+
* @param vaccount 可选的虚拟账户
|
|
118
|
+
* @returns [值列表数组生成的json字符串, 错误信息] 数组的每个元素的格式: key:value$$$dckv_extra$$${'dc_timestamp':'%d','dc_opuser':'%s'}
|
|
119
|
+
*/
|
|
120
|
+
getValues(kvdb: KeyValueDB, key: string, options: {
|
|
121
|
+
limit?: number;
|
|
122
|
+
seekKey?: string;
|
|
123
|
+
direction?: Direction;
|
|
124
|
+
offset?: number;
|
|
125
|
+
}, vaccount?: string): Promise<[string | null, Error | null]>;
|
|
126
|
+
/**
|
|
127
|
+
* 批量获取多个键的值
|
|
128
|
+
* @param kvdb: KeyValueDB,
|
|
129
|
+
* @param keys 多个键名,逗号分隔
|
|
130
|
+
* @param writerPubkey 写入者的公钥,可选,默认为主题作者
|
|
131
|
+
* @param vaccount 可选的虚拟账户
|
|
132
|
+
* @returns [值列表数组生成的json字符串, 错误信息] 数组的每个元素的格式: key:value$$$dckv_extra$$${'dc_timestamp':'%d','dc_opuser':'%s'}
|
|
133
|
+
*/
|
|
134
|
+
getBatch(kvdb: KeyValueDB, keys: string, writerPubkey?: string, vaccount?: string): Promise<[string | null, Error | null]>;
|
|
135
|
+
/**
|
|
136
|
+
* 通过索引查询键值对
|
|
137
|
+
* @param kvdb: KeyValueDB,
|
|
138
|
+
* @param indexKey 索引键名
|
|
139
|
+
* @param indexValue 索引值
|
|
140
|
+
* @param type 索引值类型
|
|
141
|
+
* @param seekKey 查询起始键
|
|
142
|
+
* @param offset 结果偏移量
|
|
143
|
+
* @param direction 查询方向 (Forward/Backward)
|
|
144
|
+
* @param limit 返回结果数量限制
|
|
145
|
+
* @param vaccount 可选的虚拟账户
|
|
146
|
+
* @returns [值列表数组生成的json字符串, 错误信息] 数组的每个元素的格式: key:value$$$dckv_extra$$${'dc_timestamp':'%d','dc_opuser':'%s'}
|
|
147
|
+
*/
|
|
148
|
+
getWithIndex(kvdb: KeyValueDB, indexKey: string, indexValue: string, options: {
|
|
149
|
+
type?: string;
|
|
150
|
+
limit?: number;
|
|
151
|
+
seekKey?: string;
|
|
152
|
+
direction?: Direction;
|
|
153
|
+
offset?: number;
|
|
154
|
+
}, vaccount?: string): Promise<[string | null, Error | null]>;
|
|
155
|
+
/**
|
|
156
|
+
* 按设置时间顺序获取主题的的键值对列表
|
|
157
|
+
* @param kvdb KeyValueDB实例
|
|
158
|
+
* @param limit 返回结果数量限制
|
|
159
|
+
* @param seekKey 查询起始键,用于分页查询
|
|
160
|
+
* @param direction 查询方向
|
|
161
|
+
* @param offset 结果偏移量
|
|
162
|
+
* @param vaccount 可选的虚拟账户
|
|
163
|
+
* @returns [值列表数组生成的json字符串, 错误信息] 数组的每个元素的格式: key:value$$$dckv_extra$$${'dc_timestamp':'%d','dc_opuser':'%s'}
|
|
164
|
+
*/
|
|
165
|
+
getWithTimeOrder(kvdb: KeyValueDB, timestamp: number, //毫秒时间戳
|
|
166
|
+
options: {
|
|
167
|
+
limit?: number;
|
|
168
|
+
seekKey?: string;
|
|
169
|
+
direction?: Direction;
|
|
170
|
+
offset?: number;
|
|
171
|
+
}, vaccount?: string): Promise<[string | null, Error | null]>;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=keyvalue-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyvalue-interface.d.ts","sourceRoot":"","sources":["../../../lib/interfaces/keyvalue-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { dcnet } from "../../lib/proto/dcnet_proto";
|
|
2
|
+
/**
|
|
3
|
+
* 消息操作接口
|
|
4
|
+
* 提供用户消息盒子的收发功能
|
|
5
|
+
*/
|
|
6
|
+
export interface IMessageOperations {
|
|
7
|
+
/**
|
|
8
|
+
* 发送消息到用户消息盒子
|
|
9
|
+
* @param receiver 接收者的公钥或账号标识
|
|
10
|
+
* @param msg 消息内容
|
|
11
|
+
* @returns 发送结果,包含消息ID和时间戳
|
|
12
|
+
*/
|
|
13
|
+
sendMsgToUserBox(receiver: string, msg: string): Promise<[number | null, Error | null]>;
|
|
14
|
+
/**
|
|
15
|
+
* 从用户消息盒子获取消息
|
|
16
|
+
* @param limit 可选,限制返回消息的最大数量,默认由系统决定
|
|
17
|
+
* @returns 消息列表,按时间顺序排列
|
|
18
|
+
*/
|
|
19
|
+
getMsgFromUserBox(limit?: number): Promise<[dcnet.pb.IUserMsg[] | null, Error | null]>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=message-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-interface.d.ts","sourceRoot":"","sources":["../../../lib/interfaces/message-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;IAExF;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;CACxF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IAppInfo } from '../../lib/common/types/types';
|
|
2
|
+
import { SymmetricKey, Key as ThreadKey } from '../implements/threaddb/common/key';
|
|
3
|
+
import { IFileOperations } from './file-interface';
|
|
4
|
+
export interface IUtilOperations {
|
|
5
|
+
createSymmetricKey(): SymmetricKey;
|
|
6
|
+
createThreadKey(): ThreadKey;
|
|
7
|
+
/**
|
|
8
|
+
* 设置应用信息,发布应用时调用
|
|
9
|
+
* @param appId string 应用ID
|
|
10
|
+
* @param fid
|
|
11
|
+
* @param domain
|
|
12
|
+
* @param owner
|
|
13
|
+
* @param rewarder
|
|
14
|
+
*/
|
|
15
|
+
setAppInfo(appId: string, fid: string, domain: string, owner?: string, rewarder?: string): Promise<[boolean | null, Error | null]>;
|
|
16
|
+
getAppInfo(appId: string): Promise<[IAppInfo | null, Error | null]>;
|
|
17
|
+
/**
|
|
18
|
+
* 处理IPFS请求
|
|
19
|
+
* @param data 请求数据
|
|
20
|
+
* @param port 消息端口
|
|
21
|
+
* @param fileOps 文件操作对象
|
|
22
|
+
*/
|
|
23
|
+
handleIpfsRequest(data: {
|
|
24
|
+
id: string;
|
|
25
|
+
pathname: string;
|
|
26
|
+
range?: string;
|
|
27
|
+
}, port: MessagePort, fileOps?: IFileOperations): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=util-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util-interface.d.ts","sourceRoot":"","sources":["../../../lib/interfaces/util-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,WAAW,eAAe;IAC5B,kBAAkB,IAAI,YAAY,CAAC;IACnC,eAAe,IAAI,SAAS,CAAC;IAC7B;;;;;;;OAOG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,CAAC,EAAE,MAAM,EAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,OAAO,GAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;IAC3H,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,QAAQ,GAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;IAElE;;;;;OAKG;IACF,iBAAiB,CAChB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EACtD,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { DCContext } from "../../lib/interfaces/DCContext";
|
|
2
|
+
import { DCModule, CoreModuleName } from "../common/module-system";
|
|
3
|
+
import { AIProxyConfig, GetUserAIProxyAuthParams, OnStreamResponseType, ProxyCallConfig, UserProxyCallConfig } from "../common/types/types";
|
|
4
|
+
import { AIProxyUserPermission } from "../common/constants";
|
|
5
|
+
import { IAICallConfig } from "../common/types/types";
|
|
6
|
+
import { IAIProxyOperations } from "../../lib/interfaces/aiproxy-interface";
|
|
7
|
+
/**
|
|
8
|
+
* AI代理模块
|
|
9
|
+
* 提供AI代理的配置和调用
|
|
10
|
+
*/
|
|
11
|
+
export declare class AIProxyModule implements DCModule, IAIProxyOperations {
|
|
12
|
+
readonly moduleName = CoreModuleName.AIPROXY;
|
|
13
|
+
private aiProxyManager;
|
|
14
|
+
private initialized;
|
|
15
|
+
private aiCallConfig;
|
|
16
|
+
/**
|
|
17
|
+
* 初始化AI代理模块
|
|
18
|
+
* @param context DC上下文
|
|
19
|
+
* @returns 是否初始化成功
|
|
20
|
+
*/
|
|
21
|
+
initialize(context: DCContext): Promise<boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* 关闭AI代理模块
|
|
24
|
+
*/
|
|
25
|
+
shutdown(): Promise<void>;
|
|
26
|
+
createProxyConfig(appId: string, configTheme: string): Promise<[number | null, Error | null]>;
|
|
27
|
+
deleteProxyConfig(appId: string, configTheme: string): Promise<[number | null, Error | null]>;
|
|
28
|
+
configAIProxy(appId: string, configAuthor: string, configTheme: string, serviceName: string, serviceConfig?: AIProxyConfig, vaccount?: string): Promise<[boolean | null, Error | null]>;
|
|
29
|
+
configAuth(appId: string, configAuthor: string, configTheme: string, authPubkey: string, permission: AIProxyUserPermission, authConfig: ProxyCallConfig, vaccount?: string): Promise<[number | null, Error | null]>;
|
|
30
|
+
GetAIProxyConfig(appId: string, themeAuthor: string, configTheme: string, vaccount?: string): Promise<[
|
|
31
|
+
UserProxyCallConfig[] | null,
|
|
32
|
+
AIProxyConfig[] | null,
|
|
33
|
+
Error | null
|
|
34
|
+
]>;
|
|
35
|
+
GetUserOwnAIProxyAuth(appId: string, themeAuthor: string, configTheme: string): Promise<[authConfig: ProxyCallConfig | null, error: Error | null]>;
|
|
36
|
+
DoAIProxyCall(context: {
|
|
37
|
+
signal?: AbortSignal;
|
|
38
|
+
}, reqBody: string, forceRefresh: boolean, onStreamResponse: OnStreamResponseType, appId?: string, themeAuthor?: string, configTheme?: string, serviceName?: string, headers?: Record<string, string>, path?: string, model?: string): Promise<[number | null, Error | null]>;
|
|
39
|
+
/**
|
|
40
|
+
* 设置AI调用的配置
|
|
41
|
+
* @param appId 应用ID
|
|
42
|
+
* @param themeAuthor 主题作者的公钥
|
|
43
|
+
* @param configTheme 配置主题
|
|
44
|
+
* @param serviceName 服务名称
|
|
45
|
+
* @param headers 请求头(可选)
|
|
46
|
+
* @param path 请求路径(可选)
|
|
47
|
+
* @param model 模型名称(可选)
|
|
48
|
+
* @returns Promise<void>
|
|
49
|
+
* */
|
|
50
|
+
SetAICallConfig(callConfig: IAICallConfig): Promise<Error | null>;
|
|
51
|
+
GetUserAIProxyAuth(params: GetUserAIProxyAuthParams): Promise<[authConfigs: ProxyCallConfig[] | null, error: Error | null]>;
|
|
52
|
+
/**
|
|
53
|
+
* 断言模块已初始化
|
|
54
|
+
*/
|
|
55
|
+
private assertInitialized;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=aiproxy-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiproxy-module.d.ts","sourceRoot":"","sources":["../../../lib/modules/aiproxy-module.ts"],"names":[],"mappings":"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"}
|