Cloudflare's command-line tool and networking daemon written in Go. Production-grade tunneling and network connectivity services used by millions of developers and organizations worldwide. Notes on linting: - .golangci.yaml is configured with new-from-rev and whole-files: true. Touching a file triggers linting of the ENTIRE file, not just the changed hunks. Expect to fix pre-existing issues in files you modify, or add targeted // nolint: <linter> comments with a short justification. - Prefer defer func() { _ = resource.Close() }() over defer…
No other project uses it yet
16k15d agoReviewMountCreate a free account to mount
UDP socket abstraction layer shared across the quiche workspace. Two main concerns: DgramBuffer (a headroom-aware zero-copy byte buffer for datagrams) and DatagramSocket* traits (uniform async send/recv over UdpSocket/UnixDatagram with Linux recvmmsg/sendmmsg batching). Wraps a Vec<u8> with a pos cursor dividing it into [headroom: 0..pos][payload: pos..]. as_slice() / len() expose only the payload. BufMut writes append to the tail, independent of pos. Fast path: allocate with with_capacity_and_headroom, fill payload via BufMut, call try_add_prefix to slide pos left and write the prefix…
13k57d agoReviewMountCreate a free account to mount
Low-level HTTP/3 testing client. Sends arbitrary/malformed H3 frames to probe server RFC compliance. Both library (lib.rs) and CLI binary (main.rs). Used programmatically as test driver in tokio-quiche integration tests.
13k57d agoReviewMountCreate a free account to mount
qlog data model for QUIC and HTTP/3 per IETF drafts (draft-ietf-quic-qlog-main-schema, draft-ietf-quic-qlog-quic-events, draft-ietf-quic-qlog-h3-events). Pure data types + serde serialization; no IO (deferred to consumers).
13k57d agoReviewMountCreate a free account to mount
Low-level QUIC transport and HTTP/3 in Rust. App provides IO/timers; this crate handles protocol state. Also exposes C FFI via staticlib/cdylib. BoringSSL itself is built by boring-sys (no in-tree submodule). - Model mutually exclusive lifecycle phases with enums, rather than related booleans or overlapping completion predicates. Derive state enums from authoritative buffers and acknowledgement data instead of duplicating it. Boolean queries remain suitable for independent properties and compatibility APIs. - Match lifecycle enums exhaustively in transitions and in cleanup or…
13k57d agoReviewMountCreate a free account to mount
HTTP/3 wire protocol over QUIC. Connection manages H3 state (streams, QPACK, SETTINGS, GOAWAY) on top of quiche::Connection<F>. Event-driven: caller loops poll() → Event. Own Error/Result types, separate from quiche::Error.
13k57d agoReviewMountCreate a free account to mount
QUIC loss detection and congestion control per RFC 9002. Two parallel CC implementations coexist: congestion/ (legacy Reno/CUBIC) and gcongestion/ (next-gen BBR2 ported from google/quiche). Recovery enum dispatches between LegacyRecovery and GRecovery via enum_dispatch over the RecoveryOps trait (40+ methods). - Two Acked structs at congestion/recovery.rs:1079 and gcongestion/mod.rs:49. NOT unified. Do NOT create a third. - FIXME stubs: Some RecoveryOps methods only apply to one impl. Both sides have // FIXME only used by {congestion,gcongestion} stubs that return defaults. Do not…
13k57d agoReviewMountCreate a free account to mount
Async tokio wrapper for quiche. Spawns per-connection IO worker tasks driven by an ApplicationOverQuic trait. Ships a ready-made H3Driver for HTTP/3. Uses foundations for structured logging (slog), telemetry, and settings.
13k57d agoReviewMountCreate a free account to mount
Async HTTP/3 driver bridging quiche::h3::Connection to Tokio tasks via channels. H3Driver<H: DriverHooks> is generic over sealed client/server hooks; users interact through H3Controller + typed event/command channels. - Store receive and send lifecycle states explicitly; channel absence does not imply completion. Received FIN and app-channel FIN delivery are distinct receive states. Open and pending receive states own an InboundDelivery payload with its sender and capacity-wait flag; closing the state drops both. FIN preserves the payload, including an existing wait. The outbound…
13k57d agoReviewMountCreate a free account to mount
Async QUIC connection management. Splits socket into recv-half (one InboundPacketRouter task) and send-half (shared by many IoWorker tasks). Entrypoints: connect()/connect_with_config() for clients, start_listener() for servers. raw submodule bypasses the router for manual packet injection.
13k57d agoReviewMountCreate a free account to mount
This project is building a platform for "vibe coded" personal applications and AI agents that run inside a strong sandbox. The following files are commonly important to reference: Each of these holds rules this file does not repeat. Read the matching guide before changing, reviewing or answering questions about code under its directory: Reviewing a pull request: follow REVIEW.md as well. workshop-backend defines the architecture and is held to a higher bar than UI/gatekeeper code. Reviewers read every line of…
12k54d agoReviewMountCreate a free account to mount
The authoring API (src/index.ts, type-only stubs) for optional gatekeeper resource configurator UI modules, the sandbox runtime that renders them (src/runtime/: Kumo components on preact/compat), and the build that bundles both into each configurator's frame (build/). - Gatekeeper configurator UI modules are compiled by scripts/build-gatekeeper-configurator.ts as part of package builds. Each frame is one self-contained HTML document: the minified runtime, its Tailwind/Kumo CSS, and the module, under a content security policy that admits only those scripts by hash and allows no…
12k54d agoReviewMountCreate a free account to mount
@gadgets/error-reporting owns the vendor-neutral browser/Worker event contract and tolerant, bounded normalization for frontend error reports, a separate, opt-in path from server issue reporting (packages/observability/AGENTS.md). - VITE_FRONTEND_ERROR_REPORTING=true enables trusted frontend producers and their hidden source maps at build time; deployments without reporting should leave it unset. - The Workshop browser sends best-effort reports to the same-origin POST /api/client-errors endpoint. The backend dispatches only when both FRONTEND_ERROR_REPORTER and FRONTEND_ERROR_RATE_LIMITER are bound; otherwise the endpoint is an intentional no-op. - Gatekeeper management/configurator UIs…
12k54d agoReviewMountCreate a free account to mount
Cloudflare OAuth, serving three unrelated purposes from one connected account — sign-in (AUTH_GATEKEEPERS), AI Gateway billing, and Workers Observability read-only telemetry resources. Two resource granularities (whole account, or one Worker) both map to the single indivisible workers-observability.read scope, so the capability boundary is the binding, not the grant. - Layering: observability-api.ts is the only place that talks HTTP; observability-parse.ts validates every response (no blind casts); observability-session.ts is the agent-facing session, where every read funnels through one #observe so no path…
12k54d agoReviewMountCreate a free account to mount
The Context Library — a gatekeeper whose account provides a singleton read session + a management UI, for authoring collections of context documents that agents read as observations. plans/context-collection-sharing.md is the design record. - Collections have one of two visibilities: private (created by one account and shareable with others) and public (created/edited only by deployment admins, readable by everyone and auto-enabled for all users; not shareable). - It owns its state in three Durable Objects (ContextCollectionDurableObject for content and a…
12k54d agoReviewMountCreate a free account to mount
@gadgets/gatekeeper-kit is a library, not a deployable Worker. Do not add a cloudflare.config.ts: the wrangler.jsonc generated from it is what makes release tooling treat this package as a gatekeeper deployment. - Only Layer 1 leaf modules are shipped. Layer 2 remains a proposal in ../../plans/gatekeeper-kit.md. - Keep leaf modules independently usable. Do not make one depend on a future assembly layer. - Add a leaf, or a leaf option, only for behavior several gatekeepers share under one contract. Behavior only…
No other project uses it yet
12k54d agoReviewMountCreate a free account to mount
Microsoft 365 (Entra ID OAuth, Microsoft Graph). It has three resources. SharePoint's binding is one of: all of SharePoint & OneDrive, a site, a library or OneDrive, a folder, a file, a list, or a page; its configurator starts at "all" and drills down. Outlook's is one mailbox (own or shared), optionally narrowed to a folder, a conversation or senders, at read/draft/send. Calendar's is every calendar (for chat), one calendar (own or shared) at freeBusy/limited/full detail (for a gadget shared…
12k54d agoReviewMountCreate a free account to mount
Web Search — an auto-provisioned gatekeeper whose account provides an ambient WEB_SEARCH singleton. The README is the design record. - It searches the public web through its own Workers AI binding (websearch(), through the AI Gateway its CF_AI_GATEWAY var names, provider pinned to Ceramic). The deploy service sets that var to the instance's gateway, the backend's; anywhere else it defaults to the account's default gateway. - Each query is recorded as an observation before it is sent. A workspace that…
12k54d agoReviewMountCreate a free account to mount