@claw-network/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/crypto/aes.d.ts +8 -0
  2. package/dist/crypto/aes.d.ts.map +1 -0
  3. package/dist/crypto/aes.js +29 -0
  4. package/dist/crypto/aes.js.map +1 -0
  5. package/dist/crypto/ed25519.d.ts +11 -0
  6. package/dist/crypto/ed25519.d.ts.map +1 -0
  7. package/dist/crypto/ed25519.js +25 -0
  8. package/dist/crypto/ed25519.js.map +1 -0
  9. package/dist/crypto/hash.d.ts +5 -0
  10. package/dist/crypto/hash.d.ts.map +1 -0
  11. package/dist/crypto/hash.js +16 -0
  12. package/dist/crypto/hash.js.map +1 -0
  13. package/dist/crypto/hkdf.d.ts +2 -0
  14. package/dist/crypto/hkdf.d.ts.map +1 -0
  15. package/dist/crypto/hkdf.js +6 -0
  16. package/dist/crypto/hkdf.js.map +1 -0
  17. package/dist/crypto/index.d.ts +10 -0
  18. package/dist/crypto/index.d.ts.map +1 -0
  19. package/dist/crypto/index.js +10 -0
  20. package/dist/crypto/index.js.map +1 -0
  21. package/dist/crypto/jcs.d.ts +3 -0
  22. package/dist/crypto/jcs.d.ts.map +1 -0
  23. package/dist/crypto/jcs.js +14 -0
  24. package/dist/crypto/jcs.js.map +1 -0
  25. package/dist/crypto/mnemonic.d.ts +9 -0
  26. package/dist/crypto/mnemonic.d.ts.map +1 -0
  27. package/dist/crypto/mnemonic.js +22 -0
  28. package/dist/crypto/mnemonic.js.map +1 -0
  29. package/dist/crypto/rotation.d.ts +20 -0
  30. package/dist/crypto/rotation.d.ts.map +1 -0
  31. package/dist/crypto/rotation.js +37 -0
  32. package/dist/crypto/rotation.js.map +1 -0
  33. package/dist/crypto/shamir.d.ts +3 -0
  34. package/dist/crypto/shamir.d.ts.map +1 -0
  35. package/dist/crypto/shamir.js +125 -0
  36. package/dist/crypto/shamir.js.map +1 -0
  37. package/dist/crypto/x25519.d.ts +8 -0
  38. package/dist/crypto/x25519.d.ts.map +1 -0
  39. package/dist/crypto/x25519.js +13 -0
  40. package/dist/crypto/x25519.js.map +1 -0
  41. package/dist/encoding/base58.d.ts +5 -0
  42. package/dist/encoding/base58.d.ts.map +1 -0
  43. package/dist/encoding/base58.js +63 -0
  44. package/dist/encoding/base58.js.map +1 -0
  45. package/dist/encoding/index.d.ts +2 -0
  46. package/dist/encoding/index.d.ts.map +1 -0
  47. package/dist/encoding/index.js +2 -0
  48. package/dist/encoding/index.js.map +1 -0
  49. package/dist/identity/did.d.ts +6 -0
  50. package/dist/identity/did.d.ts.map +1 -0
  51. package/dist/identity/did.js +48 -0
  52. package/dist/identity/did.js.map +1 -0
  53. package/dist/identity/index.d.ts +2 -0
  54. package/dist/identity/index.d.ts.map +1 -0
  55. package/dist/identity/index.js +2 -0
  56. package/dist/identity/index.js.map +1 -0
  57. package/dist/index.d.ts +8 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +8 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/p2p/config.d.ts +26 -0
  62. package/dist/p2p/config.d.ts.map +1 -0
  63. package/dist/p2p/config.js +14 -0
  64. package/dist/p2p/config.js.map +1 -0
  65. package/dist/p2p/index.d.ts +4 -0
  66. package/dist/p2p/index.d.ts.map +1 -0
  67. package/dist/p2p/index.js +4 -0
  68. package/dist/p2p/index.js.map +1 -0
  69. package/dist/p2p/node.d.ts +44 -0
  70. package/dist/p2p/node.d.ts.map +1 -0
  71. package/dist/p2p/node.js +299 -0
  72. package/dist/p2p/node.js.map +1 -0
  73. package/dist/p2p/topics.d.ts +6 -0
  74. package/dist/p2p/topics.d.ts.map +1 -0
  75. package/dist/p2p/topics.js +6 -0
  76. package/dist/p2p/topics.js.map +1 -0
  77. package/dist/protocol/constants.d.ts +3 -0
  78. package/dist/protocol/constants.d.ts.map +1 -0
  79. package/dist/protocol/constants.js +3 -0
  80. package/dist/protocol/constants.js.map +1 -0
  81. package/dist/protocol/credentials.d.ts +30 -0
  82. package/dist/protocol/credentials.d.ts.map +1 -0
  83. package/dist/protocol/credentials.js +61 -0
  84. package/dist/protocol/credentials.js.map +1 -0
  85. package/dist/protocol/event-hash.d.ts +10 -0
  86. package/dist/protocol/event-hash.d.ts.map +1 -0
  87. package/dist/protocol/event-hash.js +32 -0
  88. package/dist/protocol/event-hash.js.map +1 -0
  89. package/dist/protocol/index.d.ts +5 -0
  90. package/dist/protocol/index.d.ts.map +1 -0
  91. package/dist/protocol/index.js +5 -0
  92. package/dist/protocol/index.js.map +1 -0
  93. package/dist/protocol/key-rotation.d.ts +23 -0
  94. package/dist/protocol/key-rotation.d.ts.map +1 -0
  95. package/dist/protocol/key-rotation.js +34 -0
  96. package/dist/protocol/key-rotation.js.map +1 -0
  97. package/dist/storage/config.d.ts +22 -0
  98. package/dist/storage/config.d.ts.map +1 -0
  99. package/dist/storage/config.js +63 -0
  100. package/dist/storage/config.js.map +1 -0
  101. package/dist/storage/event-store.d.ts +49 -0
  102. package/dist/storage/event-store.d.ts.map +1 -0
  103. package/dist/storage/event-store.js +329 -0
  104. package/dist/storage/event-store.js.map +1 -0
  105. package/dist/storage/health.d.ts +9 -0
  106. package/dist/storage/health.d.ts.map +1 -0
  107. package/dist/storage/health.js +25 -0
  108. package/dist/storage/health.js.map +1 -0
  109. package/dist/storage/index.d.ts +13 -0
  110. package/dist/storage/index.d.ts.map +1 -0
  111. package/dist/storage/index.js +13 -0
  112. package/dist/storage/index.js.map +1 -0
  113. package/dist/storage/keystore.d.ts +36 -0
  114. package/dist/storage/keystore.d.ts.map +1 -0
  115. package/dist/storage/keystore.js +129 -0
  116. package/dist/storage/keystore.js.map +1 -0
  117. package/dist/storage/kv.d.ts +11 -0
  118. package/dist/storage/kv.d.ts.map +1 -0
  119. package/dist/storage/kv.js +2 -0
  120. package/dist/storage/kv.js.map +1 -0
  121. package/dist/storage/level.d.ts +17 -0
  122. package/dist/storage/level.d.ts.map +1 -0
  123. package/dist/storage/level.js +57 -0
  124. package/dist/storage/level.js.map +1 -0
  125. package/dist/storage/memory.d.ts +12 -0
  126. package/dist/storage/memory.d.ts.map +1 -0
  127. package/dist/storage/memory.js +20 -0
  128. package/dist/storage/memory.js.map +1 -0
  129. package/dist/storage/migrations.d.ts +11 -0
  130. package/dist/storage/migrations.d.ts.map +1 -0
  131. package/dist/storage/migrations.js +47 -0
  132. package/dist/storage/migrations.js.map +1 -0
  133. package/dist/storage/paths.d.ts +14 -0
  134. package/dist/storage/paths.d.ts.map +1 -0
  135. package/dist/storage/paths.js +30 -0
  136. package/dist/storage/paths.js.map +1 -0
  137. package/dist/storage/snapshot-scheduler.d.ts +16 -0
  138. package/dist/storage/snapshot-scheduler.d.ts.map +1 -0
  139. package/dist/storage/snapshot-scheduler.js +43 -0
  140. package/dist/storage/snapshot-scheduler.js.map +1 -0
  141. package/dist/storage/snapshots.d.ts +53 -0
  142. package/dist/storage/snapshots.d.ts.map +1 -0
  143. package/dist/storage/snapshots.js +192 -0
  144. package/dist/storage/snapshots.js.map +1 -0
  145. package/dist/storage/state-store.d.ts +14 -0
  146. package/dist/storage/state-store.d.ts.map +1 -0
  147. package/dist/storage/state-store.js +38 -0
  148. package/dist/storage/state-store.js.map +1 -0
  149. package/dist/utils/PromiseWithResolvers.d.ts +2 -0
  150. package/dist/utils/PromiseWithResolvers.d.ts.map +1 -0
  151. package/dist/utils/PromiseWithResolvers.js +18 -0
  152. package/dist/utils/PromiseWithResolvers.js.map +1 -0
  153. package/dist/utils/bytes.d.ts +8 -0
  154. package/dist/utils/bytes.d.ts.map +1 -0
  155. package/dist/utils/bytes.js +40 -0
  156. package/dist/utils/bytes.js.map +1 -0
  157. package/dist/utils/index.d.ts +2 -0
  158. package/dist/utils/index.d.ts.map +1 -0
  159. package/dist/utils/index.js +2 -0
  160. package/dist/utils/index.js.map +1 -0
  161. package/package.json +81 -0
@@ -0,0 +1,18 @@
1
+ const ensurePromiseWithResolvers = () => {
2
+ const promiseConstructor = Promise;
3
+ if (typeof promiseConstructor.withResolvers === 'function') {
4
+ return;
5
+ }
6
+ promiseConstructor.withResolvers = () => {
7
+ let resolve = () => undefined;
8
+ let reject = () => undefined;
9
+ const promise = new Promise((resolveFn, rejectFn) => {
10
+ resolve = resolveFn;
11
+ reject = rejectFn;
12
+ });
13
+ return { promise, resolve, reject };
14
+ };
15
+ };
16
+ ensurePromiseWithResolvers();
17
+ export {};
18
+ //# sourceMappingURL=PromiseWithResolvers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromiseWithResolvers.js","sourceRoot":"","sources":["../../src/utils/PromiseWithResolvers.ts"],"names":[],"mappings":"AAMA,MAAM,0BAA0B,GAAG,GAAS,EAAE;IAC5C,MAAM,kBAAkB,GAAG,OAE1B,CAAC;IAEF,IAAI,OAAO,kBAAkB,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,kBAAkB,CAAC,aAAa,GAAG,GAAM,EAAE;QACzC,IAAI,OAAO,GAAwC,GAAG,EAAE,CAAC,SAAS,CAAC;QACnE,IAAI,MAAM,GAA+B,GAAG,EAAE,CAAC,SAAS,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YACrD,OAAO,GAAG,SAAS,CAAC;YACpB,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,0BAA0B,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare function utf8ToBytes(input: string): Uint8Array;
2
+ export declare function bytesToUtf8(bytes: Uint8Array): string;
3
+ export declare function hexToBytes(hex: string): Uint8Array;
4
+ export declare function bytesToHex(bytes: Uint8Array): string;
5
+ export declare function concatBytes(...parts: Uint8Array[]): Uint8Array;
6
+ export declare function bytesToBase64(bytes: Uint8Array): string;
7
+ export declare function base64ToBytes(input: string): Uint8Array;
8
+ //# sourceMappingURL=bytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/utils/bytes.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAErD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAErD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CASlD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIpD;AAED,wBAAgB,WAAW,CAAC,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,CAS9D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAEvD"}
@@ -0,0 +1,40 @@
1
+ const textEncoder = new TextEncoder();
2
+ const textDecoder = new TextDecoder();
3
+ export function utf8ToBytes(input) {
4
+ return textEncoder.encode(input);
5
+ }
6
+ export function bytesToUtf8(bytes) {
7
+ return textDecoder.decode(bytes);
8
+ }
9
+ export function hexToBytes(hex) {
10
+ if (hex.length % 2 !== 0) {
11
+ throw new Error('hex length must be even');
12
+ }
13
+ const bytes = new Uint8Array(hex.length / 2);
14
+ for (let i = 0; i < bytes.length; i++) {
15
+ bytes[i] = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);
16
+ }
17
+ return bytes;
18
+ }
19
+ export function bytesToHex(bytes) {
20
+ return Array.from(bytes)
21
+ .map((b) => b.toString(16).padStart(2, '0'))
22
+ .join('');
23
+ }
24
+ export function concatBytes(...parts) {
25
+ const total = parts.reduce((sum, part) => sum + part.length, 0);
26
+ const out = new Uint8Array(total);
27
+ let offset = 0;
28
+ for (const part of parts) {
29
+ out.set(part, offset);
30
+ offset += part.length;
31
+ }
32
+ return out;
33
+ }
34
+ export function bytesToBase64(bytes) {
35
+ return Buffer.from(bytes).toString('base64');
36
+ }
37
+ export function base64ToBytes(input) {
38
+ return new Uint8Array(Buffer.from(input, 'base64'));
39
+ }
40
+ //# sourceMappingURL=bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/utils/bytes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAiB;IAC3C,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAG,KAAmB;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtB,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './bytes.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './bytes.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
package/package.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "@claw-network/core",
3
+ "version": "0.1.0",
4
+ "description": "Core cryptographic primitives and utilities for the ClawNet protocol",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "license": "MIT",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/claw-network/clawnet.git",
12
+ "directory": "packages/core"
13
+ },
14
+ "keywords": ["clawnet", "agent", "decentralized", "crypto", "p2p"],
15
+ "files": ["dist", "README.md"],
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.js"
23
+ },
24
+ "./crypto": {
25
+ "types": "./dist/crypto/index.d.ts",
26
+ "default": "./dist/crypto/index.js"
27
+ },
28
+ "./encoding": {
29
+ "types": "./dist/encoding/index.d.ts",
30
+ "default": "./dist/encoding/index.js"
31
+ },
32
+ "./identity": {
33
+ "types": "./dist/identity/index.d.ts",
34
+ "default": "./dist/identity/index.js"
35
+ },
36
+ "./p2p": {
37
+ "types": "./dist/p2p/index.d.ts",
38
+ "default": "./dist/p2p/index.js"
39
+ },
40
+ "./protocol": {
41
+ "types": "./dist/protocol/index.d.ts",
42
+ "default": "./dist/protocol/index.js"
43
+ },
44
+ "./storage": {
45
+ "types": "./dist/storage/index.d.ts",
46
+ "default": "./dist/storage/index.js"
47
+ },
48
+ "./utils": {
49
+ "types": "./dist/utils/index.d.ts",
50
+ "default": "./dist/utils/index.js"
51
+ }
52
+ },
53
+ "scripts": {
54
+ "build": "tsc -b tsconfig.json",
55
+ "test": "vitest run",
56
+ "lint": "eslint src --max-warnings=0"
57
+ },
58
+ "dependencies": {
59
+ "@chainsafe/libp2p-gossipsub": "^14.1.2",
60
+ "@chainsafe/libp2p-noise": "^17.0.0",
61
+ "@chainsafe/libp2p-yamux": "^8.0.1",
62
+ "@libp2p/autonat": "^3.0.10",
63
+ "@libp2p/bootstrap": "^12.0.11",
64
+ "@libp2p/dcutr": "^3.0.10",
65
+ "@libp2p/identify": "^4.0.10",
66
+ "@libp2p/kad-dht": "^16.1.3",
67
+ "@libp2p/mdns": "^12.0.11",
68
+ "@libp2p/ping": "^3.0.10",
69
+ "@libp2p/tcp": "^11.0.10",
70
+ "@multiformats/multiaddr": "^13.0.1",
71
+ "@noble/curves": "^1.7.3",
72
+ "@noble/ed25519": "^2.1.0",
73
+ "@noble/hashes": "^1.6.3",
74
+ "@scure/base": "^1.1.9",
75
+ "@scure/bip39": "^1.2.2",
76
+ "canonicalize": "^2.0.0",
77
+ "level": "^9.0.0",
78
+ "libp2p": "^3.1.3",
79
+ "yaml": "^2.5.0"
80
+ }
81
+ }