Starting a fill no longer POSTs the cache id to /_fill. Instead: - the created page links the cache's webkey, /cache/#<cache id>: a skeleton page, the same for every key, that reads the key from the fragment (never sent to the server or in a Referer) - its script trades the key in-band for a capability over Cap'n Web at /api: CacheApi.cache(key) returns a CacheCap facet (fill, status, fingerprint, the public companion's fill) and never the DO's wiring methods; malformed and unknown keys get one refusal that never echoes the key, and each refusal is logged without it - then calls startFill(): trade and call pipeline into one round trip - the worker serves capnweb's browser build itself at /_capnweb.js (a wrangler Text rule), so no third-party script sits beside the key The /_fill route and its forms are gone. Tests run the real capnweb client against the worker (fetch routed to worker.fetch). Generated-by: Claude Opus 5.5
21 lines
480 B
JSON
21 lines
480 B
JSON
{
|
|
"name": "diigo-cache",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "wrangler dev -c wrangler.jsonc -c ../webapp/wrangler.jsonc",
|
|
"types": "wrangler types",
|
|
"lint": "wrangler types --check && tsc -p tsconfig.json && tsc -p tests/tsconfig.json",
|
|
"test": "vitest run"
|
|
},
|
|
"devDependencies": {
|
|
"@cloudflare/vitest-plugin": "1.3.6",
|
|
"typescript": "^5.9.0",
|
|
"vitest": "4.1.11",
|
|
"wrangler": "^4.148.0"
|
|
},
|
|
"dependencies": {
|
|
"capnweb": "^0.12.0"
|
|
}
|
|
}
|