web-dc-api 0.0.87 → 0.0.89

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 (142) hide show
  1. package/dist/cjs/index.js +1 -0
  2. package/dist/cjs/protobuf-BVBdi7Hh.js +1 -0
  3. package/dist/dc.min.js +1 -19
  4. package/dist/esm/chunks/protobuf-CbxDm-Gy.js +1 -0
  5. package/dist/esm/index.js +1 -0
  6. package/dist/index.d.ts +947 -886
  7. package/package.json +14 -17
  8. package/dist/index.cjs.js +0 -19
  9. package/dist/index.esm.js +0 -19
  10. package/lib/common/blowfish/block.ts +0 -259
  11. package/lib/common/blowfish/cipher.ts +0 -144
  12. package/lib/common/blowfish/const.ts +0 -195
  13. package/lib/common/chain.ts +0 -469
  14. package/lib/common/commonclient.ts +0 -202
  15. package/lib/common/constants.ts +0 -55
  16. package/lib/common/dc-key/ed25519.ts +0 -343
  17. package/lib/common/dc-key/keyManager.ts +0 -424
  18. package/lib/common/dcapi.ts +0 -98
  19. package/lib/common/dcutil.ts +0 -595
  20. package/lib/common/define.ts +0 -66
  21. package/lib/common/error.ts +0 -67
  22. package/lib/common/grpc-dc.ts +0 -104
  23. package/lib/common/module-system.ts +0 -184
  24. package/lib/common/service-worker.ts +0 -234
  25. package/lib/common/types/types.ts +0 -344
  26. package/lib/dc.ts +0 -694
  27. package/lib/implements/account/client.ts +0 -185
  28. package/lib/implements/account/manager.ts +0 -683
  29. package/lib/implements/aiproxy/client.ts +0 -357
  30. package/lib/implements/aiproxy/manager.ts +0 -670
  31. package/lib/implements/cache/client.ts +0 -105
  32. package/lib/implements/cache/manager.ts +0 -127
  33. package/lib/implements/comment/client.ts +0 -982
  34. package/lib/implements/comment/manager.ts +0 -1151
  35. package/lib/implements/dc/client.ts +0 -51
  36. package/lib/implements/dc/manager.ts +0 -33
  37. package/lib/implements/file/client.ts +0 -253
  38. package/lib/implements/file/file-cache-manager.ts +0 -142
  39. package/lib/implements/file/manager.ts +0 -1240
  40. package/lib/implements/file/seekableFileStream.ts +0 -344
  41. package/lib/implements/file/streamwriter.ts +0 -322
  42. package/lib/implements/keyvalue/client.ts +0 -376
  43. package/lib/implements/keyvalue/manager.ts +0 -759
  44. package/lib/implements/message/client.ts +0 -250
  45. package/lib/implements/message/manager.ts +0 -215
  46. package/lib/implements/threaddb/cbor/coding.ts +0 -62
  47. package/lib/implements/threaddb/cbor/event.ts +0 -336
  48. package/lib/implements/threaddb/cbor/node.ts +0 -542
  49. package/lib/implements/threaddb/cbor/record.ts +0 -398
  50. package/lib/implements/threaddb/common/AsyncMutex.ts +0 -24
  51. package/lib/implements/threaddb/common/addrinfo.ts +0 -135
  52. package/lib/implements/threaddb/common/dispatcher.ts +0 -81
  53. package/lib/implements/threaddb/common/idbstore-adapter.ts +0 -260
  54. package/lib/implements/threaddb/common/json-patcher.ts +0 -204
  55. package/lib/implements/threaddb/common/key.ts +0 -290
  56. package/lib/implements/threaddb/common/level-adapter.ts +0 -235
  57. package/lib/implements/threaddb/common/lineReader.ts +0 -79
  58. package/lib/implements/threaddb/common/logstore.ts +0 -215
  59. package/lib/implements/threaddb/common/transformed-datastore.ts +0 -308
  60. package/lib/implements/threaddb/core/app.ts +0 -202
  61. package/lib/implements/threaddb/core/core.ts +0 -230
  62. package/lib/implements/threaddb/core/db.ts +0 -249
  63. package/lib/implements/threaddb/core/event.ts +0 -54
  64. package/lib/implements/threaddb/core/head.ts +0 -89
  65. package/lib/implements/threaddb/core/identity.ts +0 -171
  66. package/lib/implements/threaddb/core/logstore.ts +0 -137
  67. package/lib/implements/threaddb/core/options.ts +0 -14
  68. package/lib/implements/threaddb/core/record.ts +0 -54
  69. package/lib/implements/threaddb/db/collection.ts +0 -1910
  70. package/lib/implements/threaddb/db/db.ts +0 -698
  71. package/lib/implements/threaddb/db/json2Query.ts +0 -192
  72. package/lib/implements/threaddb/db/query.ts +0 -524
  73. package/lib/implements/threaddb/dbclient.ts +0 -443
  74. package/lib/implements/threaddb/dbmanager.ts +0 -1901
  75. package/lib/implements/threaddb/lsstoreds/addr_book.ts +0 -452
  76. package/lib/implements/threaddb/lsstoreds/cache.ts +0 -36
  77. package/lib/implements/threaddb/lsstoreds/cyclic_batch.ts +0 -87
  78. package/lib/implements/threaddb/lsstoreds/global.ts +0 -151
  79. package/lib/implements/threaddb/lsstoreds/headbook.ts +0 -280
  80. package/lib/implements/threaddb/lsstoreds/keybook.ts +0 -297
  81. package/lib/implements/threaddb/lsstoreds/logstore.ts +0 -29
  82. package/lib/implements/threaddb/lsstoreds/metadata.ts +0 -223
  83. package/lib/implements/threaddb/net/define.ts +0 -138
  84. package/lib/implements/threaddb/net/grpcClient.ts +0 -582
  85. package/lib/implements/threaddb/net/grpcserver.ts +0 -146
  86. package/lib/implements/threaddb/net/net.ts +0 -2006
  87. package/lib/implements/threaddb/pb/lstore.proto +0 -38
  88. package/lib/implements/threaddb/pb/lstore.ts +0 -393
  89. package/lib/implements/threaddb/pb/lstore_pb.d.ts +0 -433
  90. package/lib/implements/threaddb/pb/lstore_pb.js +0 -1085
  91. package/lib/implements/threaddb/pb/net.proto +0 -194
  92. package/lib/implements/threaddb/pb/net_pb.d.ts +0 -2349
  93. package/lib/implements/threaddb/pb/net_pb.js +0 -5525
  94. package/lib/implements/threaddb/pb/proto-custom-types.ts +0 -212
  95. package/lib/implements/util/client.ts +0 -72
  96. package/lib/implements/util/manager.ts +0 -146
  97. package/lib/implements/wallet/manager.ts +0 -664
  98. package/lib/index.ts +0 -57
  99. package/lib/interfaces/DCContext.ts +0 -51
  100. package/lib/interfaces/aiproxy-interface.ts +0 -145
  101. package/lib/interfaces/auth-interface.ts +0 -118
  102. package/lib/interfaces/cache-interface.ts +0 -22
  103. package/lib/interfaces/client-interface.ts +0 -11
  104. package/lib/interfaces/comment-interface.ts +0 -167
  105. package/lib/interfaces/database-interface.ts +0 -169
  106. package/lib/interfaces/file-interface.ts +0 -120
  107. package/lib/interfaces/index.ts +0 -10
  108. package/lib/interfaces/keyvalue-interface.ts +0 -156
  109. package/lib/interfaces/message-interface.ts +0 -22
  110. package/lib/interfaces/util-interface.ts +0 -31
  111. package/lib/modules/aiproxy-module.ts +0 -246
  112. package/lib/modules/auth-module.ts +0 -753
  113. package/lib/modules/cache-module.ts +0 -99
  114. package/lib/modules/client-module.ts +0 -71
  115. package/lib/modules/comment-module.ts +0 -429
  116. package/lib/modules/database-module.ts +0 -598
  117. package/lib/modules/file-module.ts +0 -291
  118. package/lib/modules/index.ts +0 -13
  119. package/lib/modules/keyvalue-module.ts +0 -379
  120. package/lib/modules/message-module.ts +0 -107
  121. package/lib/modules/util-module.ts +0 -148
  122. package/lib/polyfills/process-env-browser.ts +0 -1
  123. package/lib/proto/datasource.ts +0 -93
  124. package/lib/proto/dcnet.proto +0 -1601
  125. package/lib/proto/dcnet_proto.d.ts +0 -22857
  126. package/lib/proto/dcnet_proto.js +0 -55204
  127. package/lib/proto/dcnet_proto_sparse.js +0 -55166
  128. package/lib/proto/oidfetch.proto +0 -25
  129. package/lib/proto/oidfetch_proto.d.ts +0 -585
  130. package/lib/proto/oidfetch_proto.js +0 -1247
  131. package/lib/serverless/babel-browser.ts +0 -39
  132. package/lib/serverless/base_entity.ts +0 -78
  133. package/lib/serverless/base_repository.ts +0 -414
  134. package/lib/serverless/browser_schema_extractor.ts +0 -283
  135. package/lib/serverless/decorator_factory.ts +0 -322
  136. package/lib/util/BrowserLineReader.ts +0 -73
  137. package/lib/util/base64.ts +0 -105
  138. package/lib/util/bcrypt.ts +0 -206
  139. package/lib/util/curve25519Encryption.ts +0 -418
  140. package/lib/util/dccrypt.ts +0 -73
  141. package/lib/util/logger.ts +0 -104
  142. 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
- }