{"adoption": {"forks": 142, "observed_at": "2026-08-28T04:08:30.449613+00:00", "stars": 3954}, "canonical_url": "https://ross.abutalabs.com/products/capnweb", "card": {"archived": false, "artifact_type": "library", "description": "JavaScript/TypeScript-native, low-boilerplate, object-capability RPC system", "domain": ["web-development", "apis", "microservices"], "enriched": true, "function": ["rpc", "serialization"], "health_score": 100, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["cloudflare/capnweb"], "name": "cloudflare/capnweb", "platform": ["browser", "bun", "serverless", "cross-platform"], "pushed_at": "2026-08-24T16:46:48+00:00", "repo": "cloudflare/capnweb", "stars": 3954, "tags": ["object-capability", "promise-pipelining", "schemaless", "bidirectional-rpc", "typescript", "json-serialization", "capability-based-security", "websocket", "no-dependencies", "cloudflare-workers", "nodejs", "deno", "web-server"], "topics": [], "urls": [], "use_cases": ["add rpc between a browser client and a server in javascript", "call typescript methods on a server from cloudflare workers", "replace grpc or json-rpc with a schemaless javascript rpc library", "pass functions and objects by reference over websocket", "chain dependent calls into one round trip with promise pipelining", "build bidirectional communication between node and the browser", "implement capability-based security where holding a reference grants access"], "what_it_is": "Cap'n Web is a JavaScript/TypeScript-native, schema-free object-capability RPC library from Cloudflare, created by the Cap'n Proto author. It supports bidirectional calls, passing functions and objects by reference, and promise pipelining over HTTP, WebSocket, and postMessage, compressing to under 16 kB with zero dependencies.", "when_to_avoid": ["you need non-JavaScript clients or servers, or strict schema contracts with generated code", "you need binary serialization for maximum throughput, where Cap'n Proto or protobuf fit better", "you require a 1.0-stable, long-frozen protocol; the project is still pre-1.0"], "when_to_choose": ["your entire stack is JavaScript/TypeScript and you want RPC with no schemas, code generation, or build step", "you need expressive RPC features like bidirectional calling, reference passing, or promise pipelining", "you target many runtimes (browsers, Cloudflare Workers, Node.js, Bun, Deno) and want a tiny dependency-free bundle", "you want capability-based security patterns for your API"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/capnweb", "repo": "cloudflare/capnweb", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:24:30.399945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ec0c367902e732bb1fc20bcb57df8fa57e9d8aaec92ec682bfc5bb167a8fcc6", "fetched_at": "2026-08-28T04:08:30.449613+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cloudflare/capnweb"}, {"content_hash": "4f83e076ab94ad1184d16c6f0c71d6d46f5f7cb2da968ac8c3c41663e5c9f54c", "fetched_at": "2026-08-29T09:18:10.417098+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/capnweb"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:24:30.399945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ec0c367902e732bb1fc20bcb57df8fa57e9d8aaec92ec682bfc5bb167a8fcc6", "fetched_at": "2026-08-28T04:08:30.449613+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cloudflare/capnweb"}, {"content_hash": "4f83e076ab94ad1184d16c6f0c71d6d46f5f7cb2da968ac8c3c41663e5c9f54c", "fetched_at": "2026-08-29T09:18:10.417098+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/capnweb"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:24:30.399945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ec0c367902e732bb1fc20bcb57df8fa57e9d8aaec92ec682bfc5bb167a8fcc6", "fetched_at": "2026-08-28T04:08:30.449613+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cloudflare/capnweb"}, {"content_hash": "4f83e076ab94ad1184d16c6f0c71d6d46f5f7cb2da968ac8c3c41663e5c9f54c", "fetched_at": "2026-08-29T09:18:10.417098+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/capnweb"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:24:30.399945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ec0c367902e732bb1fc20bcb57df8fa57e9d8aaec92ec682bfc5bb167a8fcc6", "fetched_at": "2026-08-28T04:08:30.449613+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cloudflare/capnweb"}, {"content_hash": "4f83e076ab94ad1184d16c6f0c71d6d46f5f7cb2da968ac8c3c41663e5c9f54c", "fetched_at": "2026-08-29T09:18:10.417098+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/capnweb"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:24:30.399945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ec0c367902e732bb1fc20bcb57df8fa57e9d8aaec92ec682bfc5bb167a8fcc6", "fetched_at": "2026-08-28T04:08:30.449613+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cloudflare/capnweb"}, {"content_hash": "4f83e076ab94ad1184d16c6f0c71d6d46f5f7cb2da968ac8c3c41663e5c9f54c", "fetched_at": "2026-08-29T09:18:10.417098+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/capnweb"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:24:30.399945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ec0c367902e732bb1fc20bcb57df8fa57e9d8aaec92ec682bfc5bb167a8fcc6", "fetched_at": "2026-08-28T04:08:30.449613+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cloudflare/capnweb"}, {"content_hash": "4f83e076ab94ad1184d16c6f0c71d6d46f5f7cb2da968ac8c3c41663e5c9f54c", "fetched_at": "2026-08-29T09:18:10.417098+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/capnweb"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:30.449613+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:24:30.399945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ec0c367902e732bb1fc20bcb57df8fa57e9d8aaec92ec682bfc5bb167a8fcc6", "fetched_at": "2026-08-28T04:08:30.449613+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cloudflare/capnweb"}, {"content_hash": "4f83e076ab94ad1184d16c6f0c71d6d46f5f7cb2da968ac8c3c41663e5c9f54c", "fetched_at": "2026-08-29T09:18:10.417098+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/capnweb"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:24:30.399945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ec0c367902e732bb1fc20bcb57df8fa57e9d8aaec92ec682bfc5bb167a8fcc6", "fetched_at": "2026-08-28T04:08:30.449613+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cloudflare/capnweb"}, {"content_hash": "4f83e076ab94ad1184d16c6f0c71d6d46f5f7cb2da968ac8c3c41663e5c9f54c", "fetched_at": "2026-08-29T09:18:10.417098+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/capnweb"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:24:30.399945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ec0c367902e732bb1fc20bcb57df8fa57e9d8aaec92ec682bfc5bb167a8fcc6", "fetched_at": "2026-08-28T04:08:30.449613+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cloudflare/capnweb"}, {"content_hash": "4f83e076ab94ad1184d16c6f0c71d6d46f5f7cb2da968ac8c3c41663e5c9f54c", "fetched_at": "2026-08-29T09:18:10.417098+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/capnweb"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:24:30.399945+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ec0c367902e732bb1fc20bcb57df8fa57e9d8aaec92ec682bfc5bb167a8fcc6", "fetched_at": "2026-08-28T04:08:30.449613+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cloudflare/capnweb"}, {"content_hash": "4f83e076ab94ad1184d16c6f0c71d6d46f5f7cb2da968ac8c3c41663e5c9f54c", "fetched_at": "2026-08-29T09:18:10.417098+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/capnweb"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 32, "rhythm": 98}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 451, "days_push": 9, "days_rel": 13, "gap_med": 7, "n_releases_24m": 20}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}