web-dc-api 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/dc.min.js +1 -1
  3. package/dist/esm/index.js +1 -1
  4. package/dist/index.d.ts +934 -878
  5. package/package.json +4 -8
  6. package/dist/cjs/helia-core-B1Xqha7a.js +0 -1
  7. package/dist/cjs/helia-core-D8Uv1KjQ.js +0 -1
  8. package/dist/cjs/polkadot-api-7PhQf3ws.js +0 -1
  9. package/dist/cjs/polkadot-api-CtrJVWuZ.js +0 -1
  10. package/dist/esm/chunks/helia-core-BxMqyK2Y.js +0 -1
  11. package/dist/esm/chunks/helia-core-DMXRpcO-.js +0 -1
  12. package/dist/esm/chunks/polkadot-api-5Y9Bw8VT.js +0 -1
  13. package/dist/esm/chunks/polkadot-api-D69Ioun_.js +0 -1
  14. package/lib/common/blowfish/block.ts +0 -259
  15. package/lib/common/blowfish/cipher.ts +0 -144
  16. package/lib/common/blowfish/const.ts +0 -195
  17. package/lib/common/chain.ts +0 -469
  18. package/lib/common/commonclient.ts +0 -202
  19. package/lib/common/constants.ts +0 -55
  20. package/lib/common/dc-key/ed25519.ts +0 -343
  21. package/lib/common/dc-key/keyManager.ts +0 -424
  22. package/lib/common/dcapi.ts +0 -98
  23. package/lib/common/dcutil.ts +0 -627
  24. package/lib/common/define.ts +0 -70
  25. package/lib/common/error.ts +0 -67
  26. package/lib/common/grpc-dc.ts +0 -104
  27. package/lib/common/module-system.ts +0 -184
  28. package/lib/common/service-worker.ts +0 -234
  29. package/lib/common/types/types.ts +0 -344
  30. package/lib/dc.ts +0 -701
  31. package/lib/implements/account/client.ts +0 -185
  32. package/lib/implements/account/manager.ts +0 -683
  33. package/lib/implements/aiproxy/client.ts +0 -357
  34. package/lib/implements/aiproxy/manager.ts +0 -670
  35. package/lib/implements/cache/client.ts +0 -105
  36. package/lib/implements/cache/manager.ts +0 -127
  37. package/lib/implements/comment/client.ts +0 -982
  38. package/lib/implements/comment/manager.ts +0 -1151
  39. package/lib/implements/dc/client.ts +0 -51
  40. package/lib/implements/dc/manager.ts +0 -33
  41. package/lib/implements/file/client.ts +0 -253
  42. package/lib/implements/file/file-cache-manager.ts +0 -142
  43. package/lib/implements/file/manager.ts +0 -1240
  44. package/lib/implements/file/seekableFileStream.ts +0 -344
  45. package/lib/implements/file/streamwriter.ts +0 -322
  46. package/lib/implements/keyvalue/client.ts +0 -376
  47. package/lib/implements/keyvalue/manager.ts +0 -759
  48. package/lib/implements/message/client.ts +0 -250
  49. package/lib/implements/message/manager.ts +0 -215
  50. package/lib/implements/threaddb/cbor/coding.ts +0 -62
  51. package/lib/implements/threaddb/cbor/event.ts +0 -336
  52. package/lib/implements/threaddb/cbor/node.ts +0 -542
  53. package/lib/implements/threaddb/cbor/record.ts +0 -398
  54. package/lib/implements/threaddb/common/AsyncMutex.ts +0 -24
  55. package/lib/implements/threaddb/common/addrinfo.ts +0 -135
  56. package/lib/implements/threaddb/common/dispatcher.ts +0 -81
  57. package/lib/implements/threaddb/common/idbstore-adapter.ts +0 -260
  58. package/lib/implements/threaddb/common/json-patcher.ts +0 -204
  59. package/lib/implements/threaddb/common/key.ts +0 -290
  60. package/lib/implements/threaddb/common/level-adapter.ts +0 -235
  61. package/lib/implements/threaddb/common/lineReader.ts +0 -79
  62. package/lib/implements/threaddb/common/logstore.ts +0 -215
  63. package/lib/implements/threaddb/common/transformed-datastore.ts +0 -308
  64. package/lib/implements/threaddb/core/app.ts +0 -206
  65. package/lib/implements/threaddb/core/core.ts +0 -230
  66. package/lib/implements/threaddb/core/db.ts +0 -249
  67. package/lib/implements/threaddb/core/event.ts +0 -54
  68. package/lib/implements/threaddb/core/head.ts +0 -89
  69. package/lib/implements/threaddb/core/identity.ts +0 -171
  70. package/lib/implements/threaddb/core/logstore.ts +0 -137
  71. package/lib/implements/threaddb/core/options.ts +0 -14
  72. package/lib/implements/threaddb/core/record.ts +0 -54
  73. package/lib/implements/threaddb/db/collection.ts +0 -1910
  74. package/lib/implements/threaddb/db/db.ts +0 -698
  75. package/lib/implements/threaddb/db/json2Query.ts +0 -192
  76. package/lib/implements/threaddb/db/query.ts +0 -524
  77. package/lib/implements/threaddb/dbclient.ts +0 -543
  78. package/lib/implements/threaddb/dbmanager.ts +0 -1906
  79. package/lib/implements/threaddb/lsstoreds/addr_book.ts +0 -549
  80. package/lib/implements/threaddb/lsstoreds/cache.ts +0 -36
  81. package/lib/implements/threaddb/lsstoreds/cyclic_batch.ts +0 -87
  82. package/lib/implements/threaddb/lsstoreds/global.ts +0 -151
  83. package/lib/implements/threaddb/lsstoreds/headbook.ts +0 -373
  84. package/lib/implements/threaddb/lsstoreds/keybook.ts +0 -297
  85. package/lib/implements/threaddb/lsstoreds/logstore.ts +0 -29
  86. package/lib/implements/threaddb/lsstoreds/metadata.ts +0 -223
  87. package/lib/implements/threaddb/net/define.ts +0 -149
  88. package/lib/implements/threaddb/net/grpcClient.ts +0 -589
  89. package/lib/implements/threaddb/net/grpcserver.ts +0 -146
  90. package/lib/implements/threaddb/net/net.ts +0 -2047
  91. package/lib/implements/threaddb/pb/lstore.proto +0 -38
  92. package/lib/implements/threaddb/pb/lstore.ts +0 -393
  93. package/lib/implements/threaddb/pb/lstore_pb.d.ts +0 -433
  94. package/lib/implements/threaddb/pb/lstore_pb.js +0 -1085
  95. package/lib/implements/threaddb/pb/net.proto +0 -194
  96. package/lib/implements/threaddb/pb/net_pb.d.ts +0 -2349
  97. package/lib/implements/threaddb/pb/net_pb.js +0 -5525
  98. package/lib/implements/threaddb/pb/proto-custom-types.ts +0 -212
  99. package/lib/implements/util/client.ts +0 -72
  100. package/lib/implements/util/manager.ts +0 -146
  101. package/lib/implements/wallet/manager.ts +0 -671
  102. package/lib/index.ts +0 -57
  103. package/lib/interfaces/DCContext.ts +0 -51
  104. package/lib/interfaces/aiproxy-interface.ts +0 -145
  105. package/lib/interfaces/auth-interface.ts +0 -118
  106. package/lib/interfaces/cache-interface.ts +0 -22
  107. package/lib/interfaces/client-interface.ts +0 -11
  108. package/lib/interfaces/comment-interface.ts +0 -167
  109. package/lib/interfaces/components/news-component.ts +0 -0
  110. package/lib/interfaces/database-interface.ts +0 -169
  111. package/lib/interfaces/file-interface.ts +0 -120
  112. package/lib/interfaces/index.ts +0 -10
  113. package/lib/interfaces/keyvalue-interface.ts +0 -156
  114. package/lib/interfaces/message-interface.ts +0 -22
  115. package/lib/interfaces/util-interface.ts +0 -31
  116. package/lib/modules/aiproxy-module.ts +0 -246
  117. package/lib/modules/auth-module.ts +0 -753
  118. package/lib/modules/cache-module.ts +0 -99
  119. package/lib/modules/client-module.ts +0 -71
  120. package/lib/modules/comment-module.ts +0 -429
  121. package/lib/modules/components/news-components.ts +0 -390
  122. package/lib/modules/database-module.ts +0 -598
  123. package/lib/modules/file-module.ts +0 -291
  124. package/lib/modules/index.ts +0 -13
  125. package/lib/modules/keyvalue-module.ts +0 -379
  126. package/lib/modules/message-module.ts +0 -107
  127. package/lib/modules/util-module.ts +0 -148
  128. package/lib/polyfills/process-env-browser.ts +0 -1
  129. package/lib/proto/datasource.ts +0 -93
  130. package/lib/proto/dcnet.proto +0 -1601
  131. package/lib/proto/dcnet_proto.d.ts +0 -22857
  132. package/lib/proto/dcnet_proto.js +0 -55204
  133. package/lib/proto/dcnet_proto_sparse.js +0 -55166
  134. package/lib/proto/oidfetch.proto +0 -25
  135. package/lib/proto/oidfetch_proto.d.ts +0 -585
  136. package/lib/proto/oidfetch_proto.js +0 -1247
  137. package/lib/serverless/babel-browser.ts +0 -39
  138. package/lib/serverless/base_entity.ts +0 -78
  139. package/lib/serverless/base_repository.ts +0 -414
  140. package/lib/serverless/browser_schema_extractor.ts +0 -283
  141. package/lib/serverless/decorator_factory.ts +0 -322
  142. package/lib/util/BrowserLineReader.ts +0 -73
  143. package/lib/util/base64.ts +0 -105
  144. package/lib/util/bcrypt.ts +0 -206
  145. package/lib/util/curve25519Encryption.ts +0 -418
  146. package/lib/util/dccrypt.ts +0 -73
  147. package/lib/util/logger.ts +0 -104
  148. package/lib/util/utils.ts +0 -289
@@ -1,107 +0,0 @@
1
- // modules/message-module.ts
2
- // 消息功能模块
3
-
4
- import { IMessageOperations } from "../interfaces/message-interface";
5
- import { DCContext } from "../../lib/interfaces/DCContext";
6
- import { DCModule, CoreModuleName } from "../common/module-system";
7
- import { MessageManager } from "../implements/message/manager";
8
- import { createLogger } from "../util/logger";
9
- import { dcnet } from "../../lib/proto/dcnet_proto";
10
-
11
- const logger = createLogger('MessageModule');
12
-
13
- /**
14
- * 消息模块
15
- * 提供消息收发功能
16
- */
17
- export class MessageModule implements DCModule, IMessageOperations {
18
- readonly moduleName = CoreModuleName.MESSAGE;
19
- private context!: DCContext;
20
- private messageManager!: MessageManager;
21
- private initialized: boolean = false;
22
-
23
- /**
24
- * 初始化消息模块
25
- * @param context DC上下文
26
- * @returns 是否初始化成功
27
- */
28
- async initialize(context: DCContext): Promise<boolean> {
29
- try {
30
- this.context = context;
31
- this.messageManager = new MessageManager(
32
- context.dcutil,
33
- context.dcChain,
34
- context
35
- );
36
- this.initialized = true;
37
- return true;
38
- } catch (error) {
39
- logger.error("消息模块初始化失败:", error);
40
- return false;
41
- }
42
- }
43
-
44
- /**
45
- * 关闭消息模块
46
- */
47
- async shutdown(): Promise<void> {
48
- this.initialized = false;
49
- }
50
-
51
- /**
52
- * 发送消息到用户消息盒子
53
- * @param receiver 接收者
54
- * @param msg 消息内容
55
- * @returns 发送结果
56
- */
57
- async sendMsgToUserBox(receiver: string, msg: string): Promise<[number | null, Error | null]> {
58
-
59
-
60
- try {
61
- this.assertInitialized();
62
- const res = await this.messageManager.sendMsgToUserBox(
63
- this.context.appInfo?.appId || "",
64
- receiver,
65
- msg
66
- );
67
-
68
- logger.info(`发送消息到用户 ${receiver} 成功`);
69
- return res;
70
- } catch (error) {
71
- logger.error(`发送消息到用户 ${receiver} 失败:`, error);
72
- return [null, error as Error];
73
- }
74
- }
75
-
76
- /**
77
- * 从用户消息盒子获取消息
78
- * @param limit 限制数量
79
- * @returns 消息列表
80
- */
81
- async getMsgFromUserBox(limit?: number): Promise<[dcnet.pb.IUserMsg[] | null, Error | null]> {
82
-
83
-
84
- try {
85
- this.assertInitialized();
86
- const res = await this.messageManager.getMsgFromUserBox(
87
- this.context.appInfo?.appId || "",
88
- limit
89
- );
90
-
91
- logger.info("获取用户消息成功");
92
- return res;
93
- } catch (error) {
94
- logger.error("获取用户消息失败:", error);
95
- return [null, error as Error];
96
- }
97
- }
98
-
99
- /**
100
- * 断言模块已初始化
101
- */
102
- private assertInitialized(): void {
103
- if (!this.initialized) {
104
- throw new Error("消息模块未初始化");
105
- }
106
- }
107
- }
@@ -1,148 +0,0 @@
1
-
2
- import { IUtilOperations } from '../interfaces/util-interface';
3
- import { SymmetricKey,Key as ThreadKey } from '../implements/threaddb/common/key';
4
- import { CoreModuleName } from '../common/module-system';
5
- import { DCContext, IFileOperations } from '../interfaces';
6
- import { createLogger } from '../util/logger';
7
- import { UtilManager } from '../../lib/implements/util/manager';
8
- import { IAppInfo } from '../../lib/common/types/types';
9
- import { Errors } from '../../lib/common/error';
10
- import { handleIpfsRequest } from '../common/service-worker';
11
- const logger = createLogger("UtilModule");
12
- export class UtilModule implements IUtilOperations {
13
- readonly moduleName = CoreModuleName.UTIL;
14
- private initialized: boolean = false;
15
- private context!: DCContext;
16
- private utilManager!: UtilManager;
17
- private dcChain!: DCContext['dcChain'];
18
-
19
-
20
- /**
21
- * 初始化工具模块
22
- * @param context DC上下文
23
- * @returns 是否初始化成功
24
- */
25
- async initialize(context: DCContext): Promise<boolean> {
26
- try {
27
- this.context = context;
28
- this.utilManager = new UtilManager(
29
- context
30
- );
31
- this.initialized = true;
32
- return true;
33
- } catch (error) {
34
- logger.error("工具模块初始化失败:", error);
35
- return false;
36
- }
37
-
38
- }
39
- /**
40
- * 创建对称密钥
41
- * @returns 对称密钥
42
- */
43
- createSymmetricKey(): SymmetricKey {
44
- return SymmetricKey.new();
45
- }
46
-
47
- /**
48
- * 创建threaddb密钥
49
- * @returns 线程密钥
50
- */
51
- createThreadKey(): ThreadKey {
52
- // 生成一个新的密钥,包含两个对称密钥
53
- return new ThreadKey(SymmetricKey.new(),SymmetricKey.new());
54
- }
55
-
56
-
57
- /**
58
- * 设置应用信息,发布应用时调用
59
- * @param appId string 应用ID
60
- * @param domain
61
- * @param owner
62
- * @param rewarder
63
- */
64
- async setAppInfo(appId: string,fid:string="",domain:string,owner?: string,rewarder?: string): Promise<[boolean|null, Error | null]> {
65
- if (!this.initialized) {
66
- return [null, new Error("UtilModule not initialized")];
67
- }
68
-
69
- try {
70
- if (!appId ) {
71
- throw new Error("appId are required");
72
- }
73
- if(!this.context.publicKey || !this.context.ethAddress){
74
- throw Errors.NO_USER_INFO;
75
- }
76
- if (!owner || owner.length < 10) {
77
- owner = this.context.publicKey.string();
78
- }
79
- if (!rewarder || rewarder.length < 10) {
80
- rewarder = this.context.ethAddress;
81
- }
82
- const [appInfo, error] = await this.getAppInfo(appId);
83
- if (appInfo && !error) {
84
- if (appInfo.owner == owner && appInfo.rewarder == rewarder && appInfo.domain == domain && appInfo.fid == fid) {//已经与之前一致
85
- return [true, null];
86
- }
87
- }
88
- await this.utilManager.setAppInfo(
89
- appId,
90
- domain,
91
- owner,
92
- rewarder,
93
- fid
94
- );
95
- // 假设保存成功
96
- return [true, null];
97
- } catch (error) {
98
- return [null, error as Error];
99
- }
100
- };
101
-
102
- /**
103
- * 获取应用信息
104
- * @param appId 应用ID
105
- * @returns 应用信息
106
- * */
107
- async getAppInfo(appId: string): Promise<[IAppInfo|null, Error | null]> {
108
- if (!this.initialized) {
109
- return [null, new Error("UtilModule not initialized")];
110
- }
111
- try {
112
- const appInfo = await this.utilManager.getAppInfo(appId);
113
- return [appInfo, null];
114
- } catch (error) {
115
- return [null, error as Error];
116
- }
117
- };
118
-
119
- /**
120
- * 关闭消息模块
121
- */
122
- async shutdown(): Promise<void> {
123
- this.initialized = false;
124
- }
125
-
126
-
127
- /**
128
- * 处理IPFS请求
129
- * @param data 请求数据
130
- * @param port 消息端口
131
- * @param fileOps 文件操作对象
132
- */
133
- async handleIpfsRequest(
134
- data: { id: string, pathname: string, range?: string },
135
- port: MessagePort,
136
- fileOps?: IFileOperations
137
- ): Promise<void>{
138
- if (!this.initialized) {
139
- return;
140
- }
141
- try {
142
- await handleIpfsRequest(data, port, fileOps);
143
- } catch (error) {
144
- logger.error("页面处理IPFS请求失败:", error);
145
- }
146
- }
147
-
148
- }
@@ -1 +0,0 @@
1
- if (!(globalThis as any).process) (globalThis as any).process = { env: {} };
@@ -1,93 +0,0 @@
1
-
2
- // 数据源类,主要用于客户端数据流式发送,每次发送的数据是Uint8Array类型,调用setData即可,调用close关闭数据源
3
- export class DataSource {
4
- private waitingPromises: Array<{
5
- resolve: (data: Uint8Array) => void;
6
- reject: (error: Error) => void;
7
- }> = [];
8
- private closed = false;
9
- private abortController = new AbortController();
10
-
11
- /**
12
- * 设置要发送的数据,可以根据需要多次调用
13
- * @throws {Error} 如果数据源已关闭
14
- */
15
- setData(data: Uint8Array) {
16
- if (this.closed) {
17
- throw new Error('DataSource is closed');
18
- }
19
- const promises = this.waitingPromises;
20
- this.waitingPromises = [];
21
- // 通知所有等待的promise
22
- promises.forEach(({ resolve }) => resolve(data));
23
- }
24
- /**
25
- * 关闭数据源
26
- */
27
- close() {
28
- if (this.closed) return;
29
- this.closed = true;
30
- this.abortController.abort();
31
- // 拒绝所有等待的promise
32
- const error = new Error('DataSource has been closed');
33
- this.waitingPromises.forEach(({ reject }) => reject(error));
34
- this.waitingPromises = [];
35
- }
36
-
37
- /**
38
- * 等待数据
39
- * @throws {Error} 如果数据源已关闭
40
- */
41
- async waitForData(): Promise<Uint8Array> {
42
- if (this.closed) {
43
- throw new Error('DataSource is closed');
44
- }
45
- return new Promise<Uint8Array>((resolve, reject) => {
46
- // 如果在创建Promise时数据源已关闭,立即拒绝
47
- if (this.closed) {
48
- reject(new Error('DataSource is closed'));
49
- return;
50
- }
51
- this.waitingPromises.push({ resolve, reject });
52
- // 设置中止信号处理
53
- this.abortController.signal.addEventListener('abort', () => {
54
- reject(new Error('DataSource has been closed'));
55
- });
56
- });
57
- }
58
-
59
- /**
60
- * 检查数据源是否已关闭
61
- */
62
- isClosed(): boolean {
63
- return this.closed;
64
- }
65
-
66
- /**
67
- * 获取数据源的异步迭代器
68
- * @throws {Error} 如果数据源已关闭
69
- */
70
- getDataSource(): AsyncIterable<Uint8Array> {
71
- if (this.closed) {
72
- throw new Error('DataSource is closed');
73
- }
74
-
75
- return {
76
- [Symbol.asyncIterator]: () => {
77
- return {
78
- next: async (): Promise<IteratorResult<Uint8Array>> => {
79
- try {
80
- if (this.closed) {
81
- return { done: true, value: undefined };
82
- }
83
- const data = await this.waitForData();
84
- return { done: false, value: data };
85
- } catch (error) {
86
- return { done: true, value: undefined };
87
- }
88
- }
89
- };
90
- }
91
- };
92
- }
93
- }