@ai-ecoverse/slicc-cdp 1.42.10 → 1.43.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.
- package/README.md +4 -0
- package/bin/curlwright.wasm +0 -0
- package/bin/playwright-cli.wasm +0 -0
- package/package.json +7 -3
package/README.md
CHANGED
|
@@ -216,6 +216,8 @@ Real-Chrome integration cases run only on CI by default; set `SLICC_LOCAL_CHROME
|
|
|
216
216
|
|
|
217
217
|
On `main`, semantic-release publishes `@ai-ecoverse/slicc-cdp` to npm with provenance from `ci.yml`, tags `v<version>` and opens a draft GitHub release. When it released, `ci.yml` then publishes the four crates to crates.io, builds the binaries for macOS, Linux and Windows (the macOS ones signed and notarised), and uploads them with `install.sh`, `LICENSE`, `THIRD-PARTY-NOTICES` and `SHA256SUMS` before it publishes the release as latest. `@ai-ecoverse/sliccy-browser` is published from the same workflow whenever its `package.json` names a version npm doesn't have yet.
|
|
218
218
|
|
|
219
|
+
`sliccy-browser` has no dependencies, on purpose. The kernel's pnpm hoists a dependency next to the package, and the kernel reads `slicc.commands` from everything in a global `node_modules`, so a dependency on `@ai-ecoverse/slicc-cdp` would give the user that copy's `playwright-cli` and `curlwright` ahead of the base set's. It carries its own copies of `src/connect.js` and `src/cdp-client.js` instead. When a change to those two files lands, `test/integration/sliccy-browser-install.test.mjs` fails until the same pull request copies them and raises `sliccy-browser`'s version, which publishes them. It fails on any other change to what `sliccy-browser` ships that doesn't raise the version, too. A slicc-cdp release that leaves those files alone needs nothing here.
|
|
220
|
+
|
|
219
221
|
## Backend contract
|
|
220
222
|
|
|
221
223
|
What the clients need from a CDP backend, checked against the code by `crates/cdp-client/src/contract.rs`.
|
|
@@ -323,6 +325,8 @@ curlwright --cdp http://127.0.0.1:9333 -I https://example.com/
|
|
|
323
325
|
|
|
324
326
|
Without `--tab` it uses the tab `playwright-cli` last selected, else the one open tab on the URL's origin.
|
|
325
327
|
|
|
328
|
+
`curlwright upgrade`, or `curlwright update`, replaces a prebuilt `curlwright` with the latest release, under the same rules as `playwright-cli upgrade`. A copy installed with Cargo is left to `cargo install curlwright`. As the first argument the word is always that command, so write `./update` for a relative URL.
|
|
329
|
+
|
|
326
330
|
#### Web Bot Auth signing
|
|
327
331
|
|
|
328
332
|
`--sign-key <file>` signs every request curlwright sends in that run, redirect hops included, with [Web Bot Auth](https://datatracker.ietf.org/doc/draft-ietf-webbotauth-httpsig-protocol/) (RFC 9421 HTTP Message Signatures). The file is an Ed25519 private JWK (`kty` `OKP`, `crv` `Ed25519`, `d`, and `x` if you like); any other key exits 2 without printing it. Each hop gets `Signature-Input` and `Signature` under the label `sig1`, covering that hop's `@authority`, with `created`, `expires` 60 seconds later, `keyid` (the key's RFC 7638 JWK thumbprint), `alg="ed25519"`, a random `nonce` and `tag="web-bot-auth"`.
|
package/bin/curlwright.wasm
CHANGED
|
Binary file
|
package/bin/playwright-cli.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-cdp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.43.1",
|
|
4
4
|
"description": "SLICC's CDP layer: client, browser API, transports, HAR, and ARIA snapshot",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"build:wasm": "cargo build --locked --release --target wasm32-wasip1 -p slicc-cdp -p curlwright && mkdir -p bin && cp target/wasm32-wasip1/release/playwright-cli.wasm bin/playwright-cli.wasm && cp target/wasm32-wasip1/release/curlwright.wasm bin/curlwright.wasm",
|
|
55
55
|
"prepublishOnly": "npm run build:wasm",
|
|
56
56
|
"lint": "slicc-lint && shellcheck -s sh install.sh",
|
|
57
|
-
"typecheck": "node --check src/index.js && node --check src/cdp-client.js && node --check src/connect.js && node --check src/page.js && node --check src/browser.js && node --check src/cli.js && node --check packages/sliccy-browser/src/browser.js && node --check packages/sliccy-browser/src/fetch-script.js",
|
|
57
|
+
"typecheck": "node --check src/index.js && node --check src/cdp-client.js && node --check src/connect.js && node --check src/page.js && node --check src/browser.js && node --check src/cli.js && node --check packages/sliccy-browser/src/browser.js && node --check packages/sliccy-browser/src/connect.js && node --check packages/sliccy-browser/src/cdp-client.js && node --check packages/sliccy-browser/src/fetch-script.js",
|
|
58
58
|
"format": "biome check --write .",
|
|
59
59
|
"pretest": "export PATH=\"$HOME/.cargo/bin:$PATH\" && cargo build --locked -p slicc-cdp -p curlwright && cargo build --locked -p slicc-cdp-client --examples && cargo build --locked --target wasm32-wasip1 -p slicc-cdp -p curlwright && cargo build --locked --target wasm32-wasip1 -p slicc-cdp-client --example guard_bridge && npm run -s browser >/dev/null",
|
|
60
60
|
"test": "PATH=\"$HOME/.cargo/bin:$PATH\" SLICC_CDP_PORTS=\"${SLICC_CDP_PORTS:-9300-9309}\" node scripts/test-integration.mjs",
|
|
@@ -69,10 +69,14 @@
|
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@ai-ecoverse/slicc-browsers": "1.18.21",
|
|
72
|
-
"@ai-ecoverse/slicc-
|
|
72
|
+
"@ai-ecoverse/slicc-cdp": "1.43.0",
|
|
73
|
+
"@ai-ecoverse/slicc-jsh": "0.63.30",
|
|
74
|
+
"@ai-ecoverse/slicc-kernel": "1.170.3",
|
|
73
75
|
"@ai-ecoverse/slicc-shared-web": "2.13.7",
|
|
76
|
+
"@ai-ecoverse/wasi-pnpm": "12.9.1-21",
|
|
74
77
|
"@ai-ecoverse/wasm-bash": "5.3.0-23",
|
|
75
78
|
"@ai-ecoverse/wasm-coreutils": "9.12.0-15",
|
|
79
|
+
"@ai-ecoverse/wasm-tls-engine": "4.2.0-12",
|
|
76
80
|
"@biomejs/biome": "2.6.2",
|
|
77
81
|
"lefthook": "2.2.2",
|
|
78
82
|
"semantic-release": "25.0.9"
|