@dcasegr/skein 0.0.0-stage → 0.1.1

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 (176) hide show
  1. package/README.md +522 -2
  2. package/bin/skein-host.js +22 -0
  3. package/bin/skein.js +8 -0
  4. package/dist/client/admin-cli.d.ts +10 -0
  5. package/dist/client/admin-cli.js +370 -0
  6. package/dist/client/admin.d.ts +139 -0
  7. package/dist/client/admin.js +256 -0
  8. package/dist/client/bundle.d.ts +9 -0
  9. package/dist/client/bundle.js +34 -0
  10. package/dist/client/cli.d.ts +44 -0
  11. package/dist/client/cli.js +306 -0
  12. package/dist/client/client.d.ts +161 -0
  13. package/dist/client/client.js +237 -0
  14. package/dist/client/config.d.ts +18 -0
  15. package/dist/client/config.js +31 -0
  16. package/dist/client/conversation.d.ts +62 -0
  17. package/dist/client/conversation.js +113 -0
  18. package/dist/client/raw.d.ts +94 -0
  19. package/dist/client/raw.js +154 -0
  20. package/dist/client/target.d.ts +34 -0
  21. package/dist/client/target.js +158 -0
  22. package/dist/dev/cli.d.ts +8 -0
  23. package/dist/dev/cli.js +248 -0
  24. package/dist/dev/scan.d.ts +15 -0
  25. package/dist/dev/scan.js +173 -0
  26. package/dist/envelope-cbor.d.ts +110 -0
  27. package/dist/envelope-cbor.js +160 -0
  28. package/dist/envelope.d.ts +38 -0
  29. package/dist/envelope.js +101 -0
  30. package/dist/host/arc.d.ts +131 -0
  31. package/dist/host/arc.js +425 -0
  32. package/dist/host/billing.d.ts +102 -0
  33. package/dist/host/billing.js +167 -0
  34. package/dist/host/boot.d.ts +246 -0
  35. package/dist/host/boot.js +643 -0
  36. package/dist/host/cli.d.ts +57 -0
  37. package/dist/host/cli.js +1253 -0
  38. package/dist/host/clock.d.ts +3 -0
  39. package/dist/host/clock.js +8 -0
  40. package/dist/host/control.d.ts +45 -0
  41. package/dist/host/control.js +170 -0
  42. package/dist/host/cron.d.ts +99 -0
  43. package/dist/host/cron.js +196 -0
  44. package/dist/host/deliver.d.ts +53 -0
  45. package/dist/host/deliver.js +251 -0
  46. package/dist/host/deploy.d.ts +29 -0
  47. package/dist/host/deploy.js +55 -0
  48. package/dist/host/door-answer.d.ts +24 -0
  49. package/dist/host/door-answer.js +21 -0
  50. package/dist/host/events.d.ts +89 -0
  51. package/dist/host/events.js +222 -0
  52. package/dist/host/fake-arcade.d.ts +40 -0
  53. package/dist/host/fake-arcade.js +149 -0
  54. package/dist/host/fake-discovery.d.ts +4 -0
  55. package/dist/host/fake-discovery.js +58 -0
  56. package/dist/host/feeds.d.ts +127 -0
  57. package/dist/host/feeds.js +422 -0
  58. package/dist/host/frontdoor.d.ts +92 -0
  59. package/dist/host/frontdoor.js +172 -0
  60. package/dist/host/genesis.d.ts +259 -0
  61. package/dist/host/genesis.js +353 -0
  62. package/dist/host/handles.d.ts +40 -0
  63. package/dist/host/handles.js +88 -0
  64. package/dist/host/hostenv.d.ts +30 -0
  65. package/dist/host/hostenv.js +83 -0
  66. package/dist/host/image-chain.d.ts +127 -0
  67. package/dist/host/image-chain.js +440 -0
  68. package/dist/host/install.d.ts +22 -0
  69. package/dist/host/install.js +139 -0
  70. package/dist/host/instances.d.ts +227 -0
  71. package/dist/host/instances.js +430 -0
  72. package/dist/host/kernel.d.ts +246 -0
  73. package/dist/host/kernel.js +603 -0
  74. package/dist/host/liveness.d.ts +65 -0
  75. package/dist/host/liveness.js +155 -0
  76. package/dist/host/manifest.d.ts +160 -0
  77. package/dist/host/manifest.js +597 -0
  78. package/dist/host/p2p.d.ts +337 -0
  79. package/dist/host/p2p.js +1002 -0
  80. package/dist/host/packet.d.ts +121 -0
  81. package/dist/host/packet.js +562 -0
  82. package/dist/host/plan.d.ts +154 -0
  83. package/dist/host/plan.js +418 -0
  84. package/dist/host/providers.d.ts +238 -0
  85. package/dist/host/providers.js +565 -0
  86. package/dist/host/roster.d.ts +72 -0
  87. package/dist/host/roster.js +172 -0
  88. package/dist/host/router.d.ts +773 -0
  89. package/dist/host/router.js +2389 -0
  90. package/dist/host/signer.d.ts +49 -0
  91. package/dist/host/signer.js +167 -0
  92. package/dist/host/store-sqlite.d.ts +39 -0
  93. package/dist/host/store-sqlite.js +170 -0
  94. package/dist/host/stores.d.ts +43 -0
  95. package/dist/host/stores.js +342 -0
  96. package/dist/host/sync.d.ts +121 -0
  97. package/dist/host/sync.js +467 -0
  98. package/dist/host/testbeef.d.ts +21 -0
  99. package/dist/host/testbeef.js +37 -0
  100. package/dist/host/testhost.d.ts +149 -0
  101. package/dist/host/testhost.js +211 -0
  102. package/dist/host/vcdiff.d.ts +9 -0
  103. package/dist/host/vcdiff.js +210 -0
  104. package/dist/host/wasm-kernel.d.ts +87 -0
  105. package/dist/host/wasm-kernel.js +296 -0
  106. package/dist/host/wasm-worker.d.ts +1 -0
  107. package/dist/host/wasm-worker.js +186 -0
  108. package/dist/peers/cron.d.ts +33 -0
  109. package/dist/peers/cron.js +75 -0
  110. package/dist/peers/infer-main.d.ts +2 -0
  111. package/dist/peers/infer-main.js +74 -0
  112. package/dist/peers/infer.d.ts +163 -0
  113. package/dist/peers/infer.js +367 -0
  114. package/dist/runtime/beef.d.ts +28 -0
  115. package/dist/runtime/beef.js +107 -0
  116. package/dist/runtime/bitcoin.d.ts +36 -0
  117. package/dist/runtime/bitcoin.js +141 -0
  118. package/dist/runtime/cid.d.ts +14 -0
  119. package/dist/runtime/cid.js +51 -0
  120. package/dist/runtime/dispatch.d.ts +92 -0
  121. package/dist/runtime/dispatch.js +142 -0
  122. package/dist/runtime/envelope.d.ts +60 -0
  123. package/dist/runtime/envelope.js +101 -0
  124. package/dist/runtime/heads.d.ts +25 -0
  125. package/dist/runtime/heads.js +37 -0
  126. package/dist/runtime/identity.d.ts +28 -0
  127. package/dist/runtime/identity.js +67 -0
  128. package/dist/runtime/index-store.d.ts +152 -0
  129. package/dist/runtime/index-store.js +715 -0
  130. package/dist/runtime/log.d.ts +62 -0
  131. package/dist/runtime/log.js +104 -0
  132. package/dist/runtime/programs.d.ts +30 -0
  133. package/dist/runtime/programs.js +61 -0
  134. package/dist/runtime/records.d.ts +135 -0
  135. package/dist/runtime/records.js +149 -0
  136. package/dist/runtime/sqlite.d.ts +33 -0
  137. package/dist/runtime/sqlite.js +604 -0
  138. package/dist/runtime/store.d.ts +141 -0
  139. package/dist/runtime/store.js +24 -0
  140. package/dist/runtime/syscalls.d.ts +9 -0
  141. package/dist/runtime/syscalls.js +41 -0
  142. package/dist/runtime/tree.d.ts +60 -0
  143. package/dist/runtime/tree.js +196 -0
  144. package/dist/runtime/types.d.ts +100 -0
  145. package/dist/runtime/types.js +7 -0
  146. package/dist/testapps.d.ts +101 -0
  147. package/dist/testapps.js +275 -0
  148. package/dist/testkit.d.ts +25 -0
  149. package/dist/testkit.js +48 -0
  150. package/dist/wallet.d.ts +35 -0
  151. package/dist/wallet.js +87 -0
  152. package/images/README.md +68 -0
  153. package/images/default/README.md +38 -0
  154. package/images/default/bin/frontdoor.cid +1 -0
  155. package/images/default/bin/frontdoor.json +5 -0
  156. package/images/default/bin/messagebox.cid +1 -0
  157. package/images/default/bin/messagebox.json +8 -0
  158. package/images/default/bin/wallet.cid +1 -0
  159. package/images/default/bin/wallet.json +14 -0
  160. package/images/default/etc/config.json +1 -0
  161. package/images/default/etc/dispatch.json +82 -0
  162. package/images/host/etc/apps.json +8 -0
  163. package/kernel-zig/README.md +1247 -0
  164. package/kernel-zig/web/client.js +65 -0
  165. package/kernel-zig/web/kernel.d.ts +59 -0
  166. package/kernel-zig/web/kernel.js +329 -0
  167. package/kernel-zig/web/store.js +67 -0
  168. package/kernel-zig/web/worker.js +79 -0
  169. package/kernel-zig/zig-out/web/skein-kernel.wasm +0 -0
  170. package/package.json +77 -4
  171. package/wasm/README.md +35 -0
  172. package/wasm/frontdoor.wasm +0 -0
  173. package/wasm/messagebox.wasm +0 -0
  174. package/wasm/resolve.wasm +0 -0
  175. package/wasm/wallet.wasm +0 -0
  176. package/wasm/wire-probe.wasm +0 -0
package/package.json CHANGED
@@ -1,6 +1,79 @@
1
1
  {
2
2
  "name": "@dcasegr/skein",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.1",
4
+ "description": "A deterministic WASI machine over a content-addressed graph: the node host (it loads the wasm kernel, kernel-zig built for the web target), the client, its peers, and dev tools.",
5
+ "type": "module",
6
+ "bin": {
7
+ "skein": "./bin/skein.js",
8
+ "skein-host": "./bin/skein-host.js"
9
+ },
10
+ "scripts": {
11
+ "skein": "bin/skein",
12
+ "skein-dev": "bin/skein-dev",
13
+ "test": "node --experimental-strip-types --no-warnings --test 'src/**/*.test.ts'",
14
+ "typecheck": "tsc --noEmit",
15
+ "web:build": "node --experimental-strip-types --no-warnings web/build.ts",
16
+ "web:serve": "scripts/host/web.sh",
17
+ "web:test": "node --experimental-strip-types --no-warnings --test 'web/*.test.ts'",
18
+ "web:typecheck": "tsc --noEmit -p web/tsconfig.json",
19
+ "build": "tsc -p tsconfig.build.json",
20
+ "build:kernel": "cd kernel-zig && zig build web",
21
+ "prepack": "npm run build && npm run build:kernel"
22
+ },
23
+ "license": "MIT",
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "dependencies": {
28
+ "@1sat/templates": "^0.0.43",
29
+ "@1sat/utils": "^0.0.42",
30
+ "@1sat/wallet-browser": "^0.0.102",
31
+ "@bsv/message-box-client": "^2.5.4",
32
+ "@bsv/sdk": "^2.8.6",
33
+ "@chainsafe/libp2p-noise": "17.0.0",
34
+ "@chainsafe/libp2p-yamux": "8.0.1",
35
+ "@ipld/dag-cbor": "^10.0.2",
36
+ "@ipld/dag-json": "^11.0.1",
37
+ "@libp2p/circuit-relay-v2": "4.2.13",
38
+ "@libp2p/crypto": "5.1.23",
39
+ "@libp2p/gossipsub": "17.1.2",
40
+ "@libp2p/identify": "4.1.14",
41
+ "@libp2p/kad-dht": "16.4.5",
42
+ "@libp2p/mdns": "12.0.32",
43
+ "@libp2p/peer-id": "6.0.15",
44
+ "@libp2p/ping": "3.1.13",
45
+ "@libp2p/tcp": "11.0.28",
46
+ "@libp2p/utils": "7.4.1",
47
+ "@libp2p/websockets": "10.1.21",
48
+ "@multiformats/multiaddr": "13.0.3",
49
+ "libp2p": "3.3.11",
50
+ "multiformats": "^14.0.5"
51
+ },
52
+ "devDependencies": {
53
+ "@1sat/connect": "^0.0.101",
54
+ "@types/node": "^26.6.2",
55
+ "buffer": "^6.0.3",
56
+ "esbuild": "^0.28.2",
57
+ "typescript": "^7.0.2"
58
+ },
59
+ "files": [
60
+ "dist",
61
+ "bin/skein.js",
62
+ "bin/skein-host.js",
63
+ "kernel-zig/web/kernel.js",
64
+ "kernel-zig/web/kernel.d.ts",
65
+ "kernel-zig/web/store.js",
66
+ "kernel-zig/web/worker.js",
67
+ "kernel-zig/web/client.js",
68
+ "kernel-zig/zig-out/web/skein-kernel.wasm",
69
+ "wasm/*.wasm",
70
+ "images",
71
+ "README.md"
72
+ ],
73
+ "optionalDependencies": {
74
+ "lmdb": "3.5.7"
75
+ },
76
+ "engines": {
77
+ "node": ">=24"
78
+ }
79
+ }
package/wasm/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # wasm/
2
+
3
+ The modules the kernel pins (`kernel-zig/src/programs.zig`; the wallet's
4
+ also in `src/runtime/programs.ts`) and installs into every store
5
+ (`skein-kernel serve`/`replay`, `skein-dev install`; `$SKEIN_WASM_DIR`
6
+ overrides where they are read from). Each is checked against its pinned raw
7
+ CID (CIDv1, raw, sha2-256) when it is installed.
8
+
9
+ ## Built here
10
+
11
+ | module | source | what |
12
+ |---|---|---|
13
+ | `messagebox.wasm`, `frontdoor.wasm`, `resolve.wasm` | `programs/` | the boundary programs (#40) |
14
+ | `wallet.wasm` | `programs/wallet` | the wallet app's program (#29, #79), over the SDK's `wallet` and `chain` modules |
15
+ | `wire-probe.wasm` | `programs/test/wire-probe` | a test program, not pinned |
16
+
17
+ All of these are Zig 0.16.0 and `wasm32-wasi`, over the SDK (shruggr/skein-sdk,
18
+ a Zig package dependency by URL+hash, #75 — not a path in this tree).
19
+ `scripts/build-programs.sh` builds them and `scripts/pin-programs.sh` rewrites
20
+ the pins. The builds are reproducible.
21
+
22
+ ## Not here
23
+
24
+ Apps ship their own modules in their trees (docs/APPS.md), and the install
25
+ sends them. The shell app (shruggr/skein-shell) carries `run` and the shell
26
+ itself: brush, coreutils and the toolset, with python's stdlib as a support
27
+ file (#83: the kernel pins none of them; a genesis has no shell). The chat
28
+ app (shruggr/skein-chat) carries the chat loop. The management site is
29
+ shruggr/skein-site (`bin/site.wasm`, serving its tree with skein-sdk's
30
+ `files`; #125). The overlay engine is
31
+ shruggr/skein-overlay (`bin/overlay.wasm`, with its demo topic manager and
32
+ lookup service), the chain app shruggr/skein-chain (`bin/chain.wasm`).
33
+
34
+ Go `wasip1`, Rust, C and so on remain valid targets for third-party programs.
35
+ The `skein` imports are the ABI (the SDK's `wit/skein.wit`), not a language.
Binary file
Binary file
Binary file
Binary file
Binary file