web-dc-api 0.1.5 → 0.1.7

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,336 +0,0 @@
1
- import { Context } from '../core/core';
2
- import { IThreadEvent as NetEvent, EventHeader as NetEventHeader } from '../core/event';
3
- import { IRecord } from '../core/record';
4
- import { SymmetricKey } from '../common/key'
5
- import { CID } from 'multiformats/cid';
6
- import * as dagCBOR from '@ipld/dag-cbor';
7
- import { sha256 } from 'multiformats/hashes/sha2';
8
- import { Format } from 'interface-ipld-format';
9
-
10
- import { encodeBlock, decodeBlock } from './coding';
11
- import {Block,Node} from './node';
12
- import CID_IPLD from 'cids';
13
- import { dagCbor ,DAGCBOR} from '@helia/dag-cbor'
14
- import * as cbornode from './node';
15
- import { Link } from 'multiformats/link'
16
- import {IPLDNode} from '../core/core';
17
- import {Blocks} from 'helia'
18
- import { wrap } from 'module';
19
- import { Head } from '../core/head';
20
-
21
-
22
-
23
-
24
- // 注册 CBOR 类型
25
- // TypeScript 不需要像 Go 一样的 init 函数中的注册
26
- // dagCBOR 库会自动处理大多数类型
27
-
28
- // 事件的节点结构
29
- export interface EventObj {
30
- body: CID;
31
- header: CID;
32
- }
33
-
34
- // 事件头部的节点结构
35
- interface EventHeaderObj {
36
- key?: Uint8Array;
37
- }
38
-
39
- /**
40
- * 创建一个新事件,包装 body 节点
41
- * @param dag DAG 服务
42
- * @param body 要封装的节点
43
- * @param rkey 加密密钥
44
- * @returns 创建的事件
45
- */
46
- export async function CreateEvent(
47
- bstore: Blocks,
48
- body: Node,
49
- rkey: SymmetricKey
50
- ): Promise<NetEvent> {
51
- // 创建随机对称密钥
52
- const key = SymmetricKey.new();
53
- if (!body.rawData) {
54
- throw new Error("Node data is undefined");
55
- }
56
- const bodyBlock = new Block (body.rawData(), body.cid());
57
- // 使用密钥加密 body
58
- const codedBody = await encodeBlock(bodyBlock, key);
59
-
60
- // 序列化密钥
61
- const keyb = key.bytes();
62
-
63
- // 创建事件头部
64
- const eventHeader: EventHeaderObj = {
65
- key: keyb
66
- };
67
-
68
- const header = await cbornode.wrapObject(eventHeader);
69
- const codedHeader = await encodeBlock(header, rkey);
70
-
71
- // 创建事件对象
72
- const obj: EventObj = {
73
- body: codedBody.cid(),
74
- header: codedHeader.cid()
75
- };
76
-
77
- // 包装事件对象为 CBOR 节点
78
- const node = await cbornode.wrapObject(obj);
79
- // 添加到 DAG
80
- if (bstore) {
81
- await bstore.put(node.cid(), node.data());
82
- await bstore.put(codedHeader.cid(), codedHeader.data());
83
- await bstore.put(codedBody.cid(), codedBody.data());
84
- }
85
-
86
- // 返回事件
87
- return new Event(
88
- node,
89
- obj,
90
- new EventHeader(codedHeader, eventHeader),
91
- codedBody
92
- );
93
- }
94
-
95
- /**
96
- * 根据 CID 获取事件
97
- * @param ctx 上下文
98
- * @param dag DAG 服务
99
- * @param id 事件的 CID
100
- * @returns 获取的事件
101
- */
102
- export async function GetEvent(
103
- dag: DAGCBOR,
104
- id: CID
105
- ): Promise<NetEvent> {
106
- const blockData = await dag.get<Uint8Array>( id);
107
- const eventNode = await cbornode.decode(blockData);
108
- return EventFromNode(eventNode);
109
- }
110
-
111
-
112
-
113
-
114
-
115
- /**
116
- * 将节点解码为事件
117
- * @param node 要解码的节点
118
- * @returns 解码后的事件
119
- */
120
- export async function EventFromNode(eNode: Node): Promise<NetEvent> {
121
- try {
122
- //取出头部
123
- const eventObj = eNode as unknown as EventObj;
124
- const wrapedRnode = await cbornode.wrapObject(eventObj);
125
- const event = new Event(wrapedRnode, eventObj);
126
- return event;
127
- } catch (err) {
128
- throw new Error(`Failed to decode node into event: ${err instanceof Error ? err.message : String(err)}`);
129
- }
130
- }
131
-
132
- /**
133
- * 从记录中获取事件
134
- * @param ctx 上下文
135
- * @param dag DAG 服务
136
- * @param rec 记录
137
- * @returns 获取的事件
138
- */
139
- export async function EventFromRecord(
140
- bstore: Blocks,
141
- rec: IRecord
142
- ): Promise<NetEvent> {
143
- try {
144
- const block = await rec.getBlock( bstore);
145
-
146
- // 检查是否已经是 Event
147
- if (block instanceof Event) {
148
- return block;
149
- }
150
- return await EventFromNode(block as Node);
151
- } catch (err) {
152
- throw new Error(`Failed to get event from record: ${err instanceof Error ? err.message : String(err)}`);
153
- }
154
- }
155
-
156
- /**
157
- * 从 DAG 服务中移除事件
158
- * @param ctx 上下文
159
- * @param dag DAG 服务
160
- * @param e 要移除的事件
161
- */
162
- export async function RemoveEvent(
163
- ctx: Context,
164
- blockstore: Blocks,
165
- e: Event
166
- ): Promise<void> {
167
- await blockstore.delete(e.cid());
168
- await blockstore.delete(e.headerCID());
169
- await blockstore.delete(e.bodyCID());
170
- }
171
-
172
- /**
173
- * 表示事件的 IPLD 节点
174
- */
175
- export class Event implements NetEvent {
176
- private _node: Node;
177
- private _obj: EventObj;
178
- private _header?: EventHeader ;
179
- private _body?: Node;
180
-
181
- constructor(
182
- node: Node,
183
- obj: EventObj,
184
- header?: EventHeader ,
185
- body?: Node
186
- ) {
187
- this._node = node;
188
- this._obj = obj;
189
- if (header) {
190
- this._header = header;
191
- }
192
- if (body) {
193
- this._body = body;
194
- }
195
- }
196
-
197
-
198
- cid(): CID {
199
- return this._node.cid();
200
- }
201
-
202
- headerCID(): CID {
203
- return this._obj.header;
204
- }
205
-
206
-
207
-
208
-
209
- async getHeader(
210
- bstore: Blocks,
211
- key?: SymmetricKey
212
- ): Promise<NetEventHeader> {
213
- if (!this._header) {
214
- const blockData = await bstore.get(this._obj.header);
215
- const headerNode = await cbornode.wrapObject(blockData);
216
- this._header = new EventHeader(headerNode);
217
- }
218
- try{
219
- if (!this._header.isLoaded() && key) {
220
- const decoded = dagCBOR.decode<Uint8Array>(this._header.node().data()) ;
221
- if (!decoded) {
222
- throw new Error("Failed to decode block");
223
- }
224
- let encryptedData = decoded;
225
- try {
226
- encryptedData = dagCBOR.decode<Uint8Array>(decoded);
227
- } catch (e) {
228
- }
229
- const data: Uint8Array = await key.decrypt(encryptedData);
230
- const header = dagCBOR.decode<EventHeaderObj>(data) ;
231
- this._header.setObj(header);
232
- }
233
- }catch(err){
234
- throw new Error(`Failed to decode header: ${err instanceof Error ? err.message : String(err)}`);
235
- }
236
-
237
- return this._header;
238
- }
239
-
240
- bodyCID(): CID {
241
- return this._obj.body;
242
- }
243
-
244
- async getBody(
245
- bstore: Blocks,
246
- key?: SymmetricKey
247
- ): Promise<IPLDNode> {
248
- let k: SymmetricKey | null = null;
249
-
250
- if (key) {
251
- const header = await this.getHeader( bstore, key);
252
- k = await header.key();
253
- }
254
-
255
- if (!this._body) {
256
- const block = await bstore.get(this._obj.body);
257
- this._body = await cbornode.wrapObject(block);
258
-
259
- }
260
-
261
- if (!k) {
262
- return this._body;
263
- } else {
264
- return decodeBlock(this._body, k);
265
- }
266
- }
267
-
268
-
269
- data(): Uint8Array {
270
- return this._node.data();
271
- }
272
-
273
- links(): Link[] {
274
- return this._node.links();
275
- }
276
-
277
- size(): number {
278
- return this._node.size();
279
- }
280
-
281
-
282
- }
283
-
284
- /**
285
- * 表示事件头部的 IPLD 节点
286
- */
287
- export class EventHeader implements NetEventHeader {
288
- private _node: Node;
289
- private _obj: EventHeaderObj | null;
290
-
291
-
292
- constructor(node: Node, obj: EventHeaderObj | null = null) {
293
- this._node = node;
294
- this._obj = obj;
295
- }
296
-
297
- isLoaded(): boolean {
298
- return this._obj !== null;
299
- }
300
-
301
- setObj(obj: EventHeaderObj): void {
302
- this._obj = obj;
303
- }
304
-
305
- node(): Node {
306
- return this._node;
307
- }
308
-
309
- cid(): CID {
310
- return this._node.cid();
311
- }
312
- links(): Link[] {
313
- return this._node.links();
314
- }
315
-
316
- async key(): Promise<SymmetricKey> {
317
- if (!this._obj) {
318
- throw new Error("EventHeader object not loaded");
319
- }
320
-
321
- if (!this._obj.key) {
322
- throw new Error("Key is undefined");
323
- }
324
-
325
- return SymmetricKey.fromBytes(this._obj.key);
326
- }
327
-
328
- data(): Uint8Array {
329
- return this._node.data();
330
- }
331
-
332
-
333
- size(): number {
334
- return this._node.size();
335
- }
336
- }