crossbind 2.0.0-beta.63 → 2.0.0-beta.64

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 (50) hide show
  1. package/AGENTS.md +2 -1
  2. package/package.json +2 -2
  3. package/src/actions/buildBinTools.js +0 -0
  4. package/src/actions/buildJs.js +2 -9
  5. package/src/actions/buildNode.js +4 -6
  6. package/src/actions/buildWasiCommand.js +10 -5
  7. package/src/actions/buildWasm.js +24 -3
  8. package/src/actions/createImportedBridges.js +7 -0
  9. package/src/actions/createInterface.js +3 -3
  10. package/src/actions/createLib.js +14 -2
  11. package/src/actions/getData.js +2 -1
  12. package/src/actions/getEnv.js +7 -0
  13. package/src/actions/runnerCommands.js +16 -4
  14. package/src/actions/writeRuntimeEntry.js +18 -7
  15. package/src/assets/cpp-runtime/node.cpp +18 -1
  16. package/src/assets/js-runtime/adapters/worker-comlink.js +51 -0
  17. package/src/assets/js-runtime/core.js +5 -4
  18. package/src/assets/toolchain-digests.json +19 -19
  19. package/src/assets/wasi-runtime/http/README.md +17 -0
  20. package/src/assets/wasi-runtime/http/bindings/crossbind_http.c +2537 -0
  21. package/src/assets/wasi-runtime/http/bindings/crossbind_http.h +826 -0
  22. package/src/assets/wasi-runtime/http/bindings/crossbind_http_component_type.o +0 -0
  23. package/src/assets/wasi-runtime/http/handler.cpp +298 -0
  24. package/src/assets/wasi-runtime/http/include/crossbind/http.h +31 -0
  25. package/src/assets/wasi-runtime/http/wit/deps/LICENSE.md +8 -0
  26. package/src/assets/wasi-runtime/http/wit/deps/cli.wit +28 -0
  27. package/src/assets/wasi-runtime/http/wit/deps/clocks.wit +43 -0
  28. package/src/assets/wasi-runtime/http/wit/deps/http.wit +509 -0
  29. package/src/assets/wasi-runtime/http/wit/deps/random.wit +18 -0
  30. package/src/assets/wasi-runtime/http/wit/world.wit +6 -0
  31. package/src/bin.js +29 -179
  32. package/src/cli.js +14 -0
  33. package/src/integration/getCrossbindScript.js +4 -3
  34. package/src/program.js +169 -0
  35. package/src/state/index.js +4 -3
  36. package/src/state/loadConfig.js +4 -11
  37. package/src/utils/appRustCrates.js +4 -0
  38. package/src/utils/bridgeExtras.js +74 -6
  39. package/src/utils/cargoLock.js +19 -0
  40. package/src/utils/cppDts.js +2 -0
  41. package/src/utils/embindObjectLifetime.js +35 -0
  42. package/src/utils/packageLicense.js +4 -2
  43. package/src/utils/resetCMakeCacheForSource.js +26 -0
  44. package/src/utils/rustBridgeGen.js +13 -4
  45. package/src/utils/rustMt.js +5 -0
  46. package/src/utils/rustSysroot.js +7 -5
  47. package/src/utils/swigInterface.js +5 -4
  48. package/src/utils/systemConfig.js +13 -0
  49. package/src/utils/targets.js +11 -0
  50. package/src/utils/wasiHttp.js +50 -0
@@ -1,49 +1,49 @@
1
1
  {
2
- "version": "1.0.12",
2
+ "version": "1.0.13",
3
3
  "registry": "ghcr.io/crossbind",
4
4
  "toolchains": {
5
- "rust": "1.99.0"
5
+ "rust": "1.99.1"
6
6
  },
7
7
  "images": {
8
8
  "rust-sysroot": {
9
- "index": "sha256:fcaddb9514956c80c28152679d11817599b3c544e2bb56568d79dbd7699af805",
9
+ "index": "sha256:c545ea396bd8919f7a671617dbbdf184bd0d6eb904d3170dd120d6671db3e0a9",
10
10
  "platforms": {
11
- "linux/arm64": "sha256:70dca2248666ee712ad5cb11fd013274ca4bb1efdafee732a0ec15492889f622",
12
- "linux/amd64": "sha256:a3377c70598ef4e1918a73feeebb0ec1b80b3cde956daac9b2b62f9d742b88dc"
11
+ "linux/arm64": "sha256:c53ee0a31c52fdc6eba175e479218ddbff0c071654b5e93a08ae768cdbbfe35a",
12
+ "linux/amd64": "sha256:1427255e619c3f5dcd3fa7fd284d15afbe00eef1a0798e08a9b50ebbb86c5234"
13
13
  }
14
14
  },
15
15
  "base": {
16
- "index": "sha256:86c6559bd51c10f8fc1ff6cbc0cf5386115fd7f0491a59f30f0d26a0203c200d",
16
+ "index": "sha256:5f5d133504cb2c81ee67a93ca5795698423277522caac742478510d6158ed559",
17
17
  "platforms": {
18
- "linux/amd64": "sha256:16056b4bd85ba1792791401003db0325c31d4aa4821ff40f6f2eb1e0fff1d3ce",
19
- "linux/arm64": "sha256:8d213f83ddd1ad9101b74b2b071f304ac8924ffbe68d79ece50668076e0172c0"
18
+ "linux/arm64": "sha256:df1c82f4b7e00a4ab33e2423f6d5bbaa66dd67bc45b96e5498e3391ec5f55fae",
19
+ "linux/amd64": "sha256:ffc0a178bc821e56975d9348b7e44d8081b9c6fb9351bc168b38d5063d9864ea"
20
20
  }
21
21
  },
22
22
  "web": {
23
- "index": "sha256:ffa089b83160e380e0b4447f483bf66cb87324f89b8e80b5776ed9346275a5ca",
23
+ "index": "sha256:b5ee271886c316404cae103c5412bc02d811ad48fd36a919fdf3a82af14fe688",
24
24
  "platforms": {
25
- "linux/arm64": "sha256:1baf14ee0f1a821c1562d12902fe362d3639f57acb31f969402f2a2d8486647f",
26
- "linux/amd64": "sha256:d3bd3aa785447f1679fdcb898921f614579d9eaad2aa9e828675ba7f82dc11ec"
25
+ "linux/arm64": "sha256:91d35c9eac65f479f5139ba476b3daa3b517aab6f21f5206070af610cec5b62c",
26
+ "linux/amd64": "sha256:f308cb1702f308d69d9f21eb99aa109cdbf62e655549b483580476d8f01fb07b"
27
27
  }
28
28
  },
29
29
  "android": {
30
- "index": "sha256:830286886d8bb259e94e112e4f1bab5f153106365b17859d20c9ef714349e520",
30
+ "index": "sha256:a01ddeaed550091f45e720d09bd559978d4c46e396c4553b3fc4544b90033fd1",
31
31
  "platforms": {
32
- "linux/amd64": "sha256:1004144243fea89a8915417954073e8ffabb20d8a9aed31045ce2a95c1abe1da"
32
+ "linux/amd64": "sha256:3bafd0a3f80bf7370a19522a3b75cb58a977d1b1b28940ed02b87db1058a8fd6"
33
33
  }
34
34
  },
35
35
  "linux": {
36
- "index": "sha256:8d4cc55d2ef8ea40845fd13708575e06f6aecdc035e7200deddf8c662d5c910f",
36
+ "index": "sha256:c1d7f9672edb6eeea86172d8ba8cc8ba824f6c53134587ea247ea5dc126d6c43",
37
37
  "platforms": {
38
- "linux/arm64": "sha256:0de59cc6ce7b381f213af0d26ccc83e0c41545a91eb0b36c51832c7fb660566c",
39
- "linux/amd64": "sha256:3b3bc24d8f5dffe3a2408193265a807764fcf2744243c0a5e07f312f608fc6c0"
38
+ "linux/amd64": "sha256:0ff9ee1d5c139eb97934919f7b9535af0eb2c3bebd9c1974fa95cfb143e3ccf7",
39
+ "linux/arm64": "sha256:f476e4a95635c04aca741937c2174a1915731c52c9d182b247e17d4ca4163b33"
40
40
  }
41
41
  },
42
42
  "windows": {
43
- "index": "sha256:a31110874a9b6b9e3fec177edc8a8093905902bcc6abc6a85e45eb0927d4f070",
43
+ "index": "sha256:53b08c8918a84023ea90c6420fff783564aced0ec711fa0e7b71a09578643a32",
44
44
  "platforms": {
45
- "linux/arm64": "sha256:bd9ec6ba60952f929e09777374a3bb05512bbe796325c0e8a0b84e1a12d1b86c",
46
- "linux/amd64": "sha256:01f4bd8c4d1044bde68fe758d2632c510f8efb76aa4bad28696f9e9b199c8f4e"
45
+ "linux/arm64": "sha256:402f115c8eed9e6418cf9e47a6bcad2d456d15d032c9b2baaa54a5005f00c8ba",
46
+ "linux/amd64": "sha256:50f359882015ca93c8b356a01bf03ce4cb098307f72c30122c7b6ad123eae339"
47
47
  }
48
48
  }
49
49
  }
@@ -0,0 +1,17 @@
1
+ # HTTP component runtime
2
+
3
+ What an http build (`crossbind build -p wasi -e http`) links besides the app: `handler.cpp`, the
4
+ `wasi:http/handler` export that calls the app's `crossbind::http::handle` (`include/crossbind/http.h`),
5
+ and `bindings/`, which `wit-bindgen c` generated from `wit/`.
6
+
7
+ `wit/deps/` holds the `http` package of the WASI 0.3.0 release, unchanged: `wasi-wit-0.3.0.tar.gz` from
8
+ https://github.com/WebAssembly/WASI/releases/tag/v0.3.0 (sha256
9
+ `596182ecd79311c8d010389b78b0253d54bee596254002df504ea5cf0124b894`), licensed as `wit/deps/LICENSE.md` says.
10
+
11
+ After changing `wit/`, regenerate the bindings with wit-bindgen 0.62.0; with `--check` it confirms instead
12
+ that the committed ones, the `.o` included, are what it generates:
13
+
14
+ ```bash
15
+ wit-bindgen c wit --world crossbind-http --out-dir bindings
16
+ wit-bindgen c wit --world crossbind-http --out-dir bindings --check
17
+ ```