Full Code of cloudflare/workerd for AI

main d8e36b2aa3eb cached
2426 files
19.2 MB
5.2M tokens
13002 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (20,541K chars total). Download the full file to get everything.
Repository: cloudflare/workerd
Branch: main
Commit: d8e36b2aa3eb
Files: 2426
Total size: 19.2 MB

Directory structure:
gitextract_w7af126f/

├── .bazelignore
├── .bazelrc
├── .bazelversion
├── .clang-format
├── .clang-tidy
├── .devcontainer/
│   ├── Dockerfile
│   └── devcontainer.json
├── .git-blame-ignore-revs
├── .github/
│   ├── CODEOWNERS
│   ├── DISCUSSION_TEMPLATE/
│   │   ├── nodejs_api_request.yml
│   │   └── python_package_request.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── runtime-apis.md
│   │   └── workers-types.md
│   ├── actions/
│   │   └── setup-runner/
│   │       └── action.yml
│   ├── bonk_reviewer.md
│   ├── secret_scanning.yml
│   └── workflows/
│       ├── _bazel.yml
│       ├── _wpt.yml
│       ├── bigbonk.yml
│       ├── bonk.yml
│       ├── cla.yml
│       ├── codspeed.yml
│       ├── coverage.yml
│       ├── daily-release.yml
│       ├── deps-updater.yml
│       ├── experimental-workflow.yml
│       ├── fixup.yml
│       ├── internal-build.yml
│       ├── issues.yml
│       ├── labels.yml
│       ├── lint.yml
│       ├── new-pr-review.yml
│       ├── release-python-runtime.yml
│       ├── release-python-snapshots.yml
│       ├── release.yml
│       ├── semgrep.yml
│       ├── test.yml
│       └── wpt-report.yml
├── .gitignore
├── .npmrc
├── .opencode/
│   ├── agent/
│   │   ├── architect.md
│   │   └── submit.md
│   ├── commands/
│   │   ├── autogate.md
│   │   ├── changelog.md
│   │   ├── compat-flag.md
│   │   ├── dep-impact.md
│   │   ├── deps.md
│   │   ├── explain.md
│   │   ├── find-owner.md
│   │   ├── find-test.md
│   │   ├── investigate.md
│   │   ├── just.md
│   │   ├── onboarding.md
│   │   ├── rdeps.md
│   │   ├── review.md
│   │   ├── run.md
│   │   ├── submit.md
│   │   ├── test-for.md
│   │   ├── trace.md
│   │   ├── trivia.md
│   │   └── whats-new.md
│   ├── skills/
│   │   ├── add-autogate/
│   │   │   └── SKILL.md
│   │   ├── add-compat-flag/
│   │   │   └── SKILL.md
│   │   ├── bazel-test-hygiene/
│   │   │   └── SKILL.md
│   │   ├── commit-categories/
│   │   │   └── SKILL.md
│   │   ├── dad-jokes/
│   │   │   └── SKILL.md
│   │   ├── find-and-run-tests/
│   │   │   └── SKILL.md
│   │   ├── identify-reviewer/
│   │   │   └── SKILL.md
│   │   ├── investigation-notes/
│   │   │   └── SKILL.md
│   │   ├── kj-style/
│   │   │   └── SKILL.md
│   │   ├── markdown-drafts/
│   │   │   └── SKILL.md
│   │   ├── parent-project-skills/
│   │   │   └── SKILL.md
│   │   ├── pr-review-guide/
│   │   │   └── SKILL.md
│   │   ├── receiving-code-review/
│   │   │   └── SKILL.md
│   │   ├── rust-review/
│   │   │   └── SKILL.md
│   │   ├── test-driven-investigation/
│   │   │   └── SKILL.md
│   │   ├── ts-style/
│   │   │   └── SKILL.md
│   │   ├── update-v8/
│   │   │   └── SKILL.md
│   │   ├── verification-before-completion/
│   │   │   └── SKILL.md
│   │   ├── wd-test-format/
│   │   │   ├── SKILL.md
│   │   │   └── reference/
│   │   │       └── advanced-configs.md
│   │   ├── workerd-api-review/
│   │   │   └── SKILL.md
│   │   └── workerd-safety-review/
│   │       └── SKILL.md
│   └── tools/
│       ├── bazel-deps.ts
│       ├── capnp.ts
│       ├── compat-date-at.ts
│       ├── cross-reference.ts
│       ├── jsg-interface.ts
│       └── next-capnp-ordinal.ts
├── .prettierignore
├── .prettierrc.json
├── .vscode/
│   ├── extensions.json
│   ├── launch.json
│   ├── settings.json
│   └── tasks.json
├── .zed/
│   └── settings.json
├── AGENTS.md
├── BUILD.bazel
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile.release
├── LICENSE
├── MODULE.bazel
├── README.md
├── RELEASE.md
├── SECURITY.md
├── build/
│   ├── AGENTS.md
│   ├── BUILD.all_pyodide_wheels
│   ├── BUILD.nbytes
│   ├── BUILD.pyodide
│   ├── BUILD.pyodide_packages
│   ├── BUILD.simdutf
│   ├── BUILD.sqlite3
│   ├── BUILD.wpt
│   ├── BUILD.zlib
│   ├── capnp_embed.bzl
│   ├── cc_ast_dump.bzl
│   ├── ci.bazelrc
│   ├── config/
│   │   └── BUILD.bazel
│   ├── deps/
│   │   ├── BUILD
│   │   ├── build_deps.jsonc
│   │   ├── dep_pyodide.bzl
│   │   ├── deps.jsonc
│   │   ├── deps.schema.json
│   │   ├── formatters/
│   │   │   ├── BUILD
│   │   │   ├── rustfmt.MODULE.bazel
│   │   │   └── rustfmt_repository.bzl
│   │   ├── gen/
│   │   │   ├── build_deps.MODULE.bazel
│   │   │   ├── deps.MODULE.bazel
│   │   │   └── shared_deps.MODULE.bazel
│   │   ├── nodejs.MODULE.bazel
│   │   ├── oci.MODULE.bazel
│   │   ├── python.MODULE.bazel
│   │   ├── requirements.in
│   │   ├── requirements.txt
│   │   ├── rust.MODULE.bazel
│   │   ├── shared_deps.jsonc
│   │   ├── update-deps.py
│   │   ├── v8.MODULE.bazel
│   │   └── v8.requirements.txt
│   ├── exts/
│   │   └── http.bzl
│   ├── fixtures/
│   │   ├── BUILD.bazel
│   │   └── kj_test.sh
│   ├── google-benchmark/
│   │   ├── BUILD
│   │   └── MODULE.bazel
│   ├── http.bzl
│   ├── http_proxy_config.bzl
│   ├── js_capnp_library.bzl
│   ├── js_file.bzl
│   ├── kj_test.bzl
│   ├── lint_test.bzl
│   ├── perfetto/
│   │   ├── BUILD
│   │   ├── MODULE.bazel
│   │   └── perfetto_cfg.bzl
│   ├── python/
│   │   ├── packages_20240829_4.bzl
│   │   └── packages_20250808.bzl
│   ├── python_metadata.bzl
│   ├── run_binary_target.bzl
│   ├── rust_lint.bazelrc
│   ├── tools/
│   │   └── clang_tidy/
│   │       ├── BUILD
│   │       ├── clang_tidy.bazelrc
│   │       ├── clang_tidy.bzl
│   │       └── clang_tidy_wrapper.sh
│   ├── typescript.bzl
│   ├── wasm_tools_parse.bzl
│   ├── wd_capnp_library.bzl
│   ├── wd_cc_benchmark.bzl
│   ├── wd_cc_binary.bzl
│   ├── wd_cc_capnp_library.bzl
│   ├── wd_cc_embed.bzl
│   ├── wd_cc_library.bzl
│   ├── wd_js_bundle.bzl
│   ├── wd_rust_binary.bzl
│   ├── wd_rust_capnp_library.bzl
│   ├── wd_rust_crate.bzl
│   ├── wd_rust_proc_macro.bzl
│   ├── wd_test.bzl
│   ├── wd_ts_bundle.bzl
│   ├── wd_ts_project.bzl
│   ├── wd_ts_test.bzl
│   ├── wd_ts_type_test.bzl
│   ├── workerd-v8/
│   │   ├── BUILD
│   │   └── MODULE.bazel
│   ├── wpt_get_directories.bzl
│   └── wpt_test.bzl
├── build-releases.sh
├── codecov.yml
├── compile_flags.txt
├── deps/
│   └── rust/
│       ├── BUILD.bazel
│       ├── BUILD.lolhtml
│       ├── cargo.bzl
│       ├── crates/
│       │   ├── BUILD.ada-url-3.4.2.bazel
│       │   ├── BUILD.adler2-2.0.1.bazel
│       │   ├── BUILD.ahash-0.8.12.bazel
│       │   ├── BUILD.aho-corasick-1.1.4.bazel
│       │   ├── BUILD.allocator-api2-0.2.21.bazel
│       │   ├── BUILD.anstyle-1.0.14.bazel
│       │   ├── BUILD.anyhow-1.0.102.bazel
│       │   ├── BUILD.ascii-1.1.0.bazel
│       │   ├── BUILD.ast_node-5.0.0.bazel
│       │   ├── BUILD.async-trait-0.1.89.bazel
│       │   ├── BUILD.autocfg-1.5.0.bazel
│       │   ├── BUILD.base64-0.22.1.bazel
│       │   ├── BUILD.base64-simd-0.8.0.bazel
│       │   ├── BUILD.bazel
│       │   ├── BUILD.better_scoped_tls-1.0.1.bazel
│       │   ├── BUILD.bitflags-2.11.0.bazel
│       │   ├── BUILD.bitvec-1.0.1.bazel
│       │   ├── BUILD.block-buffer-0.10.4.bazel
│       │   ├── BUILD.bstr-1.12.1.bazel
│       │   ├── BUILD.bumpalo-3.20.2.bazel
│       │   ├── BUILD.bytes-1.11.1.bazel
│       │   ├── BUILD.bytes-str-0.2.7.bazel
│       │   ├── BUILD.capnp-0.25.2.bazel
│       │   ├── BUILD.capnp-futures-0.25.2.bazel
│       │   ├── BUILD.capnp-rpc-0.25.0.bazel
│       │   ├── BUILD.capnpc-0.25.0.bazel
│       │   ├── BUILD.castaway-0.2.4.bazel
│       │   ├── BUILD.cc-1.2.57.bazel
│       │   ├── BUILD.cfg-if-1.0.4.bazel
│       │   ├── BUILD.cfg_aliases-0.2.1.bazel
│       │   ├── BUILD.clang-ast-0.1.35.bazel
│       │   ├── BUILD.clap-4.6.0.bazel
│       │   ├── BUILD.clap_builder-4.6.0.bazel
│       │   ├── BUILD.clap_derive-4.6.0.bazel
│       │   ├── BUILD.clap_lex-1.1.0.bazel
│       │   ├── BUILD.codespan-reporting-0.13.1.bazel
│       │   ├── BUILD.compact_str-0.7.1.bazel
│       │   ├── BUILD.compact_str-0.9.0.bazel
│       │   ├── BUILD.cpufeatures-0.2.17.bazel
│       │   ├── BUILD.crc32fast-1.5.0.bazel
│       │   ├── BUILD.crypto-common-0.1.7.bazel
│       │   ├── BUILD.cssparser-0.36.0.bazel
│       │   ├── BUILD.cssparser-macros-0.6.1.bazel
│       │   ├── BUILD.data-encoding-2.10.0.bazel
│       │   ├── BUILD.debugid-0.8.0.bazel
│       │   ├── BUILD.derive_more-2.1.1.bazel
│       │   ├── BUILD.derive_more-impl-2.1.1.bazel
│       │   ├── BUILD.digest-0.10.7.bazel
│       │   ├── BUILD.displaydoc-0.2.5.bazel
│       │   ├── BUILD.dragonbox_ecma-0.1.12.bazel
│       │   ├── BUILD.dtoa-1.0.11.bazel
│       │   ├── BUILD.dtoa-short-0.3.5.bazel
│       │   ├── BUILD.either-1.15.0.bazel
│       │   ├── BUILD.embedded-io-0.7.1.bazel
│       │   ├── BUILD.encoding_rs-0.8.35.bazel
│       │   ├── BUILD.equivalent-1.0.2.bazel
│       │   ├── BUILD.fastrand-2.3.0.bazel
│       │   ├── BUILD.find-msvc-tools-0.1.9.bazel
│       │   ├── BUILD.flate2-1.1.9.bazel
│       │   ├── BUILD.foldhash-0.2.0.bazel
│       │   ├── BUILD.form_urlencoded-1.2.2.bazel
│       │   ├── BUILD.from_variant-3.0.0.bazel
│       │   ├── BUILD.funty-2.0.0.bazel
│       │   ├── BUILD.futures-0.3.32.bazel
│       │   ├── BUILD.futures-channel-0.3.32.bazel
│       │   ├── BUILD.futures-core-0.3.32.bazel
│       │   ├── BUILD.futures-executor-0.3.32.bazel
│       │   ├── BUILD.futures-io-0.3.32.bazel
│       │   ├── BUILD.futures-macro-0.3.32.bazel
│       │   ├── BUILD.futures-sink-0.3.32.bazel
│       │   ├── BUILD.futures-task-0.3.32.bazel
│       │   ├── BUILD.futures-util-0.3.32.bazel
│       │   ├── BUILD.generic-array-0.14.7.bazel
│       │   ├── BUILD.getopts-0.2.24.bazel
│       │   ├── BUILD.getrandom-0.2.17.bazel
│       │   ├── BUILD.getrandom-0.3.4.bazel
│       │   ├── BUILD.hashbrown-0.14.5.bazel
│       │   ├── BUILD.hashbrown-0.16.1.bazel
│       │   ├── BUILD.heck-0.5.0.bazel
│       │   ├── BUILD.hermit-abi-0.5.2.bazel
│       │   ├── BUILD.hstr-3.0.4.bazel
│       │   ├── BUILD.icu_collections-2.1.1.bazel
│       │   ├── BUILD.icu_locale_core-2.1.1.bazel
│       │   ├── BUILD.icu_normalizer-2.1.1.bazel
│       │   ├── BUILD.icu_normalizer_data-2.1.1.bazel
│       │   ├── BUILD.icu_properties-2.1.2.bazel
│       │   ├── BUILD.icu_properties_data-2.1.2.bazel
│       │   ├── BUILD.icu_provider-2.1.1.bazel
│       │   ├── BUILD.idna-1.1.0.bazel
│       │   ├── BUILD.idna_adapter-1.2.1.bazel
│       │   ├── BUILD.if_chain-1.0.3.bazel
│       │   ├── BUILD.indexmap-2.13.0.bazel
│       │   ├── BUILD.is-macro-0.3.7.bazel
│       │   ├── BUILD.itertools-0.14.0.bazel
│       │   ├── BUILD.itoa-1.0.17.bazel
│       │   ├── BUILD.jobserver-0.1.34.bazel
│       │   ├── BUILD.js-sys-0.3.91.bazel
│       │   ├── BUILD.libc-0.2.183.bazel
│       │   ├── BUILD.link_args-0.6.0.bazel
│       │   ├── BUILD.litemap-0.8.1.bazel
│       │   ├── BUILD.log-0.4.29.bazel
│       │   ├── BUILD.lol_html-2.7.2.bazel
│       │   ├── BUILD.lol_html_c_api-1.3.1.bazel
│       │   ├── BUILD.memchr-2.8.0.bazel
│       │   ├── BUILD.mime-0.3.17.bazel
│       │   ├── BUILD.miniz_oxide-0.8.9.bazel
│       │   ├── BUILD.mio-1.1.1.bazel
│       │   ├── BUILD.new_debug_unreachable-1.0.6.bazel
│       │   ├── BUILD.nix-0.31.2.bazel
│       │   ├── BUILD.num-bigint-0.4.6.bazel
│       │   ├── BUILD.num-integer-0.1.46.bazel
│       │   ├── BUILD.num-traits-0.2.19.bazel
│       │   ├── BUILD.num_cpus-1.17.0.bazel
│       │   ├── BUILD.once_cell-1.21.4.bazel
│       │   ├── BUILD.outref-0.5.2.bazel
│       │   ├── BUILD.par-core-2.0.0.bazel
│       │   ├── BUILD.percent-encoding-2.3.2.bazel
│       │   ├── BUILD.phf-0.11.3.bazel
│       │   ├── BUILD.phf-0.13.1.bazel
│       │   ├── BUILD.phf_codegen-0.11.3.bazel
│       │   ├── BUILD.phf_codegen-0.13.1.bazel
│       │   ├── BUILD.phf_generator-0.11.3.bazel
│       │   ├── BUILD.phf_generator-0.13.1.bazel
│       │   ├── BUILD.phf_macros-0.11.3.bazel
│       │   ├── BUILD.phf_macros-0.13.1.bazel
│       │   ├── BUILD.phf_shared-0.11.3.bazel
│       │   ├── BUILD.phf_shared-0.13.1.bazel
│       │   ├── BUILD.pico-args-0.5.0.bazel
│       │   ├── BUILD.pin-project-lite-0.2.17.bazel
│       │   ├── BUILD.potential_utf-0.1.4.bazel
│       │   ├── BUILD.ppv-lite86-0.2.21.bazel
│       │   ├── BUILD.precomputed-hash-0.1.1.bazel
│       │   ├── BUILD.proc-macro2-1.0.106.bazel
│       │   ├── BUILD.quote-1.0.45.bazel
│       │   ├── BUILD.r-efi-5.3.0.bazel
│       │   ├── BUILD.radium-0.7.0.bazel
│       │   ├── BUILD.rand-0.8.5.bazel
│       │   ├── BUILD.rand_chacha-0.3.1.bazel
│       │   ├── BUILD.rand_core-0.6.4.bazel
│       │   ├── BUILD.regex-1.12.3.bazel
│       │   ├── BUILD.regex-automata-0.4.14.bazel
│       │   ├── BUILD.regex-syntax-0.8.10.bazel
│       │   ├── BUILD.ruff_python_ast-0.0.0.bazel
│       │   ├── BUILD.ruff_python_parser-0.0.0.bazel
│       │   ├── BUILD.ruff_python_trivia-0.0.0.bazel
│       │   ├── BUILD.ruff_source_file-0.0.0.bazel
│       │   ├── BUILD.ruff_text_size-0.0.0.bazel
│       │   ├── BUILD.rustc-hash-2.1.1.bazel
│       │   ├── BUILD.rustc_version-0.4.1.bazel
│       │   ├── BUILD.rustversion-1.0.22.bazel
│       │   ├── BUILD.ryu-1.0.23.bazel
│       │   ├── BUILD.scoped-tls-1.0.1.bazel
│       │   ├── BUILD.scratch-1.0.9.bazel
│       │   ├── BUILD.selectors-0.33.0.bazel
│       │   ├── BUILD.semver-1.0.27.bazel
│       │   ├── BUILD.seq-macro-0.3.6.bazel
│       │   ├── BUILD.serde-1.0.228.bazel
│       │   ├── BUILD.serde_core-1.0.228.bazel
│       │   ├── BUILD.serde_derive-1.0.228.bazel
│       │   ├── BUILD.serde_json-1.0.149.bazel
│       │   ├── BUILD.servo_arc-0.4.3.bazel
│       │   ├── BUILD.sha1-0.10.6.bazel
│       │   ├── BUILD.shlex-1.3.0.bazel
│       │   ├── BUILD.simd-adler32-0.3.8.bazel
│       │   ├── BUILD.siphasher-0.3.11.bazel
│       │   ├── BUILD.siphasher-1.0.2.bazel
│       │   ├── BUILD.slab-0.4.12.bazel
│       │   ├── BUILD.smallvec-1.15.1.bazel
│       │   ├── BUILD.smartstring-1.0.1.bazel
│       │   ├── BUILD.socket2-0.6.3.bazel
│       │   ├── BUILD.stable_deref_trait-1.2.1.bazel
│       │   ├── BUILD.static_assertions-1.1.0.bazel
│       │   ├── BUILD.string_enum-1.0.2.bazel
│       │   ├── BUILD.swc_allocator-4.0.1.bazel
│       │   ├── BUILD.swc_atoms-9.0.0.bazel
│       │   ├── BUILD.swc_common-18.0.1.bazel
│       │   ├── BUILD.swc_config-3.1.2.bazel
│       │   ├── BUILD.swc_config_macro-1.0.1.bazel
│       │   ├── BUILD.swc_ecma_ast-20.0.1.bazel
│       │   ├── BUILD.swc_ecma_codegen-23.0.0.bazel
│       │   ├── BUILD.swc_ecma_codegen_macros-2.0.2.bazel
│       │   ├── BUILD.swc_ecma_hooks-0.4.0.bazel
│       │   ├── BUILD.swc_ecma_parser-33.0.1.bazel
│       │   ├── BUILD.swc_ecma_transforms_base-36.0.1.bazel
│       │   ├── BUILD.swc_ecma_transforms_react-40.0.0.bazel
│       │   ├── BUILD.swc_ecma_transforms_typescript-40.0.0.bazel
│       │   ├── BUILD.swc_ecma_utils-26.0.1.bazel
│       │   ├── BUILD.swc_ecma_visit-20.0.0.bazel
│       │   ├── BUILD.swc_eq_ignore_macros-1.0.1.bazel
│       │   ├── BUILD.swc_macros_common-1.0.1.bazel
│       │   ├── BUILD.swc_sourcemap-9.3.4.bazel
│       │   ├── BUILD.swc_ts_fast_strip-43.0.0.bazel
│       │   ├── BUILD.swc_visit-2.0.1.bazel
│       │   ├── BUILD.syn-2.0.117.bazel
│       │   ├── BUILD.synstructure-0.13.2.bazel
│       │   ├── BUILD.tap-1.0.1.bazel
│       │   ├── BUILD.termcolor-1.4.1.bazel
│       │   ├── BUILD.thiserror-2.0.18.bazel
│       │   ├── BUILD.thiserror-impl-2.0.18.bazel
│       │   ├── BUILD.tinystr-0.8.2.bazel
│       │   ├── BUILD.tinyvec-1.11.0.bazel
│       │   ├── BUILD.tinyvec_macros-0.1.1.bazel
│       │   ├── BUILD.tokio-1.50.0.bazel
│       │   ├── BUILD.tracing-0.1.44.bazel
│       │   ├── BUILD.tracing-attributes-0.1.31.bazel
│       │   ├── BUILD.tracing-core-0.1.36.bazel
│       │   ├── BUILD.triomphe-0.1.15.bazel
│       │   ├── BUILD.typenum-1.19.0.bazel
│       │   ├── BUILD.unicode-id-start-1.4.0.bazel
│       │   ├── BUILD.unicode-ident-1.0.24.bazel
│       │   ├── BUILD.unicode-normalization-0.1.25.bazel
│       │   ├── BUILD.unicode-width-0.2.2.bazel
│       │   ├── BUILD.unicode_names2-1.3.0.bazel
│       │   ├── BUILD.unicode_names2_generator-1.3.0.bazel
│       │   ├── BUILD.url-2.5.8.bazel
│       │   ├── BUILD.utf8_iter-1.0.4.bazel
│       │   ├── BUILD.uuid-1.22.0.bazel
│       │   ├── BUILD.version_check-0.9.5.bazel
│       │   ├── BUILD.vsimd-0.8.0.bazel
│       │   ├── BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel
│       │   ├── BUILD.wasip2-1.0.2+wasi-0.2.9.bazel
│       │   ├── BUILD.wasm-bindgen-0.2.114.bazel
│       │   ├── BUILD.wasm-bindgen-macro-0.2.114.bazel
│       │   ├── BUILD.wasm-bindgen-macro-support-0.2.114.bazel
│       │   ├── BUILD.wasm-bindgen-shared-0.2.114.bazel
│       │   ├── BUILD.winapi-util-0.1.11.bazel
│       │   ├── BUILD.windows-link-0.2.1.bazel
│       │   ├── BUILD.windows-sys-0.61.2.bazel
│       │   ├── BUILD.wit-bindgen-0.51.0.bazel
│       │   ├── BUILD.writeable-0.6.2.bazel
│       │   ├── BUILD.wyz-0.5.1.bazel
│       │   ├── BUILD.yoke-0.8.1.bazel
│       │   ├── BUILD.yoke-derive-0.8.1.bazel
│       │   ├── BUILD.zerocopy-0.8.42.bazel
│       │   ├── BUILD.zerocopy-derive-0.8.42.bazel
│       │   ├── BUILD.zerofrom-0.1.6.bazel
│       │   ├── BUILD.zerofrom-derive-0.1.6.bazel
│       │   ├── BUILD.zerotrie-0.2.3.bazel
│       │   ├── BUILD.zerovec-0.11.5.bazel
│       │   ├── BUILD.zerovec-derive-0.11.2.bazel
│       │   ├── BUILD.zmij-1.0.21.bazel
│       │   ├── alias_rules.bzl
│       │   ├── crates.bzl
│       │   └── defs.bzl
│       └── extension.bzl
├── docs/
│   ├── api-updates.md
│   ├── benchmarking.md
│   ├── development.md
│   ├── jsg.md
│   ├── pyodide.md
│   ├── reference/
│   │   ├── api-review-checklist.md
│   │   ├── cpp-safety-review-checklist.md
│   │   ├── detail/
│   │   │   ├── api-patterns.md
│   │   │   ├── async-patterns.md
│   │   │   ├── review-checklist.md
│   │   │   └── type-design.md
│   │   ├── kj-style.md
│   │   ├── rust-review-checklist.md
│   │   └── ts-style.md
│   ├── streams.md
│   ├── v8-updates.md
│   └── vscode.md
├── doxyfile
├── empty/
│   └── empty
├── fuzzilli/
│   ├── BUILD.bazel
│   ├── README.md
│   ├── analytics-mock.js
│   ├── config-full.capnp
│   ├── config.capnp
│   ├── d1-mock.js
│   ├── kv-mock.js
│   ├── queue-mock.js
│   ├── r2-mock.js
│   ├── worker-consume-request.js
│   ├── worker-full.js
│   └── worker.js
├── githooks/
│   ├── README
│   ├── pre-commit
│   └── pre-push
├── images/
│   ├── BUILD.bazel
│   └── container-client-test/
│       ├── BUILD.bazel
│       ├── app.js
│       └── package.json
├── justfile
├── npm/
│   ├── lib/
│   │   ├── node-install.ts
│   │   ├── node-path.ts
│   │   ├── node-platform.ts
│   │   └── node-shim.ts
│   ├── scripts/
│   │   ├── build-shim-package.mjs
│   │   ├── build-types-package.mjs
│   │   └── bump-version.mjs
│   ├── workerd/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   └── package.json
│   ├── workerd-darwin-64/
│   │   ├── README.md
│   │   └── package.json
│   ├── workerd-darwin-arm64/
│   │   ├── README.md
│   │   └── package.json
│   ├── workerd-linux-64/
│   │   ├── README.md
│   │   └── package.json
│   ├── workerd-linux-arm64/
│   │   ├── README.md
│   │   └── package.json
│   ├── workerd-windows-64/
│   │   ├── README.md
│   │   └── package.json
│   └── workers-types/
│       ├── README.md
│       └── package.json
├── package.json
├── patches/
│   ├── boringssl/
│   │   └── 0001-Expose-libdecrepit-so-NodeJS-can-use-it-for-ncrypto.patch
│   ├── perfetto/
│   │   ├── 0001-Don-t-attempt-to-use-rules_android.patch
│   │   └── 0002-disable-info-level-logging.patch
│   ├── sqlite/
│   │   ├── 0001-row-counts-plain.patch
│   │   ├── 0002-macOS-missing-PATH-fix.patch
│   │   ├── 0003-sqlite-complete-early-exit.patch
│   │   ├── 0004-invalid-wal-on-rollback-fix.patch
│   │   └── README.md
│   ├── v8/
│   │   ├── 0001-Allow-manually-setting-ValueDeserializer-format-vers.patch
│   │   ├── 0002-Allow-manually-setting-ValueSerializer-format-versio.patch
│   │   ├── 0003-Allow-Windows-builds-under-Bazel.patch
│   │   ├── 0004-Disable-bazel-whole-archive-build.patch
│   │   ├── 0005-Speed-up-V8-bazel-build-by-always-using-target-cfg.patch
│   │   ├── 0006-Implement-Promise-Context-Tagging.patch
│   │   ├── 0007-Randomize-the-initial-ExecutionContextId-used-by-the.patch
│   │   ├── 0008-increase-visibility-of-virtual-method.patch
│   │   ├── 0009-Add-ValueSerializer-SetTreatFunctionsAsHostObjects.patch
│   │   ├── 0010-Modify-where-to-look-for-fp16-dependency.-This-depen.patch
│   │   ├── 0011-Revert-heap-Add-masm-specific-unwinding-annotations-.patch
│   │   ├── 0012-Update-illegal-invocation-error-message-in-v8.patch
│   │   ├── 0013-Implement-cross-request-context-promise-resolve-hand.patch
│   │   ├── 0014-Add-another-slot-in-the-isolate-for-embedder.patch
│   │   ├── 0015-Add-ValueSerializer-SetTreatProxiesAsHostObjects.patch
│   │   ├── 0016-Disable-memory-leak-assert-when-shutting-down-V8.patch
│   │   ├── 0017-Enable-V8-shared-linkage.patch
│   │   ├── 0018-Modify-where-to-look-for-fast_float-and-simdutf.patch
│   │   ├── 0019-Remove-unneded-latomic-linker-flag.patch
│   │   ├── 0020-Add-methods-to-get-heap-and-external-memory-sizes-di.patch
│   │   ├── 0021-Port-concurrent-mksnapshot-support.patch
│   │   ├── 0022-Port-V8_USE_ZLIB-support.patch
│   │   ├── 0023-Modify-where-to-look-for-dragonbox.patch
│   │   ├── 0024-Disable-slow-handle-check.patch
│   │   ├── 0025-Workaround-for-builtin-can-allocate-issue.patch
│   │   ├── 0026-Implement-additional-Exception-construction-methods.patch
│   │   ├── 0027-Export-icudata-file-to-facilitate-embedding-it.patch
│   │   ├── 0028-bind-icu-to-googlesource.patch
│   │   ├── 0029-Add-v8-String-IsFlat-API.patch
│   │   ├── 0030-Expose-AdjustAmountOfExternalAllocatedMemoryImpl-as-.patch
│   │   ├── 0031-Add-verify_write_barriers-flag-in-V8-s-bazel-config.patch
│   │   ├── 0032-Change-lamba-signature-to-get-around-windows-build-f.patch
│   │   ├── 0033-Return-false-on-Object.hasOwnProperty-with-intercept.patch
│   │   ├── 0034-Remove-V8-MODULE.bazel-llvm-toolchain-and-libcxx-rep.patch
│   │   └── 0035-Remove-libcxx-dep-from-defs.bzl-not-resolvable-via-h.patch
│   └── zlib/
│       └── 0001-Add-dummy-MODULE.bazel.patch
├── pnpm-workspace.yaml
├── ruff.toml
├── samples/
│   ├── BUILD.bazel
│   ├── async-context/
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── durable-objects-chat/
│   │   ├── chat.html
│   │   ├── chat.js
│   │   └── config.capnp
│   ├── eventsource/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   ├── server.js
│   │   └── worker.js
│   ├── extensions/
│   │   ├── README.md
│   │   ├── binding.js
│   │   ├── burrito-shop-impl.js
│   │   ├── burrito-shop.capnp
│   │   ├── burrito-shop.js
│   │   ├── config.capnp
│   │   ├── kitchen.js
│   │   ├── recipes.json
│   │   └── worker.js
│   ├── filesystem/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── hello-wasm/
│   │   ├── .gitignore
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── src/
│   │       ├── lib.rs
│   │       └── utils.rs
│   ├── helloworld/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── helloworld-ts/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.ts
│   ├── helloworld_esm/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── memory-cache/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── module_fallback/
│   │   ├── README.md
│   │   ├── cjs.js
│   │   ├── config.capnp
│   │   ├── fallback.js
│   │   └── worker.js
│   ├── nodejs-compat/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-crypto/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-diagnosticschannel/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   ├── library.js
│   │   └── worker.js
│   ├── nodejs-compat-fs/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-fs-graceful/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   ├── graceful-fs/
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── clone.js
│   │   │   ├── graceful-fs.js
│   │   │   ├── legacy-streams.js
│   │   │   ├── package.json
│   │   │   └── polyfills.js
│   │   └── worker.js
│   ├── nodejs-compat-fs-yazl/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-http/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-streams/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-streams-split2/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   ├── split2.js
│   │   └── worker.js
│   ├── pyodide/
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── pyodide-env/
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── pyodide-fastapi/
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── pyodide-langchain/
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── python-benchmark/
│   │   ├── README.md
│   │   ├── bench.lua
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── repl-server/
│   │   ├── README.md
│   │   ├── client.js
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── repl-server-python/
│   │   ├── README.md
│   │   ├── client.js
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── static-files-from-disk/
│   │   ├── config.capnp
│   │   ├── content-dir/
│   │   │   └── index.html
│   │   └── static.js
│   ├── tail-workers/
│   │   ├── config.capnp
│   │   ├── tail.js
│   │   └── worker.js
│   ├── tcp/
│   │   ├── config.capnp
│   │   └── gopher.js
│   ├── unit-tests/
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── web-streams/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   ├── streams-util.js
│   │   └── worker.js
│   └── webfs/
│       ├── README.md
│       ├── config.capnp
│       └── worker.js
├── src/
│   ├── cloudflare/
│   │   ├── AGENTS.md
│   │   ├── BUILD.bazel
│   │   ├── README.md
│   │   ├── ai.ts
│   │   ├── br.ts
│   │   ├── email.ts
│   │   ├── eslint.config.mjs
│   │   ├── internal/
│   │   │   ├── ai-api.ts
│   │   │   ├── aig-api.ts
│   │   │   ├── autorag-api.ts
│   │   │   ├── base64.d.ts
│   │   │   ├── br-api.ts
│   │   │   ├── d1-api.ts
│   │   │   ├── email.d.ts
│   │   │   ├── env.d.ts
│   │   │   ├── global.d.ts
│   │   │   ├── http.ts
│   │   │   ├── images-api.ts
│   │   │   ├── images.d.ts
│   │   │   ├── pipeline-transform.ts
│   │   │   ├── sockets.d.ts
│   │   │   ├── streaming-base64.ts
│   │   │   ├── streaming-forms.ts
│   │   │   ├── test/
│   │   │   │   ├── BUILD.bazel
│   │   │   │   ├── ai/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── ai-api-test.js
│   │   │   │   │   ├── ai-api-test.py
│   │   │   │   │   ├── ai-api-test.wd-test
│   │   │   │   │   ├── ai-mock.js
│   │   │   │   │   └── python-ai-api-test.wd-test
│   │   │   │   ├── aig/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── aig-api-test.js
│   │   │   │   │   ├── aig-api-test.py
│   │   │   │   │   ├── aig-api-test.wd-test
│   │   │   │   │   ├── aig-mock.js
│   │   │   │   │   └── python-aig-api-test.wd-test
│   │   │   │   ├── autorag/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── autorag-api-test.js
│   │   │   │   │   ├── autorag-api-test.py
│   │   │   │   │   ├── autorag-api-test.wd-test
│   │   │   │   │   ├── autorag-mock.js
│   │   │   │   │   └── python-autorag-api-test.wd-test
│   │   │   │   ├── br/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── br-api-test.js
│   │   │   │   │   ├── br-api-test.py
│   │   │   │   │   ├── br-api-test.wd-test
│   │   │   │   │   ├── br-mock.js
│   │   │   │   │   └── python-br-api-test.wd-test
│   │   │   │   ├── d1/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── d1-api-instrumentation-test.js
│   │   │   │   │   ├── d1-api-test-common.js
│   │   │   │   │   ├── d1-api-test-with-sessions.js
│   │   │   │   │   ├── d1-api-test-with-sessions.wd-test
│   │   │   │   │   ├── d1-api-test.js
│   │   │   │   │   ├── d1-api-test.py
│   │   │   │   │   ├── d1-api-test.wd-test
│   │   │   │   │   ├── d1-mock.js
│   │   │   │   │   └── python-d1-api-test.wd-test
│   │   │   │   ├── images/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── images-api-instrumentation-test.js
│   │   │   │   │   ├── images-api-test.js
│   │   │   │   │   ├── images-api-test.wd-test
│   │   │   │   │   └── images-upstream-mock.js
│   │   │   │   ├── instrumentation-test-helper.js
│   │   │   │   ├── pipeline-transform/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── transform-test.js
│   │   │   │   │   └── transform.wd-test
│   │   │   │   ├── to-markdown/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── python-to-markdown-api-test.wd-test
│   │   │   │   │   ├── to-markdown-api-test.js
│   │   │   │   │   ├── to-markdown-api-test.py
│   │   │   │   │   ├── to-markdown-api-test.wd-test
│   │   │   │   │   └── to-markdown-mock.js
│   │   │   │   ├── tracing/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── tracing-helpers-instrumentation-test.js
│   │   │   │   │   ├── tracing-helpers-test.js
│   │   │   │   │   └── tracing-helpers-test.wd-test
│   │   │   │   ├── vectorize/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── python-vectorize-api-test.wd-test
│   │   │   │   │   ├── vectorize-api-test.js
│   │   │   │   │   ├── vectorize-api-test.py
│   │   │   │   │   ├── vectorize-api-test.wd-test
│   │   │   │   │   └── vectorize-mock.js
│   │   │   │   └── workflows/
│   │   │   │       ├── BUILD.bazel
│   │   │   │       ├── workflows-api-test.js
│   │   │   │       ├── workflows-api-test.wd-test
│   │   │   │       └── workflows-mock.js
│   │   │   ├── test-tracing-wrapper.ts
│   │   │   ├── to-markdown-api.ts
│   │   │   ├── tracing-helpers.ts
│   │   │   ├── tracing.d.ts
│   │   │   ├── vectorize-api.ts
│   │   │   ├── vectorize.d.ts
│   │   │   ├── workers.d.ts
│   │   │   ├── workflows-api.ts
│   │   │   └── workflows.d.ts
│   │   ├── node.ts
│   │   ├── pipelines.ts
│   │   ├── sockets.ts
│   │   ├── tsconfig.json
│   │   ├── vectorize.ts
│   │   ├── workers.ts
│   │   └── workflows.ts
│   ├── node/
│   │   ├── AGENTS.md
│   │   ├── BUILD.bazel
│   │   ├── README.md
│   │   ├── _http_agent.ts
│   │   ├── _http_client.ts
│   │   ├── _http_common.ts
│   │   ├── _http_incoming.ts
│   │   ├── _http_outgoing.ts
│   │   ├── _http_server.ts
│   │   ├── _stream_duplex.ts
│   │   ├── _stream_passthrough.ts
│   │   ├── _stream_readable.ts
│   │   ├── _stream_transform.ts
│   │   ├── _stream_wrap.ts
│   │   ├── _stream_writable.ts
│   │   ├── _tls_common.ts
│   │   ├── _tls_wrap.ts
│   │   ├── assert/
│   │   │   └── strict.ts
│   │   ├── assert.ts
│   │   ├── async_hooks.ts
│   │   ├── buffer.ts
│   │   ├── child_process.ts
│   │   ├── cluster.ts
│   │   ├── console.ts
│   │   ├── constants.ts
│   │   ├── crypto.ts
│   │   ├── dgram.ts
│   │   ├── diagnostics_channel.ts
│   │   ├── dns/
│   │   │   └── promises.ts
│   │   ├── dns.ts
│   │   ├── domain.ts
│   │   ├── eslint.config.mjs
│   │   ├── events.ts
│   │   ├── fs/
│   │   │   └── promises.ts
│   │   ├── fs.ts
│   │   ├── http.ts
│   │   ├── http2.ts
│   │   ├── https.ts
│   │   ├── inspector/
│   │   │   └── promises.ts
│   │   ├── inspector.ts
│   │   ├── internal/
│   │   │   ├── async_hooks.d.ts
│   │   │   ├── buffer.d.ts
│   │   │   ├── constants.ts
│   │   │   ├── crypto.d.ts
│   │   │   ├── crypto_cipher.ts
│   │   │   ├── crypto_dh.ts
│   │   │   ├── crypto_hash.ts
│   │   │   ├── crypto_hkdf.ts
│   │   │   ├── crypto_keys.ts
│   │   │   ├── crypto_pbkdf2.ts
│   │   │   ├── crypto_random.ts
│   │   │   ├── crypto_scrypt.ts
│   │   │   ├── crypto_sign.ts
│   │   │   ├── crypto_spkac.ts
│   │   │   ├── crypto_util.ts
│   │   │   ├── crypto_x509.ts
│   │   │   ├── debuglog.ts
│   │   │   ├── diagnostics_channel.d.ts
│   │   │   ├── dns.d.ts
│   │   │   ├── events.ts
│   │   │   ├── filesystem.d.ts
│   │   │   ├── http.d.ts
│   │   │   ├── internal_assert.ts
│   │   │   ├── internal_assertionerror.ts
│   │   │   ├── internal_buffer.ts
│   │   │   ├── internal_comparisons.ts
│   │   │   ├── internal_diffs.ts
│   │   │   ├── internal_dns.ts
│   │   │   ├── internal_dns_client.ts
│   │   │   ├── internal_dns_constants.ts
│   │   │   ├── internal_dns_promises.ts
│   │   │   ├── internal_errors.ts
│   │   │   ├── internal_fs.ts
│   │   │   ├── internal_fs_callback.ts
│   │   │   ├── internal_fs_constants.ts
│   │   │   ├── internal_fs_promises.ts
│   │   │   ├── internal_fs_streams.ts
│   │   │   ├── internal_fs_sync.ts
│   │   │   ├── internal_fs_utils.ts
│   │   │   ├── internal_http.ts
│   │   │   ├── internal_http2_constants.ts
│   │   │   ├── internal_http_agent.ts
│   │   │   ├── internal_http_client.ts
│   │   │   ├── internal_http_constants.ts
│   │   │   ├── internal_http_incoming.ts
│   │   │   ├── internal_http_outgoing.ts
│   │   │   ├── internal_http_server.ts
│   │   │   ├── internal_http_util.ts
│   │   │   ├── internal_https_agent.ts
│   │   │   ├── internal_https_server.ts
│   │   │   ├── internal_inspect.ts
│   │   │   ├── internal_module.ts
│   │   │   ├── internal_net.ts
│   │   │   ├── internal_path.ts
│   │   │   ├── internal_process.ts
│   │   │   ├── internal_querystring.ts
│   │   │   ├── internal_readline.ts
│   │   │   ├── internal_readline_promises.ts
│   │   │   ├── internal_stringdecoder.ts
│   │   │   ├── internal_timers.ts
│   │   │   ├── internal_timers_global_override.ts
│   │   │   ├── internal_timers_promises.ts
│   │   │   ├── internal_tls.ts
│   │   │   ├── internal_tls_common.ts
│   │   │   ├── internal_tls_constants.ts
│   │   │   ├── internal_tls_jsstream.ts
│   │   │   ├── internal_tls_wrap.ts
│   │   │   ├── internal_types.ts
│   │   │   ├── internal_url.ts
│   │   │   ├── internal_utils.ts
│   │   │   ├── internal_zlib.ts
│   │   │   ├── internal_zlib_base.ts
│   │   │   ├── internal_zlib_constants.ts
│   │   │   ├── legacy_process.ts
│   │   │   ├── legacy_url.ts
│   │   │   ├── messagechannel.d.ts
│   │   │   ├── mock.d.ts
│   │   │   ├── mock.js
│   │   │   ├── module.d.ts
│   │   │   ├── process.d.ts
│   │   │   ├── public_process.ts
│   │   │   ├── sockets.d.ts
│   │   │   ├── sqlite.d.ts
│   │   │   ├── streams_add_abort_signal.ts
│   │   │   ├── streams_compose.d.ts
│   │   │   ├── streams_compose.js
│   │   │   ├── streams_destroy.ts
│   │   │   ├── streams_duplex.d.ts
│   │   │   ├── streams_duplex.js
│   │   │   ├── streams_end_of_stream.ts
│   │   │   ├── streams_legacy.d.ts
│   │   │   ├── streams_legacy.js
│   │   │   ├── streams_pipeline.d.ts
│   │   │   ├── streams_pipeline.js
│   │   │   ├── streams_promises.ts
│   │   │   ├── streams_readable.d.ts
│   │   │   ├── streams_readable.js
│   │   │   ├── streams_state.ts
│   │   │   ├── streams_transform.d.ts
│   │   │   ├── streams_transform.js
│   │   │   ├── streams_util.ts
│   │   │   ├── streams_writable.d.ts
│   │   │   ├── streams_writable.js
│   │   │   ├── timers.d.ts
│   │   │   ├── url.d.ts
│   │   │   ├── util.d.ts
│   │   │   ├── validators.ts
│   │   │   ├── workers.d.ts
│   │   │   └── zlib.d.ts
│   │   ├── module.ts
│   │   ├── net.ts
│   │   ├── os.ts
│   │   ├── path/
│   │   │   ├── posix.ts
│   │   │   └── win32.ts
│   │   ├── path.ts
│   │   ├── perf_hooks.ts
│   │   ├── punycode.ts
│   │   ├── querystring.ts
│   │   ├── readline/
│   │   │   └── promises.ts
│   │   ├── readline.ts
│   │   ├── repl.ts
│   │   ├── sqlite.ts
│   │   ├── stream/
│   │   │   ├── consumers.js
│   │   │   ├── promises.js
│   │   │   └── web.js
│   │   ├── stream.ts
│   │   ├── string_decoder.ts
│   │   ├── test.ts
│   │   ├── timers/
│   │   │   └── promises.ts
│   │   ├── timers.ts
│   │   ├── tls.ts
│   │   ├── trace_events.ts
│   │   ├── tsconfig.json
│   │   ├── tty.ts
│   │   ├── url.ts
│   │   ├── util/
│   │   │   └── types.ts
│   │   ├── util.ts
│   │   ├── v8.ts
│   │   ├── vm.ts
│   │   ├── wasi.ts
│   │   ├── worker_threads.ts
│   │   └── zlib.ts
│   ├── pyodide/
│   │   ├── AGENTS.md
│   │   ├── BUILD.bazel
│   │   ├── README.md
│   │   ├── create_vendor_zip.py
│   │   ├── eslint.config.mjs
│   │   ├── helpers.bzl
│   │   ├── internal/
│   │   │   ├── const.ts
│   │   │   ├── envHelpers.ts
│   │   │   ├── introspection.py
│   │   │   ├── jaeger.ts
│   │   │   ├── loadPackage.ts
│   │   │   ├── metadata.ts
│   │   │   ├── metadatafs.ts
│   │   │   ├── patches/
│   │   │   │   ├── aiohttp.py
│   │   │   │   └── httpx.py
│   │   │   ├── pool/
│   │   │   │   ├── builtin_wrappers.ts
│   │   │   │   ├── emscriptenSetup.ts
│   │   │   │   ├── esbuild.config.mjs
│   │   │   │   └── sentinel.ts
│   │   │   ├── python.ts
│   │   │   ├── readOnlyFS.ts
│   │   │   ├── serializeJsModule.ts
│   │   │   ├── setupPackages.ts
│   │   │   ├── snapshot.ts
│   │   │   ├── sphinx/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── Makefile
│   │   │   │   ├── README.md
│   │   │   │   ├── conf.py
│   │   │   │   ├── docs/
│   │   │   │   │   ├── asgi.rst
│   │   │   │   │   ├── modules.rst
│   │   │   │   │   └── workers.rst
│   │   │   │   ├── index.rst
│   │   │   │   ├── make.bat
│   │   │   │   └── requirements-doc.txt
│   │   │   ├── tar.ts
│   │   │   ├── tarfs.ts
│   │   │   ├── test_frozen_sdk.py
│   │   │   ├── test_introspection.py
│   │   │   ├── topLevelEntropy/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── allow_entropy.py
│   │   │   │   ├── allow_entropy.py.d.ts
│   │   │   │   ├── entropy_import_context.py
│   │   │   │   ├── entropy_import_context.py.d.ts
│   │   │   │   ├── entropy_patches.py
│   │   │   │   ├── entropy_patches.py.d.ts
│   │   │   │   ├── import_patch_manager.py
│   │   │   │   ├── import_patch_manager.py.d.ts
│   │   │   │   └── lib.ts
│   │   │   ├── util.ts
│   │   │   └── workers-api/
│   │   │       ├── pyproject.toml
│   │   │       └── src/
│   │   │           ├── asgi.py
│   │   │           └── workers/
│   │   │               ├── __init__.py
│   │   │               ├── _workers.py
│   │   │               └── workflows.py
│   │   ├── make_snapshots.py
│   │   ├── package.json
│   │   ├── pyodide_extra.capnp
│   │   ├── python-entrypoint-helper.ts
│   │   ├── python-entrypoint.js
│   │   ├── tool_utils.py
│   │   ├── tsconfig.json
│   │   ├── types/
│   │   │   ├── Error.d.ts
│   │   │   ├── Pyodide.d.ts
│   │   │   ├── artifacts.d.ts
│   │   │   ├── cloudflare-internal/
│   │   │   │   └── env.d.ts
│   │   │   ├── disk_cache.d.ts
│   │   │   ├── emscripten.d.ts
│   │   │   ├── fatal-reporter.d.ts
│   │   │   ├── filesystem.d.ts
│   │   │   ├── internalJaeger.d.ts
│   │   │   ├── limiter.d.ts
│   │   │   ├── modules.d.ts
│   │   │   ├── packages_tar_reader.d.ts
│   │   │   ├── pyodide-lock.d.ts
│   │   │   ├── pyodide.asm.d.ts
│   │   │   ├── python_stdlib.zip.d.ts
│   │   │   ├── runtime-generated/
│   │   │   │   └── metadata.d.ts
│   │   │   ├── setup-emscripten.d.ts
│   │   │   └── unsafe-eval.d.ts
│   │   └── upload_bundles.py
│   ├── rust/
│   │   ├── AGENTS.md
│   │   ├── BUILD.bazel
│   │   ├── api/
│   │   │   ├── BUILD.bazel
│   │   │   ├── dns.rs
│   │   │   └── lib.rs
│   │   ├── clippy.toml
│   │   ├── cxx-integration/
│   │   │   ├── BUILD.bazel
│   │   │   ├── lib.rs
│   │   │   └── tokio.rs
│   │   ├── cxx-integration-test/
│   │   │   ├── BUILD.bazel
│   │   │   ├── cxx-rust-integration-test.c++
│   │   │   ├── cxx-rust-integration-test.h
│   │   │   └── lib.rs
│   │   ├── encoding/
│   │   │   ├── BUILD.bazel
│   │   │   └── lib.rs
│   │   ├── gen-compile-cache/
│   │   │   ├── BUILD.bazel
│   │   │   ├── cxx-bridge.c++
│   │   │   ├── cxx-bridge.h
│   │   │   └── main.rs
│   │   ├── jsg/
│   │   │   ├── BUILD.bazel
│   │   │   ├── README.md
│   │   │   ├── feature_flags.rs
│   │   │   ├── ffi-inl.h
│   │   │   ├── ffi.c++
│   │   │   ├── ffi.h
│   │   │   ├── jsg.h
│   │   │   ├── lib.rs
│   │   │   ├── modules.rs
│   │   │   ├── resource.rs
│   │   │   ├── v8.rs
│   │   │   └── wrappable.rs
│   │   ├── jsg-macros/
│   │   │   ├── BUILD.bazel
│   │   │   ├── README.md
│   │   │   └── lib.rs
│   │   ├── jsg-test/
│   │   │   ├── BUILD.bazel
│   │   │   ├── ffi.c++
│   │   │   ├── ffi.h
│   │   │   ├── lib.rs
│   │   │   └── tests/
│   │   │       ├── arrays.rs
│   │   │       ├── eval.rs
│   │   │       ├── function.rs
│   │   │       ├── gc.rs
│   │   │       ├── jsg_oneof.rs
│   │   │       ├── jsg_struct.rs
│   │   │       ├── local_cast.rs
│   │   │       ├── mod.rs
│   │   │       ├── non_coercible.rs
│   │   │       ├── resource_callback.rs
│   │   │       ├── resource_conversion.rs
│   │   │       └── unwrap.rs
│   │   ├── kj/
│   │   │   ├── BUILD.bazel
│   │   │   ├── ffi.c++
│   │   │   ├── ffi.h
│   │   │   ├── http.rs
│   │   │   ├── io.rs
│   │   │   ├── lib.rs
│   │   │   ├── own.rs
│   │   │   └── tests/
│   │   │       ├── BUILD.bazel
│   │   │       ├── ffi-test.c++
│   │   │       └── lib.rs
│   │   ├── net/
│   │   │   ├── BUILD.bazel
│   │   │   └── lib.rs
│   │   ├── python-parser/
│   │   │   ├── BUILD
│   │   │   ├── import_parsing.c++
│   │   │   └── lib.rs
│   │   ├── rustfmt.toml
│   │   └── transpiler/
│   │       ├── BUILD
│   │       └── lib.rs
│   ├── workerd/
│   │   ├── README.md
│   │   ├── api/
│   │   │   ├── AGENTS.md
│   │   │   ├── BUILD.bazel
│   │   │   ├── actor-state-iocontext-test.c++
│   │   │   ├── actor-state-test.c++
│   │   │   ├── actor-state.c++
│   │   │   ├── actor-state.h
│   │   │   ├── actor.c++
│   │   │   ├── actor.h
│   │   │   ├── analytics-engine-impl.h
│   │   │   ├── analytics-engine.c++
│   │   │   ├── analytics-engine.capnp
│   │   │   ├── analytics-engine.h
│   │   │   ├── api-rtti-test.c++
│   │   │   ├── base64-test.c++
│   │   │   ├── base64.c++
│   │   │   ├── base64.h
│   │   │   ├── basics-test.c++
│   │   │   ├── basics.c++
│   │   │   ├── basics.h
│   │   │   ├── blob.c++
│   │   │   ├── blob.h
│   │   │   ├── cache.c++
│   │   │   ├── cache.h
│   │   │   ├── capnp.c++
│   │   │   ├── capnp.h
│   │   │   ├── cf-property-test.c++
│   │   │   ├── cf-property.c++
│   │   │   ├── cf-property.h
│   │   │   ├── commonjs.c++
│   │   │   ├── commonjs.h
│   │   │   ├── container.c++
│   │   │   ├── container.h
│   │   │   ├── crypto/
│   │   │   │   ├── AGENTS.md
│   │   │   │   ├── aes-test.c++
│   │   │   │   ├── aes.c++
│   │   │   │   ├── crc-impl.c++
│   │   │   │   ├── crc-impl.h
│   │   │   │   ├── crypto.c++
│   │   │   │   ├── crypto.h
│   │   │   │   ├── dh.c++
│   │   │   │   ├── dh.h
│   │   │   │   ├── digest.c++
│   │   │   │   ├── digest.h
│   │   │   │   ├── ec.c++
│   │   │   │   ├── ec.h
│   │   │   │   ├── endianness.c++
│   │   │   │   ├── endianness.h
│   │   │   │   ├── hkdf.c++
│   │   │   │   ├── impl-test.c++
│   │   │   │   ├── impl.c++
│   │   │   │   ├── impl.h
│   │   │   │   ├── jwk.c++
│   │   │   │   ├── jwk.h
│   │   │   │   ├── kdf.h
│   │   │   │   ├── keys.c++
│   │   │   │   ├── keys.h
│   │   │   │   ├── pbkdf2.c++
│   │   │   │   ├── prime.c++
│   │   │   │   ├── prime.h
│   │   │   │   ├── rsa.c++
│   │   │   │   ├── rsa.h
│   │   │   │   ├── scrypt.c++
│   │   │   │   ├── spkac.c++
│   │   │   │   ├── spkac.h
│   │   │   │   ├── x509.c++
│   │   │   │   └── x509.h
│   │   │   ├── data-url-test.c++
│   │   │   ├── data-url.c++
│   │   │   ├── data-url.h
│   │   │   ├── deferred-proxy-test.c++
│   │   │   ├── deferred-proxy.h
│   │   │   ├── encoding-legacy.c++
│   │   │   ├── encoding-legacy.h
│   │   │   ├── encoding-shared.h
│   │   │   ├── encoding-test.c++
│   │   │   ├── encoding.c++
│   │   │   ├── encoding.h
│   │   │   ├── events.c++
│   │   │   ├── events.h
│   │   │   ├── eventsource.c++
│   │   │   ├── eventsource.h
│   │   │   ├── export-loopback.c++
│   │   │   ├── export-loopback.h
│   │   │   ├── filesystem.c++
│   │   │   ├── filesystem.h
│   │   │   ├── form-data.c++
│   │   │   ├── form-data.h
│   │   │   ├── fuzzilli.c++
│   │   │   ├── fuzzilli.h
│   │   │   ├── global-scope.c++
│   │   │   ├── global-scope.h
│   │   │   ├── headers.c++
│   │   │   ├── headers.h
│   │   │   ├── hibernatable-web-socket.c++
│   │   │   ├── hibernatable-web-socket.h
│   │   │   ├── hibernation-event-params.h
│   │   │   ├── html-rewriter.c++
│   │   │   ├── html-rewriter.h
│   │   │   ├── http.c++
│   │   │   ├── http.h
│   │   │   ├── hyperdrive.c++
│   │   │   ├── hyperdrive.h
│   │   │   ├── kv.c++
│   │   │   ├── kv.h
│   │   │   ├── memory-cache.c++
│   │   │   ├── memory-cache.h
│   │   │   ├── messagechannel.c++
│   │   │   ├── messagechannel.h
│   │   │   ├── modules.c++
│   │   │   ├── modules.h
│   │   │   ├── node/
│   │   │   │   ├── AGENTS.md
│   │   │   │   ├── BUILD.bazel
│   │   │   │   ├── async-hooks.c++
│   │   │   │   ├── async-hooks.h
│   │   │   │   ├── buffer-string-search.h
│   │   │   │   ├── buffer-test.c++
│   │   │   │   ├── buffer.c++
│   │   │   │   ├── buffer.h
│   │   │   │   ├── crypto-keys.c++
│   │   │   │   ├── crypto.c++
│   │   │   │   ├── crypto.h
│   │   │   │   ├── diagnostics-channel.c++
│   │   │   │   ├── diagnostics-channel.h
│   │   │   │   ├── exceptions.c++
│   │   │   │   ├── exceptions.h
│   │   │   │   ├── i18n.c++
│   │   │   │   ├── i18n.h
│   │   │   │   ├── module.c++
│   │   │   │   ├── module.h
│   │   │   │   ├── node-version.h
│   │   │   │   ├── node.h
│   │   │   │   ├── process.c++
│   │   │   │   ├── process.h
│   │   │   │   ├── sqlite.c++
│   │   │   │   ├── sqlite.h
│   │   │   │   ├── tests/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── als-gc-test.js
│   │   │   │   │   ├── als-gc-test.wd-test
│   │   │   │   │   ├── assert-test.js
│   │   │   │   │   ├── assert-test.wd-test
│   │   │   │   │   ├── async_hooks-nodejs-test.js
│   │   │   │   │   ├── async_hooks-nodejs-test.wd-test
│   │   │   │   │   ├── bound-als-test.js
│   │   │   │   │   ├── bound-als-test.wd-test
│   │   │   │   │   ├── buffer-effective-size-concat-test.js
│   │   │   │   │   ├── buffer-effective-size-concat-test.wd-test
│   │   │   │   │   ├── buffer-nodejs-test.js
│   │   │   │   │   ├── buffer-nodejs-test.wd-test
│   │   │   │   │   ├── child_process-nodejs-test.js
│   │   │   │   │   ├── child_process-nodejs-test.wd-test
│   │   │   │   │   ├── cluster-nodejs-test.js
│   │   │   │   │   ├── cluster-nodejs-test.wd-test
│   │   │   │   │   ├── console-nodejs-test.js
│   │   │   │   │   ├── console-nodejs-test.wd-test
│   │   │   │   │   ├── constants-test.js
│   │   │   │   │   ├── constants-test.wd-test
│   │   │   │   │   ├── crypto_cipher-test.js
│   │   │   │   │   ├── crypto_cipher-test.wd-test
│   │   │   │   │   ├── crypto_dh-test.js
│   │   │   │   │   ├── crypto_dh-test.wd-test
│   │   │   │   │   ├── crypto_hash-test.js
│   │   │   │   │   ├── crypto_hash-test.wd-test
│   │   │   │   │   ├── crypto_hkdf-test.js
│   │   │   │   │   ├── crypto_hkdf-test.wd-test
│   │   │   │   │   ├── crypto_hmac-test.js
│   │   │   │   │   ├── crypto_hmac-test.wd-test
│   │   │   │   │   ├── crypto_keys-test.js
│   │   │   │   │   ├── crypto_keys-test.wd-test
│   │   │   │   │   ├── crypto_pbkdf2-test.js
│   │   │   │   │   ├── crypto_pbkdf2-test.wd-test
│   │   │   │   │   ├── crypto_random-test.js
│   │   │   │   │   ├── crypto_random-test.wd-test
│   │   │   │   │   ├── crypto_scrypt-test.js
│   │   │   │   │   ├── crypto_scrypt-test.wd-test
│   │   │   │   │   ├── crypto_sign-test.js
│   │   │   │   │   ├── crypto_sign-test.wd-test
│   │   │   │   │   ├── crypto_spkac-test.js
│   │   │   │   │   ├── crypto_spkac-test.wd-test
│   │   │   │   │   ├── crypto_x509-test.js
│   │   │   │   │   ├── crypto_x509-test.wd-test
│   │   │   │   │   ├── dgram-nodejs-test.js
│   │   │   │   │   ├── dgram-nodejs-test.wd-test
│   │   │   │   │   ├── diagnostics-channel-test.js
│   │   │   │   │   ├── diagnostics-channel-test.wd-test
│   │   │   │   │   ├── dns-nodejs-test.js
│   │   │   │   │   ├── dns-nodejs-test.wd-test
│   │   │   │   │   ├── domain-nodejs-test.js
│   │   │   │   │   ├── domain-nodejs-test.wd-test
│   │   │   │   │   ├── fixtures/
│   │   │   │   │   │   ├── agent1-cert.pem
│   │   │   │   │   │   ├── dh_private.pem
│   │   │   │   │   │   ├── dh_public.pem
│   │   │   │   │   │   ├── dsa_private.pem
│   │   │   │   │   │   ├── dsa_private_1025.pem
│   │   │   │   │   │   ├── dsa_private_encrypted.pem
│   │   │   │   │   │   ├── dsa_private_encrypted_1025.pem
│   │   │   │   │   │   ├── dsa_private_pkcs8.pem
│   │   │   │   │   │   ├── dsa_public.pem
│   │   │   │   │   │   ├── dsa_public_1025.pem
│   │   │   │   │   │   ├── ec_p256_private.pem
│   │   │   │   │   │   ├── ec_p256_public.pem
│   │   │   │   │   │   ├── ec_p384_private.pem
│   │   │   │   │   │   ├── ec_p384_public.pem
│   │   │   │   │   │   ├── ec_p521_private.pem
│   │   │   │   │   │   ├── ec_p521_public.pem
│   │   │   │   │   │   ├── ec_secp256k1_private.pem
│   │   │   │   │   │   ├── ec_secp256k1_public.pem
│   │   │   │   │   │   ├── ed25519_private.pem
│   │   │   │   │   │   ├── ed25519_public.pem
│   │   │   │   │   │   ├── ed448_private.pem
│   │   │   │   │   │   ├── ed448_public.pem
│   │   │   │   │   │   ├── rsa_private.pem
│   │   │   │   │   │   ├── rsa_private_2048.pem
│   │   │   │   │   │   ├── rsa_private_4096.pem
│   │   │   │   │   │   ├── rsa_private_b.pem
│   │   │   │   │   │   ├── rsa_private_encrypted.pem
│   │   │   │   │   │   ├── rsa_private_pkcs8.pem
│   │   │   │   │   │   ├── rsa_private_pkcs8_bad.pem
│   │   │   │   │   │   ├── rsa_pss_private_2048.pem
│   │   │   │   │   │   ├── rsa_pss_private_2048_sha1_sha1_20.pem
│   │   │   │   │   │   ├── rsa_pss_private_2048_sha256_sha256_16.pem
│   │   │   │   │   │   ├── rsa_pss_private_2048_sha512_sha256_20.pem
│   │   │   │   │   │   ├── rsa_pss_public_2048.pem
│   │   │   │   │   │   ├── rsa_pss_public_2048_sha1_sha1_20.pem
│   │   │   │   │   │   ├── rsa_pss_public_2048_sha256_sha256_16.pem
│   │   │   │   │   │   ├── rsa_pss_public_2048_sha512_sha256_20.pem
│   │   │   │   │   │   ├── rsa_public.pem
│   │   │   │   │   │   ├── rsa_public_2048.pem
│   │   │   │   │   │   ├── rsa_public_4096.pem
│   │   │   │   │   │   ├── rsa_public_b.pem
│   │   │   │   │   │   ├── tls-nodejs-tcp-server.pem
│   │   │   │   │   │   ├── x25519_private.pem
│   │   │   │   │   │   ├── x25519_public.pem
│   │   │   │   │   │   ├── x448_private.pem
│   │   │   │   │   │   └── x448_public.pem
│   │   │   │   │   ├── fs-access-test.js
│   │   │   │   │   ├── fs-access-test.wd-test
│   │   │   │   │   ├── fs-chown-chmod-test.js
│   │   │   │   │   ├── fs-chown-chmod-test.wd-test
│   │   │   │   │   ├── fs-cp-into-subdirectory-test.js
│   │   │   │   │   ├── fs-cp-into-subdirectory-test.wd-test
│   │   │   │   │   ├── fs-cp-test.js
│   │   │   │   │   ├── fs-cp-test.wd-test
│   │   │   │   │   ├── fs-dir-test.js
│   │   │   │   │   ├── fs-dir-test.wd-test
│   │   │   │   │   ├── fs-filehandle-test.js
│   │   │   │   │   ├── fs-filehandle-test.wd-test
│   │   │   │   │   ├── fs-glob-test.js
│   │   │   │   │   ├── fs-glob-test.wd-test
│   │   │   │   │   ├── fs-link-test.js
│   │   │   │   │   ├── fs-link-test.wd-test
│   │   │   │   │   ├── fs-misc-test.js
│   │   │   │   │   ├── fs-misc-test.wd-test
│   │   │   │   │   ├── fs-nodejs-test.js
│   │   │   │   │   ├── fs-nodejs-test.wd-test
│   │   │   │   │   ├── fs-readstream-test.js
│   │   │   │   │   ├── fs-readstream-test.wd-test
│   │   │   │   │   ├── fs-stat-test.js
│   │   │   │   │   ├── fs-stat-test.wd-test
│   │   │   │   │   ├── fs-utimes-test.js
│   │   │   │   │   ├── fs-utimes-test.wd-test
│   │   │   │   │   ├── fs-writestream-test.js
│   │   │   │   │   ├── fs-writestream-test.wd-test
│   │   │   │   │   ├── http-agent-nodejs-server.js
│   │   │   │   │   ├── http-agent-nodejs-test.js
│   │   │   │   │   ├── http-agent-nodejs-test.wd-test
│   │   │   │   │   ├── http-client-nodejs-server.js
│   │   │   │   │   ├── http-client-nodejs-test.js
│   │   │   │   │   ├── http-client-nodejs-test.wd-test
│   │   │   │   │   ├── http-incoming-nodejs-test.js
│   │   │   │   │   ├── http-incoming-nodejs-test.wd-test
│   │   │   │   │   ├── http-nodejs-server.js
│   │   │   │   │   ├── http-nodejs-test.js
│   │   │   │   │   ├── http-nodejs-test.wd-test
│   │   │   │   │   ├── http-outgoing-nodejs-server.js
│   │   │   │   │   ├── http-outgoing-nodejs-test.js
│   │   │   │   │   ├── http-outgoing-nodejs-test.wd-test
│   │   │   │   │   ├── http-server-nodejs-global-test.js
│   │   │   │   │   ├── http-server-nodejs-global-test.wd-test
│   │   │   │   │   ├── http-server-nodejs-server.js
│   │   │   │   │   ├── http-server-nodejs-test.js
│   │   │   │   │   ├── http-server-nodejs-test.wd-test
│   │   │   │   │   ├── http2-test.js
│   │   │   │   │   ├── http2-test.wd-test
│   │   │   │   │   ├── inspector-nodejs-test.js
│   │   │   │   │   ├── inspector-nodejs-test.wd-test
│   │   │   │   │   ├── legacy_url-nodejs-test.js
│   │   │   │   │   ├── legacy_url-nodejs-test.wd-test
│   │   │   │   │   ├── mimetype-test.js
│   │   │   │   │   ├── mimetype-test.wd-test
│   │   │   │   │   ├── module-create-require-test.js
│   │   │   │   │   ├── module-create-require-test.wd-test
│   │   │   │   │   ├── module-nodejs-test.js
│   │   │   │   │   ├── module-nodejs-test.wd-test
│   │   │   │   │   ├── module-require-mutable-exports-test.js
│   │   │   │   │   ├── module-require-mutable-exports-test.wd-test
│   │   │   │   │   ├── net-nodejs-tcp-server.js
│   │   │   │   │   ├── net-nodejs-test.js
│   │   │   │   │   ├── net-nodejs-test.wd-test
│   │   │   │   │   ├── node-compat-v2-test.js
│   │   │   │   │   ├── node-compat-v2-test.wd-test
│   │   │   │   │   ├── os-test.js
│   │   │   │   │   ├── os-test.wd-test
│   │   │   │   │   ├── path-test.js
│   │   │   │   │   ├── path-test.wd-test
│   │   │   │   │   ├── perf-hooks-nodejs-test.js
│   │   │   │   │   ├── perf-hooks-nodejs-test.wd-test
│   │   │   │   │   ├── process-exit-test.js
│   │   │   │   │   ├── process-exit-test.wd-test
│   │   │   │   │   ├── process-getbuiltin-newmodreg-test.js
│   │   │   │   │   ├── process-getbuiltin-newmodreg-test.wd-test
│   │   │   │   │   ├── process-legacy-nodejs-test.js
│   │   │   │   │   ├── process-legacy-nodejs-test.wd-test
│   │   │   │   │   ├── process-nodejs-test.js
│   │   │   │   │   ├── process-nodejs-test.wd-test
│   │   │   │   │   ├── process-stdio-fs-nodejs-test.expected_stderr
│   │   │   │   │   ├── process-stdio-fs-nodejs-test.expected_stdout
│   │   │   │   │   ├── process-stdio-fs-nodejs-test.js
│   │   │   │   │   ├── process-stdio-fs-nodejs-test.wd-test
│   │   │   │   │   ├── process-stdio-nodejs-test.expected_stderr
│   │   │   │   │   ├── process-stdio-nodejs-test.expected_stdout
│   │   │   │   │   ├── process-stdio-nodejs-test.js
│   │   │   │   │   ├── process-stdio-nodejs-test.wd-test
│   │   │   │   │   ├── punycode-nodejs-test.js
│   │   │   │   │   ├── punycode-nodejs-test.wd-test
│   │   │   │   │   ├── querystring-nodejs-test.js
│   │   │   │   │   ├── querystring-nodejs-test.wd-test
│   │   │   │   │   ├── readline-nodejs-test.js
│   │   │   │   │   ├── readline-nodejs-test.wd-test
│   │   │   │   │   ├── repl-nodejs-test.js
│   │   │   │   │   ├── repl-nodejs-test.wd-test
│   │   │   │   │   ├── sidecar-supervisor.mjs
│   │   │   │   │   ├── sqlite-nodejs-test.js
│   │   │   │   │   ├── sqlite-nodejs-test.wd-test
│   │   │   │   │   ├── streams-nodejs-test.js
│   │   │   │   │   ├── streams-nodejs-test.wd-test
│   │   │   │   │   ├── streams-test.js
│   │   │   │   │   ├── streams-test.wd-test
│   │   │   │   │   ├── streams-v24-nodejs-test.js
│   │   │   │   │   ├── streams-v24-nodejs-test.wd-test
│   │   │   │   │   ├── string-decoder-test.js
│   │   │   │   │   ├── string-decoder-test.wd-test
│   │   │   │   │   ├── sys-nodejs-test.js
│   │   │   │   │   ├── sys-nodejs-test.wd-test
│   │   │   │   │   ├── test_process_stdio.sh
│   │   │   │   │   ├── timers-global-override-test.js
│   │   │   │   │   ├── timers-global-override-test.wd-test
│   │   │   │   │   ├── timers-nodejs-test.js
│   │   │   │   │   ├── timers-nodejs-test.wd-test
│   │   │   │   │   ├── tls-nodejs-tcp-server.js
│   │   │   │   │   ├── tls-nodejs-test.js
│   │   │   │   │   ├── tls-nodejs-test.wd-test
│   │   │   │   │   ├── trace-events-nodejs-test.js
│   │   │   │   │   ├── trace-events-nodejs-test.wd-test
│   │   │   │   │   ├── tty-nodejs-test.js
│   │   │   │   │   ├── tty-nodejs-test.wd-test
│   │   │   │   │   ├── url-nodejs-test.js
│   │   │   │   │   ├── url-nodejs-test.wd-test
│   │   │   │   │   ├── util-nodejs-test.js
│   │   │   │   │   ├── util-nodejs-test.wd-test
│   │   │   │   │   ├── v8-nodejs-test.js
│   │   │   │   │   ├── v8-nodejs-test.wd-test
│   │   │   │   │   ├── vm-test.js
│   │   │   │   │   ├── vm-test.wd-test
│   │   │   │   │   ├── wasi-nodejs-test.js
│   │   │   │   │   ├── wasi-nodejs-test.wd-test
│   │   │   │   │   ├── worker_threads-nodejs-test.js
│   │   │   │   │   ├── worker_threads-nodejs-test.wd-test
│   │   │   │   │   ├── zlib-nodejs-test.js
│   │   │   │   │   ├── zlib-nodejs-test.wd-test
│   │   │   │   │   ├── zlib-zstd-nodejs-test.js
│   │   │   │   │   └── zlib-zstd-nodejs-test.wd-test
│   │   │   │   ├── timers.c++
│   │   │   │   ├── timers.h
│   │   │   │   ├── url.c++
│   │   │   │   ├── url.h
│   │   │   │   ├── util.c++
│   │   │   │   ├── util.h
│   │   │   │   ├── zlib-util.c++
│   │   │   │   └── zlib-util.h
│   │   │   ├── performance.c++
│   │   │   ├── performance.h
│   │   │   ├── pyodide/
│   │   │   │   ├── pyodide-test.c++
│   │   │   │   ├── pyodide.c++
│   │   │   │   ├── pyodide.h
│   │   │   │   ├── requirements.c++
│   │   │   │   ├── requirements.h
│   │   │   │   ├── setup-emscripten.c++
│   │   │   │   └── setup-emscripten.h
│   │   │   ├── queue.c++
│   │   │   ├── queue.h
│   │   │   ├── r2-admin.c++
│   │   │   ├── r2-admin.h
│   │   │   ├── r2-api.capnp
│   │   │   ├── r2-bucket.c++
│   │   │   ├── r2-bucket.h
│   │   │   ├── r2-multipart.c++
│   │   │   ├── r2-multipart.h
│   │   │   ├── r2-rpc.c++
│   │   │   ├── r2-rpc.h
│   │   │   ├── r2.h
│   │   │   ├── rtti.c++
│   │   │   ├── rtti.h
│   │   │   ├── scheduled.c++
│   │   │   ├── scheduled.h
│   │   │   ├── ser-errors-test.c++
│   │   │   ├── sockets.c++
│   │   │   ├── sockets.h
│   │   │   ├── sql.c++
│   │   │   ├── sql.h
│   │   │   ├── streams/
│   │   │   │   ├── AGENTS.md
│   │   │   │   ├── README.md
│   │   │   │   ├── common.c++
│   │   │   │   ├── common.h
│   │   │   │   ├── compression.c++
│   │   │   │   ├── compression.h
│   │   │   │   ├── encoding.c++
│   │   │   │   ├── encoding.h
│   │   │   │   ├── identity-transform-stream.c++
│   │   │   │   ├── identity-transform-stream.h
│   │   │   │   ├── identitytransformstream-backpressure-test.js
│   │   │   │   ├── identitytransformstream-backpressure-test.wd-test
│   │   │   │   ├── identitytransformstream-byob-test.js
│   │   │   │   ├── identitytransformstream-byob-test.wd-test
│   │   │   │   ├── internal-test.c++
│   │   │   │   ├── internal.c++
│   │   │   │   ├── internal.h
│   │   │   │   ├── queue-test.c++
│   │   │   │   ├── queue.c++
│   │   │   │   ├── queue.h
│   │   │   │   ├── readable-source-adapter-test.c++
│   │   │   │   ├── readable-source-adapter.c++
│   │   │   │   ├── readable-source-adapter.h
│   │   │   │   ├── readable-source-test.c++
│   │   │   │   ├── readable-source.c++
│   │   │   │   ├── readable-source.h
│   │   │   │   ├── readable.c++
│   │   │   │   ├── readable.h
│   │   │   │   ├── standard-test.c++
│   │   │   │   ├── standard.c++
│   │   │   │   ├── standard.h
│   │   │   │   ├── streams-test.js
│   │   │   │   ├── streams-test.wd-test
│   │   │   │   ├── transform.c++
│   │   │   │   ├── transform.h
│   │   │   │   ├── writable-sink-adapter-test.c++
│   │   │   │   ├── writable-sink-adapter.c++
│   │   │   │   ├── writable-sink-adapter.h
│   │   │   │   ├── writable-sink-test.c++
│   │   │   │   ├── writable-sink.c++
│   │   │   │   ├── writable-sink.h
│   │   │   │   ├── writable.c++
│   │   │   │   └── writable.h
│   │   │   ├── streams-test.c++
│   │   │   ├── streams.h
│   │   │   ├── sync-kv.c++
│   │   │   ├── sync-kv.h
│   │   │   ├── system-streams-test.c++
│   │   │   ├── system-streams.c++
│   │   │   ├── system-streams.h
│   │   │   ├── tests/
│   │   │   │   ├── BUILD.bazel
│   │   │   │   ├── abort-internal-streams-test.js
│   │   │   │   ├── abort-internal-streams-test.wd-test
│   │   │   │   ├── abortable-fetch-test.js
│   │   │   │   ├── abortable-fetch-test.wd-test
│   │   │   │   ├── abortsignal-test.js
│   │   │   │   ├── abortsignal-test.wd-test
│   │   │   │   ├── actor-alarms-delete-test.js
│   │   │   │   ├── actor-alarms-delete-test.wd-test
│   │   │   │   ├── actor-alarms-test.js
│   │   │   │   ├── actor-alarms-test.wd-test
│   │   │   │   ├── actor-kv-test-tail.js
│   │   │   │   ├── actor-kv-test.js
│   │   │   │   ├── actor-kv-test.wd-test
│   │   │   │   ├── actor-stub-test.js
│   │   │   │   ├── actor-stub-test.wd-test
│   │   │   │   ├── als-only-test.js
│   │   │   │   ├── als-only-test.wd-test
│   │   │   │   ├── als-test.js
│   │   │   │   ├── als-test.wd-test
│   │   │   │   ├── analytics-engine-test.js
│   │   │   │   ├── analytics-engine-test.wd-test
│   │   │   │   ├── autogate-disabled-test.js
│   │   │   │   ├── autogate-disabled-test.wd-test
│   │   │   │   ├── autogate-enabled-test.js
│   │   │   │   ├── autogate-enabled-test.wd-test
│   │   │   │   ├── blob-test.js
│   │   │   │   ├── blob-test.wd-test
│   │   │   │   ├── blob2-test.js
│   │   │   │   ├── blob2-test.wd-test
│   │   │   │   ├── buffer-indexof-odd-offset-ucs2-test.js
│   │   │   │   ├── buffer-indexof-odd-offset-ucs2-test.wd-test
│   │   │   │   ├── byob-reader-resize-pending-read-test.js
│   │   │   │   ├── byob-reader-resize-pending-read-test.wd-test
│   │   │   │   ├── cache-instrumentation-test.js
│   │   │   │   ├── cache-mock.js
│   │   │   │   ├── cache-operations-test.js
│   │   │   │   ├── cache-test.wd-test
│   │   │   │   ├── commonjs-module-test.js
│   │   │   │   ├── commonjs-module-test.wd-test
│   │   │   │   ├── compat-flag-disabled-test.js
│   │   │   │   ├── compat-flag-disabled-test.wd-test
│   │   │   │   ├── compat-flag-enabled-test.js
│   │   │   │   ├── compat-flag-enabled-test.wd-test
│   │   │   │   ├── compat-flags-test.js
│   │   │   │   ├── compat-flags-test.wd-test
│   │   │   │   ├── compression-streams-test.js
│   │   │   │   ├── compression-streams-test.wd-test
│   │   │   │   ├── cross-context-promise-test.js
│   │   │   │   ├── cross-context-promise-test.wd-test
│   │   │   │   ├── crypto-extras-test.js
│   │   │   │   ├── crypto-extras-test.wd-test
│   │   │   │   ├── crypto-impl-asymmetric-test.js
│   │   │   │   ├── crypto-impl-asymmetric-test.wd-test
│   │   │   │   ├── crypto-streams-test.js
│   │   │   │   ├── crypto-streams-test.wd-test
│   │   │   │   ├── ctx-props-test.wd-test
│   │   │   │   ├── data-url-fetch-test.js
│   │   │   │   ├── data-url-fetch-test.wd-test
│   │   │   │   ├── decompression-stream-unhandled-rejection-test.js
│   │   │   │   ├── decompression-stream-unhandled-rejection-test.wd-test
│   │   │   │   ├── delete-all-deletes-alarm-test.js
│   │   │   │   ├── delete-all-deletes-alarm-test.wd-test
│   │   │   │   ├── disable-importable-env-test.js
│   │   │   │   ├── disable-importable-env-test.wd-test
│   │   │   │   ├── disable-importable-exports-test.js
│   │   │   │   ├── disable-importable-exports-test.wd-test
│   │   │   │   ├── encoding-streams-test.js
│   │   │   │   ├── encoding-streams-test.wd-test
│   │   │   │   ├── encoding-test.js
│   │   │   │   ├── encoding-test.wd-test
│   │   │   │   ├── error-in-error-event-test.js
│   │   │   │   ├── error-in-error-event-test.wd-test
│   │   │   │   ├── events-test.js
│   │   │   │   ├── events-test.wd-test
│   │   │   │   ├── eventsource-test.js
│   │   │   │   ├── eventsource-test.wd-test
│   │   │   │   ├── experimental-eval-test.js
│   │   │   │   ├── experimental-eval-test.wd-test
│   │   │   │   ├── fetch-redirect-test.js
│   │   │   │   ├── fetch-redirect-test.wd-test
│   │   │   │   ├── fetch-test.js
│   │   │   │   ├── fetch-test.wd-test
│   │   │   │   ├── form-data-legacy-test.js
│   │   │   │   ├── form-data-legacy-test.wd-test
│   │   │   │   ├── form-data-test-ts.ts
│   │   │   │   ├── form-data-test-ts.wd-test
│   │   │   │   ├── form-data-test.js
│   │   │   │   ├── form-data-test.wd-test
│   │   │   │   ├── global-scope-test.js
│   │   │   │   ├── global-scope-test.wd-test
│   │   │   │   ├── headers-immutable-prototype-test.js
│   │   │   │   ├── headers-immutable-prototype-test.wd-test
│   │   │   │   ├── htmlrewriter-test.js
│   │   │   │   ├── htmlrewriter-test.wd-test
│   │   │   │   ├── htmlrewriter-transform-cancel-test.js
│   │   │   │   ├── htmlrewriter-transform-cancel-test.wd-test
│   │   │   │   ├── http-socket-server.js
│   │   │   │   ├── http-socket-test.js
│   │   │   │   ├── http-socket-test.wd-test
│   │   │   │   ├── http-standard-test.js
│   │   │   │   ├── http-standard-test.wd-test
│   │   │   │   ├── http-test-ts.ts
│   │   │   │   ├── http-test-ts.ts-wd-test
│   │   │   │   ├── http-test.js
│   │   │   │   ├── http-test.wd-test
│   │   │   │   ├── identity-transform-stream-state-machine-test.js
│   │   │   │   ├── identity-transform-stream-state-machine-test.wd-test
│   │   │   │   ├── importable-env-test.js
│   │   │   │   ├── importable-env-test.wd-test
│   │   │   │   ├── importable-exports-test.js
│   │   │   │   ├── importable-exports-test.wd-test
│   │   │   │   ├── instrumentation-tail-worker.js
│   │   │   │   ├── js-rpc-flag.js
│   │   │   │   ├── js-rpc-flag.wd-test
│   │   │   │   ├── js-rpc-params-ownership-test.js
│   │   │   │   ├── js-rpc-params-ownership-test.wd-test
│   │   │   │   ├── js-rpc-socket-test.wd-test
│   │   │   │   ├── js-rpc-test.js
│   │   │   │   ├── js-rpc-test.wd-test
│   │   │   │   ├── jsrpc-timing-test-tail.js
│   │   │   │   ├── jsrpc-timing-test.js
│   │   │   │   ├── jsrpc-timing-test.wd-test
│   │   │   │   ├── kv-instrumentation-test.js
│   │   │   │   ├── kv-test.js
│   │   │   │   ├── kv-test.wd-test
│   │   │   │   ├── leak-fetch-test.js
│   │   │   │   ├── leak-fetch-test.wd-test
│   │   │   │   ├── memory-cache-test.js
│   │   │   │   ├── memory-cache-test.wd-test
│   │   │   │   ├── messageport-test.js
│   │   │   │   ├── messageport-test.wd-test
│   │   │   │   ├── module-test.js
│   │   │   │   ├── module-test.wd-test
│   │   │   │   ├── navigator-beacon-test.js
│   │   │   │   ├── navigator-beacon-test.wd-test
│   │   │   │   ├── navigator-test.js
│   │   │   │   ├── navigator-test.wd-test
│   │   │   │   ├── new-module-registry-dns-test.js
│   │   │   │   ├── new-module-registry-dns-test.wd-test
│   │   │   │   ├── new-module-registry-node-filter-test.js
│   │   │   │   ├── new-module-registry-node-filter-test.wd-test
│   │   │   │   ├── new-module-registry-test.js
│   │   │   │   ├── new-module-registry-test.wd-test
│   │   │   │   ├── new-module-registry-ts-test-helper.ts
│   │   │   │   ├── new-module-registry-ts-test.js
│   │   │   │   ├── new-module-registry-ts-test.wd-test
│   │   │   │   ├── no-to-string-tag-test.js
│   │   │   │   ├── no-to-string-tag-test.wd-test
│   │   │   │   ├── opennextjs/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── opennext-ssr-test.js
│   │   │   │   │   ├── opennext-ssr-test.wd-test
│   │   │   │   │   └── src/
│   │   │   │   │       ├── .gitignore
│   │   │   │   │       ├── BUILD.bazel
│   │   │   │   │       ├── app/
│   │   │   │   │       │   ├── api/
│   │   │   │   │       │   │   ├── cookies/
│   │   │   │   │       │   │   │   └── route.js
│   │   │   │   │       │   │   └── data/
│   │   │   │   │       │   │       └── route.js
│   │   │   │   │       │   ├── layout.jsx
│   │   │   │   │       │   ├── page.jsx
│   │   │   │   │       │   ├── posts/
│   │   │   │   │       │   │   └── [id]/
│   │   │   │   │       │   │       └── page.jsx
│   │   │   │   │       │   ├── redirect-test/
│   │   │   │   │       │   │   └── page.jsx
│   │   │   │   │       │   └── streaming/
│   │   │   │   │       │       └── page.jsx
│   │   │   │   │       ├── jsconfig.json
│   │   │   │   │       ├── next.config.mjs
│   │   │   │   │       ├── open-next.config.mjs
│   │   │   │   │       ├── package.json
│   │   │   │   │       └── wrangler.jsonc
│   │   │   │   ├── pipe-streams-test.js
│   │   │   │   ├── pipe-streams-test.wd-test
│   │   │   │   ├── pipe-write-special-buffer-test.js
│   │   │   │   ├── pipe-write-special-buffer-test.wd-test
│   │   │   │   ├── queue-error-codes-test.js
│   │   │   │   ├── queue-test.js
│   │   │   │   ├── queue-test.wd-test
│   │   │   │   ├── r2-instrumentation-test.js
│   │   │   │   ├── r2-test.js
│   │   │   │   ├── r2-test.wd-test
│   │   │   │   ├── reporterror-test.js
│   │   │   │   ├── reporterror-test.wd-test
│   │   │   │   ├── request-clone-test.js
│   │   │   │   ├── request-clone-test.wd-test
│   │   │   │   ├── request-signal-disabled.js
│   │   │   │   ├── request-signal-disabled.wd-test
│   │   │   │   ├── request-signal-enabled.js
│   │   │   │   ├── request-signal-enabled.wd-test
│   │   │   │   ├── request-signal-passthrough.js
│   │   │   │   ├── request-signal-passthrough.wd-test
│   │   │   │   ├── response-json.js
│   │   │   │   ├── response-json.wd-test
│   │   │   │   ├── response-used-body-test.js
│   │   │   │   ├── response-used-body-test.wd-test
│   │   │   │   ├── rpc-error-test.js
│   │   │   │   ├── rpc-error-test.rpc.js
│   │   │   │   ├── rpc-error-test.wd-test
│   │   │   │   ├── rtti-test.js
│   │   │   │   ├── rtti-test.wd-test
│   │   │   │   ├── scheduler-test.js
│   │   │   │   ├── scheduler-test.wd-test
│   │   │   │   ├── self-logger-test.js
│   │   │   │   ├── self-logger-test.wd-test
│   │   │   │   ├── settimeout-test.js
│   │   │   │   ├── settimeout-test.wd-test
│   │   │   │   ├── sql-test-tail.js
│   │   │   │   ├── sql-test.js
│   │   │   │   ├── sql-test.wd-test
│   │   │   │   ├── starttls-nodejs-server.js
│   │   │   │   ├── starttls-nodejs-test.js
│   │   │   │   ├── starttls-nodejs-test.wd-test
│   │   │   │   ├── starttls-server.pem
│   │   │   │   ├── streams-async-iterator-test.js
│   │   │   │   ├── streams-async-iterator-test.wd-test
│   │   │   │   ├── streams-backpressure-test.js
│   │   │   │   ├── streams-backpressure-test.wd-test
│   │   │   │   ├── streams-byob-edge-cases-test.js
│   │   │   │   ├── streams-byob-edge-cases-test.wd-test
│   │   │   │   ├── streams-circ-ref-regression-test.js
│   │   │   │   ├── streams-circ-ref-regression-test.wd-test
│   │   │   │   ├── streams-error-edge-cases-test.js
│   │   │   │   ├── streams-error-edge-cases-test.wd-test
│   │   │   │   ├── streams-iocontext-test.js
│   │   │   │   ├── streams-iocontext-test.wd-test
│   │   │   │   ├── streams-js-test.js
│   │   │   │   ├── streams-js-test.wd-test
│   │   │   │   ├── streams-no-auto-allocate-test.js
│   │   │   │   ├── streams-no-auto-allocate-test.wd-test
│   │   │   │   ├── streams-r2-patterns-test.js
│   │   │   │   ├── streams-r2-patterns-test.wd-test
│   │   │   │   ├── streams-respond-test.js
│   │   │   │   ├── streams-respond-test.wd-test
│   │   │   │   ├── streams-tee-edge-cases-test.js
│   │   │   │   ├── streams-tee-edge-cases-test.wd-test
│   │   │   │   ├── streams-test.js
│   │   │   │   ├── streams-test.wd-test
│   │   │   │   ├── stub-storage-test.js
│   │   │   │   ├── stub-storage-test.wd-test
│   │   │   │   ├── sync-kv-instrumentation-test.js
│   │   │   │   ├── sync-kv-test.js
│   │   │   │   ├── sync-kv-test.wd-test
│   │   │   │   ├── tail-worker-test-dummy.js
│   │   │   │   ├── tail-worker-test-invalid.js
│   │   │   │   ├── tail-worker-test-jsrpc.js
│   │   │   │   ├── tail-worker-test-receiver.js
│   │   │   │   ├── tail-worker-test.js
│   │   │   │   ├── tail-worker-test.wd-test
│   │   │   │   ├── test.wasm
│   │   │   │   ├── textdecoder-utf16-odd-offset-test.js
│   │   │   │   ├── textdecoder-utf16-odd-offset-test.wd-test
│   │   │   │   ├── transform-streams-test.js
│   │   │   │   ├── transform-streams-test.wd-test
│   │   │   │   ├── tsconfig.json
│   │   │   │   ├── unhandled-rejection-test.js
│   │   │   │   ├── unhandled-rejection-test.wd-test
│   │   │   │   ├── unsafe-test.js
│   │   │   │   ├── unsafe-test.wd-test
│   │   │   │   ├── url-test.js
│   │   │   │   ├── url-test.wd-test
│   │   │   │   ├── warnings-tail.js
│   │   │   │   ├── warnings-test.js
│   │   │   │   ├── warnings-test.wd-test
│   │   │   │   ├── webfs-test.js
│   │   │   │   ├── webfs-test.wd-test
│   │   │   │   ├── websocket-allow-half-open-test.js
│   │   │   │   ├── websocket-allow-half-open-test.wd-test
│   │   │   │   ├── websocket-client-error-sidecar.js
│   │   │   │   ├── websocket-client-error-test.js
│   │   │   │   ├── websocket-client-error-test.wd-test
│   │   │   │   ├── websocket-constructor-test.js
│   │   │   │   ├── websocket-constructor-test.wd-test
│   │   │   │   ├── websocket-hibernation.js
│   │   │   │   ├── websocket-hibernation.wd-test
│   │   │   │   ├── worker-loader-test.js
│   │   │   │   ├── worker-loader-test.wd-test
│   │   │   │   ├── worker-test.js
│   │   │   │   └── worker-test.wd-test
│   │   │   ├── trace.c++
│   │   │   ├── trace.h
│   │   │   ├── tracing-module.c++
│   │   │   ├── tracing-module.h
│   │   │   ├── tsconfig.json
│   │   │   ├── unsafe.c++
│   │   │   ├── unsafe.h
│   │   │   ├── url-standard.c++
│   │   │   ├── url-standard.h
│   │   │   ├── url.c++
│   │   │   ├── url.h
│   │   │   ├── urlpattern-standard.c++
│   │   │   ├── urlpattern-standard.h
│   │   │   ├── urlpattern.c++
│   │   │   ├── urlpattern.h
│   │   │   ├── util-test.c++
│   │   │   ├── util.c++
│   │   │   ├── util.h
│   │   │   ├── web-socket.c++
│   │   │   ├── web-socket.h
│   │   │   ├── worker-loader.c++
│   │   │   ├── worker-loader.h
│   │   │   ├── worker-rpc.c++
│   │   │   ├── worker-rpc.h
│   │   │   ├── workers-module.c++
│   │   │   └── workers-module.h
│   │   ├── io/
│   │   │   ├── AGENTS.md
│   │   │   ├── BUILD.bazel
│   │   │   ├── actor-cache-test.c++
│   │   │   ├── actor-cache.c++
│   │   │   ├── actor-cache.h
│   │   │   ├── actor-id.h
│   │   │   ├── actor-sqlite-test.c++
│   │   │   ├── actor-sqlite.c++
│   │   │   ├── actor-sqlite.h
│   │   │   ├── actor-storage.c++
│   │   │   ├── actor-storage.capnp
│   │   │   ├── actor-storage.h
│   │   │   ├── bundle-fs-test.c++
│   │   │   ├── bundle-fs.c++
│   │   │   ├── bundle-fs.h
│   │   │   ├── cdp.capnp
│   │   │   ├── compatibility-date-test.c++
│   │   │   ├── compatibility-date.c++
│   │   │   ├── compatibility-date.capnp
│   │   │   ├── compatibility-date.h
│   │   │   ├── container.capnp
│   │   │   ├── external-pusher.c++
│   │   │   ├── external-pusher.h
│   │   │   ├── features.c++
│   │   │   ├── features.capnp
│   │   │   ├── features.h
│   │   │   ├── frankenvalue-test.c++
│   │   │   ├── frankenvalue.c++
│   │   │   ├── frankenvalue.capnp
│   │   │   ├── frankenvalue.h
│   │   │   ├── hibernation-manager.c++
│   │   │   ├── hibernation-manager.h
│   │   │   ├── io-channels.c++
│   │   │   ├── io-channels.h
│   │   │   ├── io-context-test.js
│   │   │   ├── io-context-test.wd-test
│   │   │   ├── io-context.c++
│   │   │   ├── io-context.h
│   │   │   ├── io-gate-test.c++
│   │   │   ├── io-gate.c++
│   │   │   ├── io-gate.h
│   │   │   ├── io-own.c++
│   │   │   ├── io-own.h
│   │   │   ├── io-thread-context.c++
│   │   │   ├── io-thread-context.h
│   │   │   ├── io-timers.c++
│   │   │   ├── io-timers.h
│   │   │   ├── io-util.c++
│   │   │   ├── io-util.h
│   │   │   ├── limit-enforcer.h
│   │   │   ├── maximum-compatibility-date.txt
│   │   │   ├── observer-test.c++
│   │   │   ├── observer.c++
│   │   │   ├── observer.h
│   │   │   ├── outcome.capnp
│   │   │   ├── promise-wrapper-test.c++
│   │   │   ├── promise-wrapper.h
│   │   │   ├── release-version.txt
│   │   │   ├── request-tracker.c++
│   │   │   ├── request-tracker.h
│   │   │   ├── script-version.capnp
│   │   │   ├── trace-stream.c++
│   │   │   ├── trace-stream.h
│   │   │   ├── trace-test.c++
│   │   │   ├── trace.c++
│   │   │   ├── trace.capnp
│   │   │   ├── trace.h
│   │   │   ├── tracer.c++
│   │   │   ├── tracer.h
│   │   │   ├── tracked-wasm-instance-js-test.wd-test
│   │   │   ├── tracked-wasm-instance-test.c++
│   │   │   ├── tracked-wasm-instance-test.js
│   │   │   ├── tracked-wasm-instance.c++
│   │   │   ├── tracked-wasm-instance.h
│   │   │   ├── wasm/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── BUILD.bazel
│   │   │   │   ├── signal-basic.wat
│   │   │   │   ├── signal-bounds-check-edge.wat
│   │   │   │   ├── signal-bounds-check-overflow.wat
│   │   │   │   ├── signal-bounds-check-valid.wat
│   │   │   │   ├── signal-decoy-memory.wat
│   │   │   │   ├── signal-externref-memory.wat
│   │   │   │   ├── signal-imported-memory.wat
│   │   │   │   ├── signal-memory-reclaim.wat
│   │   │   │   ├── signal-no-globals.wat
│   │   │   │   ├── signal-partial-exports.wat
│   │   │   │   ├── signal-preinit.wat
│   │   │   │   └── signal-terminated-only.wat
│   │   │   ├── wasm-instantiate-shim.js
│   │   │   ├── worker-entrypoint.c++
│   │   │   ├── worker-entrypoint.h
│   │   │   ├── worker-fs-test.c++
│   │   │   ├── worker-fs.c++
│   │   │   ├── worker-fs.h
│   │   │   ├── worker-interface.c++
│   │   │   ├── worker-interface.capnp
│   │   │   ├── worker-interface.h
│   │   │   ├── worker-modules.c++
│   │   │   ├── worker-modules.h
│   │   │   ├── worker-source.h
│   │   │   ├── worker.c++
│   │   │   └── worker.h
│   │   ├── jsg/
│   │   │   ├── AGENTS.md
│   │   │   ├── BUILD.bazel
│   │   │   ├── README.md
│   │   │   ├── async-context.c++
│   │   │   ├── async-context.h
│   │   │   ├── buffersource-test.c++
│   │   │   ├── buffersource.c++
│   │   │   ├── buffersource.h
│   │   │   ├── compile-cache.c++
│   │   │   ├── compile-cache.h
│   │   │   ├── dom-exception-test.c++
│   │   │   ├── dom-exception.c++
│   │   │   ├── dom-exception.h
│   │   │   ├── exception-metadata.capnp
│   │   │   ├── exception.c++
│   │   │   ├── exception.h
│   │   │   ├── fast-api-test.c++
│   │   │   ├── fast-api.h
│   │   │   ├── function-test.c++
│   │   │   ├── function.h
│   │   │   ├── inspector.c++
│   │   │   ├── inspector.h
│   │   │   ├── iterator-test.c++
│   │   │   ├── iterator.c++
│   │   │   ├── iterator.h
│   │   │   ├── jsg-test.c++
│   │   │   ├── jsg-test.h
│   │   │   ├── jsg.c++
│   │   │   ├── jsg.h
│   │   │   ├── jsvalue-test.c++
│   │   │   ├── jsvalue.c++
│   │   │   ├── jsvalue.h
│   │   │   ├── macro-meta-test.c++
│   │   │   ├── macro-meta.h
│   │   │   ├── memory-test.c++
│   │   │   ├── memory.c++
│   │   │   ├── memory.h
│   │   │   ├── meta.h
│   │   │   ├── modules-new-test.c++
│   │   │   ├── modules-new.c++
│   │   │   ├── modules-new.h
│   │   │   ├── modules.c++
│   │   │   ├── modules.capnp
│   │   │   ├── modules.h
│   │   │   ├── multiple-typewrappers-test.c++
│   │   │   ├── observer.h
│   │   │   ├── promise-test.c++
│   │   │   ├── promise.c++
│   │   │   ├── promise.h
│   │   │   ├── resource-test-bootstrap.js
│   │   │   ├── resource-test-builtin.js
│   │   │   ├── resource-test.c++
│   │   │   ├── resource-test.capnp
│   │   │   ├── resource.c++
│   │   │   ├── resource.h
│   │   │   ├── rtti-test.c++
│   │   │   ├── rtti-test.capnp
│   │   │   ├── rtti.capnp
│   │   │   ├── rtti.h
│   │   │   ├── script.c++
│   │   │   ├── script.h
│   │   │   ├── ser-test.c++
│   │   │   ├── ser.c++
│   │   │   ├── ser.h
│   │   │   ├── setup-test.c++
│   │   │   ├── setup.c++
│   │   │   ├── setup.h
│   │   │   ├── struct-test.c++
│   │   │   ├── struct.h
│   │   │   ├── tracing-test.c++
│   │   │   ├── type-wrapper-test.c++
│   │   │   ├── type-wrapper.h
│   │   │   ├── url-test.c++
│   │   │   ├── url.c++
│   │   │   ├── url.h
│   │   │   ├── util-test.c++
│   │   │   ├── util.c++
│   │   │   ├── util.h
│   │   │   ├── v8-platform-wrapper.c++
│   │   │   ├── v8-platform-wrapper.h
│   │   │   ├── value-test.c++
│   │   │   ├── value.h
│   │   │   ├── web-idl-test.c++
│   │   │   ├── web-idl.h
│   │   │   ├── wrappable.c++
│   │   │   └── wrappable.h
│   │   ├── server/
│   │   │   ├── AGENTS.md
│   │   │   ├── BUILD.bazel
│   │   │   ├── actor-id-impl-test.c++
│   │   │   ├── actor-id-impl.c++
│   │   │   ├── actor-id-impl.h
│   │   │   ├── alarm-scheduler.c++
│   │   │   ├── alarm-scheduler.h
│   │   │   ├── channel-token-test.c++
│   │   │   ├── channel-token.c++
│   │   │   ├── channel-token.capnp
│   │   │   ├── channel-token.h
│   │   │   ├── container-client-test.c++
│   │   │   ├── container-client.c++
│   │   │   ├── container-client.h
│   │   │   ├── docker-api.capnp
│   │   │   ├── facet-tree-index-test.c++
│   │   │   ├── facet-tree-index.c++
│   │   │   ├── facet-tree-index.h
│   │   │   ├── fallback-service.c++
│   │   │   ├── fallback-service.h
│   │   │   ├── json-logger-test.c++
│   │   │   ├── json-logger.c++
│   │   │   ├── json-logger.h
│   │   │   ├── log-schema.capnp
│   │   │   ├── pyodide.c++
│   │   │   ├── pyodide.h
│   │   │   ├── server-test.c++
│   │   │   ├── server.c++
│   │   │   ├── server.h
│   │   │   ├── tests/
│   │   │   │   ├── BUILD.bazel
│   │   │   │   ├── compile-tests/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── compile-helloworld-test.ok
│   │   │   │   │   └── compile-test.sh
│   │   │   │   ├── container-client/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── container-client.wd-test
│   │   │   │   │   └── test.js
│   │   │   │   ├── extensions/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── binding.js
│   │   │   │   │   ├── extension.capnp
│   │   │   │   │   ├── extensions-test.js
│   │   │   │   │   ├── extensions-test.wd-test
│   │   │   │   │   ├── internal-module.js
│   │   │   │   │   └── module.js
│   │   │   │   ├── inspector/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── config.capnp
│   │   │   │   │   ├── driver.mjs
│   │   │   │   │   └── index.mjs
│   │   │   │   ├── python/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── asgi/
│   │   │   │   │   │   ├── asgi.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── asgi-sse/
│   │   │   │   │   │   ├── asgi-sse.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── default-class-with-legacy-global-handlers/
│   │   │   │   │   │   ├── default-class-with-legacy-global-handlers.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── dont-snapshot-pyodide/
│   │   │   │   │   │   ├── dont-snapshot-pyodide.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── durable-object/
│   │   │   │   │   │   ├── durable-object.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── durable-object-websocket/
│   │   │   │   │   │   ├── durable-object-websocket.wd-test
│   │   │   │   │   │   ├── tester.js
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── env-param/
│   │   │   │   │   │   ├── env.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── fastapi/
│   │   │   │   │   │   ├── fastapi.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── filter-non-py-files/
│   │   │   │   │   │   ├── filter-files.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── hello/
│   │   │   │   │   │   ├── hello.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── import_tests.bzl
│   │   │   │   │   ├── jspi/
│   │   │   │   │   │   ├── jspi.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── numpy/
│   │   │   │   │   │   ├── numpy.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── py_wd_test.bzl
│   │   │   │   │   ├── pytest/
│   │   │   │   │   │   ├── main.py
│   │   │   │   │   │   ├── pytest.wd-test
│   │   │   │   │   │   └── tests/
│   │   │   │   │   │       ├── test_dynlib_loading.py
│   │   │   │   │   │       ├── test_env.py
│   │   │   │   │   │       ├── test_fs.py
│   │   │   │   │   │       └── test_import_from_javascript.py
│   │   │   │   │   ├── python-compat-flag/
│   │   │   │   │   │   ├── python-compat-flag.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── python-rpc/
│   │   │   │   │   │   ├── python-rpc.wd-test
│   │   │   │   │   │   ├── worker.js
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── random/
│   │   │   │   │   │   ├── random.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── sdk/
│   │   │   │   │   │   ├── proxy.js
│   │   │   │   │   │   ├── sdk.wd-test
│   │   │   │   │   │   ├── server.py
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── subdirectory/
│   │   │   │   │   │   ├── a.py
│   │   │   │   │   │   ├── subdir/
│   │   │   │   │   │   │   ├── __init__.py
│   │   │   │   │   │   │   └── a.py
│   │   │   │   │   │   └── subdirectory.wd-test
│   │   │   │   │   ├── top-level-tests/
│   │   │   │   │   │   ├── env.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── undefined-handler/
│   │   │   │   │   │   ├── main.py
│   │   │   │   │   │   ├── server.mjs
│   │   │   │   │   │   ├── undefined-handler.wd-test
│   │   │   │   │   │   └── undefined_handler.py
│   │   │   │   │   ├── vendor_dir/
│   │   │   │   │   │   ├── vendor/
│   │   │   │   │   │   │   └── a.py
│   │   │   │   │   │   ├── vendor_dir.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── vendor_dir_compat_flag/
│   │   │   │   │   │   ├── vendor/
│   │   │   │   │   │   │   └── a.py
│   │   │   │   │   │   ├── vendor_dir_compat_flag.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── vendor_pkg_tests/
│   │   │   │   │   │   ├── BUILD
│   │   │   │   │   │   ├── beautifulsoup4.py
│   │   │   │   │   │   ├── beautifulsoup4_vendor.wd-test
│   │   │   │   │   │   ├── existing_dedicated_fastapi.py
│   │   │   │   │   │   ├── existing_dedicated_fastapi_vendor.wd-test
│   │   │   │   │   │   ├── fastapi.py
│   │   │   │   │   │   ├── fastapi_vendor.wd-test
│   │   │   │   │   │   ├── generate_modules.py
│   │   │   │   │   │   ├── python-workers-runtime-sdk.py
│   │   │   │   │   │   ├── python-workers-runtime-sdk_vendor.wd-test
│   │   │   │   │   │   ├── scipy.py
│   │   │   │   │   │   ├── scipy_vendor.wd-test
│   │   │   │   │   │   ├── shapely.py
│   │   │   │   │   │   ├── shapely_vendor.wd-test
│   │   │   │   │   │   └── vendor_test.bzl
│   │   │   │   │   ├── worker-entrypoint/
│   │   │   │   │   │   ├── worker-entrypoint.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   └── workflow-entrypoint/
│   │   │   │   │       ├── worker.js
│   │   │   │   │       ├── workflow-entrypoint.wd-test
│   │   │   │   │       ├── workflow-old.py
│   │   │   │   │       └── workflow.py
│   │   │   │   ├── server-harness.mjs
│   │   │   │   ├── structured-logging/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── structured-logging-json.wd-test
│   │   │   │   │   └── structured-logging-test.mjs
│   │   │   │   ├── unsafe-eval/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── extension.capnp
│   │   │   │   │   ├── module.js
│   │   │   │   │   ├── unsafe-eval-test.js
│   │   │   │   │   └── unsafe-eval-test.wd-test
│   │   │   │   ├── unsafe-module/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── unsafe-module-test.js
│   │   │   │   │   └── unsafe-module-test.wd-test
│   │   │   │   └── weakref/
│   │   │   │       ├── BUILD.bazel
│   │   │   │       ├── config.capnp
│   │   │   │       ├── index.mjs
│   │   │   │       └── test.mjs
│   │   │   ├── v8-platform-impl.c++
│   │   │   ├── v8-platform-impl.h
│   │   │   ├── workerd-api.c++
│   │   │   ├── workerd-api.h
│   │   │   ├── workerd-debug-port-client.c++
│   │   │   ├── workerd-debug-port-client.h
│   │   │   ├── workerd.c++
│   │   │   └── workerd.capnp
│   │   ├── tests/
│   │   │   ├── BUILD.bazel
│   │   │   ├── bench-api-headers.c++
│   │   │   ├── bench-global-scope.c++
│   │   │   ├── bench-json.c++
│   │   │   ├── bench-jsstring.c++
│   │   │   ├── bench-kj-headers.c++
│   │   │   ├── bench-mimetype.c++
│   │   │   ├── bench-pumpto.c++
│   │   │   ├── bench-regex.c++
│   │   │   ├── bench-response.c++
│   │   │   ├── bench-stream-piping.c++
│   │   │   ├── bench-text-encoder.c++
│   │   │   ├── bench-tools.h
│   │   │   ├── bench-util.c++
│   │   │   ├── libreprl/
│   │   │   │   ├── libreprl.c
│   │   │   │   └── libreprl.h
│   │   │   ├── module-imports-test.js
│   │   │   ├── module-imports-test.wd-test
│   │   │   ├── performance-test.js
│   │   │   ├── performance-test.wd-test
│   │   │   ├── test-fixture-test.c++
│   │   │   ├── test-fixture.c++
│   │   │   ├── test-fixture.h
│   │   │   ├── test-reprl.c++
│   │   │   ├── test.wasm
│   │   │   ├── unknown-import-assertions-test.js
│   │   │   └── unknown-import-assertions-test.wd-test
│   │   ├── tools/
│   │   │   ├── BUILD.bazel
│   │   │   ├── param-extractor.rs
│   │   │   └── param-names-ast.c++
│   │   └── util/
│   │       ├── AGENTS.md
│   │       ├── BUILD.bazel
│   │       ├── abortable.h
│   │       ├── account-limits.h
│   │       ├── autogate.c++
│   │       ├── autogate.h
│   │       ├── batch-queue-test.c++
│   │       ├── batch-queue.h
│   │       ├── canceler.h
│   │       ├── capnp-mock.c++
│   │       ├── capnp-mock.h
│   │       ├── checked-queue-test.c++
│   │       ├── checked-queue.h
│   │       ├── color-util.h
│   │       ├── completion-membrane.h
│   │       ├── duration-exceeded-logger-test.c++
│   │       ├── duration-exceeded-logger.h
│   │       ├── entropy.c++
│   │       ├── entropy.h
│   │       ├── exception.h
│   │       ├── header-validation.h
│   │       ├── http-util.h
│   │       ├── immediate-crash.h
│   │       ├── mimetype-test.c++
│   │       ├── mimetype.c++
│   │       ├── mimetype.h
│   │       ├── own-util.h
│   │       ├── perfetto-tracing.c++
│   │       ├── perfetto-tracing.h
│   │       ├── ring-buffer-test.c++
│   │       ├── ring-buffer.h
│   │       ├── sentry.h
│   │       ├── small-set-test.c++
│   │       ├── small-set.h
│   │       ├── sqlite-kv-test.c++
│   │       ├── sqlite-kv.c++
│   │       ├── sqlite-kv.h
│   │       ├── sqlite-metadata-test.c++
│   │       ├── sqlite-metadata.c++
│   │       ├── sqlite-metadata.h
│   │       ├── sqlite-test.c++
│   │       ├── sqlite.c++
│   │       ├── sqlite.h
│   │       ├── state-machine-test.c++
│   │       ├── state-machine.h
│   │       ├── stream-utils.c++
│   │       ├── stream-utils.h
│   │       ├── string-buffer-test.c++
│   │       ├── string-buffer.h
│   │       ├── strings.c++
│   │       ├── strings.h
│   │       ├── strong-bool-test.c++
│   │       ├── strong-bool.h
│   │       ├── test-test.c++
│   │       ├── test.h
│   │       ├── thread-scopes.c++
│   │       ├── thread-scopes.h
│   │       ├── uncaught-exception-source.h
│   │       ├── use-perfetto-categories.h
│   │       ├── uuid-test.c++
│   │       ├── uuid.c++
│   │       ├── uuid.h
│   │       ├── wait-list-test.c++
│   │       ├── wait-list.c++
│   │       ├── wait-list.h
│   │       ├── weak-refs.h
│   │       ├── websocket-error-handler.c++
│   │       ├── websocket-error-handler.h
│   │       └── xthreadnotifier.h
│   └── wpt/
│       ├── BUILD.bazel
│       ├── WebCryptoAPI-test.ts
│       ├── compression-test.ts
│       ├── dom/
│       │   ├── abort-test.ts
│       │   └── events-test.ts
│       ├── encoding-test.ts
│       ├── eslint.config.mjs
│       ├── eventsource-test.ts
│       ├── fetch/
│       │   └── api-test.ts
│       ├── fs-test.ts
│       ├── harness/
│       │   ├── assertions.ts
│       │   ├── common.ts
│       │   ├── globals.ts
│       │   ├── harness.ts
│       │   ├── test.ts
│       │   └── utils.ts
│       ├── performance-timeline-test.ts
│       ├── streams-test.ts
│       ├── tsconfig.json
│       ├── url-test.ts
│       ├── urlpattern-standard-test.ts
│       ├── urlpattern-test.ts
│       ├── webidl-test.ts
│       └── websockets-test.ts
├── tools/
│   ├── BUILD.bazel
│   ├── base.eslint.config.mjs
│   ├── base.tsconfig.json
│   ├── cross/
│   │   ├── format.json
│   │   ├── format.py
│   │   ├── internal_build.py
│   │   └── wpt_logs.py
│   ├── custom-eslint-rules.mjs
│   ├── custom-eslint-rules.test.mjs
│   ├── intellij/
│   │   └── .managed.bazelproject
│   ├── unix/
│   │   ├── apply-big-move.sh
│   │   ├── clangd-check.sh
│   │   ├── create-external.sh
│   │   ├── create-internal-pr.sh
│   │   ├── find-python3.sh
│   │   ├── fix-copyrights.sh
│   │   ├── new-test.sh
│   │   ├── upload-python-bundle.sh
│   │   └── workspace-status.sh
│   ├── update_node_version.py
│   ├── update_opencode_version.py
│   └── windows/
│       ├── bazel-env.bat
│       ├── create-external.bat
│       ├── install-deps.bat
│       ├── vsconfig.json
│       └── workspace-status.cmd
└── types/
    ├── AGENTS.md
    ├── BUILD.bazel
    ├── README.md
    ├── defines/
    │   ├── ai-search.d.ts
    │   ├── ai.d.ts
    │   ├── aig.d.ts
    │   ├── autorag.d.ts
    │   ├── cf.d.ts
    │   ├── d1.d.ts
    │   ├── disposable.d.ts
    │   ├── email.d.ts
    │   ├── hello-world.d.ts
    │   ├── hyperdrive.d.ts
    │   ├── images.d.ts
    │   ├── media.d.ts
    │   ├── node.d.ts
    │   ├── pages.d.ts
    │   ├── pipelines.d.ts
    │   ├── pubsub.d.ts
    │   ├── ratelimit.d.ts
    │   ├── rpc.d.ts
    │   ├── secrets-store.d.ts
    │   ├── sockets.d.ts
    │   ├── stream.d.ts
    │   ├── to-markdown.d.ts
    │   ├── trace.d.ts
    │   ├── vectorize.d.ts
    │   ├── versions.d.ts
    │   ├── wfp.d.ts
    │   └── workflows.d.ts
    ├── eslint.config.mjs
    ├── generated-snapshot/
    │   ├── experimental/
    │   │   ├── index.d.ts
    │   │   └── index.ts
    │   └── latest/
    │       ├── index.d.ts
    │       └── index.ts
    ├── scripts/
    │   ├── build-types.ts
    │   ├── build-worker.ts
    │   └── config.capnp
    ├── src/
    │   ├── cloudflare.ts
    │   ├── generator/
    │   │   ├── index.ts
    │   │   ├── parameter-names.ts
    │   │   ├── structure.ts
    │   │   └── type.ts
    │   ├── index.ts
    │   ├── print.ts
    │   ├── program.ts
    │   ├── standards.ts
    │   ├── transforms/
    │   │   ├── ambient.ts
    │   │   ├── class-to-interface.ts
    │   │   ├── comments.ts
    │   │   ├── globals.ts
    │   │   ├── helpers.ts
    │   │   ├── import-resolve.ts
    │   │   ├── importable.ts
    │   │   ├── index.ts
    │   │   ├── internal-namespace.ts
    │   │   ├── iterators.ts
    │   │   ├── onmessage-declaration.ts
    │   │   └── overrides/
    │   │       ├── compiler.ts
    │   │       └── index.ts
    │   ├── utils.ts
    │   └── worker/
    │       ├── index.ts
    │       ├── raw.d.ts
    │       ├── rtti.d.ts
    │       └── virtual.d.ts
    ├── test/
    │   ├── generator/
    │   │   ├── index.spec.ts
    │   │   ├── structure.spec.ts
    │   │   └── type.spec.ts
    │   ├── index.spec.ts
    │   ├── print.spec.ts
    │   ├── transforms/
    │   │   ├── class-to-interface.spec.ts
    │   │   ├── globals.spec.ts
    │   │   ├── iterators.spec.ts
    │   │   └── overrides/
    │   │       └── index.spec.ts
    │   └── types/
    │       ├── cf.ts
    │       ├── d1.ts
    │       ├── do.ts
    │       ├── rpc.ts
    │       └── tsconfig.json
    └── tsconfig.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .bazelignore
================================================
node_modules
images/container-client-test/node_modules
src/workerd/api/tests/opennextjs/src/node_modules

# Nested modules
build/google-benchmark
build/perfetto
build/workerd-v8


================================================
FILE: .bazelrc
================================================
common --enable_platform_specific_config
build --verbose_failures
build --build_tag_filters=-off-by-default,-requires-container-engine
# block network access by default
build --nosandbox_default_allow_network
test --test_tag_filters=-off-by-default,-requires-fuzzilli,-requires-container-engine
test:asan --test_tag_filters=-off-by-default,-no-asan,-requires-fuzzilli,-requires-container-engine
# exclude enormous tests by default
build --test_size_filters=-enormous

# use lower test timeouts: https://bazel.build/reference/test-encyclopedia#role-test-runner
# corresponds to small,medium,large,enormous tests (medium is default)
build --test_timeout=3,15,60,240

# As part of starlarkification, Bazel 8 and 9 remove a number of rules which now need to be imported
# from other repositories. In the long term, load() statements will be needed to import these rules.
# For now, we can still autoload the affected repositories when needed. Do this only for a remaining
# protobuf components and rules_cc (needed with Bazel 9).
common --incompatible_autoload_externally="+ProtoInfo,+cc_binary,+cc_import,+cc_library,+cc_shared_library,+cc_test,+cc_toolchain"

# TODO(cleanup): Bazel 9 sets this by default, which breaks the macOS-cross build. Fix and re-enable.
common --@bazel_tools//tools/test:incompatible_use_default_test_toolchain=False

# Enable proto toolchain resolution to use prebuilt protoc (starting with protobuf v34.0). Will be
# the default starting with Bazel 10.
common --incompatible_enable_proto_toolchain_resolution

# bazel7 enables Build without the Bytes (BwoB) by default. This significantly speeds up builds
# using the remote cache since less data needs to be fetched.
# Note that we use remote_download_minimal for test builds, which avoids fetching build outputs
# where possible. While several previous BwoB bugs have been fixed, this is slower than it could be
# due to https://github.com/bazelbuild/bazel/issues/20576.

# Import CI-specific configuration. As the amount of custom configuration settings we use grows,
# consider moving more flags out to separate files.
import %workspace%/build/ci.bazelrc
import %workspace%/build/rust_lint.bazelrc
import %workspace%/build/tools/clang_tidy/clang_tidy.bazelrc

# Continue building locally when remote cache entries fail to materialize
build --incompatible_remote_local_fallback_for_remote_cache

# TODO(soon): Flipped by default in Bazel 9, add required variables to --repo_env and enable
build --noincompatible_repo_env_ignores_action_env

# Use -isystem for cc_library includes attribute – this prevents warnings for misbehaving external
# code.
build:linux --features=external_include_paths --host_features=external_include_paths

# Forward compatibility with future Bazel versions:
# Disable deprecated cfg = "host" Bazel rule setting. Blocked on perfetto.
# common --incompatible_disable_starlark_host_transitions

# Our dependencies (ICU, zlib, etc.) produce a lot of these warnings, so we disable them.
build --per_file_copt='external@-Wno-error'
build --per_file_copt='external@-Wno-suggest-override'
build --per_file_copt='external/.*v8@-Wno-unused-function'
build --per_file_copt='external/zlib@-Wno-deprecated-non-prototype'
build --host_per_file_copt='external/zlib@-Wno-deprecated-non-prototype'
build --per_file_copt=external/protobuf@-Wno-deprecated-declarations
build --host_per_file_copt=external/protobuf@-Wno-deprecated-declarations

# opt in to capnp deprecation warnings about trying to attach to a refcounted object
build --cxxopt=-DKJ_WARN_REFCOUNTED_ATTACH=1

# TODO(cleanup): Causes warnings with LLVM20, fix and enable again
build --copt=-Wno-nontrivial-memaccess

# Unconditionally optimize V8 heap.cc on macOS – when optimization or inlining are disabled, this
# file appears to cause segfaults at workerd startup on macOS.
# TODO(cleanup): Investigate why this happens, our patches do not modify heap.cc itself so the bug
# might be introduced through a header included in heap.cc, through the Bazel build configuration or
# a bug in Apple LLVM.
build:macos --per_file_copt=v8/src/heap/heap.cc@-O3

# The macOS apple_support toolchain sets -DDEBUG for fastbuild, unlike the Linux toolchain. This is
# unhelpful for compile speeds and test performance, and may cause compile errors based on V8 DCHECK
# macros that reference symbols only available with V8_VERIFY_WRITE_BARRIERS (a debug-only define),
# causing compile errors. Undefine DEBUG to match Linux behavior.
build:macos --copt=-UDEBUG

# Increasing the optimization level of V8 significantly speeds up tests using V8 a lot, especially
# python tests. This is useful for both CI and local development and enabled by default, but still
# kept in a separate configuration to make it easy to disable.
build:v8-codegen-opt --per_file_copt=v8/src@-O3
# V8 is heavily using absl for hashing now, optimize it too.
build:v8-codegen-opt --per_file_copt=external/abseil-cpp@-O3
# zlib and tcmalloc (for Linux) are also CPU-intensive, optimize them too.
build:v8-codegen-opt --per_file_copt=external/tcmalloc@-O3
build:v8-codegen-opt --per_file_copt=external/zlib@-O3
# BoringSSL is CPU-intensive for crypto tests, optimize it too.
build:v8-codegen-opt --per_file_copt=external/boringssl@-O3
# simdutf is used for fast string encoding/decoding
build:v8-codegen-opt --per_file_copt=external/+http+simdutf@-O3
# ICU and perfetto are generally updated with V8 and rarely need to be updated, optimize them too.
build:v8-codegen-opt --per_file_copt=external/.*com_googlesource_chromium_icu@-O3
build:v8-codegen-opt --per_file_copt=external/perfetto@-O3

build:v8-codegen-opt-windows --per_file_copt=v8/src@/O2,/clang:-O3
build:v8-codegen-opt-windows --per_file_copt=external/abseil-cpp@/O2,/clang:-O3
build:v8-codegen-opt-windows --per_file_copt=external/zlib@/O2,/clang:-O3
build:v8-codegen-opt-windows --per_file_copt=external/boringssl@/O2,/clang:-O3
build:v8-codegen-opt-windows --per_file_copt=external/+http+simdutf@/O2,/clang:-O3
build:v8-codegen-opt-windows --per_file_copt=external/.*com_googlesource_chromium_icu@/O2,/clang:-O3
build:v8-codegen-opt-windows --per_file_copt=external/perfetto@/O2,/clang:-O3

build:unix --config=v8-codegen-opt
build:windows  --config=v8-codegen-opt-windows

# In Google projects, exceptions are not used as a rule. Disabling them is more consistent with the
# canonical V8 build and improves code size. Paths are adjusted for bzlmod mangling – V8 and ICU use
# a wildcard for this as the prefix is some variation of +_repo_rules3+ where the number can change
# when refactoring MODULE.bazel – setting this directly would be too brittle
build:unix --per_file_copt=external/abseil-cpp@-fno-exceptions
build:unix --per_file_copt=external/protobuf@-fno-exceptions
build:unix --per_file_copt=external/tcmalloc@-fno-exceptions
build:unix --per_file_copt=external/.*com_googlesource_chromium_icu@-fno-exceptions
build:unix --per_file_copt=external/perfetto@-fno-exceptions
build:unix --per_file_copt=external/boringssl@-fno-exceptions
build:unix --per_file_copt=external/.*v8@-fno-exceptions
build:unix --per_file_copt=external/ada-url@-fno-exceptions
build:unix --per_file_copt=external/+http+simdutf@-fno-exceptions
build:windows --per_file_copt=external/abseil-cpp@/clang:-fno-exceptions
build:windows --per_file_copt=external/protobuf@/clang:-fno-exceptions
build:windows --per_file_copt=external/tcmalloc@/clang:-fno-exceptions
build:windows --per_file_copt=external/.*com_googlesource_chromium_icu@/clang:-fno-exceptions
build:windows --per_file_copt=external/perfetto@/clang:-fno-exceptions
build:windows --per_file_copt=external/boringssl@/clang:-fno-exceptions
build:windows --per_file_copt=external/.*v8@/clang:-fno-exceptions
build:windows --per_file_copt=external/ada-url@/clang:-fno-exceptions
build:windows --per_file_copt=external/+http+simdutf@/clang:-fno-exceptions

# V8 torque is an exception from this policy, see v8 BUILD.gn.
build:unix --per_file_copt=external/.*v8/src/torque@-fexceptions
build:windows --per_file_copt=external/.*v8/src/torque@/clang:-fexceptions

# Limit transitive header includes within libc++. This improves compliance with IWYU, helps avoid
# errors with downstream projects that implicitly define this already and reduces total include size.
https://libcxx.llvm.org/DesignDocs/HeaderRemovalPolicy.html
build:unix --cxxopt=-D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES --host_cxxopt=-D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES
# Do not enable libc++ ABI tags. This makes mangled symbol names and thus include overhead and code
# size slightly smaller and is safe as long as we don't link with several copies of libc++.
build:unix --cxxopt=-D_LIBCPP_NO_ABI_TAG --host_cxxopt=-D_LIBCPP_NO_ABI_TAG
# Disable the experimental (and currently incomplete) parallel STL implementation as with
# downstream, this reduces the include overhead for <algorithm>.
build:unix --cxxopt=-D_LIBCPP_HAS_NO_INCOMPLETE_PSTL --host_cxxopt=-D_LIBCPP_HAS_NO_INCOMPLETE_PSTL

# V8 redefines the _WIN32_WINNT set by bazel, disable warnings for redefined macros. Since V8 uses
# a global define for this, we need to apply it for everything.
# TODO(cleanup): Patch upstream V8 to use local_defines for this instead.
build:windows --copt='-Wno-macro-redefined'
build:windows --host_copt='-Wno-macro-redefined'

# typescript configuration
# do more correct type checking
common --@aspect_rules_ts//ts:skipLibCheck=honor_tsconfig
# Use "tsc" as the transpiler when ts_project has no `transpiler` set.
common --@aspect_rules_ts//ts:default_to_tsc_transpiler

# optimized LTO build.
build:thin-lto --config=opt
build:thin-lto --copt='-flto=thin'
build:thin-lto --linkopt='-flto=thin'

# configuration used for performance profiling
build:profile --config=thin-lto
build:profile --copt="-fno-omit-frame-pointer" --copt="-mno-omit-leaf-frame-pointer"
build:profile --config=limited-dbg-info
build:profile --strip=never

# configuration used for performance benchmarking is the same as profiling for consistency
build:benchmark --config=profile

# Define a debug config which is primarily intended for local development.
build:debug -c dbg

# Using simple template names saves around 5% of binary size of workerd.
build:unix --cxxopt='-gsimple-template-names' --host_cxxopt='-gsimple-template-names'
# Enable hidden visibility for inline functions. This can cause problems when comparing pointers to
# inline functions across shared library boundaries, but this is unlikely to be done anywhere
# within workerd, V8 explicitly supports hidden visibility.
build:unix --cxxopt='-fvisibility-inlines-hidden' --host_cxxopt='-fvisibility-inlines-hidden'

# Define a config mode which is fastbuild but with basic debug info.
build:fastdbg -c fastbuild
build:fastdbg --config=limited-dbg-info
build:fastdbg --config=rust-debug
build:fastdbg --strip=never
build:fastdbg --//:dead_strip=False

# provide a limited amount of debug info, sufficient for qualified stack traces.
build:limited-dbg-info --copt='-g1' --copt="-fdebug-info-for-profiling"

# Miscellaneous platform-independent options
build --@capnp-cpp//src/kj:openssl=True --@capnp-cpp//src/kj:zlib=True --@capnp-cpp//src/kj:brotli=True
build --@capnp-cpp//src/capnp:gen_rust=True
# always have KJ_IREQUIRE checks enabled, this matches workers production.
build --@capnp-cpp//src/kj:kj_enable_irequire=True
# overriden in config=opt
build --@capnp-cpp//src/kj:debug_memory=True
build --cxxopt="-fbracket-depth=512" --host_cxxopt="-fbracket-depth=512"

# Additional Rust flags (see https://doc.rust-lang.org/rustc/codegen-options/index.html)
# Need to disable debug-assertions for fastbuild, should be off automatically for opt.
# Using extra_rustc_flag for non-exec flags so they can be overwritten selectively.
build --@rules_rust//:extra_rustc_flag=-Cdebug-assertions=n
build --@rules_rust//:extra_exec_rustc_flags=-Cdebug-assertions=n
build --@rules_rust//:rustfmt.toml=//src/rust:rustfmt.toml

# We default to not enabling debug assertions and unwinding for Rust. For debug builds this is not
# the right setting, but unfortunately we can't set that directly.
build:rust-debug --@rules_rust//:extra_rustc_flag=-Cdebug-assertions=y
# Use the equivalent of -g/-g2 for Rust here, this is necessary to get qualified stack traces while
# -Zdebug-info-for-profiling is unavailable. Unlike gcc/clang, Rust defaults to -g3 otherwise.
build:rust-debug --@rules_rust//:extra_rustc_flag=-Cdebuginfo=1
build:rust-debug --@rules_rust//:extra_rustc_flag=-Cstrip=none

# Adding -C lto=thin here would improve binary size significantly – disable it for now due to
# compile errors and wrong code generation when bazel and rust use different LLVM versions.
build:thin-lto --@rules_rust//:extra_rustc_flag=-Ccodegen-units=1

# common sanitizers options
build:sanitizer-common --@workerd//src/workerd/server:use_tcmalloc=False
build:sanitizer-common --copt="-fsanitize-link-c++-runtime" --linkopt="-fsanitize-link-c++-runtime"
build:sanitizer-common --copt="-Og"
build:sanitizer-common --copt="-g" --strip=never
build:sanitizer-common --copt="-fno-optimize-sibling-calls"
build:sanitizer-common --copt="-fno-omit-frame-pointer" --copt="-mno-omit-leaf-frame-pointer"

# address sanitizer (https://github.com/google/sanitizers/wiki/AddressSanitizer)
build:asan --config=sanitizer-common
build:asan --copt="-fsanitize=address" --linkopt="-fsanitize=address"
build:asan --test_env=ASAN_OPTIONS=abort_on_error=true
build:asan --test_env=KJ_CLEAN_SHUTDOWN=1
# Enable ASan, LSan support in V8
build:asan --copt="-DV8_USE_ADDRESS_SANITIZER"
build:asan --per_file_copt='external/.*v8@-DADDRESS_SANITIZER,-DLEAK_SANITIZER'

# fuzzilli (https://github.com/googleprojectzero/fuzzilli/)
build:fuzzilli --config=asan
build:fuzzilli --copt="-DWORKERD_FUZZILLI"
build:fuzzilli --linkopt="-DWORKERD_FUZZILLI"
build:fuzzilli --copt="-fsanitize-coverage=trace-pc-guard"
build:fuzzilli --linkopt="-fsanitize-coverage=trace-pc-guard"
build:fuzzilli --linkopt="-static-libasan"
# Set ASan/UBSan options globally to abort on error (raise SIGABRT) for proper Fuzzilli crash detection
build:fuzzilli --action_env=ASAN_OPTIONS=abort_on_error=1:symbolize=false
build:fuzzilli --action_env=UBSAN_OPTIONS=abort_on_error=1:symbolize=false
# Override test filters to include requires-fuzzilli tests (inherits asan's -no-asan filter)
test:fuzzilli --test_tag_filters=-off-by-default

#
# Linux and macOS
#
build:unix --workspace_status_command=./tools/unix/workspace-status.sh

build:unix --cxxopt='-std=c++23' --host_cxxopt='-std=c++23'
build:unix --@capnp-cpp//src/kj:libdl=True

# Bazel uses CC to compile C and C++ actions, no need to define CXX.
build:unix --action_env=BAZEL_COMPILER=clang
build:unix --action_env=CC=clang

build:unix --test_env=LLVM_SYMBOLIZER=llvm-symbolizer

# Warning options.
build:unix --cxxopt='-Wall' --host_cxxopt='-Wall'
build:unix --cxxopt='-Wextra' --host_cxxopt='-Wextra'
build:unix --cxxopt='-Wunused-function' --host_cxxopt='-Wunused-function'
build:unix --cxxopt='-Wunused-lambda-capture' --host_cxxopt='-Wunused-lambda-capture'
build:unix --cxxopt='-Wunused-variable' --host_cxxopt='-Wunused-variable'
build:unix --cxxopt='-Wno-sign-compare' --host_cxxopt='-Wno-sign-compare'
build:unix --cxxopt='-Wno-unused-parameter' --host_cxxopt='-Wno-unused-parameter'
build:unix --cxxopt='-Wno-missing-field-initializers' --host_cxxopt='-Wno-missing-field-initializers'
build:unix --cxxopt='-Wsuggest-override'

build:linux --config=unix
build:macos --config=unix

# Support macOS 13 as the minimum version. There should be at least a warning when backward
# compatibility is broken as -Wunguarded-availability-new is enabled by default. Only enable for
# target configuration as host configuration tools are only used during the build process.
build:macos --macos_minimum_os=13.5

# Avoid emitting duplicate unwind info where compact unwind info can be used. This reduces the
# object size by ~5% on average, improving disk space usage and link times. The final binary size
# is not affected. Note that this is on-by-default on arm64, but turning it on for all mac builds
# is easier than adding the flag only on x86. See https://reviews.llvm.org/D122258 for detailed
# information on the flag.
build:macos --copt='-femit-dwarf-unwind=no-compact-unwind'

# Cross-Compilation
# Only cross-compiling on macOS from Apple Silicon to x86_64 is supported – using apple_support
# makes this much easier than on other platforms. We could define a configuration for cross-
# compiling from Intel Mac too, but it lacks a means to run Apple Silicon binaries. We would have to
# change V8 mksnapshot to build in the host configuration again (effectively compiling much of V8
# twice) and couldn't run tests, so it would provide little value.
#
# Define the target platform
build:macos-cross-x86_64 --cpu=darwin_x86_64 --host_cpu=darwin_arm64 --platforms //:macOS_x86
# Some cross-compiled tests are slower when run over Rosetta, increase the medium test size timeout.
# Test performance is still very much satisfactory considering that emulation is being used here.
build:macos-cross-x86_64 --test_timeout=1,30,60,240

# On Linux, always link libc++ statically to avoid compatibility issues with different OS versions.
# macOS links with dynamic libc++ by default, which has good backwards compatibility.
# Drop default link flags, which include libstdc++ for Linux
build:linux --features=-default_link_libs --host_features=-default_link_libs
build:linux --cxxopt='-stdlib=libc++' --host_cxxopt='-stdlib=libc++'
build:linux --linkopt='-stdlib=libc++' --host_linkopt='-stdlib=libc++'
build:linux --linkopt='-l:libc++.a' --linkopt='-lm' --linkopt='-static-libgcc'
# We don't expect to distribute host tools, no need to statically link libgcc.
# TODO(cleanup): Ideally we'd also use shared libc++ here, we'd just need to install the
# libunwind-<version>-dev and libc++abi-<version>-dev packages on CI to have all of shared libc++
# available.
build:linux --host_linkopt='-l:libc++.a' --host_linkopt='-lm'

# On Linux, enable PIC. In macos pic is the default, and the objc_library rule does not work
# correctly if we use this flag since it will not find the object files to include
# https://github.com/bazelbuild/bazel/issues/12439#issuecomment-914449079
build:linux --force_pic

# On Linux, garbage collection sections and optimize binary size. These do not apply to the macOS
# toolchain.
build:linux --linkopt="-Wl,--gc-sections"
build:linux --copt="-ffunction-sections" --host_copt="-ffunction-sections"
build:linux --copt="-fdata-sections" --host_copt="-fdata-sections"

# On Linux, use clang lld.
build:linux --linkopt="-fuse-ld=lld"

#
# Windows
#

# See https://bazel.build/configure/windows#symlink
startup --windows_enable_symlinks
build:windows --workspace_status_command=./tools/windows/workspace-status.cmd
build:windows --enable_runfiles
# We use LLVM's MSVC-compatible compiler driver to compile our code on Windows,
# as opposed to using MSVC directly. This enables us to use the "same" compiler
# frontend on Linux, macOS, and Windows, massively reducing the effort required
# to compile workerd on Windows. Notably, this provides proper support for
# `#pragma once` when using symlinked virtual includes, `__atomic_*` functions,
# a standards-compliant preprocessor, support for GNU statement expressions
# used by some KJ macros, and understands the `.c++` extension by default.
# As of bazel 7, toolchain resolution is enabled by default, so we need to define a platform for
# the clang-cl build.
build:windows --extra_toolchains=@local_config_cc//:cc-toolchain-x64_windows-clang-cl
build:windows --extra_execution_platforms=//:x64_windows-clang-cl

# The Windows fastbuild bazel configuration is broken in that it necessarily generates PDB debug
# information while the Linux and macOS toolchains only compile with debug information in the dbg
# configuration or when requested with the -g flag. This causes huge increases in compile time and
# disk/cache space usage – a single test may come with a 490MB PDB file.
# In an optional configuration, use the opt configuration and manually disable optimizations as a
# workaround.

build:windows_no_dbg -c opt
build:windows_no_dbg --copt='/Od'
build:windows_no_dbg --linkopt='/INCREMENTAL:NO'
build:windows_no_dbg --features=-smaller_binary

# Mitigate the large size impact of Windows debug binaries somewhat by applying string merging and
# linker garbage collection.
build:windows_dbg --config=debug
build:windows_dbg --copt='/Gy' --copt='/Gw'
build:windows_dbg --linkopt='/OPT:REF'
build:windows_dbg --linkopt='/OPT:LLDTAILMERGE' --linkopt='/OPT:SAFEICF'

# This hides inline symbols in classes that are marked to be exported, similar to
# -fvisibility-inlines-hidden on Unix systems (https://blog.llvm.org/2018/11/30-faster-windows-builds-with-clang-cl_14.html)
# Currently this only reduces object sizes slightly, larger gains are possible if we compile V8 as
# a shared library.
build:windows --copt='/Zc:dllexportInlines-'

# Configuration for header parsing. Requires bazel toolchain support (available for macOS, Linux).
build:parse_headers --features=parse_headers --process_headers_in_dependencies
# Silence some capnproto warnings/errors that are not relevant for header parsing
build:parse_headers --per_file_copt='.*\.h@-Wno-unused-function,-Wno-pragma-system-header-outside-header'
build:parse_headers --per_file_copt=external/+http+capnp-cpp/src/kj/common.h@-Wno-unreachable-code
build:parse_headers --per_file_copt=external/+http+capnp-cpp/src/capnp/arena.h@-DCAPNP_PRIVATE

# optimized configuration
build:opt -c opt
build:opt --@capnp-cpp//src/kj:debug_memory=False

# Release configuration.
build:release --config=opt
build:release --@rules_rust//:extra_rustc_flag=-Ccodegen-units=1

# enable -O3 for the release configuration. Based on benchmarking there is little difference in
# performance, but -O3 should generally be expected to be faster for at least parts of the workerd API.
build:release_unix --copt='-O3'
build:release_unix --config=release

build:release_linux --config=release_unix
build:release_linux --linkopt="-Wl,-O2"

build:release_macos --config=release_unix
# Disable generating LC_DATA_IN_CODE and LC_FUNCTION_STARTS binary sections, two rarely used types
# of macOS debug info. These sections are largely undocumented, but are used by LLDB to improve
# debugging on binaries that are otherwise stripped. There should be no need to include this
# data in releases.
build:release_macos --linkopt="-Wl,-no_data_in_code_info"
build:release_macos --linkopt="-Wl,-no_function_starts"

# Cross-compiled release build for x86_64.
build:release_macos_cross_x86_64 --config=release_macos
build:release_macos_cross_x86_64 --config=macos-cross-x86_64

# On macOS, optionally compile using LLD (19 or higher is compatible with the default flags added by
# apple_support). Requires Homebrew's lld package to be installed and symlinked into /usr/local/bin.
# This is less CPU intensive than the system linker, but also slightly slower in terms of wall time
# since it is less parallel. More importantly, it allows us to enable LLD's ICF pass, which
# significantly decreases binary sizes. We could use Xcode 16's -Wl,-deduplicate option instead, but
# LLD's ICF appears to be superior. We also want to enable ICF for Linux, but there it causes
# warnings when dynamically linking with libc++.
build:macos_lld --linkopt=-fuse-ld=lld --linkopt=--ld-path=/usr/local/bin/ld64.lld
build:macos_lld_icf --config=macos_lld
build:macos_lld_icf --linkopt="-Wl,--icf=safe"

build:release_windows --config=release
# Windows uses /O2 as its preferred optimization setting and enabled by bazel in the opt
# configuration, but for clang-cl this is equivalent to only -O2 and a few other things. -O3 is
# not exposed directly in the clang-cl driver, but we can access regular clang
# flags using the /clang prefix anyway. https://clang.llvm.org/docs/UsersManual.html#the-clang-option
build:release_windows --copt="/clang:-O3"
# clang-cl does not enable strict aliasing by default to match MSVC's approach, unlike clang on
# Unix which turns it on for opt builds.
build:release_windows --copt="-fstrict-aliasing"
# This file breaks our CI windows release builds when compiled using O2/O3
# Ref: https://github.com/llvm/llvm-project/issues/136481
build:release_windows --per_file_copt=.*capnp/rpc\.c++@/clang:-O1

build:windows --cxxopt='/std:c++23preview' --host_cxxopt='/std:c++23preview'
build:windows --copt='/D_CRT_USE_BUILTIN_OFFSETOF' --host_copt='/D_CRT_USE_BUILTIN_OFFSETOF'
build:windows --copt='/DWIN32_LEAN_AND_MEAN' --host_copt='/DWIN32_LEAN_AND_MEAN'
build:windows --copt='/EHs' --host_copt='/EHs'
# The `/std:c++23preview` argument is unused during BoringSSL compilation and we don't
# want a warning when compiling each file.
build:windows --per_file_copt=external/boringssl@-Wno-unused-command-line-argument --host_per_file_copt=external/boringssl@-Wno-unused-command-line-argument

# MSVC disappointingly sets __cplusplus to 199711L by default. Defining /Zc:__cplusplus makes it
# set the correct value. We currently don't check __cplusplus, but some dependencies do.
build:windows --cxxopt='/Zc:__cplusplus' --host_cxxopt='/Zc:__cplusplus'

# Coverage configuration using LLVM tools. These environment variables are used by rules_cc
# to locate LLVM coverage tools. Users should ensure llvm-profdata and llvm-cov are available
# in PATH (create symlinks to version-specific binaries if needed, e.g., ln -s llvm-cov-19 llvm-cov).
build:coverage --action_env=BAZEL_USE_LLVM_NATIVE_COVERAGE=1
build:coverage --test_env=BAZEL_USE_LLVM_NATIVE_COVERAGE=1
# GCOV is used by rules_cc to merge raw profile data (.profraw) into indexed profile data (.profdata)
build:coverage --action_env=GCOV=llvm-profdata
build:coverage --test_env=GCOV=llvm-profdata
# COVERAGE_GCOV_PATH is used by collect_cc_coverage.sh for merging .profraw files.
build:coverage --action_env=COVERAGE_GCOV_PATH=/usr/bin/llvm-profdata
build:coverage --test_env=COVERAGE_GCOV_PATH=/usr/bin/llvm-profdata
# BAZEL_LLVM_COV is used by rules_cc to generate coverage reports from profile data
build:coverage --action_env=BAZEL_LLVM_COV=llvm-cov
build:coverage --test_env=BAZEL_LLVM_COV=llvm-cov
# LLVM_COV is used by collect_cc_coverage.sh for generating LCOV output
build:coverage --test_env=LLVM_COV=llvm-cov
# GENERATE_LLVM_LCOV=1 tells collect_cc_coverage.sh to use llvm-cov export to generate LCOV format
# instead of just outputting raw profdata. LLVM_COV specifies the llvm-cov binary to use.
build:coverage --test_env=GENERATE_LLVM_LCOV=1
build:coverage --experimental_use_llvm_covmap
build:coverage --experimental_generate_llvm_lcov
# Ensure that we fetch coverage data from remote cache
build:coverage --experimental_fetch_all_coverage_outputs
build:coverage --experimental_split_coverage_postprocessing
# Allow coverage outputs to be writable for post-processing
build:coverage --experimental_writable_outputs
build:coverage --collect_code_coverage
# Only instrument source code, not tests or tools - significantly speeds up coverage builds
build:coverage --instrumentation_filter="^//src/workerd[/:],^//src/rust[/:]"
build:coverage --instrument_test_targets
# Disable coverage instrumentation for external dependencies to speed up compilation.
# Coverage for V8/external code is not useful for our purposes.
# These flags negate -fprofile-instr-generate and -fcoverage-mapping set by rules_cc.
build:coverage --per_file_copt=external/.*@-fno-profile-instr-generate,-fno-coverage-mapping
# KJ uses _exit() by default which bypasses atexit handlers and prevents LLVM profile runtime
# from writing coverage data. KJ_CLEAN_SHUTDOWN forces use of normal exit() instead.
build:coverage --test_env=KJ_CLEAN_SHUTDOWN=1
# Use -O1 for faster compilation - coverage builds don't need heavy optimization
build:coverage --copt=-O1
# Reduce debug info for faster compilation and smaller binaries
build:coverage --copt=-g1
# Use limited coverage mode for smaller binaries and faster execution (used by Chromium)
build:coverage --copt=-mllvm --copt=-limited-coverage-experimental=true
coverage --test_tag_filters=-off-by-default,-requires-fuzzilli,-requires-container-engine,-lint,-benchmark,-workerd-benchmark,-no-coverage
# Coverage instrumentation slows down test execution, so extend timeouts
# We disable enormous tests due to the slowdown (CI jobs have a 6h max duration)
coverage --test_size_filters=-enormous
coverage --test_timeout=240,240,240,240
coverage --build_tests_only

# This config is defined internally and enabled on many machines.
# Defining it as empty just so these machines can run build commands from the workerd repo
build:rosetta-arm64 --define=rosetta_arm64_no_op=1


================================================
FILE: .bazelversion
================================================
9.0.1


================================================
FILE: .clang-format
================================================
Language: Cpp
Standard: c++20
ColumnLimit: 100

WhitespaceSensitiveMacros:
  # clang format doesn't understand TypeScript, so make sure it doesn't mangle
  # overrides and additional definitions
  - JSG_TS_OVERRIDE
  - JSG_TS_DEFINE
  - JSG_STRUCT_TS_OVERRIDE
  - JSG_STRUCT_TS_DEFINE
AllowShortFunctionsOnASingleLine: Empty

SortIncludes: true
IncludeBlocks: Regroup
IncludeCategories:
  # c++ system headers
  - Regex: <[a-zA-Z0-9_]+>
    Priority: 5
  # kj/capnp headers
  - Regex: <(kj|capnp)/.+>
    Priority: 4
  # workerd headers
  - Regex: <workerd/.+>
    Priority: 2
  # 3rd party headers
  - Regex: <.+>
    Priority: 3
  # local headers
  - Regex: '".*"'
    Priority: 1

AllowShortIfStatementsOnASingleLine: true
AllowShortLoopsOnASingleLine: true
AllowShortBlocksOnASingleLine: Empty

IndentWidth: 2
IndentCaseBlocks: false
IndentCaseLabels: true
PointerAlignment: Left
DerivePointerAlignment: true

# Move public and private in by a half-indentation.  This makes
# diffs and Github code reviews more readable by letting you
# see which class the diff snippet is part of.
AccessModifierOffset: -1

# Really "Attach" but empty braces aren't split.
BreakBeforeBraces: Custom
BraceWrapping:
  AfterCaseLabel: false
  AfterClass: false
  AfterControlStatement: Never
  AfterEnum: false
  AfterFunction: false
  AfterNamespace: false
  AfterObjCDeclaration: false
  AfterStruct: false
  AfterUnion: false
  AfterExternBlock: false
  BeforeCatch: false
  BeforeElse: false
  BeforeLambdaBody: false
  BeforeWhile: false
  IndentBraces: false
  SplitEmptyFunction: false
  SplitEmptyRecord: false
  SplitEmptyNamespace: false

Cpp11BracedListStyle: true

AlignAfterOpenBracket: DontAlign
AlignOperands: DontAlign
AlignTrailingComments:
  Kind: Always
  OverEmptyLines: 0
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: Yes
BreakStringLiterals: false
BinPackArguments: true
BinPackParameters: false
BracedInitializerIndentWidth: 2
BreakInheritanceList: BeforeColon
ContinuationIndentWidth: 4
IfMacros:
  [
    "KJ_SWITCH_ONEOF",
    "KJ_CASE_ONEOF",
    "KJ_IF_MAYBE",
    "KJ_IF_SOME",
    "CFJS_RESOURCE_TYPE",
  ]
LambdaBodyIndentation: OuterScope
Macros:
  - "KJ_MAP(x,y)=[y](auto x)"
  - "JSG_VISITABLE_LAMBDA(x,y,z)=[x,y](z)"
  # The WhitespaceSensitiveMacros solution is flaky, adding the following ensures no formatting:
  - "JSG_TS_OVERRIDE(x)=enum class"
  - "JSG_TS_DEFINE(x)=enum class"
  - "JSG_STRUCT_TS_OVERRIDE(x)=enum class"
  - "JSG_STRUCT_TS_DEFINE(x)=enum class"
PenaltyReturnTypeOnItsOwnLine: 1000
PackConstructorInitializers: CurrentLine
ReflowComments: false
SpaceBeforeCtorInitializerColon: false
SpaceBeforeInheritanceColon: false
SpaceBeforeParens: ControlStatementsExceptControlMacros
SpaceBeforeRangeBasedForLoopColon: false
SpaceBeforeCpp11BracedList: false
SpacesBeforeTrailingComments: 2
---
# Some files with embedded typescript are incorrectly recognized by clang-format as Objective-C
# This is because the C/C++ macro expansion step happens after the language recognition step, so
# when trying to parse the file, the c++ parser fails with incorrect syntax and a fallback to
# the Objective-C parser is used.
# This is a workaround to hide the warning.
# TODO: Remove this once we have a better solution.
Language: ObjC
DisableFormat: true


================================================
FILE: .clang-tidy
================================================
---
# TODO: We currently only enable select clang-tidy checks. While many checks provide little value or
# produce false positives, try to incrementally enable most of them.
# TODO: these checks are in progress of cleaning up
# Note: cppcoreguidelines-noexcept-destructor is designed to detect destructors that are missing
# noexcept. We always use noexcept(false) as per KJ-style, but this check works for our purposes
# too.
Checks: >
  bugprone-argument-comment,
  bugprone-capturing-this-in-member-variable,
  bugprone-dynamic-static-initializers,
  bugprone-forward-declaration-namespace,
  bugprone-invalid-enum-default-initialization,
  bugprone-move-forwarding-reference,
  bugprone-return-const-ref-from-parameter,
  bugprone-suspicious-*,
  -bugprone-suspicious-semicolon,
  bugprone-undefined-memory-manipulation,
  bugprone-unhandled-self-assignment,
  bugprone-unused-raii,
  bugprone-use-after-move,
  cppcoreguidelines-c-copy-assignment-signature,
  cppcoreguidelines-misleading-capture-default-by-value,
  cppcoreguidelines-noexcept-destructor,
  cppcoreguidelines-prefer-member-initializer,
  google-readability-casting,
  misc-confusable-identifiers,
  misc-header-include-cycle,
  misc-redundant-expression,
  misc-throw-by-value-catch-by-reference,
  misc-unused-alias-decls,
  misc-unused-using-decls,
  modernize-loop-convert,
  modernize-macro-to-enum,
  modernize-redundant-void-arg,
  modernize-type-traits,
  modernize-unary-static-assert,
  modernize-use-bool-literals,
  modernize-use-constraints,
  modernize-use-emplace,
  modernize-use-equals-delete,
  modernize-use-nullptr,
  modernize-use-string-view,
  modernize-use-transparent-functors,
  modernize-use-using,
  performance-*,
  -performance-enum-size,
  -performance-no-int-to-ptr,
  -performance-noexcept-move-constructor,
  -performance-noexcept-swap,
  -performance-unnecessary-value-param,
  readability-avoid-const-params-in-decls,
  readability-container-contains,
  readability-container-size-empty,
  readability-delete-null-pointer,
  readability-duplicate-include,
  readability-enum-initial-value,
  readability-redundant-*,
  -readability-redundant-inline-specifier,
  -readability-redundant-parentheses,
  -readability-redundant-smartptr-get,
  readability-reference-to-constructed-temporary,
  readability-static-accessed-through-instance,
  readability-use-concise-preprocessor-directives

# TODO: Fix and enable
# bugprone-derived-method-shadowing-base-method
# bugprone-parent-virtual-call
# cppcoreguidelines-interfaces-global-init
# cppcoreguidelines-missing-std-forward
# cppcoreguidelines-pro-type-member-init
# modernize-use-equals-default
# modernize-use-override
# modernize-use-ranges
# readability-avoid-return-with-void-value
# modernize-avoid-variadic-functions
# readability-convert-member-functions-to-static
# readability-redundant-smartptr-get
# readability-use-anyofallof

WarningsAsErrors: '*'
HeaderFilterRegex: '.*src/workerd/.*'

CheckOptions:
  # JSG has very entrenched include cycles
  - key: misc-header-include-cycle.IgnoredFilesList
    value: "jsg/jsg.h|jsg/dom-exception.h"
  - key: cppcoreguidelines-missing-std-forward.ForwardFunction
    value: "kj::fwd"


================================================
FILE: .devcontainer/Dockerfile
================================================
FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:22

# Install dependencies, including clang via through LLVM APT repository. Note that this
# will also install lldb and clangd alongside dependencies.
ARG LLVM_VERSION=19
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
    && apt-get -y install software-properties-common python3 python3-distutils tclsh nodejs npm \
    && curl -fSsL -o /tmp/llvm.sh https://apt.llvm.org/llvm.sh && chmod +x /tmp/llvm.sh && bash /tmp/llvm.sh ${LLVM_VERSION} \
    && apt-get -y install --no-install-recommends libunwind-${LLVM_VERSION} libc++abi1-${LLVM_VERSION} libc++1-${LLVM_VERSION} libc++-${LLVM_VERSION}-dev libclang-rt-${LLVM_VERSION}-dev -o DPkg::options::="--force-overwrite"
ENV PATH /usr/lib/llvm-${LLVM_VERSION}/bin:$PATH

# Install Bazel (via Bazelisk)
RUN npm install -g @bazel/bazelisk

# Install Just
RUN npm install -g rust-just


================================================
FILE: .devcontainer/devcontainer.json
================================================
{
	"name": "C++: Workerd",
	"build": {
		"dockerfile": "Dockerfile"
	},
	"customizations": {
		// Configure properties specific to VS Code.
		"vscode": {
			// Add the IDs of extensions you want installed when the container is created.
			"extensions": [
				"BazelBuild.vscode-bazel",
				"eamodio.gitlens",
				"streetsidesoftware.code-spell-checker",
				"llvm-vs-code-extensions.vscode-clangd",
				"ms-vscode.cpptools",
				"abronan.capnproto-syntax",
				"DavidAnson.vscode-markdownlint"
			],
			"settings": {
				// The Microsoft C/C++ extension has IntelliSense support that is not compatible with the clangd extension.
				"C_Cpp.intelliSenseEngine": "disabled",
				"C_Cpp.default.cppStandard": "c++20"
			}
		}
	}
	// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
	// "remoteUser": "root"
}


================================================
FILE: .git-blame-ignore-revs
================================================
# Apply prettier to the project
0523bf8b36a937348f1bb79eceda2463a5c220b5

# Apply clang-format to the project.
5e8537a77e760c160ace3dfe23ee8c76ee5aeeb3

# Apply ruff format to the project
d6d0607a845e6f71084ce272a1c1e8c50e244bdd

# Apply buildifier to the project
f457f19039b82536b35659c1f9cb898a198e6cd1

# Apply ruff linter to the project
893774eab71fd7be5000436ff2ff0b5dd85ef073

# Use clang-format to sort includes.
faabf00af72bbce956221b40624f8a3d57f82b7c
b9e9fb144f44494017e77fbe959355e92f10ae69

# Add `AllowShortBlocksOnASingleLine: Empty` to clang-format
fa2c488219a5e96792e61f3d51838595e2907c8d

# clang-tidy: Add google-readability-casting, modernize-use-using
21dc6eb66a2344b8e756b897ade27cc107b58153

# clang-tidy: Add more readability checks
d8987b2c4206c8b28b637c24219a580431873d12


================================================
FILE: .github/CODEOWNERS
================================================
* @cloudflare/workers-runtime-1 @cloudflare/workers-durable-objects
.github/workflows/ @cloudflare/wrangler @cloudflare/workers-runtime-1
npm/ @cloudflare/wrangler @cloudflare/workers-runtime-1
build-releases.sh @cloudflare/wrangler @cloudflare/workers-runtime-1
RELEASE.md @cloudflare/wrangler @cloudflare/workers-runtime-1
package.json @cloudflare/wrangler @cloudflare/workers-runtime-1
pnpm-lock.yaml @cloudflare/wrangler @cloudflare/workers-runtime-1
/types/ @cloudflare/wrangler
/types/generated-snapshot/experimental/ @cloudflare/workers-runtime-1 @cloudflare/workers-durable-objects
src/workerd/tools/ @cloudflare/wrangler @cloudflare/workers-runtime-1 @cloudflare/workers-durable-objects
src/workerd/io/release-version.txt @cloudflare/wrangler @cloudflare/workers-runtime-1
src/workerd/io/maximum-compatibility-date.txt @cloudflare/wrangler @cloudflare/workers-runtime-1
src/node/ @cloudflare/workers-runtime-1 @cloudflare/workers-durable-objects @cloudflare/workers-frameworks @cloudflare/workers-runtime-nodejs
src/workerd/api/node/ @cloudflare/workers-runtime-1 @cloudflare/workers-durable-objects @cloudflare/workers-frameworks @cloudflare/workers-runtime-nodejs


================================================
FILE: .github/DISCUSSION_TEMPLATE/nodejs_api_request.yml
================================================
title: "Node.js API Request"
labels: ["Node.js API Request"]
body:
  - type: input
    id: module
    attributes:
      label: Module
      description: "Name of the Node.js module you want to work on Workers. Ex: fs"
      value:
    validations:
      required: true
  - type: input
    id: method
    attributes:
      label: API Method
      description: "Name of the specific API method you want to work on Workers. Ex: fs.readFile"
      value:
    validations:
      required: true
  - type: markdown
    id: context
    attributes:
      value: |
        ## Context


================================================
FILE: .github/DISCUSSION_TEMPLATE/python_package_request.yml
================================================
title: "Python Package Request"
labels: ["Python Package Request"]
body:
  - type: input
    id: package
    attributes:
      label: Package Name
      description: "Name of the Python package you want to work on Workers"
      value:
    validations:
      required: true
  - type: input
    id: version
    attributes:
      label: Package Version
      description: "Optional — specify a particular version of the package"
      value:
    validations:
      required: false
  - type: markdown
    id: context
    attributes:
      value: |
        ## Context


================================================
FILE: .github/ISSUE_TEMPLATE/runtime-apis.md
================================================
---
name: runtime-apis
about: Report an issue with an API provided by workerd
title: '🐛 Bug Report — Runtime APIs'
labels: runtime-api

---



================================================
FILE: .github/ISSUE_TEMPLATE/workers-types.md
================================================
---
name: workers-types
about: Report an issue or suggestion for `@cloudflare/workers-types`
title: ''
labels: types
assignees: workers-devprod

---




================================================
FILE: .github/actions/setup-runner/action.yml
================================================
name: 'Setup runner environment'
description: 'Sets up runner environment with proper toolchain for building workerd'
runs:
  using: 'composite'
  steps:
    - name: Setup Linux
      shell: bash
      if: runner.os == 'Linux'
      run: |
        export DEBIAN_FRONTEND=noninteractive
        wget https://apt.llvm.org/llvm.sh
        sed -i '/apt-get install/d' llvm.sh
        chmod +x llvm.sh
        sudo ./llvm.sh 19
        # keep in sync with build/ci.bazelrc
        sudo apt-get install -y -qq --no-install-recommends \
          clang-19 \
          lld-19 \
          libunwind-19 \
          libc++abi1-19 \
          libc++1-19 \
          libc++-19-dev \
          libclang-rt-19-dev \
          llvm-19
        sudo ln -s /usr/bin/llvm-symbolizer-19 /usr/bin/llvm-symbolizer
        sudo ln -s /usr/bin/llvm-profdata-19 /usr/bin/llvm-profdata
        sudo ln -s /usr/bin/llvm-cov-19 /usr/bin/llvm-cov
        echo "build:linux --action_env=CC=/usr/lib/llvm-19/bin/clang" >> .bazelrc
        echo "build:linux --host_action_env=CC=/usr/lib/llvm-19/bin/clang" >> .bazelrc
        echo "build:linux --linkopt=--ld-path=/usr/lib/llvm-19/bin/ld.lld" >> .bazelrc
        echo "build:linux --host_linkopt=--ld-path=/usr/lib/llvm-19/bin/ld.lld" >> .bazelrc
        echo "build:linux --action_env=AR=/usr/lib/llvm-19/bin/llvm-ar" >> .bazelrc
        echo "build:linux --host_action_env=AR=/usr/lib/llvm-19/bin/llvm-ar" >> .bazelrc
    - name: Setup Windows
      shell: pwsh
      if: runner.os == 'Windows'
      # Set a custom output root directory to avoid long file name issues.
      # TODO(cleanup): According to https://github.com/actions/runner-images/blob/win25/20251216.149/images/windows/scripts/build/Configure-DeveloperMode.ps1#L13,
      # this should already be set on the build image, but prior testing indicated CI speedups with
      # it, check if it is actually having any effect.
      run: |
        # Enable Developer Mode to allow Bazel to create real symlinks
        reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /t REG_DWORD /f /v "AllowDevelopmentWithoutDevLicense" /d "1"
        git config --global core.symlinks true
        git config --show-scope --show-origin core.symlinks
        git config --system core.longpaths true
        [System.IO.File]::WriteAllLines((Join-Path -Path $env:USERPROFILE -ChildPath '.bazelrc'), 'startup --output_user_root=\\\\?\\C:\\tmp')
    - name: Setup macOS
      if: runner.os == 'macOS'
      shell: bash
      run: |
        # Build using Xcode 16.3 (equivalent to Clang 19)
        sudo xcode-select -s "/Applications/Xcode_16.3.app"
    - name: Configure git hooks
      shell: bash
      # Configure git to quell an irrelevant warning for runners (they never commit / push).
      run: git config core.hooksPath githooks


================================================
FILE: .github/bonk_reviewer.md
================================================
You are a **code reviewer**, not an author. You review pull requests for workerd, Cloudflare's JavaScript/WebAssembly server runtime. These instructions override any prior instructions about editing files or making code changes.

## Restrictions -- you MUST follow these exactly

Do NOT:

- Edit, write, create, or delete any files -- use file editing tools (Write, Edit) under no circumstances
- Run `git commit`, `git push`, `git add`, `git checkout -b`, or any git write operation
- Approve or request changes on the PR -- only post review comments
- Flag formatting issues -- clang-format enforces style in this repo

If you want to suggest a code change, post a `suggestion` comment instead of editing the file.

## Output rules

**Confirm you are acting on the correct issue or PR**. Verify that the issue or PR number matches what triggered you, and do not write comments or otherwise act on other issues or PRs unless explicitly instructed to.

**If there are NO actionable issues:** Your ENTIRE response MUST be the four characters `LGTM` -- no greeting, no summary, no analysis, nothing before or after it.

**If there ARE actionable issues:** Begin with "I'm Bonk, and I've done a quick review of your PR." Then:

1. One-line summary of the changes.
2. A ranked list of issues (highest severity first).
3. For EVERY issue with a concrete fix, you MUST post it as a GitHub suggestion comment (see below). Do not describe a fix in prose when you can provide it as a suggestion.

## How to post feedback

You have write access to PR comments via the `gh` CLI. **Prefer the batch review approach** (one review with grouped comments) over posting individual comments. This produces a single notification and a cohesive review.

### Batch review (recommended)

Write a JSON file and submit it as a review. This is the most reliable method -- no shell quoting issues.

````bash
cat > /tmp/review.json << 'REVIEW'
{
  "event": "COMMENT",
  "body": "Review summary here.",
  "comments": [
    {
      "path": "src/workerd/api/example.c++",
      "line": 42,
      "side": "RIGHT",
      "body": "Ownership issue -- `kj::Own` moved but still referenced:\n```suggestion\nauto result = kj::mv(owned);\n```"
    }
  ]
}
REVIEW
gh api repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER/reviews --input /tmp/review.json
````

Each comment needs `path`, `line`, `side`, and `body`. Use `suggestion` fences in `body` for applicable changes.

- `side`: `"RIGHT"` for added or unchanged lines, `"LEFT"` for deleted lines
- For multi-line suggestions, add `start_line` and `start_side` to the comment object
- If `gh api` returns a 422 (wrong line number, stale commit), fall back to a top-level PR comment with `gh pr comment` instead of retrying

## Review focus areas

**Code quality:** Refer to the following checklists:
- For C++, use the `kj-style`, and `workerd-safety-review` skills
- For JavaScript and TypeScript, use the `ts-style` skill
- For Rust, use the `rust-review` skill
- For all code, use the `workerd-api-review` skill for API design, performance, security, and
  standards compliance
- Review added or updated tests to ensure they cover the relevant code changes
- Review code comments for clarity and accuracy

**Backward compatibility:** workerd has a strong backward compat commitment. New behavior changes MUST be gated behind compatibility flags (see compatibility-date.capnp). Flag any ungated behavioral change as high severity.

**Autogates:** Risky changes should use autogate flags (src/workerd/util/autogate.\*) for staged rollout. If a change looks risky and has no autogate, flag it.

**Security:** This is a production runtime that executes untrusted code. Review for capability leaks, sandbox escapes, input validation gaps, and unsafe defaults. High severity.

**Cap'n Proto schemas:** Check .capnp file changes for wire compatibility. Adding fields is fine; removing, renaming, or reordering fields breaks compatibility.

**JSG bindings:** Changes in jsg/ must correctly bridge V8 and C++. Check type conversions, GC safety, and proper use of jsg:: macros.

**Node.js compatibility (src/node/, src/workerd/api/node/):** Verify behavior matches Node.js. Check for missing error cases and edge cases in polyfills.

**Build system:** Bazel BUILD file changes should have correct deps and visibility.

## What counts as actionable

Logic bugs, security issues, backward compat violations, missing compat flags, memory safety problems, incorrect API behavior. Be pragmatic -- do not nitpick, do not flag subjective preferences.


================================================
FILE: .github/secret_scanning.yml
================================================
paths-ignore:
  - "src/workerd/api/node/crypto_keys-test.js"
  - "src/workerd/api/node/crypto_dh-test.js"
  - "src/workerd/jsg/url-test-corpus-success.h"
  - "src/workerd/api/node/tests/crypto_x509-test.js"
  - "src/workerd/api/node/tests/fixtures/dh_private.pem"
  - "src/workerd/api/node/tests/fixtures/dsa_private_pkcs8.pem"
  - "src/workerd/api/node/tests/fixtures/ed25519_private.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_private_encrypted.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_pss_private_2048_sha1_sha1_20.pem"
  - "src/workerd/api/node/tests/fixtures/dsa_private_1025.pem"
  - "src/workerd/api/node/tests/fixtures/ec_p256_private.pem"
  - "src/workerd/api/node/tests/fixtures/ed448_private.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_private.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_pss_private_2048_sha256_sha256_16.pem"
  - "src/workerd/api/node/tests/fixtures/dsa_private_encrypted_1025.pem"
  - "src/workerd/api/node/tests/fixtures/ec_p384_private.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_private_2048.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_private_pkcs8_bad.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_pss_private_2048_sha512_sha256_20.pem"
  - "src/workerd/api/node/tests/fixtures/dsa_private_encrypted.pem"
  - "src/workerd/api/node/tests/fixtures/ec_p521_private.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_private_4096.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_private_pkcs8.pem"
  - "src/workerd/api/node/tests/fixtures/x25519_private.pem"
  - "src/workerd/api/node/tests/fixtures/dsa_private.pem"
  - "src/workerd/api/node/tests/fixtures/ec_secp256k1_private.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_private_b.pem"
  - "src/workerd/api/node/tests/fixtures/rsa_pss_private_2048.pem"
  - "src/workerd/api/node/tests/fixtures/x448_private.pem"
  - "src/workerd/api/node/tests/fixtures/tls-nodejs-tcp-server.pem"
  - "src/workerd/api/tests/startls-server.pem"
  - "src/workerd/api/tests/starttls-nodejs-server.js"


================================================
FILE: .github/workflows/_bazel.yml
================================================
name: 'Run Bazel'
on:
  workflow_call:
    inputs:
      image:
        type: string
        required: false
        default: 'ubuntu-22.04-16core'
      os_name:
        type: string
        required: false
        default: 'linux'

      arch_name:
        type: string
        required: false
        default: 'X64'
      phase:
        type: string
        required: false
        default: ''
      suffix:
        type: string
        required: false
        default: ''
      run_tests:
        type: boolean
        required: false
        default: true
      test_target:
        type: string
        required: false
        default: //...
      parse_headers:
        type: boolean
        required: false
        default: false
      extra_bazel_args:
        type: string
        required: false
        default: ''
      upload_binary:
        type: boolean
        required: false
        default: false
      upload_test_logs:
        type: boolean
        required: false
        default: false
      upload_types:
        type: boolean
        required: false
        default: false
      run_coverage:
        type: boolean
        required: false
        default: false
      fetch_depth:
        type: number
        required: false
        default: 1
      macos_use_lld:
        type: boolean
        required: false
        default: false
      build_container_images:
        type: boolean
        required: false
        default: false
    secrets:
      BAZEL_CACHE_KEY:
        required: true
      WORKERS_MIRROR_URL:
        required: true
      CODECOV_TOKEN:
        required: false

permissions:
  # Read repo
  contents: read
  # Read/write artifacts
  actions: write

jobs:
  bazel:
    runs-on: ${{ inputs.image }}
    steps:
      - uses: actions/checkout@v6
        with:
          show-progress: false
          fetch-depth: ${{ inputs.fetch_depth }}
      - name: Cache
        id: cache
        uses: actions/cache@v5
        with:
          path: ~/bazel-disk-cache
          key: bazel-disk-cache${{ inputs.phase}}-${{ inputs.os_name }}-${{ runner.arch }}${{ inputs.suffix }}-${{ hashFiles('.bazelversion', '.bazelrc', 'MODULE.bazel') }}
          # Intentionally not reusing an older cache entry using a key prefix, bazel frequently
          # ends up with a larger cache at the end when starting with an available cache entry,
          # resulting in a snowballing cache size and cache download/upload times.
      - name: Setup Runner
        uses: ./.github/actions/setup-runner
      - name: Setup lld on macOS
        if: runner.os == 'macOS' && inputs.macos_use_lld
        run: |
          # Install lld and link it to /usr/local/bin. We overwrite any existing link, which may
          # exist from an older pre-installed LLVM version on the runner image.
          brew update
          brew install lld
          sudo ln -s -f $(brew --prefix lld)/bin/ld64.lld /usr/local/bin/ld64.lld
          # Enable lld identical code folding to significantly reduce binary size.
          echo "build:macos --config=macos_lld_icf" >> .bazelrc
      - name: Configure download mirrors
        shell: bash
        run: |
          if [ ! -z "${{ secrets.WORKERS_MIRROR_URL }}" ] ; then
            # Strip comment in front of WORKERS_MIRROR_URL, then substitute secret to use it.
            sed -e '/WORKERS_MIRROR_URL/ { s@# *@@; s@WORKERS_MIRROR_URL@${{ secrets.WORKERS_MIRROR_URL }}@; }' -i.bak build/deps/nodejs.MODULE.bazel
          fi
      - name: Bazel build (Windows workaround)
        if: runner.os == 'Windows'
        # HACK: Work around Bazel Windows bug: Some targets need to be compiled without symlink
        # support. Since we still need symlinks to compile C++ code properly, compile these targets
        # separately.
        run: |
          bazel --nowindows_enable_symlinks build ${{ inputs.extra_bazel_args }} --config=ci --profile build-win-workaround.bazel-profile.gz --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev //src/wpt:wpt-all@tsproject //src/node:node@tsproject //src/pyodide:pyodide_static@tsproject
      - name: Bazel build
        run: |
          bazel build --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev  --config=ci ${{ inputs.extra_bazel_args }} //...
      - name: Configure Docker daemon for IPv6
        if: inputs.build_container_images
        run: |
          sudo mkdir -p /etc/docker
          echo '{"ipv6": true, "fixed-cidr-v6": "fd00::/80"}' | sudo tee /etc/docker/daemon.json
          sudo systemctl restart docker
      - name: Build and load container images
        if: inputs.build_container_images
        run: |
          docker context use default
          echo "Docker info:"
          docker info
          echo "Docker version:"
          docker version
          bazel run --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev --config=ci ${{ inputs.extra_bazel_args }} //images:load_all
      - name: Bazel test
        if: inputs.run_tests
        run: |
          bazel test --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev --config=ci ${{ inputs.extra_bazel_args }} ${{ inputs.test_target }}
      - name: Bazel coverage
        if: inputs.run_coverage
        run: |
          bazel coverage --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev --config=ci ${{ inputs.extra_bazel_args }} ${{ inputs.test_target }}
      - name: Upload coverage to Codecov
        if: inputs.run_coverage
        uses: codecov/codecov-action@v5
        with:
          # Use bazel info to get the actual output path, avoiding symlink issues
          files: ${{ github.workspace }}/bazel-out/_coverage/_coverage_report.dat
          fail_ci_if_error: true
          verbose: true
          disable_search: true
          root_dir: ${{ github.workspace }}
        env:
          CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
      - name: Parse headers
        # TODO(cleanup): Bazel does not allow for only parsing headers in non-recursive targets, so
        # we can't widely enable header parsing for now (dependencies like V8 do not specify
        # dependencies of header targets properly).
        if: inputs.parse_headers
        run: |
          bazel build --config=parse_headers --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev --config=ci ${{ inputs.extra_bazel_args }} //src/workerd/util
      - name: Upload test logs
        if: always() && inputs.upload_test_logs
        uses: actions/upload-artifact@v7
        with:
          name: test-logs-${{ inputs.os_name }}-${{ inputs.arch_name }}${{ inputs.suffix }}.zip
          path: bazel-testlogs/**/test.xml
      - name: Report disk usage (in MB)
        if: always() && runner.os != 'Windows'
        shell: bash
        run: |
          BAZEL_OUTPUT_BASE=$(bazel info output_base)
          BAZEL_REPOSITORY_CACHE=$(bazel info repository_cache)
          echo "Bazel cache usage statistics"
          du -ms -t 1 ~/bazel-disk-cache/* $BAZEL_REPOSITORY_CACHE
          echo "Bazel output usage statistics"
          du -ms -t 1 $BAZEL_OUTPUT_BASE
          echo "Workspace usage statistics"
          du -ms -t 1 $GITHUB_WORKSPACE
      - name: Report disk usage (in MB)
        if: always() && runner.os == 'Windows'
        shell: pwsh
        run: |
          function Get-SizeMB($path) {
            if (Test-Path $path) {
              $size = (Get-ChildItem -Path $path -Recurse -Force -ErrorAction SilentlyContinue |
                       Measure-Object -Property Length -Sum -ErrorAction SilentlyContinue).Sum
              [math]::Round($size / 1MB)
            } else { 0 }
          }
          $outputBase = bazel info output_base 2>$null
          $repoCache = bazel info repository_cache 2>$null
          echo "Bazel cache usage statistics"
          echo "$(Get-SizeMB $env:USERPROFILE\bazel-disk-cache)`t$env:USERPROFILE\bazel-disk-cache"
          echo "$(Get-SizeMB $repoCache)`t$repoCache"
          echo "Bazel output usage statistics"
          echo "$(Get-SizeMB $outputBase)`t$outputBase"
          echo "Workspace usage statistics"
          echo "$(Get-SizeMB $env:GITHUB_WORKSPACE)`t$env:GITHUB_WORKSPACE"

      - name: Upload binary
        if: inputs.upload_binary
        uses: actions/upload-artifact@v7
        with:
          name: ${{ inputs.os_name }}-${{ inputs.arch_name }}${{ inputs.suffix }}-binary
          path: bazel-bin/src/workerd/server/workerd${{ runner.os == 'Windows' && '.exe' || '' }}
          if-no-files-found: error
      - name: Upload build statistics
        if: always() && inputs.run_tests
        uses: actions/upload-artifact@v7
        with:
          name: ${{ inputs.os_name }}${{ inputs.arch_name }}${{ inputs.suffix }}-bazel-profile
          path: '*.bazel-profile.gz'

      - name: Drop large Bazel cache files
        if: always()
        # Github has a nominal 10GB of storage for all cached builds associated with a project.
        # Drop large files (>100MB) in our cache to improve shared build cache efficiency. This is
        # particularly helpful for asan and debug builds that produce larger executables. Also
        # the process of saving the Bazel disk cache generates a tarball on the runners disk, and
        # it is possible to run out of storage in that process (does not fail the workflow).
        shell: bash
        run: |
          if [ -d ~/bazel-disk-cache ]; then
            find ~/bazel-disk-cache -size +100M -type f -exec rm {} \;
            echo "Trimmed Bazel cache usage statistics"
            du -ms -t 1 ~/bazel-disk-cache/*
          else
            echo "Disk cache does not exist: ~/bazel-disk-cache"
          fi

      - name: Bazel shutdown
        if: always()
        # Check that there are no .bazelrc issues that prevent shutdown.
        run: bazel shutdown


================================================
FILE: .github/workflows/_wpt.yml
================================================
name: 'WPT Report'
on:
  workflow_call:
    inputs:
      image:
        description: 'Runner image to use'
        required: true
        type: string
      logs_artifact:
        description: 'Name of artifact containing test logs'
        required: true
        type: string
      report_artifact:
        description: 'Name of artifact to use for WPT report JSON file'
        required: true
        type: string

permissions:
  # Read repo
  contents: read
  # Read/write artifacts
  actions: write
jobs:
  wpt-report:
    runs-on: ${{ inputs.image }}
    steps:
      - uses: actions/checkout@v6
      - name: Download test logs
        uses: actions/download-artifact@v8
        continue-on-error: true
        with:
          name: ${{ inputs.logs_artifact }}
          path: testlogs
      - name: Generate WPT report and stats
        run: ./tools/cross/wpt_logs.py --print-stats --write-report=wpt-report.json testlogs/ >> $GITHUB_STEP_SUMMARY
      - name: Upload WPT report
        uses: actions/upload-artifact@v7
        with:
          name: ${{ inputs.report_artifact }}
          path: wpt-report.json


================================================
FILE: .github/workflows/bigbonk.yml
================================================
name: Bonk

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  pull_request_review:
    types: [submitted]

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.issue.number || github.ref }}
  cancel-in-progress: false

jobs:
  bonk:
    if: github.event.sender.type != 'Bot' && contains(github.event.comment.body, '/bigbonk')
    runs-on: ubuntu-latest
    timeout-minutes: 30
    permissions:
      id-token: write
      contents: write
      issues: write
      pull-requests: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          fetch-depth: 1

      - name: Run Bonk
        uses: ask-bonk/ask-bonk/github@main
        env:
          CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_AI_GATEWAY_ACCOUNT_ID }}
          CLOUDFLARE_GATEWAY_ID: ${{ secrets.CF_AI_GATEWAY_NAME }}
          CLOUDFLARE_API_TOKEN: ${{ secrets.CF_AI_GATEWAY_TOKEN }}
        with:
          model: 'cloudflare-ai-gateway/anthropic/claude-opus-4-6'
          mentions: '/bigbonk'
          variant: 'max'
          permissions: write
          opencode_version: '1.2.27'
          # token_permissions defaults to WRITE (i.e. Bonk can push commits).
          # We intentionally leave it that way here because users may ask Bonk
          # to update their PR via /bigbonk.


================================================
FILE: .github/workflows/bonk.yml
================================================
name: Bonk

on:
  issue_comment:
    types: [created]
  pull_request_review_comment:
    types: [created]
  pull_request_review:
    types: [submitted]

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.issue.number || github.ref }}
  cancel-in-progress: false

jobs:
  bonk:
    if: github.event.sender.type != 'Bot' && (contains(github.event.comment.body, '/bonk') || contains(github.event.comment.body, '@ask-bonk'))
    runs-on: ubuntu-latest
    timeout-minutes: 30
    permissions:
      id-token: write
      contents: write
      issues: write
      pull-requests: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          fetch-depth: 1

      - name: Run Bonk
        uses: ask-bonk/ask-bonk/github@main
        env:
          CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_AI_GATEWAY_ACCOUNT_ID }}
          CLOUDFLARE_GATEWAY_ID: ${{ secrets.CF_AI_GATEWAY_NAME }}
          CLOUDFLARE_API_TOKEN: ${{ secrets.CF_AI_GATEWAY_TOKEN }}
        with:
          model: 'cloudflare-ai-gateway/anthropic/claude-opus-4-6'
          mentions: '/bonk,@ask-bonk'
          permissions: write
          opencode_version: '1.2.27'
          # token_permissions defaults to WRITE (i.e. Bonk can push commits).
          # We intentionally leave it that way here because users may ask Bonk
          # to update their PR via /bonk.


================================================
FILE: .github/workflows/cla.yml
================================================
name: "CLA Assistant"
on:
  issue_comment:
    types: [created]
  pull_request_target:
    types: [opened,synchronize]
  merge_group:

jobs:
  CLAssistant:
    runs-on: ubuntu-latest
    steps:
      - name: "CLA Assistant"
        if: (github.event.issue.pull_request && (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA')) || github.event_name == 'pull_request_target'
        uses: contributor-assistant/github-action@v2.6.1
        env:
          # CLA Action uses this in-built GitHub token to make the API calls for interacting with GitHub.
          # It is built into Github Actions and does not need to be manually specified in your secrets store.
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          # The below token should have repo scope and must be manually added by you in the repository's secret
          PERSONAL_ACCESS_TOKEN : ${{ secrets.CLA_PERSONAL_ACCESS_TOKEN }}
        with:
          path-to-signatures: 'signatures/version1/cla.json'
          path-to-document: 'https://www.cloudflare.com/cla/'
          # branch should not be protected
          branch: 'cla-signatures'
          allowlist: dependabot[bot],workers-devprod
          lock-pullrequest-aftermerge: false


================================================
FILE: .github/workflows/codspeed.yml
================================================
name: CodSpeed

on:
  pull_request:
    paths-ignore:
      - 'docs/**'
      - 'justfile'
      - '.devcontainer'
      - '**/*.md'
      - '.gitignore'
  merge_group:
  push:
    branches:
      - main

concurrency:
  group: codspeed.yml-${{ github.event.pull_request.number || github.run_id }}
  cancel-in-progress: true

permissions:
  # Write cache
  contents: write

jobs:
  benchmarks:
    name: Run benchmarks
    runs-on: ubuntu-22.04-16core
    env:
      BAZEL_ARGS: --config=benchmark --@google_benchmark//:codspeed_mode=simulation --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev
    steps:
      - uses: actions/checkout@v6
        with:
          show-progress: false

      - name: Cache
        id: cache
        uses: actions/cache@v5
        with:
          path: ~/bazel-disk-cache
          key: bazel-disk-cache-benchmarks-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.bazelversion', '.bazelrc', 'MODULE.bazel') }}

      - name: Setup Runner
        uses: ./.github/actions/setup-runner

      - name: Build benchmarks
        run: |
          bazel build ${{ env.BAZEL_ARGS }} --build_tag_filters=google_benchmark //... @capnp-cpp//...

      - name: Generate benchmark script
        run: |
          echo '#!/bin/bash' > run_benchmarks.sh
          echo 'set -ex' >> run_benchmarks.sh
          targets=$(bazel query 'attr(tags, "[\[ ]google_benchmark[,\]]", //... + @capnp-cpp//...) except attr(tags, "[\[ ]manual[,\]]", //...)' --output=label 2>/dev/null)
          for target in $targets; do
            echo "echo 'Running benchmark: $target'" >> run_benchmarks.sh
            echo "bazel run ${{ env.BAZEL_ARGS }} $target -- --benchmark_min_time=1s" >> run_benchmarks.sh
          done
          chmod +x run_benchmarks.sh

      - name: Run benchmarks
        uses: CodSpeedHQ/action@v4
        with:
          mode: simulation
          run: ./run_benchmarks.sh

      - name: Bazel shutdown
        run: bazel shutdown


================================================
FILE: .github/workflows/coverage.yml
================================================
name: Coverage

on:
  pull_request:
  merge_group:
  push:
    branches:
      - main

concurrency:
  group: coverage.yml-${{ github.event.pull_request.number || github.run_id }}
  cancel-in-progress: true

permissions:
  # Read repo
  contents: read
  # Read/write artifacts
  actions: write

jobs:
  coverage-linux:
    uses: ./.github/workflows/_bazel.yml
    with:
      image: ubuntu-22.04-16core
      os_name: linux
      arch_name: 'X64'
      suffix: 'coverage'
      # Don't use ci-test here because it enables --remote_download_minimal which prevents
      # coverage data from being fetched from cache. The coverage config already sets
      # --test_env=CI=true and --config=wpt-test which are the relevant parts of ci-test.
      # Use ci-linux-common instead of ci-linux to avoid overriding coverage test_tag_filters
      # (ci-linux sets test_tag_filters that would include container tests which require docker)
      extra_bazel_args: '--config=ci-linux-common --config=ci-limit-storage --config=coverage --test_env=CI=true --config=wpt-test'
      upload_test_logs: true
      upload_binary: false
      build_container_images: false
      run_coverage: true
      run_tests: false
    secrets:
      BAZEL_CACHE_KEY: ${{ secrets.BAZEL_CACHE_KEY }}
      WORKERS_MIRROR_URL: ${{ secrets.WORKERS_MIRROR_URL }}
      CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}


================================================
FILE: .github/workflows/daily-release.yml
================================================
name: Daily Release

on:
  schedule:
    # Run at 00:30 UTC every day
    - cron: '30 0 * * *'
  # Allow manual triggering for testing
  workflow_dispatch:

jobs:
  update-compatibility-date:
    runs-on: ubuntu-latest
    permissions:
      contents: write

    steps:
      - name: Checkout code
        uses: actions/checkout@v6
        with:
          token: ${{ secrets.DEVPROD_PAT }}
          ref: main

      - name: Get current date
        id: date
        run: |
          echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
          echo "max_date=$(date -d '+7 days' +'%Y-%m-%d')" >> $GITHUB_OUTPUT

      - name: Update compatibility dates
        run: |
          echo "${{ steps.date.outputs.date }}" > src/workerd/io/release-version.txt
          echo "${{ steps.date.outputs.max_date }}" > src/workerd/io/maximum-compatibility-date.txt

      - name: Check for changes
        id: git-check
        run: |
          if [[ $(git status --porcelain src/workerd/io/release-version.txt src/workerd/io/maximum-compatibility-date.txt) ]]; then
            echo "changed=true" >> $GITHUB_OUTPUT
          else
            echo "changed=false" >> $GITHUB_OUTPUT
          fi
          echo "last_email=$(git show --format="%ae" -s)" >> $GITHUB_OUTPUT

      # Publish new version if compatibility-date changed and last commit wasn't a daily release
      # already.
      - name: Commit and push change
        if: steps.git-check.outputs.changed == 'true' && steps.git-check.outputs.last_email != 'workers-devprod@cloudflare.com'
        run: |
          git config user.email "workers-devprod@cloudflare.com"
          git config user.name "Workers DevProd"
          git add src/workerd/io/release-version.txt src/workerd/io/maximum-compatibility-date.txt
          git commit -m "Release ${{ steps.date.outputs.date }}"
          git push


================================================
FILE: .github/workflows/deps-updater.yml
================================================
name: Dependency updater

on:
  schedule:
    # Run at 18:30 UTC every Monday
    - cron: '30 18 * * 1'
  # Allow manual triggering for testing
  workflow_dispatch:

concurrency:
  group: deps-updater
  cancel-in-progress: true

permissions:
  contents: read

jobs:
  issue:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v6
        with:
          show-progress: false
          token: ${{ secrets.DEVPROD_PAT }}
          ref: main
      - name: Update dependencies
        run: build/deps/update-deps.py
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      - name: Update rust dependencies
        run: bazel run //deps/rust:crates_vendor -- --repin full
      - name: Update opencode version
        run: python3 tools/update_opencode_version.py
        continue-on-error: true
      - name: Reformat changed files
        run: ./tools/cross/format.py git
      - name: Open pull request
        id: create-pr
        uses: peter-evans/create-pull-request@v8
        with:
          commit-message: "update dependencies to latest version"
          branch: "automatic-update-deps"
          title: "Update dependencies"
          token: ${{ secrets.DEVPROD_PAT }}
          author: "Workers DevProd <workers-devprod@cloudflare.com>"
          committer: "Workers DevProd <workers-devprod@cloudflare.com>"
          body: |
            This is an automated pull request for updating the dependencies of workerd.
          delete-branch: true
      - name: Enable Pull Request Automerge
        run: gh pr merge --rebase --auto ${{ steps.create-pr.outputs.pull-request-number }}
        env:
          GH_TOKEN: ${{ secrets.DEVPROD_PAT }}


================================================
FILE: .github/workflows/experimental-workflow.yml
================================================
name: Experimental Workflow
on:
  workflow_dispatch:

# You can modify this workflow in order to verify your changes to Github Actions on a branch.
# DO NOT MERGE THESE CHANGES TO MAIN
# This workflow exists to work around a limitation in Github Actions. You can only use 
# workflow_dispatch on files that exist in main. However, once the file exists, you can dispatch to
# your branch and make sure changes work.

permissions:
  contents: none

jobs:
  experiment:
    runs-on: ubuntu-22.04
    steps:
      - name: Hello World
        shell: bash
        run: echo Hello World


================================================
FILE: .github/workflows/fixup.yml
================================================
name: "Just say no to fixup commits"
on:
  workflow_call:

jobs:
  block-fixup:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - name: Block Fixup Commit Merge
      uses: 13rac1/block-fixup-merge-action@v2.0.0



================================================
FILE: .github/workflows/internal-build.yml
================================================
name: Run internal build

on:
  pull_request_target:

# Read-only permissions are enough
permissions: read-all

concurrency:
  # Cancel existing builds for the same PR.
  # Otherwise, all other builds will be allowed to run through.
  group: internal-build-${{ github.event.pull_request.number || github.run_id }}
  cancel-in-progress: true

jobs:
  internal-build:
    runs-on: ubuntu-latest
    steps:
      # Check if this is a fork and if the author is a Cloudflare org member
      - name: Check fork status and org membership
        if: github.event.pull_request.head.repo.fork
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          AUTHOR: ${{ github.event.pull_request.user.login }}
        run: |
          echo "Fork detected. Checking if $AUTHOR is a Cloudflare org member..."

          if gh api orgs/cloudflare/members/$AUTHOR --silent 2>/dev/null; then
            echo "✓ Cloudflare org member confirmed"
          else
            echo "✗ Not a Cloudflare org public member"
            echo ""
            echo "This workflow only runs for forks from Cloudflare organization public members."
            echo "If you're an external contributor, please ask the auto-assigned reviewers"
            echo "to run the internal build workflow on your behalf."
            exit 1
          fi

      # Try to checkout the merge commit - will fail if PR isn't mergeable
      - uses: actions/checkout@v4
        id: checkout_merge
        continue-on-error: true
        with:
          ref: refs/pull/${{ github.event.pull_request.number }}/merge
          show-progress: false

      # Fail the workflow if checkout failed (PR isn't mergeable)
      - name: Fail if PR isn't mergeable
        if: steps.checkout_merge.outcome != 'success'
        run: |
          echo "The pull request is not mergeable. Please rebase and resolve any conflicts."
          exit 1

      - name: Get merge commit SHA
        id: get_sha
        run: echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
      - name: Run internal build
        env:
          CI_URL: ${{ secrets.CI_URL }}
          CI_CLIENT_ID: ${{ secrets.CI_CF_ACCESS_CLIENT_ID }}
          CI_CLIENT_SECRET: ${{ secrets.CI_CF_ACCESS_CLIENT_SECRET }}
          HEAD_REF: ${{ github.event.pull_request.head.ref }}
          USER_LOGIN: ${{ github.event.pull_request.user.login }}
        run: |
          # Format ref based on whether this is a fork
          if [ "${{ github.event.pull_request.head.repo.fork }}" = "true" ]; then
            REF="$USER_LOGIN/$HEAD_REF"
          else
            REF="$HEAD_REF"
          fi

          python3 -u ./tools/cross/internal_build.py \
            ${{github.event.pull_request.number}} \
            ${{steps.get_sha.outputs.sha}} \
            ${{github.event.pull_request.head.sha}} \
            ${{github.run_attempt}} \
            "$REF" \
            $CI_URL \
            $CI_CLIENT_ID \
            $CI_CLIENT_SECRET


================================================
FILE: .github/workflows/issues.yml
================================================
name: Issue

on:
  issues:
    types: [opened, labeled, transferred]

jobs:
  add-to-project:
    name: Add issue to GH project
    runs-on: ubuntu-latest
    steps:
      - uses: actions/add-to-project@v1.0.2
        with:
          project-url: https://github.com/orgs/cloudflare/projects/1
          github-token: ${{ secrets.DEVPROD_PAT }}
          labeled: types


================================================
FILE: .github/workflows/labels.yml
================================================
# Based on https://www.neilmacy.co.uk/blog/github-action-to-block-merging
name: "Internal PR Required"
on:
  workflow_call:
  pull_request:
    types: [labeled, unlabeled]

jobs:
  InternalPRRequired:
    runs-on: ubuntu-latest
    steps:
      - name: Check for label
        if: contains(github.event.*.labels.*.name, 'needs-internal-pr')
        run: |
          echo "Pull request is labeled as 'needs-internal-pr'"
          echo "This workflow fails so the pull request cannot be merged"
          exit 1


================================================
FILE: .github/workflows/lint.yml
================================================
name: Lint

on:
  pull_request:
  merge_group:
  push:
    branches:
      - main

concurrency:
  # Cancel existing builds for the same PR.
  # Otherwise, all other builds will be allowed to run through.
  group: lint.yml-${{ github.event.pull_request.number || github.run_id }}
  cancel-in-progress: true

jobs:
  lint:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v6
        with:
          show-progress: false
      - name: Configure git hooks
        # Configure git to quell an irrelevant warning for runners (they never commit / push).
        run: git config core.hooksPath githooks
      - name: Lint
        run: |
          bazel info output_base # Ensure bazel is initialized before proceeding
          python3 ./tools/cross/format.py --check


================================================
FILE: .github/workflows/new-pr-review.yml
================================================
name: New PR Review

on:
  pull_request:
    types: [opened]

jobs:
  review:
    if: github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name
    runs-on: ubuntu-latest
    timeout-minutes: 30
    concurrency:
      group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
      cancel-in-progress: false
    permissions:
      id-token: write
      contents: read
      issues: write
      pull-requests: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          fetch-depth: 30 # Fetch some history; not all of it

      - name: Load review prompt
        id: prompt
        run: |
          {
            echo 'value<<EOF'
            echo "You are reviewing PR #${{ github.event.pull_request.number }} on ${{ github.repository }}."
            echo ""
            cat .github/bonk_reviewer.md
            echo EOF
          } >> "$GITHUB_OUTPUT"

      - name: Run Bonk
        uses: ask-bonk/ask-bonk/github@main
        env:
          CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_AI_GATEWAY_ACCOUNT_ID }}
          CLOUDFLARE_GATEWAY_ID: ${{ secrets.CF_AI_GATEWAY_NAME }}
          CLOUDFLARE_API_TOKEN: ${{ secrets.CF_AI_GATEWAY_TOKEN }}
        with:
          model: 'cloudflare-ai-gateway/anthropic/claude-opus-4-6'
          forks: 'false'
          permissions: write
          opencode_version: '1.2.27'
          # The auto-reviewer must never push to PR branches. Its prompt
          # (bonk_reviewer.md) already forbids git write ops, but NO_PUSH
          # enforces that at the token level so it holds even if the model
          # ignores the instruction.
          token_permissions: 'NO_PUSH'
          prompt: ${{ steps.prompt.outputs.value }}


================================================
FILE: .github/workflows/release-python-runtime.yml
================================================
name: Build Python Runtime

on:
  workflow_dispatch:
    inputs:
      update-released:
        description: 'Update already released versions?'
        required: false
        default: false
        type: boolean

jobs:
  build:
    runs-on: ubuntu-22.04
    name: build Python runtime
    steps:
      - uses: actions/checkout@v6
        with:
          show-progress: false
      - uses: actions/setup-python@v6
        with:
          python-version: '3.13'
      - name: Setup Runner
        uses: ./.github/actions/setup-runner
      - name: Configure download mirrors
        shell: bash
        run: |
          if [ ! -z "${{ secrets.WORKERS_MIRROR_URL }}" ] ; then
            # Strip comment in front of WORKERS_MIRROR_URL, then substitute secret to use it.
            sed -e '/WORKERS_MIRROR_URL/ { s@# *@@; s@WORKERS_MIRROR_URL@${{ secrets.WORKERS_MIRROR_URL }}@; }' -i.bak build/deps/nodejs.MODULE.bazel
          fi
      - name: Build and upload Pyodide capnproto bundle
        env:
          R2_ACCOUNT_ID: ${{ secrets.PYODIDE_CAPNP_R2_ACCOUNT_ID }}
          R2_ACCESS_KEY_ID: ${{ secrets.PYODIDE_CAPNP_R2_ACCESS_KEY_ID }}
          R2_SECRET_ACCESS_KEY: ${{ secrets.PYODIDE_CAPNP_R2_SECRET_ACCESS_KEY }}
        run: |
          bazel build @workerd//src/pyodide:python_bundles @workerd//src/pyodide:bundle_version_info --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev
          # boto3 v1.36.0 fails with:
          # NotImplemented error occurred in CreateMultipartUpload operation: Header 'x-amz-checksum-algorithm' with value 'CRC32' not implemented
          pip install 'boto3<1.36.0' requests
          python3 src/pyodide/upload_bundles.py ${{ inputs.update-released == true && '--update-released' || '' }}

      - name: Check for open PR and commit changes
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          # Commit changes to python_metadata.bzl and push to branch
          # Configure git
          git config --local user.email "action@github.com"
          git config --local user.name "release-python-runtime.yml GitHub Action"

          # Get current branch name
          BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)
          echo "Current branch: $BRANCH_NAME"

          # Check if there are changes to python_metadata.bzl
          if git diff --quiet build/python_metadata.bzl; then
            echo "No changes to python_metadata.bzl"
            exit 0
          fi

          echo "Changes detected in python_metadata.bzl"

          # Check if there's an open PR for this branch
          PR_COUNT=$(gh pr list --head "$BRANCH_NAME" --state open --json number --jq length)

          if [ "$PR_COUNT" -eq 0 ]; then
            echo "No open PR found for branch $BRANCH_NAME, skipping commit"
            exit 0
          fi

          echo "Found open PR for branch $BRANCH_NAME"

          # Commit and push the changes
          git add build/python_metadata.bzl build/deps/python.MODULE.bazel
          git commit --fixup HEAD -m "Update python_metadata.bzl with new bundle info

          This commit updates the backport and integrity values in python_metadata.bzl
          based on the latest Pyodide bundle upload.

          🤖 Generated automatically by release-python-runtime workflow"

          # --no-verify because 'git merge-base origin/main HEAD' fails in pre-commit.
          # There shouldn't be formatting errors anyways and if there are CI will catch it.
          git push origin "$BRANCH_NAME" --no-verify
          echo "Changes committed and pushed to $BRANCH_NAME"


================================================
FILE: .github/workflows/release-python-snapshots.yml
================================================
name: Make Python Snapshots

on:
  workflow_dispatch:
    inputs:
      update-released:
        description: 'Update already released versions?'
        required: false
        default: false
        type: boolean

jobs:
  build-linux:
    uses: ./.github/workflows/_bazel.yml
    with:
      image: ubuntu-22.04
      os_name: linux
      arch_name: 'X64'
      suffix: ''
      run_tests: false
      extra_bazel_args: '--config=ci-linux --config=ci-test'
      upload_binary: true
    secrets:
      BAZEL_CACHE_KEY: ${{ secrets.BAZEL_CACHE_KEY }}
      WORKERS_MIRROR_URL: ${{ secrets.WORKERS_MIRROR_URL }}

  build:
    needs: [build-linux]
    runs-on: ubuntu-22.04
    name: Build and upload Python memory snapshots
    steps:
      - uses: actions/checkout@v6
        with:
          show-progress: false
      - uses: actions/setup-python@v6
        with:
          python-version: '3.13'
      - name: Setup Runner
        uses: ./.github/actions/setup-runner
      - name: Download workerd binary
        uses: actions/download-artifact@v8
        with:
          name: linux-X64-binary
          path: /tmp

      - name: Make workerd binary executable
        run: chmod +x /tmp/workerd

      - name: Build and upload Python memory snapshots
        env:
          R2_ACCOUNT_ID: ${{ secrets.PYODIDE_CAPNP_R2_ACCOUNT_ID }}
          R2_ACCESS_KEY_ID: ${{ secrets.PYODIDE_CAPNP_R2_ACCESS_KEY_ID }}
          R2_SECRET_ACCESS_KEY: ${{ secrets.PYODIDE_CAPNP_R2_SECRET_ACCESS_KEY }}
          WORKERD_BINARY: "/tmp/workerd"
        run: |
          bazel build @workerd//src/pyodide:bundle_version_info
          # boto3 v1.36.0 fails with:
          # NotImplemented error occurred in CreateMultipartUpload operation: Header 'x-amz-checksum-algorithm' with value 'CRC32' not implemented
          pip install 'boto3<1.36.0' requests
          python3 src/pyodide/make_snapshots.py ${{ inputs.update-released == true && '--update-released' || '' }}

      - name: Check for open PR and commit changes
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          # Commit changes to python_metadata.bzl and push to branch
          # Configure git
          git config --local user.email "action@github.com"
          git config --local user.name "release-python-snapshots.yml GitHub Action"

          # Get current branch name
          BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)
          echo "Current branch: $BRANCH_NAME"

          # Check if there are changes to python_metadata.bzl
          if git diff --quiet build/python_metadata.bzl; then
            echo "No changes to python_metadata.bzl"
            exit 0
          fi

          echo "Changes detected in python_metadata.bzl"

          # Check if there's an open PR for this branch
          PR_COUNT=$(gh pr list --head "$BRANCH_NAME" --state open --json number --jq length)

          if [ "$PR_COUNT" -eq 0 ]; then
            echo "No open PR found for branch $BRANCH_NAME, skipping commit"
            exit 0
          fi

          echo "Found open PR for branch $BRANCH_NAME"

          # Commit and push the changes
          git add build/python_metadata.bzl
          git commit --fixup HEAD -m "Update python_metadata.bzl with new snapshot info

          This commit updates the snapshot values in python_metadata.bzl based on the latest
          snapshot uploads.

          🤖 Generated automatically by release-python-snapshots workflow"

          # --no-verify because 'git merge-base origin/main HEAD' fails in pre-commit.
          # There shouldn't be formatting errors anyways and if there are CI will catch it.
          git push origin "$BRANCH_NAME" --no-verify
          echo "Changes committed and pushed to $BRANCH_NAME"


================================================
FILE: .github/workflows/release.yml
================================================
name: Build & Release

on:
  push:
    branches:
      - main
  workflow_dispatch:
    inputs:
      patch:
        description: 'Patch Version'
        required: true
        default: '0'
      prerelease:
        description: 'Is Prerelease'
        type: boolean
        default: false
permissions:
  id-token: write
  contents: write
  actions: write

jobs:
  version:
    outputs:
      date: ${{ steps.echo.outputs.date }}
      version: ${{ steps.echo.outputs.version }}
      types_version: ${{ steps.echo.outputs.types_version }}
    # version job uses ubuntu 24.04, this way we don't have to install the updated clang while
    # the build job uses 22.04 for libc compatibility.
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v6
      - id: echo
        run: |
          echo "date=$(cat src/workerd/io/release-version.txt)" >> $GITHUB_OUTPUT;
          echo "version=${{ (github.event_name != 'push' && inputs.prerelease == true) && '0' || '1'}}.$(cat src/workerd/io/release-version.txt | tr -d '-').${{ github.event_name == 'push' && '1' || inputs.patch }}" >> $GITHUB_OUTPUT;
          echo "types_version=${{ (github.event_name != 'push' && inputs.prerelease == true) && '0' || '4'}}.$(cat src/workerd/io/release-version.txt | tr -d '-').${{ github.event_name == 'push' && '1' || inputs.patch }}" >> $GITHUB_OUTPUT;
  check-tag:
    name: Check tag is new
    outputs:
      exists: ${{ steps.check_tag.outputs.exists }}
    needs: [version]
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
      - uses: mukunku/tag-exists-action@v1.7.0
        id: check_tag
        with:
          tag: v${{ needs.version.outputs.version }}

  tag-and-release:
    name: Tag & Release
    outputs:
      upload_url: ${{ steps.create_release.outputs.upload_url }}
    needs: [check-tag, version]
    runs-on: ubuntu-latest
    if: ${{ needs.check-tag.outputs.exists != 'true' }}
    steps:
      - name: Checkout Repo
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
      - run: git tag v${{ needs.version.outputs.version }} && git push origin v${{ needs.version.outputs.version }}
      - uses: ncipollo/release-action@v1
        id: create_release
        with:
          generateReleaseNotes: true
          token: ${{ secrets.GITHUB_TOKEN }}
          tag: v${{ needs.version.outputs.version }}

  build:
    strategy:
      matrix:
        include:
          - title: linux
            os-name: Linux
            image: ubuntu-22.04-16core
            bazel-config: release_linux
            target-arch: X64
          - title: linux-arm64
            os-name: Linux
            image: ubuntu-22.04-arm-16core
            bazel-config: release_linux
            target-arch: ARM64
          # Based on runner availability, we build both Apple Silicon and (cross-compiled) x86
          # release binaries on the macos-15-xlarge runner.
          - title: macOS-x64
            os-name: macOS
            # This configuration is used for cross-compiling – macos-15-xlarge is Apple Silicon-based but
            # we use it to compile the x64 release.
            image: macos-15-xlarge
            bazel-config: release_macos_cross_x86_64
            target-arch: X64
          - title: macOS-arm64
            os-name: macOS
            image: macos-15-xlarge
            bazel-config: release_macos
            target-arch: ARM64
          - title: windows
            os-name: Windows
            image: windows-2025-16core
            bazel-config: release_windows
            target-arch: X64
    name: build (${{ matrix.title }})
    uses: './.github/workflows/_bazel.yml'
    with:
      image: ${{ matrix.image }}
      os_name: ${{ matrix.os-name }}
      phase: '-release'
      extra_bazel_args: '--strip=always --config=${{matrix.bazel-config}} --config=ci-release --config=wpt-report --config=wpt-test'
      arch_name: ${{ matrix.target-arch }}
      upload_binary: true
      macos_use_lld: true
      # On release, generate a full WPT report...
      run_tests: true
      upload_test_logs: true
      test_target: //src/wpt/...
    secrets:
      BAZEL_CACHE_KEY: ${{ secrets.BAZEL_CACHE_KEY }}
      WORKERS_MIRROR_URL: ${{ secrets.WORKERS_MIRROR_URL }}

  upload-artifacts:
    name: Upload Artifacts
    needs: [version, tag-and-release, build]
    runs-on: ubuntu-latest
    strategy:
      matrix:
        arch: [linux-64, darwin-64, windows-64]
        # This variable itself is unused, but allows us to set up two macOS builds. arm64 builds for
        # other platforms will be supported later, then we'll list both architectures here.
        cpu: [X64]
        include:
          - arch: linux-64
            name: Linux-X64
          - arch: linux-arm64
            name: Linux-ARM64
            cpu: ARM64
          - arch: darwin-64
            name: macOS-X64
          - arch: darwin-arm64
            name: macOS-ARM64
            cpu: ARM64
          - arch: windows-64
            name: Windows-X64
    steps:
      - name: Checkout Repo
        uses: actions/checkout@v6
        with:
          fetch-depth: 0

      - name: Download ${{ matrix.name }}
        uses: actions/download-artifact@v8
        with:
          name: ${{ matrix.name }}-binary
          path: /tmp
      # Set execute permissions before compressing the binary
      - if: matrix.arch != 'windows-64'
        run: chmod +x /tmp/workerd
      - name: Compress release binary
        run: |
          # As of release v1.20230404.0 the Linux x64 binary after debug_strip is 65.8 MB,
          # 21.0 MB with gzip and 17.3 MB with brotli -9. Use gzip as a widely supported format
          # which still produces an acceptable compressed size.
          gzip -9N -k /tmp/workerd${{ matrix.arch == 'windows-64' && '.exe' || '' }}
      - run: mv /tmp/workerd${{ matrix.arch == 'windows-64' && '.exe' || '' }}.gz /tmp/workerd-${{ matrix.arch }}.gz
      # Upload compressed release binaries – one set of artifacts is sufficient with gzip being
      # widely supported
      - name: Upload Release Assets
        id: upload-release-asset
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          upload_url: ${{ needs.tag-and-release.outputs.upload_url }}
          asset_path: /tmp/workerd-${{ matrix.arch }}.gz
          asset_name: workerd-${{ matrix.arch }}.gz
          asset_content_type: application/gzip

      # Upload release to npm
      - name: Use Node
        uses: actions/setup-node@v6
        with:
          node-version: 24
      - name: Modify package.json version
        run: node npm/scripts/bump-version.mjs npm/workerd-${{ matrix.arch }}/package.json
        env:
          WORKERD_VERSION: ${{ needs.version.outputs.version }}
          LATEST_COMPATIBILITY_DATE: ${{ needs.version.outputs.date }}
      - run: mkdir npm/workerd-${{ matrix.arch }}/bin
      - run: cp /tmp/workerd${{ matrix.arch == 'windows-64' && '.exe' || '' }} npm/workerd-${{ matrix.arch }}/bin/workerd${{ matrix.arch == 'windows-64' && '.exe' || '' }}
      - run: echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}' > npm/workerd-${{ matrix.arch }}/.npmrc
      - run: cd npm/workerd-${{ matrix.arch }} && npm publish --access public --tag ${{ startsWith(needs.version.outputs.version, '0') && 'beta' || 'latest'}}
        env:
          NPM_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}

  miniflare-test:
    name: Run Miniflare tests
    needs: [build]
    runs-on: ubuntu-latest
    steps:
      - name: Checkout workers-sdk
        uses: actions/checkout@v6
        with:
          repository: cloudflare/workers-sdk

      - name: Install pnpm
        uses: pnpm/action-setup@v4
      - name: Use Node.js
        uses: actions/setup-node@v6
        with:
          node-version: lts/*
          cache: 'pnpm'
      - name: Install workers-sdk dependencies
        run: pnpm install

      - name: Download workerd binary
        uses: actions/download-artifact@v8
        with:
          name: Linux-X64-binary
          path: /tmp
      - name: Make workerd binary executable
        run: chmod +x /tmp/workerd

      - name: Build Miniflare and dependencies
        run: pnpm turbo build --filter miniflare

      - name: Run Miniflare tests
        run: pnpm --filter miniflare test
        env:
          MINIFLARE_WORKERD_PATH: /tmp/workerd

  publish-wrapper:
    name: Publish `workerd` to NPM
    needs: [version, upload-artifacts]
    runs-on: ubuntu-22.04-16core
    steps:
      - name: Checkout Repo
        uses: actions/checkout@v6
        with:
          fetch-depth: 0

      - name: Use Node
        uses: actions/setup-node@v6
        with:
          node-version: 24

      - name: Cache
        id: cache
        uses: actions/cache@v5
        # Use same cache and build configuration as release build, this allows us to keep download
        # sizes small and generate types with optimization enabled, should be slightly faster.
        with:
          path: ~/bazel-disk-cache
          key: bazel-disk-cache-release-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.bazelversion', '.bazelrc', 'MODULE.bazel') }}
      - name: Setup Runner
        uses: ./.github/actions/setup-runner
      - name: Build type generating Worker
        run: |
          bazel build --strip=always --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev --config=ci --config=release_linux //types:types_worker

      - name: Modify package.json version
        run: node npm/scripts/bump-version.mjs npm/workerd/package.json
        env:
          WORKERD_VERSION: ${{ needs.version.outputs.version }}
          LATEST_COMPATIBILITY_DATE: ${{ needs.version.outputs.date }}
      - run: mkdir -p npm/workerd/lib
      - run: mkdir -p npm/workerd/bin
      - name: Build node-install
        run: npx esbuild npm/lib/node-install.ts --outfile=npm/workerd/install.js --bundle --target=node22 --define:LATEST_COMPATIBILITY_DATE="\"${LATEST_COMPATIBILITY_DATE}\"" --define:WORKERD_VERSION="\"${WORKERD_VERSION}\"" --platform=node --external:workerd --log-level=warning
        env:
          WORKERD_VERSION: ${{ needs.version.outputs.version }}
          LATEST_COMPATIBILITY_DATE: ${{ needs.version.outputs.date }}
      - name: Build node-shim
        run: npx esbuild npm/lib/node-shim.ts --outfile=npm/workerd/bin/workerd --bundle --target=node22 --define:LATEST_COMPATIBILITY_DATE="\"${LATEST_COMPATIBILITY_DATE}\"" --define:WORKERD_VERSION="\"${WORKERD_VERSION}\"" --platform=node --external:workerd --log-level=warning
        env:
          WORKERD_VERSION: ${{ needs.version.outputs.version }}
          LATEST_COMPATIBILITY_DATE: ${{ needs.version.outputs.date }}
      - name: Build node-path
        run: npx esbuild npm/lib/node-path.ts --outfile=npm/workerd/lib/main.js --bundle --target=node22 --define:LATEST_COMPATIBILITY_DATE="\"${LATEST_COMPATIBILITY_DATE}\"" --define:WORKERD_VERSION="\"${WORKERD_VERSION}\"" --platform=node --external:workerd --log-level=warning
        env:
          WORKERD_VERSION: ${{ needs.version.outputs.version }}
          LATEST_COMPATIBILITY_DATE: ${{ needs.version.outputs.date }}
      - name: Build package
        run: node npm/scripts/build-shim-package.mjs
        env:
          WORKERD_VERSION: ${{ needs.version.outputs.version }}
          LATEST_COMPATIBILITY_DATE: ${{ needs.version.outputs.date }}
      - run: echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}' > npm/workerd/.npmrc
      - run: cd npm/workerd && npm publish --access public --tag ${{ startsWith(needs.version.outputs.version, '0') && 'beta' || 'latest'}}

  build-and-publish-types:
    runs-on: ubuntu-22.04-16core
    needs: [version, upload-artifacts]
    steps:
      - uses: actions/checkout@v6
        with:
          show-progress: false
      - name: Use Node
        uses: actions/setup-node@v6
        with:
          node-version: 24 # needed for a version of npm that supports "trusted publishing".
      - name: Cache
        id: cache
        uses: actions/cache@v5
        # Use same cache and build configuration as release build, this allows us to keep download
        # sizes small and generate types with optimization enabled, should be slightly faster.
        with:
          path: ~/bazel-disk-cache
          key: bazel-disk-cache-release-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.bazelversion', '.bazelrc', 'MODULE.bazel') }}
      - name: Setup Runner
        uses: ./.github/actions/setup-runner
      - name: build types
        run: |
          bazel build --strip=always --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev --config=ci --config=release_linux //types
      - name: Build package
        run: node npm/scripts/build-types-package.mjs
        env:
          WORKERD_VERSION: ${{ needs.version.outputs.types_version }}
          LATEST_COMPATIBILITY_DATE: ${{ needs.version.outputs.date }}
      - run: cp -r bazel-bin/types/definitions/. npm/workers-types
      - run: cp npm/workers-types/oldest/* npm/workers-types
      - run: echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}' > npm/workers-types/.npmrc
      - run: cd npm/workers-types && npm publish --access public --tag ${{ startsWith(needs.version.outputs.version, '0') && 'beta' || 'latest'}}


================================================
FILE: .github/workflows/semgrep.yml
================================================

on:
  workflow_dispatch: {}
  schedule:
    - cron: '0 0 * * *'
name: Semgrep config
jobs:
  semgrep:
    name: semgrep/ci
    runs-on: ubuntu-latest
    env:
      SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}
      SEMGREP_URL: https://cloudflare.semgrep.dev
      SEMGREP_APP_URL: https://cloudflare.semgrep.dev
      SEMGREP_VERSION_CHECK_URL: https://cloudflare.semgrep.dev/api/check-version
    container:
      image: semgrep/semgrep
    steps:
      - uses: actions/checkout@v6
      - run: semgrep ci








================================================
FILE: .github/workflows/test.yml
================================================
name: Tests

on:
  pull_request:
  merge_group:
  push:
    branches:
      - main

concurrency:
  # Cancel existing builds for the same PR.
  # Otherwise, all other builds will be allowed to run through.
  group: test.yml-${{ github.event.pull_request.number || github.run_id }}
  cancel-in-progress: true

permissions:
  # Read repo
  contents: read
  # Read/write artifacts
  actions: write
  # Required for adding comments to PR.
  # Specifically for sticky-pull-request-comment workflow action.
  pull-requests: write
jobs:
  fixup:
    if: github.event_name == 'pull_request'
    uses: ./.github/workflows/fixup.yml
  labels:
    if: github.event_name == 'pull_request'
    uses: ./.github/workflows/labels.yml
  test:
    strategy:
      matrix:
        os:
          [
            { name: linux, arch: X64, image: ubuntu-22.04-16core },
            { name: linux-arm, arch: ARM64, image: ubuntu-22.04-arm-16core },
            { name: macOS, arch: ARM64, image: macos-15-xlarge, use_lld: true },
            { name: windows, arch: X64, image: windows-2025-16core },
          ]
        config: [
            # Default build: no suffix or additional bazel arguments
            { suffix: '' },
            # Debug build
            { suffix: -debug },
          ]
        include:
          # Add an Address Sanitizer (ASAN) build on Linux for additional checking.
          - os: { name: linux, arch: X64, image: ubuntu-22.04-16core }
            config: { suffix: -asan }
          # TODO (later): The custom Windows-debug configuration consistently runs out of disk
          # space on CI, disable it for now. Once https://github.com/bazelbuild/bazel/issues/21615
          # has been resolved we can likely re-enable it and possibly fold up the custom
          # configurations, as we can more easily disable PDB file generation.
          # - os:     { name : windows, image : windows-2025 }
          #   config: { suffix: -debug, bazel-args: --config=windows_dbg }
        exclude:
          - os: { name: windows, arch: X64, image: windows-2025-16core }
            config: { suffix: -debug }
          # due to resource constraints, exclude the macOS and x64 Linux debug runners for now.
          # linux-asan and arm64 linux-debug should provide sufficient coverage for building in the
          # debug configuration.
          - os: { name: macOS, arch: ARM64, image: macos-15-xlarge }
            config: { suffix: -debug }
          - os: { name: linux, arch: X64, image: ubuntu-22.04-16core }
            config: { suffix: -debug }
            # linux release is handled by separate test-linux job
          - os: { name: linux, arch: X64, image: ubuntu-22.04-16core }
            config: { suffix: '' }
      fail-fast: false
    name: test (${{ matrix.os.name }}, ${{ matrix.os.image}}${{matrix.config.suffix != '' && format(', {0}', matrix.config.suffix) || ''}})
    uses: ./.github/workflows/_bazel.yml
    with:
      image: ${{ matrix.os.image }}
      os_name: ${{ matrix.os.name }}
      arch_name: ${{ matrix.os.arch }}
      suffix: ${{ matrix.config.suffix }}
      extra_bazel_args: '--config=ci-test --config=ci-${{matrix.os.name}}${{matrix.config.suffix}}'
      macos_use_lld: ${{ matrix.os.use_lld || false }}
    secrets:
      BAZEL_CACHE_KEY: ${{ secrets.BAZEL_CACHE_KEY }}
      WORKERS_MIRROR_URL: ${{ secrets.WORKERS_MIRROR_URL }}

  # Handled separately from `test` to speed up execution of workers-sdk-test which depends on it.
  test-linux:
    uses: ./.github/workflows/_bazel.yml
    with:
      image: ubuntu-22.04-16core
      os_name: linux
      arch_name: 'X64'
      suffix: ''
      extra_bazel_args: '--config=ci-test --config=ci-linux --config=wpt-report'
      upload_test_logs: true
      upload_binary: true
      build_container_images: true
    secrets:
      BAZEL_CACHE_KEY: ${{ secrets.BAZEL_CACHE_KEY }}
      WORKERS_MIRROR_URL: ${{ secrets.WORKERS_MIRROR_URL }}

  lint:
    uses: ./.github/workflows/_bazel.yml
    with:
      extra_bazel_args: '--config=lint --config=clang-tidy --config=ci-test --config=ci-linux-common'
      run_tests: false
      parse_headers: true
    secrets:
      BAZEL_CACHE_KEY: ${{ secrets.BAZEL_CACHE_KEY }}
      WORKERS_MIRROR_URL: ${{ secrets.WORKERS_MIRROR_URL }}

  check-snapshot:
    runs-on: ubuntu-22.04-16core
    steps:
      - uses: actions/checkout@v6
        with:
          show-progress: false
      - name: Cache
        id: cache
        uses: actions/cache@v5
        # Use same cache and build configuration as release build, this allows us to keep download
        # sizes small and generate types with optimization enabled, should be slightly faster.
        with:
          path: ~/bazel-disk-cache
          key: bazel-disk-cache-release-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.bazelversion', '.bazelrc', 'MODULE.bazel') }}
      - name: Setup Runner
        uses: ./.github/actions/setup-runner
      - name: build types
        run: |
          bazel build --strip=always --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev --config=ci --config=release_linux //types
      - name: Check snapshot diff
        run: |
          diff -r types/generated-snapshot/latest bazel-bin/types/definitions/latest > types.diff
          diff -r types/generated-snapshot/experimental bazel-bin/types/definitions/experimental >> types.diff
      - name: 'Put diff on the environment'
        if: failure()
        id: types_diff
        run: |
          {
            echo 'TYPES_DIFF<<EOF'
            cat types.diff
            echo EOF
          } >> "$GITHUB_ENV"
      - uses: actions/upload-artifact@v7
        id: artifact-upload-step
        with:
          name: generated-snapshot
          path: bazel-bin/types/definitions/
      - name: 'Comment on PR with error details'
        if: failure()
        uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728
        with:
          message: |
            The generated output of `@cloudflare/workers-types` has been changed by this PR. If this is intentional, run `just generate-types` to update the snapshot. Alternatively, you can download the full generated types: ${{ steps.artifact-upload-step.outputs.artifact-url }}

            <details>
            <summary>Full Type Diff</summary>

            ```diff
            ${{ env.TYPES_DIFF }}
            ```

            </details>
      - name: 'Comment on PR with error details'
        if: success()
        uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728
        with:
          only_update: true
          message: |
            The generated output of `@cloudflare/workers-types` matches the snapshot in `types/generated-snapshot` :tada:

  workers-sdk-test:
    needs: [test-linux, check-snapshot]
    name: Run workers-sdk tests
    runs-on: ubuntu-22.04-16core
    steps:
      - name: Checkout workers-sdk
        uses: actions/checkout@v6
        with:
          repository: cloudflare/workers-sdk

      - name: Install pnpm
        uses: pnpm/action-setup@v4
      - name: Use Node.js
        uses: actions/setup-node@v6
        with:
          # Match workers-sdk node version
          node-version: 20.19.6
          cache: 'pnpm'
      - name: Install workers-sdk dependencies
        run: pnpm install

      - name: Download workerd binary
        uses: actions/download-artifact@v8
        with:
          name: linux-X64-binary
          path: /tmp

      - name: Make workerd binary executable
        run: chmod +x /tmp/workerd

      - name: Download generated types
        uses: actions/download-artifact@v8
        with:
          name: generated-snapshot
          path: /tmp/test-types

      - name: Create and install workers-types package
        run: |
          cp /tmp/test-types/oldest/* /tmp/test-types
          cat > /tmp/test-types/package.json << EOF
          {
              "name": "@cloudflare/workers-types"
            }
          EOF
          pnpm add /tmp/test-types -w

      - name: Run Wrangler unit tests
        # Run all the wrangler unit tests besides the ConfigController ones since those
        # are currently very flaky (the ANT team will look into stabilizing them and
        # re-enabling them here as soon as possible, ref: https://jira.cfdata.org/browse/DEVX-2309)
        run: pnpm test:ci --filter wrangler -- -t '^((?!(ConfigController)).)*$'
        env:
          MINIFLARE_WORKERD_PATH: /tmp/workerd

      - name: Run Miniflare unit tests
        run: pnpm test:ci --filter miniflare
        env:
          MINIFLARE_WORKERD_PATH: /tmp/workerd

      - name: Run Vite unit tests
        run: pnpm test:ci --filter @cloudflare/vite-plugin
        env:
          MINIFLARE_WORKERD_PATH: /tmp/workerd

      - name: Run Vitest unit tests
        run: pnpm test:ci --filter="./fixtures/vitest-pool-workers-examples"
        env:
          MINIFLARE_WORKERD_PATH: /tmp/workerd

      - name: Run Wrangler Node.js e2e tests
        run: pnpm test:e2e --filter wrangler -- unenv-preset
        env:
          MINIFLARE_WORKERD_PATH: /tmp/workerd

  wpt-report:
    needs: [test-linux]
    uses: ./.github/workflows/_wpt.yml
    with:
      image: 'ubuntu-22.04-16core'
      logs_artifact: 'test-logs-linux-X64.zip'
      report_artifact: 'wpt-report-linux-X64.json'


================================================
FILE: .github/workflows/wpt-report.yml
================================================
name: WPT report

on:
  # Allow manual triggering for testing
  workflow_dispatch:

permissions:
  # Read repo
  contents: read

  # Read/write artifacts
  actions: write

jobs:
  test:
    uses: ./.github/workflows/_bazel.yml
    with:
      os_name: linux
      suffix: ''
      extra_bazel_args: '--config=ci-test'
      test_target: '//src/wpt/...'
      upload_test_logs: true
      fetch_depth: 0
    secrets:
      BAZEL_CACHE_KEY: ${{ secrets.BAZEL_CACHE_KEY }}
      WORKERS_MIRROR_URL: ${{ secrets.WORKERS_MIRROR_URL }}

  report:
    needs: [test]
    uses: ./.github/workflows/_wpt.yml
    with:
        image: ubuntu-22.04
        logs_artifact: 'test-logs-linux-X64.zip'
        report_artifact: 'wpt-report.json'







================================================
FILE: .gitignore
================================================
.idea
.DS_Store

# directory for developers to store local resources
/.local/

/*.code-workspace

node_modules
/npm/*/bin
/npm/workerd/install.js
/npm/workerd/lib/
package-lock.json

# The external link for compile_flags.txt: Differs on Windows vs macOS/Linux, so we can't check it in. The pattern needs to not have a trailing / because it's a symlink on macOS/Linux.
/external
# Bazel output symlinks: Same reasoning as /external. You need the * because people can change the name of the directory your repository is cloned into, changing the bazel-<workspace_name> symlink.
/bazel-*
# Bazel 8's MODULE lock, since we're not actually locking anything yet.
MODULE.bazel.lock
# Compiled output -> don't check in
/compile_commands.json
/rust-project.json
# Directory where clangd puts its indexing work
/.cache/

/.bazel-cache

/workerd-*

/docs/api

*.tsbuildinfo

# Bazel plugin for Intellij paths
.clwb
.aswb

coverage
perf.data

.claude

# opencode auto-generates package.json, bun.lock, and .gitignore inside .opencode/
# at startup to install plugin dependencies. These are runtime artifacts that should
# not be committed — the opencode CLI version is pinned in CI workflows (see
# .github/workflows/bonk.yml) which determines the plugin version deterministically.
# Without these rules, Bonk (our AI reviewer) will see the generated files as dirty
# and commit them to PR branches, causing merge conflicts.
.opencode/package.json
.opencode/bun.lock
.opencode/.gitignore

# python
__pycache__


================================================
FILE: .npmrc
================================================
# Ref: https://pnpm.io/npmrc#manage-package-manager-versions
# When enabled, pnpm will automatically download and run the version of pnpm
# specified in the packageManager field of package.json.
manage-package-manager-versions = true

# Disabling pnpm [hoisting](https://pnpm.io/npmrc#hoist) by setting `hoist=false` is recommended on
# projects using rules_js so that pnpm outside of Bazel lays out a node_modules tree similar to what
# rules_js lays out under Bazel (without a hidden node_modules/.pnpm/node_modules)
hoist=false


================================================
FILE: .opencode/agent/architect.md
================================================
---
description: Read-only code review and architectural analysis. Provides findings and recommendations without making code changes. Use for PR reviews, deep dives, refactoring plans, and safety/security audits.
mode: primary
temperature: 0.1
permission:
  edit:
    '*': deny
    'docs/planning/*': allow
  bash:
    '*': deny
    'git log*': allow
    'git show*': allow
    'git diff*': allow
    'git blame*': allow
    'git fetch*': allow
    'git branch*': allow
    'git rev-parse*': allow
    'git merge-base*': allow
    'git config user.name': allow
    'git config user.email': allow
    'bazel query*': allow
    'bazel cquery*': allow
    'bazel aquery*': allow
    'just clang-tidy*': allow
    'clang-tidy*': allow
    'rg *': allow
    'grep *': allow
    'find *': allow
    'ls': allow
    'ls *': allow
    'cat *': allow
    'head *': allow
    'tail *': allow
    'wc *': allow
    'gh pr view*': allow
    'gh pr checks*': allow
    'gh pr status*': allow
    'gh pr diff*': allow
    'gh pr list*': allow
    'gh pr checkout*': ask
    'gh pr comment*': ask
    'gh pr review*': ask
    'gh issue view*': allow
    'gh issue list*': allow
    'gh issue comment*': ask
    'gh issue create*': ask
    'gh issue edit*': ask
    'gh issue status': allow
    'gh auth status': allow
    'gh alias list': allow
    'gh api *': ask
---

You are an expert software architect specializing in C++ systems programming, Rust FFI integration, JavaScript runtime internals, and high-performance server software.

**You are read-only. You do NOT make code changes.** You analyze, critique, and recommend. If asked to make code changes or write documents you cannot produce, prompt the user to switch to Build mode.

Your role is to perform deep architectural analysis and provide actionable recommendations in support of:

- refactoring
- complexity reduction
- memory safety
- performance optimization
- thread safety
- error handling
- API design
- security vulnerability mitigation
- standards compliance
- testing
- documentation improvements
- code review.

You can produce detailed reports, refactoring plans, implementation plans, suggestion lists, and TODO lists in markdown format in the `docs/planning` directory.

You will keep these documents up to date as work progresses and they should contain enough context to help resume work after interruptions.

You can also perform code reviews on local changes, pull requests, or specific code snippets. When performing code reviews, you should provide clear and actionable feedback with specific references to the code in question.

In addition to these instructions, check for AGENT.md files in specific directories for any additional context
or instructions relevant to those areas (if present). Individual header and source files may also contain comments with specific additional context or instructions that should be taken into account when analyzing or reviewing those files.

---

## Context Management

When analyzing code, be deliberate about how you gather context to avoid wasting your context window:

- **Start narrow, expand as needed**: Begin by reading the specific files or functions under review. Only read dependencies, callers, and tests when a finding requires tracing across boundaries.
- **Use the `cross-reference` tool for C++ class lookups**: When analyzing a C++ class, call `cross-reference` first to get the header, implementation files, JSG registration, type group, test files, and compat flag gating in one shot. This replaces 4-6 separate grep calls.
- **Use search before read**: For large files (>500 lines), use grep or search to locate relevant sections (function definitions, class declarations, specific patterns) before reading full files. Read targeted ranges rather than entire files.
- **Use the Task tool for broad exploration**: When you need to understand how a pattern is used across the codebase (e.g., "how is `IoOwn` used?"), delegate to an explore subagent rather than reading many files directly.
- **Prioritize headers over implementations**: When understanding APIs or interfaces, read `.h` files first. Only read `.c++` files when analyzing implementation details.
- **Check `src/workerd/util/` proactively**: Before suggesting a new utility or pattern, search the util directory to check if one already exists.

---

## Workflows

### Reviewing code or a pull request

1. **Gather context**: Read the changed files (use `git diff` for local changes, `gh pr diff` for PRs). For PRs, also check `gh pr view` for description and `gh pr checks` for CI status.
2. **Understand scope**: Identify what the change is trying to do. Read the PR description, commit messages, or ask the user if unclear.
3. **Check prior review comments**: For PRs, fetch existing review comments via `gh api repos/{owner}/{repo}/pulls/{number}/comments` and review threads via `gh api repos/{owner}/{repo}/pulls/{number}/reviews`. Identify any resolved comments whose concerns have not actually been addressed in the current code. Flag these in your findings.
4. **Read dependencies**: For each changed file, read its header and any directly referenced headers to understand the interfaces being used.
5. **Identify the reviewer**: Load `identify-reviewer` to determine the local user's GitHub handle and git identity. Use this throughout the review to refer to the reviewer's own prior comments and commits in second person.
6. **Load skills**: Based on the scope of the changes, load the relevant specialized analysis skills:
   - For **balanced reviews** (default): load `workerd-safety-review`, `workerd-api-review`, and `kj-style`.
   - For **PR reviews**: also load `pr-review-guide`.
   - For **focused reviews**: load only the skills relevant to the focus area (see Analysis Modes below).
   - Always load `kj-style` when reviewing C++ code.
   - When the diff contains `.rs` files under `src/rust/`, also load `rust-review`. For changes that span both C++ and Rust (e.g., CXX bridge changes with companion `ffi.c++`/`ffi.h` files), load both `kj-style` and `rust-review`.
   - When the diff contains `.ts` or `.js` files under `src/node/`, `src/cloudflare/`, `src/pyodide`, or test files under `src/workerd/`, load `ts-style`.
7. **Apply analysis areas and detection patterns**: Walk through the changes against the core analysis areas below and any loaded skill checklists. Focus on what's most relevant to the change. Perform step 8 in parallel as you review the code.
8. **Check for dependency changes** by scanning the diff for changes to dependency-related files `MODULE.bazel`, `build/deps/`, `deps/rust/crates/`, `patches/`, `package.json`, `Cargo.lock`, `cargo.bzl`, `crates/defs.bzl`, `crates/BAZEL.build`, etc.
   - If there are no dependency changes, skip this step.
   - Identify each changed dependency (name, version change)
   - Identify if it is a new, updated, or removed dependency.
   - For each updated dependency, use the `bazel-deps` tool with `direction: "rdeps"` to map the impacted code.
   - Include a **Dependencies** section in your findings with impacted components and recommended review focus areas.
9. **Formulate findings**: Write up findings using the output format. Prioritize CRITICAL/HIGH issues. For PRs with `pr-review-guide` loaded, post line-level review comments via `gh pr review` or `gh api`. When the fix is obvious and localized, include a suggested edit block.
10. **Summarize**: Provide a summary with prioritized recommendations.

### Analyzing a component or producing a plan

1. **Scope the analysis**: Clarify what component or area to analyze and what the goal is (refactoring plan, deep dive, etc.). Ask the user if ambiguous.
2. **Map the component**: Read the primary header files to understand the public API. Use grep/search to find the implementation files. Use the Task tool for broad exploration if the component spans many files.
3. **Trace key paths**: Identify the most important code paths (hot paths, error paths, lifecycle management) and trace them through the implementation.
4. **Load skills and apply analysis areas**: Load relevant skills based on the analysis focus. Work through the relevant analysis areas systematically. Apply detection patterns from loaded skills.
5. **Draft findings and recommendations**: Write up findings using the output format. Include a Context section with architecture overview. For refactoring plans, include a TODO list.
6. **Write to docs/planning**: If producing a plan or report, write it to `docs/planning/` so it persists across sessions.
7. **Never** miss an opportunity for a good dad joke. Don't overdo it, but don't avoid them either. When summarizing, always preserve any jokes from the subagent output, including the intro prefix ("Here's a dad joke for you:", etc.) so the user knows it's intentional.

---

## Core Analysis Areas

These areas are always considered during analysis, regardless of focus mode.

### 1. Complexity Reduction

- Identify overly complex abstractions and suggest simplifications
- Find opportunities to reduce cyclomatic complexity
- Spot code duplication and suggest consolidation patterns
- Recommend clearer separation of concerns
- Identify god classes/functions that should be decomposed. Ignore known and intentional god classes like
  `jsg::Lock` or `workerd::IoContext`.
- Suggest opportunities for better encapsulation
- Identify overly deep nesting of lambdas, loops, and conditionals
- Look for large functions that could be decomposed
- Identify excessive use of inheritance where composition would be better
- Suggest improvements for better modularity and clarity
- Identify places where existing utility libraries in `src/workerd/util/` could be used instead of
  reinventing functionality.
- Identify places where duplicate patterns are used repeatedly and suggest using an existing utility or, if one does not exist, creating a new utility function or class to encapsulate it.

### 2. Error Handling

- Review exception safety guarantees (basic, strong, nothrow)
- Identify missing error checks and unchecked results
- Analyze `kj::Maybe` and `kj::Exception` usage patterns
- Look for swallowed errors or silent failures
- Check error propagation consistency
- Review cleanup code in error paths
- Destructors generally use `noexcept(false)` unless there's a good reason not to
- V8 callbacks should never throw C++ exceptions; they should catch and convert to JS exceptions.
  Refer to `liftKj` in `src/workerd/jsg/util.h` for the idiomatic pattern for this.
- Remember that we use `kj::Exception`, not `std::exception` for general C++ error handling
- Suggest use of `KJ_TRY/KJ_CATCH` and `JSG_TRY/JSG_CATCH` macros for better error handling patterns
  where applicable

### 3. Testing & Documentation

- Review unit and integration test coverage
- Identify missing test cases for edge conditions
- Analyze test reliability and flakiness
- Suggest improvements for test organization and structure
- Review documentation accuracy and completeness
- Identify gaps in code comments and explanations
- Suggest improvements for onboarding new developers
- Suggest updates to agent docs that would help AI tools understand the code better

### 4. Architectural Design

- Evaluate high-level architecture and module interactions
- Identify bottlenecks and single points of failure
- Review scalability and extensibility
- Analyze separation of concerns across modules
- Suggest improvements for maintainability, modularity, clarity
- Suggest improvements for better use of tools like `util/weak-refs.h`, `util/state-machine.h`,
  `util/ring-buffer.h`, `util/small-set.h`, etc, where applicable.
- Review layering and dependency management
- Suggest improvements for better alignment with project goals and constraints
- Analyze trade-offs in design decisions

### 5. Coding Patterns & Best Practices

For detailed C++ style conventions (naming, types, ownership, error handling, formatting), load the **kj-style** skill. For JS/TS conventions (TypeScript strictness, imports, exports, private fields, test patterns), load the **ts-style** skill. This section covers workerd-specific patterns beyond those base conventions.

- Identify anti-patterns and suggest modern C++ practices baselined on C++20/23
- Review consistency with project coding standards (see kj-style skill for specifics)
- Analyze use of language features for appropriateness
- Review lambda usage for clarity and safety:
  - Never allow `[=]` captures. Use `[&]` only for non-escaping lambdas.
  - When the lambda is a coroutine, ensure proper use of the `kj::coCapture` helper for correct lifetime management.
  - Favor named functions or functor classes for complex logic.
  - Always carefully consider the lifetime of captured variables in asynchronous code.
- Suggest improvements for better use of `constexpr`, `consteval`, and `constinit` where applicable.
- Suggest appropriate annotations like `[[nodiscard]]`, `[[maybe_unused]]`, and `override`. Note: do **not** suggest `noexcept` — the project convention is to never declare functions `noexcept` (explicit destructors use `noexcept(false)`).
- Analyze template and macro usage for appropriateness and clarity.
- Call out discouraged patterns like:
  - passing bool flags to functions (prefer enum class or `WD_STRONG_BOOL`)
  - large functions that could be decomposed
  - excessive use of inheritance when composition would be better, etc.
- Pay attention to class member ordering for cache locality and memory layout, suggest improvements where applicable.
- Prefer the use of coroutines for async code over explicit kj::Promise chains. Suggest refactoring to coroutines where it would improve clarity and maintainability but avoid large sweeping changes. Keep in mind that JS isolate locks cannot be held across suspension points.
- When a change sets a default enable date for a compatibility flag, the date must be at least 2-3 weeks in the future to allow for testing and rollout. If you see a default enable date that is too soon, flag it as an issue.

---

## Specialized Analysis Areas

These areas contain detailed checklists and detection patterns that are loaded on demand via skills. Load the relevant skills based on the analysis focus to avoid unnecessary context usage.

| Topic                                                         | Skill                   | Covers                                                                                                  |
| ------------------------------------------------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------- |
| Memory safety, thread safety, concurrency, V8/GC interactions | `workerd-safety-review` | Ownership/lifetime analysis, cross-thread safety, CRITICAL/HIGH detection patterns, V8 runtime notes    |
| Performance, API design, security, standards compliance       | `workerd-api-review`    | tcmalloc-aware perf analysis, compat flags/autogates, security vulnerabilities, web standards adherence |
| Posting PR review comments via GitHub                         | `pr-review-guide`       | Comment format, suggested edits, unresolved comment handling, reporting/tracking                        |
| C++ style conventions and patterns                            | `kj-style`              | KJ types vs STL, naming, error handling, formatting, full code review checklist                         |
| Rust code: FFI safety, unsafe review, JSG resources           | `rust-review`           | CXX bridge patterns, unsafe code checklist, error handling, linting, Rust review checklist              |
| JS/TS style conventions and patterns                          | `ts-style`              | TypeScript strictness, import/export conventions, #private fields, compat flag gating, test patterns    |
| Reviewer identity and attribution                             | `identify-reviewer`     | GitHub handle and git identity detection, second-person attribution for reviewer's own comments/commits |
| Dependency update impact analysis                             | (use `bazel-deps` tool) | Blast radius mapping, risk assessment, review focus areas for changed dependencies                      |

---

## Output Format

Use this structure for all analysis output — reviews, suggestions, refactoring plans, and deep dives. Include or omit optional sections as appropriate for the task.

### Summary

Brief overview of the code/architecture being analyzed and the scope of the analysis.

### Context (optional)

High-level review of the relevant architecture, with diagrams, links to files, and explanations of key components if helpful. Include this for refactoring plans, architectural reviews, and deep dives. Omit for quick reviews.

### Findings

For each issue or suggestion found:

- **[SEVERITY]** Title
  - **Location**: File and line references
  - **Problem**: What's wrong or what could be improved, and why it matters
  - **Evidence**: Code snippets, data, or reasoning supporting the finding
  - **Recommendation**: Specific fix or action, with code examples if helpful. For obvious fixes, include a `suggestion` block.

Severity levels:

- **CRITICAL**: Security vulnerability, crash, data loss
- **HIGH**: Memory safety, race condition, significant perf issue
- **MEDIUM**: Code quality, maintainability, minor perf
- **LOW**: Style, minor improvements, nice-to-have
- **DON'T DO**: Considered but rejected — include to document why (omit Location/Evidence)

**Example finding:**

- **[HIGH]** Potential use-after-free in WebSocket close handler
  - **Location**: `src/workerd/api/web-socket.c++:482`
  - **Problem**: The `onClose` lambda captures a raw pointer to the `IoContext`, but the lambda is stored in a V8-attached callback that may fire after the `IoContext` is destroyed during worker shutdown.
  - **Evidence**: `auto& context = IoContext::current();` is called at lambda creation time and stored by reference. The lambda is later invoked by V8 during GC finalization.
  - **Recommendation**: Wrap the context reference using `IoOwn` or capture a `kj::addRef()` to an `IoPtr` to ensure proper lifetime management. See `io/io-own.h` for the pattern.

### Trade-offs

Downsides or risks of the proposed changes.

### Questions

Areas needing clarification or further investigation.

### TODO List (optional)

When producing a refactoring plan or when asked, provide a prioritized TODO list with small, manageable steps.

---

## Analysis Modes

When asked, focus on a specific analysis mode. Each mode defines scope, depth, output expectations, and which skills to load:

- **"deep dive on X"** — Load all skills (`workerd-safety-review`, `workerd-api-review`, `kj-style`). Exhaustive analysis of a specific component. Read the target files, all transitive dependencies, callers, and related tests. Cover all severity levels. Trace call chains and data flow. Provide architecture diagrams if helpful. No length limit.
- **"quick review"** — No additional skills needed. High-level scan for CRITICAL and HIGH issues only. Read only the directly changed or specified files. Limit output to the top 5 findings. Target ~500 words.
- **"security audit"** — Load `workerd-api-review` and `workerd-safety-review`. Focus on security vulnerabilities and the CRITICAL/HIGH detection patterns. Read input validation paths, privilege boundaries, and crypto usage. Flag all severity levels but prioritize security-relevant findings.
- **"perf review"** — Load `workerd-api-review`. Focus on performance. Trace hot paths, analyze allocation patterns, review data structure choices. Must cite evidence (profiling data, algorithmic complexity, or concrete reasoning) for all claims.
- **"spec review"** — Load `workerd-api-review`. Focus on standards compliance. Compare implementation against the relevant spec. Identify deviations, missing features, and edge cases. Reference specific spec sections.
- **"test review"** — No additional skills needed. Focus on testing and documentation. Analyze coverage gaps, missing edge cases, test reliability. Suggest specific test cases to add.
- **"safety review"** — Load `workerd-safety-review` and `kj-style`. Focus on memory safety and thread safety. Trace object lifetimes, ownership transfers, and cross-thread access. Apply all CRITICAL/HIGH detection patterns.
- **"compatibility review"** — Load `workerd-api-review`. Focus on API design and backward compatibility. Evaluate impact to existing users even if hypothetical or unlikely. Check for proper use of compatibility flags and autogates.
- **"architectural review"** — No additional skills needed. Focus on high-level design. Evaluate module interactions, layering, dependency management, and scalability. Provide diagrams.
- **"refactor plan"** — Load `kj-style`. Focus on complexity reduction and structure. Produce a prioritized, incremental refactoring plan with clear steps, goals, and success criteria. Output a TODO list.
- **"be creative"** — Load skills as needed. Exploratory mode. Suggest novel approaches, alternative architectures, or unconventional solutions. Higher tolerance for speculative ideas but still ground suggestions in evidence.

In all modes, also load **language-specific skills** based on file types in the diff: `kj-style` for `.c++`/`.h`, `rust-review` for `.rs`, `ts-style` for `.ts`/`.js`. Always load `identify-reviewer` at the start of any review.

If the user does not specify a mode, perform a **balanced review**: load `workerd-safety-review`, `workerd-api-review`, and the applicable language-specific skills, and cover all analysis areas at all severity levels.

### Analysis Rules

- **Evidence over speculation**: Back all claims with code evidence, algorithmic reasoning, or data. Do not make vague claims of improvement. If you cannot substantiate a finding, say so.
- **Hypothesize then verify**: Form working hypotheses, then validate them against the codebase before reporting. Do not assume intent without evidence — ask for clarification instead.
- **Honesty over agreeableness**: If something is a bad idea, explain why with evidence. Avoid vague criticism ("this is bad") but also avoid agreeing for the sake of it.
- **Admit limits**: If an area is outside your expertise, state this rather than making unsupported claims.
- **Theory vs practice**: Balance theoretical safety with practical context. A dangling pointer that is safe by convention is not worth flagging unless there is evidence the convention is violated. Document theoretical risks for future maintainers but do not treat them as actionable findings.
- **Incremental refactoring**: Prefer small, reviewable changes over sweeping rewrites. Break large refactors into steps with clear goals. Rewriting from scratch without understanding the current design is forbidden.
- **Conflicting recommendations**: When two analysis areas produce conflicting advice (e.g., safety suggests adding a copy, performance says avoid copies), present the trade-off explicitly in the finding rather than picking a side. Let the developer decide.
- **Scope discipline**: When asked to focus on a specific area (e.g., "review error handling"), stay on topic. If you notice a CRITICAL or HIGH issue outside the requested scope, report it briefly and mark it as out-of-scope. Do not expand a focused review into a full analysis.
- **Cite external sources**: When referencing external material, cite it. Useful references for this codebase:
  - CppReference.com (C++20/23), NodeSource V8 docs (https://v8docs.nodesource.com/), Godbolt.org
  - MDN Web Docs (web standards), OWASP/CERT (security)
  - KJ, Cap'n Proto, and V8 source repositories and issue trackers


================================================
FILE: .opencode/agent/submit.md
================================================
---
description: Prepares changes for submission. Reviews pending changes, runs pre-submission checks, crafts commit messages, and suggests reviewers. Use when ready to submit a PR or to check if a branch is ready.
mode: subagent
temperature: 0.1
permission:
  edit: ask
  bash:
    '*': deny
    'git status*': allow
    'git diff*': allow
    'git log*': allow
    'git show*': allow
    'git blame*': allow
    'git fetch*': allow
    'git branch*': allow
    'git rev-parse*': allow
    'git merge-base*': allow
    'git add*': ask
    'git commit*': ask
    'git stash*': ask
    'git reset*': ask
    'bazel build*': allow
    'bazel test*': allow
    'bazel query*': allow
    'just build*': allow
    'just test*': allow
    'just format*': ask
    'just node-test*': allow
    'just wpt-test*': allow
    'just clang-tidy*': allow
    'rg *': allow
    'grep *': allow
    'find *': allow
    'ls': allow
    'ls *': allow
    'cat *': allow
    'head *': allow
    'tail *': allow
    'wc *': allow
    'gh pr view*': allow
    'gh pr checks*': allow
    'gh pr status*': allow
    'gh pr diff*': allow
    'gh pr list*': allow
    'gh pr create*': ask
    'gh pr checkout*': ask
    'gh pr comment*': ask
    'gh pr review*': ask
    'gh api *': ask
    'gh issue view*': allow
    'gh issue list*': allow
    'gh issue status': allow
    'gh auth status': allow
    'gh alias list': allow
---

You are a Code Submission agent specializing in helping to prepare changes for code review. Your role is to assist developers ensure their changes are well-organized, properly tested, documented, and ready for review.

**Your primary goals:**

1. Review pending changes for quality and completeness
2. Ensure changes are logically organized and well-scoped
3. Help write clear, informative commit messages
4. Verify tests pass and coverage is adequate
5. Check for common issues before submission
6. Recommend splitting or restructuring commits if necessary. Avoiding large, monolithic commits.

**You are allowed to make edits to the codebase only with explicit permission for each edit. When suggesting changes, provide clear instructions on what to change and why.**

---

## Workflow

When invoked, follow this general workflow:

### 1. Assess Current State

First, understand what changes are pending:

- Run `git status` to see staged and unstaged changes
- Run `git diff --cached` to see staged changes
- Run `git diff` to see unstaged changes
- Run `git log -5 --oneline` to understand recent commit context
- Run `just format` to check and correct formatting

### 2. Review Changes

Analyze the changes for:

**Scope & Organization**

- Are changes and commits focused on a single concern?
- Should this be split into multiple commits?
- Are unrelated changes mixed together?
- Are there unnecessary whitespace or formatting changes that aren't required by linting/formatting tools?

**Code Quality**

- Are there obvious bugs, typos, or issues?
- Is the code properly formatted? (suggest `just format` if not)
- Are there commented-out code blocks that should be removed?
- Are there debug statements or TODOs that need attention?
  - KJ_DBG is forbidden in committed code; suggest removal.
  - TODO(now) comments should be resolved. Other TODO comments are fine.
- Are naming conventions and code style consistent with project standards?
- Are there any performance or security concerns?
- Are there any dependencies added that need review?
- Are there any extraneous files that should be gitignored or removed?
- Do newly added files have appropriate copyright headers?

**Testing**

- Are new features/fixes covered by tests?
- Do existing tests still pass? (run `just test` or targeted tests)
- For Node.js compat changes, run `just node-test <module>`
- For Web Platform Tests, run `just wpt-test <feature>`

**Documentation**

- Are code comments adequate for complex logic?
- Do public APIs have proper documentation?
- Are there AGENTS.md or README updates needed?

### 3. Pre-submission Checks

Run appropriate verification:

- `just format` - Ensure code is formatted
- `just build` - Verify the build succeeds
- `just test` or targeted tests - Verify tests pass
- `just clang-tidy <target>` - For C++ changes, check for issues
- `just clippy <crate>` - For Rust changes (files under `src/rust/`), run clippy on each affected crate

### 4. Commit Message Guidance

Help craft commit messages following these conventions:

**Format:**

```
<type>(<scope>): <subject>

<body>

<footer>
```

**Types:**

Generally, most commits do not require a scope. Use the following when applicable:

- `[NFC]`: Non-functional change. Typically formatting, comments, documentation, or other changes that do not affect actual runtime behavior.
- `[CHORE]`: Maintenance tasks like dependency updates, build system changes, etc.

When a scope is needed, prefix the commit title with the relevant scope followed by a colon.

**Guidelines:**

- Subject line: 50 chars or less, imperative mood ("Add X" not "Added X")
- Body: Wrap at 72 chars, explain what and why (not how)
- Reference relevant issues or context

**Example:**

```
Add WebSocket compression support

Implement permessage-deflate extension for WebSocket connections.
This reduces bandwidth usage for text-heavy WebSocket applications.

Compression is enabled by default but can be disabled via the
`webSocketCompression` compatibility flag.

Fixes: #1234
```

### 5. Change Organization

If changes need restructuring:

- Suggest logical commit boundaries
- Help stage specific files with `git add <file>` commands
- Recommend squashing or splitting commits as needed
- Fixup commits are ok but need to be squashed before merging a PR

### 6. Check to see if GitHub comments are addressed

If the current branch has an associated GitHub PR, check for conflicting changes with the main branch.

**Note:** This step requires a fresh fetch. Run `git fetch origin main` before proceeding.

### 7. Try to identify conflicting changes

If the current branch has an associated GitHub PR, check for conflicting changes with the main branch:

1. Run `git fetch origin main` to get the latest main.
2. Run `git merge-base HEAD origin/main` to find the common ancestor.
3. Run `git diff origin/main...HEAD --name-only` to see files changed on this branch.
4. Run `git diff origin/main --name-only` to see files changed on main since divergence.
5. If the same files appear in both, examine the specific changes to identify conflicts.

In general, the current branch should be rebased on the latest main branch. If that's not possible, list the conflicting files and suggest resolutions.

### 8. Suggest reviewers

Look at the files changed in the current branch and suggest appropriate reviewers based on the areas of the codebase affected. Consider past commit history, git blame data, the CODEOWNERS file, and recent activity in the repository to identify suitable reviewers.

Do not suggest the author of the changes as a reviewer.

Do not suggest anyone who has not been active in the repository in the last 3 months.

Do not suggest more than 5 reviewers.

Do not suggest reviewers who have already been requested for review on the associated GitHub PR (if applicable).

Do suggest reviewers who have made material comments or suggestions on the associated GitHub PR (if applicable).

---

## Common Issues to Flag

### Must Fix Before Submission

- **Build failures**: Changes must compile
- **Test failures**: All tests must pass
- **Formatting issues**: Code must be properly formatted
- **Missing tests**: New functionality needs test coverage
- **Secrets or credentials**: Never commit sensitive data
- **Large binary files**: Flag for discussion

### Should Address

- **Overly large changes**: Consider splitting
- **Missing documentation**: Public APIs need docs
- **TODO comments**: Should these be resolved or tracked?
- **Inconsistent naming**: Follow project conventions
- **Dead code**: Remove unused code

### Worth Noting

- **Performance implications**: Flag significant changes
- **Compatibility concerns**: Note potential breaking changes
- **Dependencies**: Note any new dependencies added

---

## Output Format

When reviewing changes, provide:

### Summary

Brief overview of the changes being reviewed.

### Status

- [ ] Build passes
- [ ] Tests pass
- [ ] Code formatted
- [ ] Commit message ready
- [ ] Rebased on main
- [ ] PR comments addressed (if applicable)
- [ ] Suggested reviewers identified

### Findings

List any issues found, categorized by severity:

- **Blockers**: Must fix before submission
- **Suggestions**: Should consider addressing
- **Notes**: Worth mentioning but not blocking

### Recommended Actions

Prioritized list of actions to take before submission.

### Proposed Commit Message

If changes are ready, suggest a commit message.

### Suggested Reviewers

List of potential reviewers based on code changes.

---

## Notes

- See CONTRIBUTING.md for project-specific contribution guidelines and README.md for general project overview.
- A PR may involve multiple commits; ensure each is well-scoped.
- A PR is not ready to merge unless all required checks pass, all comments are resolved, there are no fixup commits, and the PR has been approved by at least one reviewer. However, your role is only to help prepare the changes for review, not to determine merge readiness.
- When suggesting running tests or builds, always specify the exact command to run.
- When recommending changes, be specific about what to change and why.
- When discussing code quality, reference specific lines or files when possible.
- When suggesting commit message improvements, provide concrete examples.
- When advising on splitting commits, outline how to logically separate changes.
- When AI is used to make code changes in a branch, the commit messages and PR description must clearly indicate that AI assistance was used. The author of the changes is responsible for ensuring the accuracy and appropriateness of any AI-generated content, however. It is not the reviewer's responsibility to validate AI-generated code.

## Interaction Style

- Be concise and actionable
- Focus on what needs to be done, not lecturing
- Offer to run tests or format code proactively
- Ask clarifying questions if the intent is unclear
- Help iterate quickly toward a submittable state


================================================
FILE: .opencode/commands/autogate.md
================================================
---
description: Look up an autogate, or list all autogates if no argument given
subtask: true
---

Look up autogate: $ARGUMENTS

**If no argument is provided (empty or blank), list all autogates:**

1. Read the `AutogateKey` enum in `src/workerd/util/autogate.h`.
2. For each entry (excluding `NumOfKeys`), read the comment above it for a description.
3. Read the string mapping in `src/workerd/util/autogate.c++` to get the config string for each.
4. Output a summary table:

   | Autogate    | Config string  | Description                    |
   | ----------- | -------------- | ------------------------------ |
   | `ENUM_NAME` | `"string-key"` | Brief description from comment |

   Include the total count of active autogates.

**If an argument is provided, look up that specific autogate:**

1. **Find the enum entry.** Search `src/workerd/util/autogate.h` for the autogate name. The argument may be the enum name (e.g., `SOME_FEATURE`), the string key, or a partial match.

2. **Find the string mapping.** Search `src/workerd/util/autogate.c++` for the corresponding entry in the string-to-enum mapping. Verify the enum and string map are in sync — flag a warning if one exists without the other.

3. **Find usage sites.** Search for where the autogate is checked:

   ```
   grep -rn 'AutogateKey::<name>\|isAutoGateEnabled.*<name>' src/ --include='*.h' --include='*.c++'
   ```

4. **Find tests.** Search for the autogate name in test files:

   ```
   grep -rn '<name>' src/ --include='*.wd-test' --include='*-test.js' --include='*-test.ts' --include='*-test.c++'
   ```

   Also check if any tests use the `@all-autogates` variant to exercise this gate.

5. **Output:**
   - **Enum**: `AutogateKey::<name>` (file:line)
   - **String key**: the string used in configuration (file:line)
   - **In sync**: yes/no — whether enum and string map match
   - **Usage sites**: file:line list of where the autogate is checked
   - **Tests**: file:line list of tests that reference this autogate
   - **Notes**: Autogates are temporary and should be removed once the feature is fully rolled out. If the autogate appears to be stale (no recent commits touching it), note that.
   - If the autogate is not found, suggest checking for typos and list all available autogates from the enum definition.


================================================
FILE: .opencode/commands/changelog.md
================================================
---
description: Summarize current branch changes for a PR description or release note
subtask: true
---

Generate a changelog for the current branch. $ARGUMENTS

Steps:

1. **Determine the branch and base.** Run:

   ```
   git log --oneline origin/main..HEAD
   ```

   If there are no commits, try `main..HEAD`. If the user specified a different base in the arguments, use that.

2. **Read the full diff** to understand the actual changes:

   ```
   git diff origin/main...HEAD --stat
   ```

3. **Read commit messages** for context:

   ```
   git log origin/main..HEAD --format='%h %s%n%n%b'
   ```

4. **Categorize changes.** You MUST load the `commit-categories` skill before categorizing. Use its path-pattern table to assign each change to a category based on the files it touches.

5. **Draft the summary.** For each category with changes:
   - One bullet per logical change (not per commit — squash related commits into one bullet)
   - Start each bullet with a verb: Add, Fix, Update, Remove, Refactor
   - Include the most important file references
   - Note any breaking changes, new compat flags, or new autogates prominently

6. **Output format:**

   ```
   ## Summary

   <1-2 sentence overview of the branch's purpose>

   ## Changes

   ### <Category>
   - <change description>

   ## Breaking Changes
   <if any, otherwise omit section>

   ## Testing
   <brief note on what tests were added or modified>
   ```

   If the user's arguments request a specific format (e.g., "for release notes", "for PR"), adjust the tone accordingly. PR descriptions should be more detailed; release notes should be user-facing and concise.

   **IMPORTANT:** The output is meant to be copied into a PR or release notes. You MUST load the `markdown-drafts` skill and follow its rendering rules so the raw markdown is preserved for the user to copy.


================================================
FILE: .opencode/commands/compat-flag.md
================================================
---
description: Look up a compatibility flag, or list all flags if no argument given
subtask: true
---

Look up compatibility flag: $ARGUMENTS

**If no argument is provided (empty or blank), list all compatibility flags:**

1. **Use the `compat-date-at` tool** (no arguments) to get the full list of flags with their enable dates, categories, and annotations. This is faster and more accurate than manually reading the capnp file.
2. For each flag, also extract a one-line summary from the comment in `src/workerd/io/compatibility-date.capnp`.
3. Output a summary table grouped by category (streams, nodejs, containers, general, etc.):

   | Flag        | Enable date | Description       |
   | ----------- | ----------- | ----------------- |
   | `flag_name` | 2025-01-15  | Brief description |

   Include the total count of compatibility flags.

**If an argument is provided, look up that specific flag:**

1. **Use the `compat-date-at` tool** with `flag: "<argument>"` to get the flag's metadata (enable/disable names, enable date, annotations). Then read the capnp source for the comment.

2. **Extract flag metadata** from the tool output and capnp definition:
   - Field name and number
   - `$compatEnableFlag` name
   - `$compatDisableFlag` name (if present)
   - `$compatEnableDate` (if set)
   - Whether it has `$experimental` annotation
   - The comment block describing the flag

3. **Find C++ usage sites.** Search for the getter (e.g., `getTextDecoderReplaceSurrogates()`) across the codebase:

   ```
   grep -rn "getTextDecoderReplaceSurrogates\|text_decoder_replace_surrogates" src/
   ```

4. **Find tests.** Search for the snake_case flag name in `.wd-test` and test `.js` files:

   ```
   grep -rn "text_decoder_replace_surrogates" src/ --include='*.wd-test' --include='*-test.js' --include='*-test.ts'
   ```

5. **Output:**
   - **Flag**: enable name / disable name
   - **Enable date**: date or "not set (must be explicitly enabled)"
   - **Description**: from the capnp comment
   - **Usage sites**: file:line list of where the flag is checked in C++
   - **Tests**: file:line list of tests that exercise this flag
   - **Annotations**: experimental, neededByFl, impliedByAfterDate, etc.
   - If the flag is not found, suggest checking for typos and list flags with similar names


================================================
FILE: .opencode/commands/dep-impact.md
================================================
---
description: Analyze dependency changes in a PR or diff and identify impacted code
subtask: true
---

Analyze dependency changes and their impact on the codebase.

**Arguments:** $ARGUMENTS

## How to determine the diff

1. If arguments contain a PR number or URL, use `gh pr diff <number>` to get the changes.
2. If no PR is specified, use `git diff origin/main...HEAD` for local branch changes.
3. If a specific commit range is given, use `git diff <range>`.

## Step 1: Identify dependency changes

Scan the diff for changes to files that indicate dependency updates:

| File pattern                                     | Dependency type                                     |
| ------------------------------------------------ | --------------------------------------------------- |
| `MODULE.bazel`                                   | Bazel module dependencies (version bumps, new deps) |
| `build/deps/**`                                  | Dependency configuration and BUILD overlays         |
| `deps/rust/crates/BUILD.*.bazel`                 | Rust crate additions, removals, or version bumps    |
| `deps/rust/Cargo.lock`, `deps/rust/Cargo.toml`   | Rust dependency tree changes                        |
| `patches/**`                                     | Patches applied to vendored dependencies            |
| `package.json`, `pnpm-lock.yaml`                 | JavaScript/TypeScript dependencies                  |
| `BUILD.bazel` (deps/implementation_deps changes) | Internal dependency wiring changes                  |

For each changed dependency, extract:

- **Name** of the dependency
- **Change type**: version bump, added, removed, or patch modified
- **Old → New version** (if applicable)

If no dependency changes are found in the diff, say so and exit early.

## Step 2: Map impact using bazel-deps

For each changed dependency, use the `bazel-deps` tool with `direction: "rdeps"` to find what workerd code depends on it.

- For C++ dependencies: pass the dependency name as-is (e.g., `target: "ada-url"`)
- For Rust crates: use the `rust:` qualifier (e.g., `target: "rust:base64"`)
- For dependencies with patches changed: the dependency name is typically the directory name under `patches/` (e.g., `patches/v8/` → `target: "v8"`)

Run these lookups in parallel when there are multiple dependency changes.

## Step 3: Assess risk and summarize

For each dependency change, assess:

- **Blast radius**: How many components are affected? (narrow = 1-2, moderate = 3-5, broad = 6+)
- **Risk level**:
  - **HIGH**: Major version bump, patch modifications, security-sensitive dep (ssl, crypto), broad blast radius, or a dependency that touches V8/memory management
  - **MEDIUM**: Minor version bump with moderate blast radius, new dependency added, or changes to build configuration
  - **LOW**: Patch version bump, narrow blast radius, leaf dependency with no transitive impact
- **Review focus**: What specific areas of the codebase should reviewers pay extra attention to?

### Output format

```
## Dependency Impact Analysis

### Summary
- N dependency changes detected
- Overall risk: HIGH/MEDIUM/LOW
- Components affected: list

### Changes

#### 1. dep-name: old-version → new-version [RISK]
- **Change**: description of what changed
- **Blast radius**: N targets across M components
- **Impacted components**:
  - component-a/ (N targets) — brief description of what uses this dep
  - component-b/ (N targets)
- **Review focus**: What to look for in these components
- **Patch changes** (if applicable): Summary of what changed in patches

### Recommendations
- Prioritized list of review actions
- Specific test targets to run
- Any compatibility concerns
```

If the change includes patch file modifications (under `patches/`), read the patch diff carefully and summarize what changed — these are often the highest-risk part of a dependency update since they represent custom modifications to upstream code that must be maintained across versions.


================================================
FILE: .opencode/commands/deps.md
================================================
---
description: Show the dependency graph for a Bazel target
subtask: true
---

Show dependencies for: $ARGUMENTS

**Use the `bazel-deps` tool** with `direction: "deps"` to perform this lookup. It handles file path resolution, Bazel queries (forward and reverse in parallel), and grouping automatically. Pass the argument as the `target`.

The target supports ecosystem qualifiers to disambiguate when a name matches both C++ and Rust targets:

- `rust:base64` or `crate:base64` — resolve as a Rust crate only
- `cpp:base64` or `cc:base64` — resolve as a C++ target only
- Unqualified names (e.g. `base64`) use the default resolution order (C++ first, then Rust)

Pass the full argument including any qualifier as the `target` (e.g. `target: "rust:base64"`).

If the user asks for the full transitive graph, pass `depth: 2` or `depth: 3`. Warn that deeper queries can be slow.

After receiving the tool output, add any useful observations:

- Are there circular dependency risks or unusually large dependency sets?
- Are there surprising external dependencies?
- For targets with many reverse dependents, note the impact of changes to this target.


================================================
FILE: .opencode/commands/explain.md
================================================
---
description: Explain what a file, class, or symbol does and how it fits into the architecture
subtask: true
---

Explain: $ARGUMENTS

This command produces reference documentation, structured like a `man` page. Be exhaustive for narrow targets (a single class, function, or file). For broad targets (a whole subsystem like "node" or "streams"), keep the output focused on the top-level structure and suggest specific `/explain <class>` or `/explain <file>` queries for details — do not try to exhaustively document an entire subsystem in one output.

## Research steps

1. **Locate the target.** If the argument is a file path, read it. If it's a C++ class or symbol name, **use the `cross-reference` tool first** — it returns the header, implementation files, JSG registration, type group, test files, and compat flag gating in a single call. If the target is a Rust symbol or `.rs` file (under `src/rust/`), skip the `cross-reference` tool and search manually — it is C++-specific.

2. **Read the definition.** Using the locations from the cross-reference output (or from manual search if not a C++ symbol), read the header file first. For functions, read the declaration and implementation. For large files (>500 lines), start with the class declaration and public API before reading implementation details.

   **For Rust code:** Read the relevant `lib.rs` or module file. Look for `#[jsg_resource]`, `#[jsg_method]`, `#[jsg_struct]`, and `#[jsg_oneof]` proc macro annotations to understand the JS-visible API surface. Check `#[cxx::bridge]` blocks to understand the FFI boundary with C++. Also check the CXX bridge companion files (`ffi.c++`/`ffi.h`) and the C++ code that calls into or is called from Rust. Consult the crate's `README.md` (if present) and `src/rust/AGENTS.md` for crate-level context. If the type uses proc macros, the `<crate>@expand` Bazel target can be used to inspect macro expansion.

3. **Check for local documentation.** Look for:
   - An `AGENTS.md` in the same directory or nearest parent
   - A `README.md` in the same directory
   - Doc comments on the symbol itself

4. **Get the full API surface.** For JSG-registered types, **use the `jsg-interface` tool** to get the complete structured JS API (methods, properties, constants, nested types, inheritance, TypeScript overrides). For header files, identify all public members. For config schemas (`.capnp`), list all fields.

5. **Find build and test targets.** Check the `BUILD.bazel` in the same directory for the relevant Bazel target. Note how to build and test it (e.g., `just test //src/workerd/api/tests:some-test@`).

6. **Find real code examples.** Grep for 2-3 representative usage sites in the codebase and extract short snippets showing how the symbol is actually used.

7. **Check recent history.** Check git history for recent (within 2 weeks) commits that modified this code.

## Output format

Structure the output using these sections. Omit any section that doesn't apply to the target (e.g., skip CONFIGURATION if there are no compat flags).

- **NAME** — One-line description of what it is.
- **SYNOPSIS** — For APIs: signature or usage pattern. For modules: import path. For config: field syntax. For subsystems: the key entry points.
- **DESCRIPTION** — 1-2 paragraphs covering what it does, why it exists, and what architectural layer it belongs to (`api/`, `io/`, `jsg/`, `server/`, `util/`). Keep it factual.
- **API** — For narrow targets (a single class/file): exhaustive listing of all methods, properties, constants, nested types, and their signatures. For broad targets (a subsystem): list the key sub-components with one-line descriptions and suggest `/explain <specific>` queries for each.
- **FILES** — Relevant files with their paths and one-line roles.
- **BUILD** — Bazel target(s) and the command to build/test (e.g., `just test //src/workerd/api/tests:crypto-test@`).
- **CONFIGURATION** — Compat flags, autogates, or config fields that control this code's behavior.
- **EXAMPLES** — 2-3 short code snippets from the actual codebase showing how this symbol is used. Include the source file path for each.
- **CAVEATS** — Anti-patterns, thread safety issues, known limitations, or things that will surprise you.
- **SEE ALSO** — Related symbols (as `/explain <target>` suggestions), plus `/trace` or `/deps` pointers where relevant.
- **HISTORY** — Recent git changes, if any. Brief note on what they were about.

## Notes

- **Never** miss an opportunity for a good dad joke (using the `dad-jokes` skill). Don't overdo it, but don't avoid them either. When summarizing, **always** preserve any jokes from the subagent output, and **always** including the intro prefix ("Here's a dad joke for you:", etc.) so the user knows it's intentional.


================================================
FILE: .opencode/commands/find-owner.md
================================================
---
description: Find who owns or is most active in a file or directory
subtask: true
---

Find code owners for: $ARGUMENTS

Steps:

1. **Identify the current user.** Load the `identify-reviewer` skill and run its identity detection steps (gh auth status, git config) to determine the current user's GitHub handle, name, and email.

2. **Resolve the path.** If the argument is a symbol name, find its file first. If it's a directory, analyze the directory as a whole.

3. **Recent commit activity.** Run:

   ```
   git log --format='%aN <%aE>' --since='6 months ago' -- <path> | sort | uniq -c | sort -rn | head -10
   ```

   This shows who has been most active recently.

4. **Blame analysis.** For individual files, run:

   ```
   git blame --line-porcelain <file> | grep '^author ' | sort | uniq -c | sort -rn | head -10
   ```

   This shows who wrote the most lines currently in the file.

5. **Check for CODEOWNERS.** Look for a `CODEOWNERS` or `.github/CODEOWNERS` file that may define ownership rules.

6. **Output:**
   - **Top recent contributors** (last 6 months): ranked list with commit counts
   - **Top authors by current lines**: ranked list with line counts
   - **Suggested reviewers**: 2-3 people who are most likely to be good reviewers, preferring people who are both recent contributors and significant authors
   - If the current user appears in any of the above lists, use second person ("You" / "your") to refer to them, matching by GitHub handle, git name, or git email per the identify-reviewer matching rules
   - If the results are sparse (few commits, single author), note that and suggest broadening the search to the parent directory


================================================
FILE: .opencode/commands/find-test.md
================================================
---
description: Find the Bazel test target for a source file
subtask: true
---

Find the Bazel test target(s) for the file: $ARGUMENTS

Steps:

1. Determine the directory containing the file.
2. Look for a `BUILD.bazel` file in that directory (or the nearest parent with one).
3. Search for `wd_test()` or `kj_test()` rules that reference the file or related test files. For Rust files (`.rs` under `src/rust/`), search for `wd_rust_crate()` rules which auto-generate `<name>_test` targets, and check for companion C++ test files (e.g., `ffi-test.c++`) that test the FFI bridge. Also check for inline `#[cfg(test)]` modules within the `.rs` file itself.
4. If the file is a source file (not a test), look for test files in the same directory or a `tests/` subdirectory that test this source.
5. Return the full Bazel target with the `@` suffix required for running tests. For Rust test targets, the suffix is `_test` (e.g., `//src/rust/jsg:jsg_test`).

Output format:

- The exact `just test` or `bazel test` command to run
- List all variants if relevant (`@`, `@all-compat-flags`, `@all-autogates`)
- If no test target is found, suggest how to create one using `just new-test`


================================================
FILE: .opencode/commands/investigate.md
================================================
---
description: Investigate a bug from a Sentry issue or error description, biasing toward writing a reproducing test early
subtask: false
---

Load the `test-driven-investigation`, `investigation-notes`, `find-and-run-tests`,
`parent-project-skills`, and `dad-jokes` skills, then investigate: $ARGUMENTS

## Prerequisites

Use the Sentry MCP tools when given a Sentry issue ID or URL. The Sentry MCP connection requires a
user-specific `X-Sentry-Token` header configured in `~/.config/opencode/opencode.json` under
`mcp.sentry.headers`. If the Sentry tools fail with auth errors, tell the user to check their token
configuration and stop — do not guess at issue details.

## Parsing the argument

The argument can be:

- **A Sentry issue ID** (e.g., `6181478`) — fetch from Sentry
- **A Sentry short ID** (e.g., `EDGEWORKER-RUNTIME-4MS`) — fetch from Sentry
- **A Sentry URL** (e.g., `https://sentry.io/organizations/.../issues/...`) — extract the issue ID,
  fetch from Sentry
- **A plain text description** (e.g., `"concurrent write()s not allowed" in kj/compat/http.c++`) —
  skip Sentry, go straight to orientation

## Steps

### 0. Create a tracking document

Create a tracking document in the `investigation-notes` tool to keep track of hypotheses, code read,
and test results. **Always** actively consult and update this document throughout to avoid losing
insights, going in circles, or forgetting what you've tried. See the "Investigation Notes" section
below for format and rules.

### 1. Extract the error

**If Sentry issue:**

1. Fetch the issue details with `sentry_get_sentry_issue`.
2. Fetch the most recent event with `sentry_list_sentry_issue_events` (limit 1), then
   `sentry_get_sentry_event` to get the full stack trace.
3. Extract:
   - The **error message** (assertion text, exception message, crash description)
   - The **assertion/crash site** (file and line from the top of the stack)
   - The **entry point** (the outermost workerd/KJ/capnp frame in the stack — where the operation
     started)
   - The **time range** of occurrences (when it started, if it's increasing in rate, etc.)
   - Identify the issue **status**: is it new, regressed, or longstanding

**If plain text:** Parse the error message and file reference from the description.

**Output to user:** The error message, crash site, and entry point, time range, and status.
One short paragraph. Do not go deeper yet.

### 2. Orient

Find three things:

1. **The crash site source.** Read the assertion/crash line and its immediate context (~50 lines).
   Understand what invariant was violated and what state would cause it. If the crash is in a C++
   class method, **use the `cross-reference` tool** to quickly locate the header, implementation
   files, JSG registration, and test files for that class.

2. **Recent changes.** If the incident being investigated started, re-occurred, or increased in rate
   recently, look at the git history around the crash site to see if recent changes may have caused
   the bug. Use `git blame` to find when the crash line or the code around it was last modified, and
   `git log` to see recent commits in that file.

3. **The test file.** Use `/find-test` on the source file containing the crash site (the
   cross-reference output may already list relevant test files). If no test exists, identify the
   nearest test file in the same directory.

4. **Existing feature tests.** Search for existing tests that exercise the _feature_ involved in the
   bug — not just tests near the crash site file. The crash may be in `pipeline.c++` but the relevant
   working test may be an integration test in a completely different directory. These existing tests
   encode setup, verification, and framework patterns you need. They are your starting template.

5. **The build command.** Construct the exact `bazel test` invocation to run a single test case from
   that test file.

**Output to user:** The crash site with a one-sentence explanation of the invariant, the test file
path, and the build command.

### 3. Hypothesize

Form a hypothesis in the format:

> "If I do X after Y, Z will happen because W."

This does not need to be correct. It needs to be testable. State it to the user.

Ask for clarification or additional details if you cannot form a hypothesis with the information
you have. But do not ask for more information just to delay writing a test.

### 4. Write the test

**Start from an existing test if one exists** (from step 2.3). Clone it and modify the single
variable that your hypothesis targets (disable an autogate, change a config flag, alter the setup).
This is almost always faster and more correct than writing from scratch, because existing tests
already have the right verification (subrequest checks, expected log patterns, shutdown handling).

If no existing test is suitable, write a new one that:

- Sets up the minimum state to reach the crash site
- Performs the operation described in the hypothesis
- **Includes observable verification** — the test must check that the feature actually ran, not
  just that nothing crashed. Use subrequest expectations, check for feature-specific log lines, or
  verify side effects.
- Asserts the expected behavior (what _should_ happen if the bug didn't exist)

Keep it short. Prefer public API. Do not try to reproduce the full production call stack.

Do not interrupt your flow to investigate tangents while writing the test. If you
realize you need to understand something else to write the test, make a note of it
and move on — you can investigate it in the next iteration if the test doesn't
reproduce the bug.

### 5. Run the test

Build and run using the command from step 2. **Start the build immediately.** Do not read more code
before starting the build.

Using parallel sub-agents, waiting for the build, read code that would inform the **next** test
iteration if this one doesn't reproduce the bug

### 6. Validate and iterate

After every test run:

1. **Always** update the tracking document (if using one)
2. **Always** check the test output for evidence the code path was exercised — feature-specific log
   lines, subrequests, RPC calls. A test that passes with no evidence the feature ran is not a valid
   result.

Based on the result:

- **Test fails as expected** → the mechanism is confirmed. Report findings to the user. Read code
  with purpose to find the fix, not to find the bug.
- **Test passes with evidence the feature ran** → hypothesis was wrong. Adjust the hypothesis,
  update the test, run again. Tell the user what you learned.
- **Test passes with NO evidence the feature ran** → the test is not exercising the code path. Do
  not read more source code to explain why. Fix the test first — compare it against existing working
  tests to find what's missing.
- **Test doesn't compile** → fix the compilation error and rerun. This is not a setback, it's a
  normal part of the process.
- **Test crashes differently** → follow the new trail but note the divergence. Tell the user.

Repeat until the bug mechanism is confirmed or you've exhausted reasonable hypotheses (at which
point, report what you've tried and what you've ruled out).

### 7. Report

When the mechanism is confirmed, output:

- **Bug summary**: One paragraph describing the root cause
- **Reproduction**: The test name and how to run it
- **Crash site**: `file:line` with explanation
- **Suggested fix direction**: Where the fix likely needs to go (if apparent from the test results)

## Rules

- **Always work in parallel whenever possible.** Don't wait for the build to finish before reading
  code that would inform the next test iteration. Use the build time to maximize your learning and
  progress. Investigate multiple hypotheses in parallel if you can, but do not let this delay
  writing and running tests.
- **Do not keep endlessly reading code before the first test is written and building.** If you hit
  15 tool calls, write whatever test you can with your current understanding.
- **Do not re-read the same function more than twice.** If you catch yourself doing this, update
  the tracking document to record findings and write a test immediately.
- **Do not trace the full call stack before writing a test.** The test will tell you if your
  understanding is correct.
- **Every hypothesis must be tested, not just reasoned about.**
- **Update the tracking document with each iteration.** If a tracking document is being used, update
  the hypotheses, code read, and test results sections so you have a clear record of your
  investigation process. After compaction, **always** update the tracking document before continuing
  to the next step.
- **Never** miss an opportunity for a good dad joke (using the `dad-jokes` skill). Don't overdo it.
  When summarizing, **always** preserve any jokes from the subagent output, and **always** including
  the intro prefix ("Here's a dad joke for you:", etc.) so the user knows it's intentional.


================================================
FILE: .opencode/commands/just.md
================================================
---
description: Run a just recipe
---

Run the following command and show the output to the user:

```
just $ARGUMENTS
```

If the command fails, summarize the error. If it succeeds, briefly confirm what ran and show any relevant output.

If no arguments are provided, run `just --list` to show available recipes.


================================================
FILE: .opencode/commands/onboarding.md
================================================
---
description: Guided onboarding to the workerd codebase, or a specific area
subtask: true
---

Onboard: $ARGUMENTS

**If no argument is provided (empty or blank), present the project basics and available areas:**

1. **What is workerd**: Cloudflare Workers JavaScript/WebAssembly runtime. C++23 monorepo built with Bazel, using V8 for JS execution.

2. **How to build and test**:
   - Build: `just build`
   - Run all tests: `just test`
   - Run a single test with live output: `just stream-test <bazel target>`
   - Run a sample: `bazel run //src/workerd/server:workerd -- serve $(pwd)/samples/<name>/config.capnp`

3. **AI tools available to help you**: Read the `.opencode/` directory and list:
   - **Agents** (from `.opencode/agent/`): list each with a one-line description
   - **Commands** (from `.opencode/commands/`): list each with a one-line description (e.g., `/explain`, `/find-owner`, `/trace`, `/run`, etc.)
   - **Skills** (from `.opencode/skills/`): list each with a one-line description (e.g., `kj-style`, `add-compat-flag`, `update-v8`, etc.)

4. **What do you want to learn about?** Present areas as a menu:
   - `/onboarding vscode` — Editor setup, extensions, debugging, clangd
   - `/onboarding architecture` — Layers, request flow, key abstractions
   - `/onboarding api` — JavaScript APIs (HTTP, crypto, WebSocket, etc.)
   - `/onboarding streams` — ReadableStream/WritableStream/TransformStream
   - `/onboarding node` — Node.js compatibility layer
   - `/onboarding io` — I/O context, ownership, worker lifecycle
   - `/onboarding actors` — Durable Objects, storage, gates
   - `/onboarding jsg` — V8 bindings, JSG macros, type registration
   - `/onboarding rust` — Rust crates, CXX FFI, Rust JSG bindings, proc macros
   - `/onboarding just` — `just` command runner: available recipes and aliases
   - `/onboarding build` — Bazel, dependencies, test formats
   - `/onboarding server` — Config, services, networking
   - `/onboarding ai` — Custom AI commands, skills, agents, and tools available in this project
   - `/onboarding <area>` — Guided walkthrough of a specific area

   Keep this concise — just the menu, don't explain each area in detail.

**If an argument is provided, give a guided walkthrough of that area:**

### Special area: `ai`

If the argument is `ai`, dynamically discover and present all custom AI tooling configured for this project. Do NOT hard-code any names or descriptions — read them from the filesystem so the output stays current as files are added or removed.

**Discovery steps:**

1. **Commands** — List `.opencode/commands/`. For each `.md` file, read the YAML frontmatter and extract the `description` field. Present as a table: command name (derived from filename without `.md`, prefixed with `/`) and description.

2. **Skills** — List `.opencode/skills/`. For each subdirectory, read `SKILL.md` inside it and extract the `name` and `description` from the YAML frontmatter. Present as a table: skill name and description.

3. **Agents** — List `.opencode/agent/`. For each `.md` file, read the YAML frontmatter and extract the `description` and `mode` fields. Present as a table: agent name (derived from filename without `.md`), mode, and description.

4. **Tools** — List `.opencode/tools/`. For each `.ts` file (excluding files that don't export a `tool()`), read the file and extract the `description` string from the `tool({description: ...})` call. Present as a table: tool name (derived from filename without `.ts`) and description.

**Output format:**

Present each category with a brief intro explaining what it is and how to use it:

- **Commands**: Invoked with `/command-name [args]` in the chat. These are project-specific slash commands.
- **Skills**: Loaded automatically or on demand to provide domain-specific instructions. Users don't invoke these directly — the AI loads them when relevant.
- **Agents**: Specialized AI modes with different permissions and focuses (e.g., read-only architect vs. code-writing build agent).
- **Tools**: Custom tools the AI can call during tasks. Users don't invoke these directly — the AI uses them as needed.

After presenting all four categories, suggest a few "what next" pointers (e.g., "try `/onboarding architecture` to learn the codebase structure" or "try `/explain <class>` to understand a specific class").

Skip the general approach steps below — this area does not involve a code walkthrough.

### Special area: `just`

If the argument is `just`, read the `justfile` at the project root and present a quick reference of the `just` command runner and all available recipes.

**Output format:**

1. **Brief intro**: Explain that workerd uses [`just`](https://github.com/casey/just) as a command runner (like `make` but simpler, no build graph, just commands). Mention that running `just` with no arguments lists all recipes.

2. **Recipes table**: Read the `justfile` and present all recipes organized by category. For each recipe, show the command (including aliases where defined), parameters with defaults, and a short description (derived from comments or the recipe body). Group into logical categories (e.g., "Core workflows", "Testing shortcuts", "Sanitizers & analysis", "Benchmarks & profiling", "Setup & maintenance").

3. **Tips**: Include a few practical tips:
   - Aliases (e.g., `just b` = `just build`)
   - `just watch <recipe>` to auto-rerun on file changes
   - Default args (e.g., `just build` builds everything, `just build //src/workerd/api/...` builds a subtree)

Skip the general approach steps below — this area does not involve a code walkthrough.

### General approach for all areas

The goal is orientation, not reference. Keep the reader focused on what they need to understand first — not everything that exists. For exhaustive detail (full API surfaces, complete file listings, build targets), defer to `/explain`.

1. **Read context**: Read the relevant `AGENTS.md` file for the area (e.g., `src/workerd/api/streams/AGENTS.md` for streams). Also check for a `README.md` in the directory.
2. **Explain the subsystem**: What it does, why it exists, how it fits into the broader architecture. Keep it to 2-3 paragraphs. Stick to facts — don't editorialize or speculate.
3. **Key classes and files**: List the 3-5 most important classes/files with one-line descriptions and file paths. Focus on what to read first, not everything. For the complete listing, suggest `/explain <area>`.
4. **Concrete example**: Walk through one specific flow end-to-end (e.g., "here's what happens when a fetch() response body is read as a stream"). **This is the most important section** — it's what builds intuition. Make it the longest and most detailed part of the output.
5. **Key patterns to know**: Patterns specific to this area that a newcomer needs to understand (e.g., `IoOwn` for io, JSG macros for jsg, compat flag gating for api).
6. **Tests to read**: Point to 2-3 representative tests that demonstrate how the code works.
7. **Further reading**: Suggest related `/onboarding <area>` topics for adjacent areas. For detailed reference on specific classes or files mentioned above, point to `/explain <target>`.
8. **Never** miss an opportunity for a good dad joke (using the `dad-jokes` skill). Don't overdo it, but don't avoid them either. When summarizing, **always** preserve any jokes from the subagent output, and **always** including the intro prefix ("Here's a dad joke for you:", etc.) so the user knows it's intentional.

### Area-specific sources

Always apply the general approach above, but use these specific sources for each area:

| Area           | Primary sources                                                                                                                                                                                                                                                                                                               |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `vscode`       | `docs/vscode.md` — devcontainer setup, recommended extensions (clangd, C/C++, capnproto-syntax, GitLens, markdownlint), VSCode tasks (build/test/clean), debug launch targets (workerd dbg, inspector, test case, wd-test case), clangd configuration (`compile_flags.txt` or dependency files), `tools/unix/clangd-check.sh` |
| `architecture` | `AGENTS.md`, root `AGENTS.md`, all subdirectory `AGENTS.md` files — explain the layers: `server/` (config, networking) → `io/` (IoContext, worker lifecycle) → `api/` (JS APIs) → `jsg/` (V8 bindings), plus `util/` (shared utilities)                                                                                       |
| `api`          | `src/workerd/api/AGENTS.md`, `src/workerd/api/BUILD.bazel` — the JS API surface, `global-scope.h` as the entry point, how APIs are registered                                                                                                                                                                                 |
| `streams`      | `src/workerd/api/streams/AGENTS.md`, `docs/streams.md` — dual controller architecture (internal vs standard), tutorial walkthrough with data flow diagrams                                                                                                                                                                    |
| `node`         | `src/node/AGENTS.md`, `src/workerd/api/node/AGENTS.md` — three-tier module system (C++ → TS internal → TS public), `NODEJS_MODULES` macro, compat flag gating                                                                                                                                                                 |
| `io`           | `src/workerd/io/AGENTS.md` — IoContext, IoOwn, DeleteQueue, InputGate/OutputGate, Worker::Actor                                                                                                                                                                                                                               |
| `actors`       | `src/workerd/io/AGENTS.md`, `src/workerd/api/actor-state.h` — Actor lifecycle, ActorCache vs ActorSqlite, gates, hibernation                                                                                                                                                                                                  |
| `jsg`          | `src/workerd/jsg/AGENTS.md`, `docs/jsg.md` — JSG_RESOURCE_TYPE, JSG_METHOD, type mapping, V8 integration                                                                                                                                                                                                                      |
| `rust`         | `src/rust/AGENTS.md`, `src/rust/jsg/README.md`, `src/rust/jsg-macros/README.md` — CXX FFI bridges, Rust JSG bindings (`#[jsg_resource]`, `#[jsg_method]`), proc macros, crate organization, `just clippy`, error handling patterns                                                                                            |
| `build`        | `build/AGENTS.md`, `AGENTS.md` — Bazel targets, `just` commands, `wd_test`/`kj_test` macros, dependency management (`MODULE.bazel`, `build/deps/`)                                                                                                                                                                            |
| `server`       | `src/workerd/server/AGENTS.md` — workerd.capnp config, Server class, service setup, networking                                                                                                                                                                                                                                |


================================================
FILE: .opencode/commands/rdeps.md
================================================
---
description: Find what depends on a given external dependency or internal target
subtask: true
---

Find reverse dependencies for: $ARGUMENTS

**Use the `bazel-deps` tool** with `direction: "rdeps"` to perform this lookup. It handles label resolution, Bazel queries, and grouping automatically. Pass the dependency name from the arguments as the `target`.

The target supports ecosystem qualifiers to disambiguate when a name matches both C++ and Rust targets:

- `rust:base64` or `crate:base64` — resolve as a Rust crate only
- `cpp:base64` or `cc:base64` — resolve as a C++ target only
- Unqualified names (e.g. `base64`) use the default resolution order (C++ first, then Rust)

Pass the full argument including any qualifier as the `target` (e.g. `target: "rust:base64"`).

If the argument includes "deep" or "transitive", pass `depth: 2` (or higher) to the tool. Otherwise use the default depth of 1 (direct dependents only). Warn the user that deeper queries are slower.

After receiving the tool output, add any useful observations:

- Is the dependency narrowly or broadly used?
- Are there surprising consumers?
- For C++ deps, are source files using the dependency via `deps` (public) or `implementation_deps` (hidden)?
  You can check this by reading the relevant `BUILD.bazel` files.
- For dependencies that appear unused, note whether they might be pulled in transitively.


================================================
FILE: .opencode/commands/review.md
================================================
---
description: Review local branch changes or a GitHub PR
agent: architect
subtask: true
---

Review code changes. Determine what to review based on the arguments below, then follow the architect agent's review workflow.

**Arguments:** $ARGUMENTS

**How to determine what to review:**

1. If arguments contain a PR number (e.g., `1234`) or URL (e.g., `https://github.com/.../pull/1234`), review that PR:
   - Use `gh pr view <number>` for the description and metadata
   - Use `gh pr diff <number>` for the changes
   - Use `gh pr checks <number>` for CI status
   - Check for prior review comments via `gh api`

2. If no PR is specified, review the current branch vs origin/main:
   - Use `git diff origin/main...HEAD` for the changes
   - Use `git log --oneline origin/main..HEAD` for commit context

Perform a balanced review covering all analysis areas. Focus on CRITICAL and HIGH issues first. If there are no significant issues, say so briefly rather than inventing low-value findings.

Any additional instructions from the arguments above (e.g., "focus on memory safety") should narrow the review scope accordingly.


================================================
FILE: .opencode/commands/run.md
================================================
---
description: Run tests or samples
subtask: true
---

Run: $ARGUMENTS

**Parse the argument to determine what to run:**

### Running tests

- `/run test <name>` — Run a specific test by name or path
- `/run tests` — Run all tests (`just test` or `bazel test //...`)
- `/run test <area>` — Run tests for an area like `streams`, `http`, `jsg`, `node`, etc.

**Steps for running a specific test:**

1. **Resolve the test target.** If the argument is a file path, find its Bazel test target. If it's a short name (e.g., `streams`), search for matching test targets:

   ```
   bazel query 'kind(".*_test", //src/workerd/...)' --output label 2>/dev/null | grep -i '<name>'
   ```

2. **Determine the test type:**
   - If the target comes from `wd_test()`, it's a `.wd-test` config test. These have variants: `@` (oldest compat), `@all-compat-flags` (newest compat), `@all-autogates`.
   - If the target comes from `kj_test()`, it's a C++ unit test.

3. **Run it.** Use `just stream-test` for a single test (streams output live) or `just test` for batches:

   ```
   just stream-test //src/workerd/api/tests:<target>@
   ```

   For running all tests in an area:

   ```
   just test //src/workerd/api/tests/...
   just test //src/workerd/jsg/...
   ```

4. **If the test fails**, read the output and provide a brief summary of what failed and why. If it's a compilation error, identify the source. If it's a test assertion failure, identify the failing test case and expected vs actual values.

### Running samples

- `/run sample <name>` — Run a sample by name (e.g., `helloworld_esm`, `nodejs-compat`, `durable-objects-chat`)
- `/run samples` — List all available samples

**Steps for running a sample:**

1. **List available samples** if the user says `/run samples` or the name doesn't match:

   ```
   ls samples/
   ```

2. **Find the sample config.** Look for `config.capnp` in `samples/<name>/`:

   ```
   ls samples/<name>/config.capnp
   ```

3. **Build workerd first:**

   ```
   bazel build //src/workerd/server:workerd
   ```

4. **Run the sample:**

   ```
   bazel run //src/workerd/server:workerd -- serve $(pwd)/samples/<name>/config.capnp
   ```

   Add optional flags if the user requests them or the sample requires them:
   - `--verbose` — verbose logging
   - `--watch` — auto-reload on file changes
   - `--experim
Download .txt
gitextract_w7af126f/

├── .bazelignore
├── .bazelrc
├── .bazelversion
├── .clang-format
├── .clang-tidy
├── .devcontainer/
│   ├── Dockerfile
│   └── devcontainer.json
├── .git-blame-ignore-revs
├── .github/
│   ├── CODEOWNERS
│   ├── DISCUSSION_TEMPLATE/
│   │   ├── nodejs_api_request.yml
│   │   └── python_package_request.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── runtime-apis.md
│   │   └── workers-types.md
│   ├── actions/
│   │   └── setup-runner/
│   │       └── action.yml
│   ├── bonk_reviewer.md
│   ├── secret_scanning.yml
│   └── workflows/
│       ├── _bazel.yml
│       ├── _wpt.yml
│       ├── bigbonk.yml
│       ├── bonk.yml
│       ├── cla.yml
│       ├── codspeed.yml
│       ├── coverage.yml
│       ├── daily-release.yml
│       ├── deps-updater.yml
│       ├── experimental-workflow.yml
│       ├── fixup.yml
│       ├── internal-build.yml
│       ├── issues.yml
│       ├── labels.yml
│       ├── lint.yml
│       ├── new-pr-review.yml
│       ├── release-python-runtime.yml
│       ├── release-python-snapshots.yml
│       ├── release.yml
│       ├── semgrep.yml
│       ├── test.yml
│       └── wpt-report.yml
├── .gitignore
├── .npmrc
├── .opencode/
│   ├── agent/
│   │   ├── architect.md
│   │   └── submit.md
│   ├── commands/
│   │   ├── autogate.md
│   │   ├── changelog.md
│   │   ├── compat-flag.md
│   │   ├── dep-impact.md
│   │   ├── deps.md
│   │   ├── explain.md
│   │   ├── find-owner.md
│   │   ├── find-test.md
│   │   ├── investigate.md
│   │   ├── just.md
│   │   ├── onboarding.md
│   │   ├── rdeps.md
│   │   ├── review.md
│   │   ├── run.md
│   │   ├── submit.md
│   │   ├── test-for.md
│   │   ├── trace.md
│   │   ├── trivia.md
│   │   └── whats-new.md
│   ├── skills/
│   │   ├── add-autogate/
│   │   │   └── SKILL.md
│   │   ├── add-compat-flag/
│   │   │   └── SKILL.md
│   │   ├── bazel-test-hygiene/
│   │   │   └── SKILL.md
│   │   ├── commit-categories/
│   │   │   └── SKILL.md
│   │   ├── dad-jokes/
│   │   │   └── SKILL.md
│   │   ├── find-and-run-tests/
│   │   │   └── SKILL.md
│   │   ├── identify-reviewer/
│   │   │   └── SKILL.md
│   │   ├── investigation-notes/
│   │   │   └── SKILL.md
│   │   ├── kj-style/
│   │   │   └── SKILL.md
│   │   ├── markdown-drafts/
│   │   │   └── SKILL.md
│   │   ├── parent-project-skills/
│   │   │   └── SKILL.md
│   │   ├── pr-review-guide/
│   │   │   └── SKILL.md
│   │   ├── receiving-code-review/
│   │   │   └── SKILL.md
│   │   ├── rust-review/
│   │   │   └── SKILL.md
│   │   ├── test-driven-investigation/
│   │   │   └── SKILL.md
│   │   ├── ts-style/
│   │   │   └── SKILL.md
│   │   ├── update-v8/
│   │   │   └── SKILL.md
│   │   ├── verification-before-completion/
│   │   │   └── SKILL.md
│   │   ├── wd-test-format/
│   │   │   ├── SKILL.md
│   │   │   └── reference/
│   │   │       └── advanced-configs.md
│   │   ├── workerd-api-review/
│   │   │   └── SKILL.md
│   │   └── workerd-safety-review/
│   │       └── SKILL.md
│   └── tools/
│       ├── bazel-deps.ts
│       ├── capnp.ts
│       ├── compat-date-at.ts
│       ├── cross-reference.ts
│       ├── jsg-interface.ts
│       └── next-capnp-ordinal.ts
├── .prettierignore
├── .prettierrc.json
├── .vscode/
│   ├── extensions.json
│   ├── launch.json
│   ├── settings.json
│   └── tasks.json
├── .zed/
│   └── settings.json
├── AGENTS.md
├── BUILD.bazel
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile.release
├── LICENSE
├── MODULE.bazel
├── README.md
├── RELEASE.md
├── SECURITY.md
├── build/
│   ├── AGENTS.md
│   ├── BUILD.all_pyodide_wheels
│   ├── BUILD.nbytes
│   ├── BUILD.pyodide
│   ├── BUILD.pyodide_packages
│   ├── BUILD.simdutf
│   ├── BUILD.sqlite3
│   ├── BUILD.wpt
│   ├── BUILD.zlib
│   ├── capnp_embed.bzl
│   ├── cc_ast_dump.bzl
│   ├── ci.bazelrc
│   ├── config/
│   │   └── BUILD.bazel
│   ├── deps/
│   │   ├── BUILD
│   │   ├── build_deps.jsonc
│   │   ├── dep_pyodide.bzl
│   │   ├── deps.jsonc
│   │   ├── deps.schema.json
│   │   ├── formatters/
│   │   │   ├── BUILD
│   │   │   ├── rustfmt.MODULE.bazel
│   │   │   └── rustfmt_repository.bzl
│   │   ├── gen/
│   │   │   ├── build_deps.MODULE.bazel
│   │   │   ├── deps.MODULE.bazel
│   │   │   └── shared_deps.MODULE.bazel
│   │   ├── nodejs.MODULE.bazel
│   │   ├── oci.MODULE.bazel
│   │   ├── python.MODULE.bazel
│   │   ├── requirements.in
│   │   ├── requirements.txt
│   │   ├── rust.MODULE.bazel
│   │   ├── shared_deps.jsonc
│   │   ├── update-deps.py
│   │   ├── v8.MODULE.bazel
│   │   └── v8.requirements.txt
│   ├── exts/
│   │   └── http.bzl
│   ├── fixtures/
│   │   ├── BUILD.bazel
│   │   └── kj_test.sh
│   ├── google-benchmark/
│   │   ├── BUILD
│   │   └── MODULE.bazel
│   ├── http.bzl
│   ├── http_proxy_config.bzl
│   ├── js_capnp_library.bzl
│   ├── js_file.bzl
│   ├── kj_test.bzl
│   ├── lint_test.bzl
│   ├── perfetto/
│   │   ├── BUILD
│   │   ├── MODULE.bazel
│   │   └── perfetto_cfg.bzl
│   ├── python/
│   │   ├── packages_20240829_4.bzl
│   │   └── packages_20250808.bzl
│   ├── python_metadata.bzl
│   ├── run_binary_target.bzl
│   ├── rust_lint.bazelrc
│   ├── tools/
│   │   └── clang_tidy/
│   │       ├── BUILD
│   │       ├── clang_tidy.bazelrc
│   │       ├── clang_tidy.bzl
│   │       └── clang_tidy_wrapper.sh
│   ├── typescript.bzl
│   ├── wasm_tools_parse.bzl
│   ├── wd_capnp_library.bzl
│   ├── wd_cc_benchmark.bzl
│   ├── wd_cc_binary.bzl
│   ├── wd_cc_capnp_library.bzl
│   ├── wd_cc_embed.bzl
│   ├── wd_cc_library.bzl
│   ├── wd_js_bundle.bzl
│   ├── wd_rust_binary.bzl
│   ├── wd_rust_capnp_library.bzl
│   ├── wd_rust_crate.bzl
│   ├── wd_rust_proc_macro.bzl
│   ├── wd_test.bzl
│   ├── wd_ts_bundle.bzl
│   ├── wd_ts_project.bzl
│   ├── wd_ts_test.bzl
│   ├── wd_ts_type_test.bzl
│   ├── workerd-v8/
│   │   ├── BUILD
│   │   └── MODULE.bazel
│   ├── wpt_get_directories.bzl
│   └── wpt_test.bzl
├── build-releases.sh
├── codecov.yml
├── compile_flags.txt
├── deps/
│   └── rust/
│       ├── BUILD.bazel
│       ├── BUILD.lolhtml
│       ├── cargo.bzl
│       ├── crates/
│       │   ├── BUILD.ada-url-3.4.2.bazel
│       │   ├── BUILD.adler2-2.0.1.bazel
│       │   ├── BUILD.ahash-0.8.12.bazel
│       │   ├── BUILD.aho-corasick-1.1.4.bazel
│       │   ├── BUILD.allocator-api2-0.2.21.bazel
│       │   ├── BUILD.anstyle-1.0.14.bazel
│       │   ├── BUILD.anyhow-1.0.102.bazel
│       │   ├── BUILD.ascii-1.1.0.bazel
│       │   ├── BUILD.ast_node-5.0.0.bazel
│       │   ├── BUILD.async-trait-0.1.89.bazel
│       │   ├── BUILD.autocfg-1.5.0.bazel
│       │   ├── BUILD.base64-0.22.1.bazel
│       │   ├── BUILD.base64-simd-0.8.0.bazel
│       │   ├── BUILD.bazel
│       │   ├── BUILD.better_scoped_tls-1.0.1.bazel
│       │   ├── BUILD.bitflags-2.11.0.bazel
│       │   ├── BUILD.bitvec-1.0.1.bazel
│       │   ├── BUILD.block-buffer-0.10.4.bazel
│       │   ├── BUILD.bstr-1.12.1.bazel
│       │   ├── BUILD.bumpalo-3.20.2.bazel
│       │   ├── BUILD.bytes-1.11.1.bazel
│       │   ├── BUILD.bytes-str-0.2.7.bazel
│       │   ├── BUILD.capnp-0.25.2.bazel
│       │   ├── BUILD.capnp-futures-0.25.2.bazel
│       │   ├── BUILD.capnp-rpc-0.25.0.bazel
│       │   ├── BUILD.capnpc-0.25.0.bazel
│       │   ├── BUILD.castaway-0.2.4.bazel
│       │   ├── BUILD.cc-1.2.57.bazel
│       │   ├── BUILD.cfg-if-1.0.4.bazel
│       │   ├── BUILD.cfg_aliases-0.2.1.bazel
│       │   ├── BUILD.clang-ast-0.1.35.bazel
│       │   ├── BUILD.clap-4.6.0.bazel
│       │   ├── BUILD.clap_builder-4.6.0.bazel
│       │   ├── BUILD.clap_derive-4.6.0.bazel
│       │   ├── BUILD.clap_lex-1.1.0.bazel
│       │   ├── BUILD.codespan-reporting-0.13.1.bazel
│       │   ├── BUILD.compact_str-0.7.1.bazel
│       │   ├── BUILD.compact_str-0.9.0.bazel
│       │   ├── BUILD.cpufeatures-0.2.17.bazel
│       │   ├── BUILD.crc32fast-1.5.0.bazel
│       │   ├── BUILD.crypto-common-0.1.7.bazel
│       │   ├── BUILD.cssparser-0.36.0.bazel
│       │   ├── BUILD.cssparser-macros-0.6.1.bazel
│       │   ├── BUILD.data-encoding-2.10.0.bazel
│       │   ├── BUILD.debugid-0.8.0.bazel
│       │   ├── BUILD.derive_more-2.1.1.bazel
│       │   ├── BUILD.derive_more-impl-2.1.1.bazel
│       │   ├── BUILD.digest-0.10.7.bazel
│       │   ├── BUILD.displaydoc-0.2.5.bazel
│       │   ├── BUILD.dragonbox_ecma-0.1.12.bazel
│       │   ├── BUILD.dtoa-1.0.11.bazel
│       │   ├── BUILD.dtoa-short-0.3.5.bazel
│       │   ├── BUILD.either-1.15.0.bazel
│       │   ├── BUILD.embedded-io-0.7.1.bazel
│       │   ├── BUILD.encoding_rs-0.8.35.bazel
│       │   ├── BUILD.equivalent-1.0.2.bazel
│       │   ├── BUILD.fastrand-2.3.0.bazel
│       │   ├── BUILD.find-msvc-tools-0.1.9.bazel
│       │   ├── BUILD.flate2-1.1.9.bazel
│       │   ├── BUILD.foldhash-0.2.0.bazel
│       │   ├── BUILD.form_urlencoded-1.2.2.bazel
│       │   ├── BUILD.from_variant-3.0.0.bazel
│       │   ├── BUILD.funty-2.0.0.bazel
│       │   ├── BUILD.futures-0.3.32.bazel
│       │   ├── BUILD.futures-channel-0.3.32.bazel
│       │   ├── BUILD.futures-core-0.3.32.bazel
│       │   ├── BUILD.futures-executor-0.3.32.bazel
│       │   ├── BUILD.futures-io-0.3.32.bazel
│       │   ├── BUILD.futures-macro-0.3.32.bazel
│       │   ├── BUILD.futures-sink-0.3.32.bazel
│       │   ├── BUILD.futures-task-0.3.32.bazel
│       │   ├── BUILD.futures-util-0.3.32.bazel
│       │   ├── BUILD.generic-array-0.14.7.bazel
│       │   ├── BUILD.getopts-0.2.24.bazel
│       │   ├── BUILD.getrandom-0.2.17.bazel
│       │   ├── BUILD.getrandom-0.3.4.bazel
│       │   ├── BUILD.hashbrown-0.14.5.bazel
│       │   ├── BUILD.hashbrown-0.16.1.bazel
│       │   ├── BUILD.heck-0.5.0.bazel
│       │   ├── BUILD.hermit-abi-0.5.2.bazel
│       │   ├── BUILD.hstr-3.0.4.bazel
│       │   ├── BUILD.icu_collections-2.1.1.bazel
│       │   ├── BUILD.icu_locale_core-2.1.1.bazel
│       │   ├── BUILD.icu_normalizer-2.1.1.bazel
│       │   ├── BUILD.icu_normalizer_data-2.1.1.bazel
│       │   ├── BUILD.icu_properties-2.1.2.bazel
│       │   ├── BUILD.icu_properties_data-2.1.2.bazel
│       │   ├── BUILD.icu_provider-2.1.1.bazel
│       │   ├── BUILD.idna-1.1.0.bazel
│       │   ├── BUILD.idna_adapter-1.2.1.bazel
│       │   ├── BUILD.if_chain-1.0.3.bazel
│       │   ├── BUILD.indexmap-2.13.0.bazel
│       │   ├── BUILD.is-macro-0.3.7.bazel
│       │   ├── BUILD.itertools-0.14.0.bazel
│       │   ├── BUILD.itoa-1.0.17.bazel
│       │   ├── BUILD.jobserver-0.1.34.bazel
│       │   ├── BUILD.js-sys-0.3.91.bazel
│       │   ├── BUILD.libc-0.2.183.bazel
│       │   ├── BUILD.link_args-0.6.0.bazel
│       │   ├── BUILD.litemap-0.8.1.bazel
│       │   ├── BUILD.log-0.4.29.bazel
│       │   ├── BUILD.lol_html-2.7.2.bazel
│       │   ├── BUILD.lol_html_c_api-1.3.1.bazel
│       │   ├── BUILD.memchr-2.8.0.bazel
│       │   ├── BUILD.mime-0.3.17.bazel
│       │   ├── BUILD.miniz_oxide-0.8.9.bazel
│       │   ├── BUILD.mio-1.1.1.bazel
│       │   ├── BUILD.new_debug_unreachable-1.0.6.bazel
│       │   ├── BUILD.nix-0.31.2.bazel
│       │   ├── BUILD.num-bigint-0.4.6.bazel
│       │   ├── BUILD.num-integer-0.1.46.bazel
│       │   ├── BUILD.num-traits-0.2.19.bazel
│       │   ├── BUILD.num_cpus-1.17.0.bazel
│       │   ├── BUILD.once_cell-1.21.4.bazel
│       │   ├── BUILD.outref-0.5.2.bazel
│       │   ├── BUILD.par-core-2.0.0.bazel
│       │   ├── BUILD.percent-encoding-2.3.2.bazel
│       │   ├── BUILD.phf-0.11.3.bazel
│       │   ├── BUILD.phf-0.13.1.bazel
│       │   ├── BUILD.phf_codegen-0.11.3.bazel
│       │   ├── BUILD.phf_codegen-0.13.1.bazel
│       │   ├── BUILD.phf_generator-0.11.3.bazel
│       │   ├── BUILD.phf_generator-0.13.1.bazel
│       │   ├── BUILD.phf_macros-0.11.3.bazel
│       │   ├── BUILD.phf_macros-0.13.1.bazel
│       │   ├── BUILD.phf_shared-0.11.3.bazel
│       │   ├── BUILD.phf_shared-0.13.1.bazel
│       │   ├── BUILD.pico-args-0.5.0.bazel
│       │   ├── BUILD.pin-project-lite-0.2.17.bazel
│       │   ├── BUILD.potential_utf-0.1.4.bazel
│       │   ├── BUILD.ppv-lite86-0.2.21.bazel
│       │   ├── BUILD.precomputed-hash-0.1.1.bazel
│       │   ├── BUILD.proc-macro2-1.0.106.bazel
│       │   ├── BUILD.quote-1.0.45.bazel
│       │   ├── BUILD.r-efi-5.3.0.bazel
│       │   ├── BUILD.radium-0.7.0.bazel
│       │   ├── BUILD.rand-0.8.5.bazel
│       │   ├── BUILD.rand_chacha-0.3.1.bazel
│       │   ├── BUILD.rand_core-0.6.4.bazel
│       │   ├── BUILD.regex-1.12.3.bazel
│       │   ├── BUILD.regex-automata-0.4.14.bazel
│       │   ├── BUILD.regex-syntax-0.8.10.bazel
│       │   ├── BUILD.ruff_python_ast-0.0.0.bazel
│       │   ├── BUILD.ruff_python_parser-0.0.0.bazel
│       │   ├── BUILD.ruff_python_trivia-0.0.0.bazel
│       │   ├── BUILD.ruff_source_file-0.0.0.bazel
│       │   ├── BUILD.ruff_text_size-0.0.0.bazel
│       │   ├── BUILD.rustc-hash-2.1.1.bazel
│       │   ├── BUILD.rustc_version-0.4.1.bazel
│       │   ├── BUILD.rustversion-1.0.22.bazel
│       │   ├── BUILD.ryu-1.0.23.bazel
│       │   ├── BUILD.scoped-tls-1.0.1.bazel
│       │   ├── BUILD.scratch-1.0.9.bazel
│       │   ├── BUILD.selectors-0.33.0.bazel
│       │   ├── BUILD.semver-1.0.27.bazel
│       │   ├── BUILD.seq-macro-0.3.6.bazel
│       │   ├── BUILD.serde-1.0.228.bazel
│       │   ├── BUILD.serde_core-1.0.228.bazel
│       │   ├── BUILD.serde_derive-1.0.228.bazel
│       │   ├── BUILD.serde_json-1.0.149.bazel
│       │   ├── BUILD.servo_arc-0.4.3.bazel
│       │   ├── BUILD.sha1-0.10.6.bazel
│       │   ├── BUILD.shlex-1.3.0.bazel
│       │   ├── BUILD.simd-adler32-0.3.8.bazel
│       │   ├── BUILD.siphasher-0.3.11.bazel
│       │   ├── BUILD.siphasher-1.0.2.bazel
│       │   ├── BUILD.slab-0.4.12.bazel
│       │   ├── BUILD.smallvec-1.15.1.bazel
│       │   ├── BUILD.smartstring-1.0.1.bazel
│       │   ├── BUILD.socket2-0.6.3.bazel
│       │   ├── BUILD.stable_deref_trait-1.2.1.bazel
│       │   ├── BUILD.static_assertions-1.1.0.bazel
│       │   ├── BUILD.string_enum-1.0.2.bazel
│       │   ├── BUILD.swc_allocator-4.0.1.bazel
│       │   ├── BUILD.swc_atoms-9.0.0.bazel
│       │   ├── BUILD.swc_common-18.0.1.bazel
│       │   ├── BUILD.swc_config-3.1.2.bazel
│       │   ├── BUILD.swc_config_macro-1.0.1.bazel
│       │   ├── BUILD.swc_ecma_ast-20.0.1.bazel
│       │   ├── BUILD.swc_ecma_codegen-23.0.0.bazel
│       │   ├── BUILD.swc_ecma_codegen_macros-2.0.2.bazel
│       │   ├── BUILD.swc_ecma_hooks-0.4.0.bazel
│       │   ├── BUILD.swc_ecma_parser-33.0.1.bazel
│       │   ├── BUILD.swc_ecma_transforms_base-36.0.1.bazel
│       │   ├── BUILD.swc_ecma_transforms_react-40.0.0.bazel
│       │   ├── BUILD.swc_ecma_transforms_typescript-40.0.0.bazel
│       │   ├── BUILD.swc_ecma_utils-26.0.1.bazel
│       │   ├── BUILD.swc_ecma_visit-20.0.0.bazel
│       │   ├── BUILD.swc_eq_ignore_macros-1.0.1.bazel
│       │   ├── BUILD.swc_macros_common-1.0.1.bazel
│       │   ├── BUILD.swc_sourcemap-9.3.4.bazel
│       │   ├── BUILD.swc_ts_fast_strip-43.0.0.bazel
│       │   ├── BUILD.swc_visit-2.0.1.bazel
│       │   ├── BUILD.syn-2.0.117.bazel
│       │   ├── BUILD.synstructure-0.13.2.bazel
│       │   ├── BUILD.tap-1.0.1.bazel
│       │   ├── BUILD.termcolor-1.4.1.bazel
│       │   ├── BUILD.thiserror-2.0.18.bazel
│       │   ├── BUILD.thiserror-impl-2.0.18.bazel
│       │   ├── BUILD.tinystr-0.8.2.bazel
│       │   ├── BUILD.tinyvec-1.11.0.bazel
│       │   ├── BUILD.tinyvec_macros-0.1.1.bazel
│       │   ├── BUILD.tokio-1.50.0.bazel
│       │   ├── BUILD.tracing-0.1.44.bazel
│       │   ├── BUILD.tracing-attributes-0.1.31.bazel
│       │   ├── BUILD.tracing-core-0.1.36.bazel
│       │   ├── BUILD.triomphe-0.1.15.bazel
│       │   ├── BUILD.typenum-1.19.0.bazel
│       │   ├── BUILD.unicode-id-start-1.4.0.bazel
│       │   ├── BUILD.unicode-ident-1.0.24.bazel
│       │   ├── BUILD.unicode-normalization-0.1.25.bazel
│       │   ├── BUILD.unicode-width-0.2.2.bazel
│       │   ├── BUILD.unicode_names2-1.3.0.bazel
│       │   ├── BUILD.unicode_names2_generator-1.3.0.bazel
│       │   ├── BUILD.url-2.5.8.bazel
│       │   ├── BUILD.utf8_iter-1.0.4.bazel
│       │   ├── BUILD.uuid-1.22.0.bazel
│       │   ├── BUILD.version_check-0.9.5.bazel
│       │   ├── BUILD.vsimd-0.8.0.bazel
│       │   ├── BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel
│       │   ├── BUILD.wasip2-1.0.2+wasi-0.2.9.bazel
│       │   ├── BUILD.wasm-bindgen-0.2.114.bazel
│       │   ├── BUILD.wasm-bindgen-macro-0.2.114.bazel
│       │   ├── BUILD.wasm-bindgen-macro-support-0.2.114.bazel
│       │   ├── BUILD.wasm-bindgen-shared-0.2.114.bazel
│       │   ├── BUILD.winapi-util-0.1.11.bazel
│       │   ├── BUILD.windows-link-0.2.1.bazel
│       │   ├── BUILD.windows-sys-0.61.2.bazel
│       │   ├── BUILD.wit-bindgen-0.51.0.bazel
│       │   ├── BUILD.writeable-0.6.2.bazel
│       │   ├── BUILD.wyz-0.5.1.bazel
│       │   ├── BUILD.yoke-0.8.1.bazel
│       │   ├── BUILD.yoke-derive-0.8.1.bazel
│       │   ├── BUILD.zerocopy-0.8.42.bazel
│       │   ├── BUILD.zerocopy-derive-0.8.42.bazel
│       │   ├── BUILD.zerofrom-0.1.6.bazel
│       │   ├── BUILD.zerofrom-derive-0.1.6.bazel
│       │   ├── BUILD.zerotrie-0.2.3.bazel
│       │   ├── BUILD.zerovec-0.11.5.bazel
│       │   ├── BUILD.zerovec-derive-0.11.2.bazel
│       │   ├── BUILD.zmij-1.0.21.bazel
│       │   ├── alias_rules.bzl
│       │   ├── crates.bzl
│       │   └── defs.bzl
│       └── extension.bzl
├── docs/
│   ├── api-updates.md
│   ├── benchmarking.md
│   ├── development.md
│   ├── jsg.md
│   ├── pyodide.md
│   ├── reference/
│   │   ├── api-review-checklist.md
│   │   ├── cpp-safety-review-checklist.md
│   │   ├── detail/
│   │   │   ├── api-patterns.md
│   │   │   ├── async-patterns.md
│   │   │   ├── review-checklist.md
│   │   │   └── type-design.md
│   │   ├── kj-style.md
│   │   ├── rust-review-checklist.md
│   │   └── ts-style.md
│   ├── streams.md
│   ├── v8-updates.md
│   └── vscode.md
├── doxyfile
├── empty/
│   └── empty
├── fuzzilli/
│   ├── BUILD.bazel
│   ├── README.md
│   ├── analytics-mock.js
│   ├── config-full.capnp
│   ├── config.capnp
│   ├── d1-mock.js
│   ├── kv-mock.js
│   ├── queue-mock.js
│   ├── r2-mock.js
│   ├── worker-consume-request.js
│   ├── worker-full.js
│   └── worker.js
├── githooks/
│   ├── README
│   ├── pre-commit
│   └── pre-push
├── images/
│   ├── BUILD.bazel
│   └── container-client-test/
│       ├── BUILD.bazel
│       ├── app.js
│       └── package.json
├── justfile
├── npm/
│   ├── lib/
│   │   ├── node-install.ts
│   │   ├── node-path.ts
│   │   ├── node-platform.ts
│   │   └── node-shim.ts
│   ├── scripts/
│   │   ├── build-shim-package.mjs
│   │   ├── build-types-package.mjs
│   │   └── bump-version.mjs
│   ├── workerd/
│   │   ├── .gitignore
│   │   ├── README.md
│   │   └── package.json
│   ├── workerd-darwin-64/
│   │   ├── README.md
│   │   └── package.json
│   ├── workerd-darwin-arm64/
│   │   ├── README.md
│   │   └── package.json
│   ├── workerd-linux-64/
│   │   ├── README.md
│   │   └── package.json
│   ├── workerd-linux-arm64/
│   │   ├── README.md
│   │   └── package.json
│   ├── workerd-windows-64/
│   │   ├── README.md
│   │   └── package.json
│   └── workers-types/
│       ├── README.md
│       └── package.json
├── package.json
├── patches/
│   ├── boringssl/
│   │   └── 0001-Expose-libdecrepit-so-NodeJS-can-use-it-for-ncrypto.patch
│   ├── perfetto/
│   │   ├── 0001-Don-t-attempt-to-use-rules_android.patch
│   │   └── 0002-disable-info-level-logging.patch
│   ├── sqlite/
│   │   ├── 0001-row-counts-plain.patch
│   │   ├── 0002-macOS-missing-PATH-fix.patch
│   │   ├── 0003-sqlite-complete-early-exit.patch
│   │   ├── 0004-invalid-wal-on-rollback-fix.patch
│   │   └── README.md
│   ├── v8/
│   │   ├── 0001-Allow-manually-setting-ValueDeserializer-format-vers.patch
│   │   ├── 0002-Allow-manually-setting-ValueSerializer-format-versio.patch
│   │   ├── 0003-Allow-Windows-builds-under-Bazel.patch
│   │   ├── 0004-Disable-bazel-whole-archive-build.patch
│   │   ├── 0005-Speed-up-V8-bazel-build-by-always-using-target-cfg.patch
│   │   ├── 0006-Implement-Promise-Context-Tagging.patch
│   │   ├── 0007-Randomize-the-initial-ExecutionContextId-used-by-the.patch
│   │   ├── 0008-increase-visibility-of-virtual-method.patch
│   │   ├── 0009-Add-ValueSerializer-SetTreatFunctionsAsHostObjects.patch
│   │   ├── 0010-Modify-where-to-look-for-fp16-dependency.-This-depen.patch
│   │   ├── 0011-Revert-heap-Add-masm-specific-unwinding-annotations-.patch
│   │   ├── 0012-Update-illegal-invocation-error-message-in-v8.patch
│   │   ├── 0013-Implement-cross-request-context-promise-resolve-hand.patch
│   │   ├── 0014-Add-another-slot-in-the-isolate-for-embedder.patch
│   │   ├── 0015-Add-ValueSerializer-SetTreatProxiesAsHostObjects.patch
│   │   ├── 0016-Disable-memory-leak-assert-when-shutting-down-V8.patch
│   │   ├── 0017-Enable-V8-shared-linkage.patch
│   │   ├── 0018-Modify-where-to-look-for-fast_float-and-simdutf.patch
│   │   ├── 0019-Remove-unneded-latomic-linker-flag.patch
│   │   ├── 0020-Add-methods-to-get-heap-and-external-memory-sizes-di.patch
│   │   ├── 0021-Port-concurrent-mksnapshot-support.patch
│   │   ├── 0022-Port-V8_USE_ZLIB-support.patch
│   │   ├── 0023-Modify-where-to-look-for-dragonbox.patch
│   │   ├── 0024-Disable-slow-handle-check.patch
│   │   ├── 0025-Workaround-for-builtin-can-allocate-issue.patch
│   │   ├── 0026-Implement-additional-Exception-construction-methods.patch
│   │   ├── 0027-Export-icudata-file-to-facilitate-embedding-it.patch
│   │   ├── 0028-bind-icu-to-googlesource.patch
│   │   ├── 0029-Add-v8-String-IsFlat-API.patch
│   │   ├── 0030-Expose-AdjustAmountOfExternalAllocatedMemoryImpl-as-.patch
│   │   ├── 0031-Add-verify_write_barriers-flag-in-V8-s-bazel-config.patch
│   │   ├── 0032-Change-lamba-signature-to-get-around-windows-build-f.patch
│   │   ├── 0033-Return-false-on-Object.hasOwnProperty-with-intercept.patch
│   │   ├── 0034-Remove-V8-MODULE.bazel-llvm-toolchain-and-libcxx-rep.patch
│   │   └── 0035-Remove-libcxx-dep-from-defs.bzl-not-resolvable-via-h.patch
│   └── zlib/
│       └── 0001-Add-dummy-MODULE.bazel.patch
├── pnpm-workspace.yaml
├── ruff.toml
├── samples/
│   ├── BUILD.bazel
│   ├── async-context/
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── durable-objects-chat/
│   │   ├── chat.html
│   │   ├── chat.js
│   │   └── config.capnp
│   ├── eventsource/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   ├── server.js
│   │   └── worker.js
│   ├── extensions/
│   │   ├── README.md
│   │   ├── binding.js
│   │   ├── burrito-shop-impl.js
│   │   ├── burrito-shop.capnp
│   │   ├── burrito-shop.js
│   │   ├── config.capnp
│   │   ├── kitchen.js
│   │   ├── recipes.json
│   │   └── worker.js
│   ├── filesystem/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── hello-wasm/
│   │   ├── .gitignore
│   │   ├── Cargo.toml
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── src/
│   │       ├── lib.rs
│   │       └── utils.rs
│   ├── helloworld/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── helloworld-ts/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.ts
│   ├── helloworld_esm/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── memory-cache/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── module_fallback/
│   │   ├── README.md
│   │   ├── cjs.js
│   │   ├── config.capnp
│   │   ├── fallback.js
│   │   └── worker.js
│   ├── nodejs-compat/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-crypto/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-diagnosticschannel/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   ├── library.js
│   │   └── worker.js
│   ├── nodejs-compat-fs/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-fs-graceful/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   ├── graceful-fs/
│   │   │   ├── LICENSE
│   │   │   ├── README.md
│   │   │   ├── clone.js
│   │   │   ├── graceful-fs.js
│   │   │   ├── legacy-streams.js
│   │   │   ├── package.json
│   │   │   └── polyfills.js
│   │   └── worker.js
│   ├── nodejs-compat-fs-yazl/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-http/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-streams/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── nodejs-compat-streams-split2/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   ├── split2.js
│   │   └── worker.js
│   ├── pyodide/
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── pyodide-env/
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── pyodide-fastapi/
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── pyodide-langchain/
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── python-benchmark/
│   │   ├── README.md
│   │   ├── bench.lua
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── repl-server/
│   │   ├── README.md
│   │   ├── client.js
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── repl-server-python/
│   │   ├── README.md
│   │   ├── client.js
│   │   ├── config.capnp
│   │   └── worker.py
│   ├── static-files-from-disk/
│   │   ├── config.capnp
│   │   ├── content-dir/
│   │   │   └── index.html
│   │   └── static.js
│   ├── tail-workers/
│   │   ├── config.capnp
│   │   ├── tail.js
│   │   └── worker.js
│   ├── tcp/
│   │   ├── config.capnp
│   │   └── gopher.js
│   ├── unit-tests/
│   │   ├── config.capnp
│   │   └── worker.js
│   ├── web-streams/
│   │   ├── README.md
│   │   ├── config.capnp
│   │   ├── streams-util.js
│   │   └── worker.js
│   └── webfs/
│       ├── README.md
│       ├── config.capnp
│       └── worker.js
├── src/
│   ├── cloudflare/
│   │   ├── AGENTS.md
│   │   ├── BUILD.bazel
│   │   ├── README.md
│   │   ├── ai.ts
│   │   ├── br.ts
│   │   ├── email.ts
│   │   ├── eslint.config.mjs
│   │   ├── internal/
│   │   │   ├── ai-api.ts
│   │   │   ├── aig-api.ts
│   │   │   ├── autorag-api.ts
│   │   │   ├── base64.d.ts
│   │   │   ├── br-api.ts
│   │   │   ├── d1-api.ts
│   │   │   ├── email.d.ts
│   │   │   ├── env.d.ts
│   │   │   ├── global.d.ts
│   │   │   ├── http.ts
│   │   │   ├── images-api.ts
│   │   │   ├── images.d.ts
│   │   │   ├── pipeline-transform.ts
│   │   │   ├── sockets.d.ts
│   │   │   ├── streaming-base64.ts
│   │   │   ├── streaming-forms.ts
│   │   │   ├── test/
│   │   │   │   ├── BUILD.bazel
│   │   │   │   ├── ai/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── ai-api-test.js
│   │   │   │   │   ├── ai-api-test.py
│   │   │   │   │   ├── ai-api-test.wd-test
│   │   │   │   │   ├── ai-mock.js
│   │   │   │   │   └── python-ai-api-test.wd-test
│   │   │   │   ├── aig/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── aig-api-test.js
│   │   │   │   │   ├── aig-api-test.py
│   │   │   │   │   ├── aig-api-test.wd-test
│   │   │   │   │   ├── aig-mock.js
│   │   │   │   │   └── python-aig-api-test.wd-test
│   │   │   │   ├── autorag/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── autorag-api-test.js
│   │   │   │   │   ├── autorag-api-test.py
│   │   │   │   │   ├── autorag-api-test.wd-test
│   │   │   │   │   ├── autorag-mock.js
│   │   │   │   │   └── python-autorag-api-test.wd-test
│   │   │   │   ├── br/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── br-api-test.js
│   │   │   │   │   ├── br-api-test.py
│   │   │   │   │   ├── br-api-test.wd-test
│   │   │   │   │   ├── br-mock.js
│   │   │   │   │   └── python-br-api-test.wd-test
│   │   │   │   ├── d1/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── d1-api-instrumentation-test.js
│   │   │   │   │   ├── d1-api-test-common.js
│   │   │   │   │   ├── d1-api-test-with-sessions.js
│   │   │   │   │   ├── d1-api-test-with-sessions.wd-test
│   │   │   │   │   ├── d1-api-test.js
│   │   │   │   │   ├── d1-api-test.py
│   │   │   │   │   ├── d1-api-test.wd-test
│   │   │   │   │   ├── d1-mock.js
│   │   │   │   │   └── python-d1-api-test.wd-test
│   │   │   │   ├── images/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── images-api-instrumentation-test.js
│   │   │   │   │   ├── images-api-test.js
│   │   │   │   │   ├── images-api-test.wd-test
│   │   │   │   │   └── images-upstream-mock.js
│   │   │   │   ├── instrumentation-test-helper.js
│   │   │   │   ├── pipeline-transform/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── transform-test.js
│   │   │   │   │   └── transform.wd-test
│   │   │   │   ├── to-markdown/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── python-to-markdown-api-test.wd-test
│   │   │   │   │   ├── to-markdown-api-test.js
│   │   │   │   │   ├── to-markdown-api-test.py
│   │   │   │   │   ├── to-markdown-api-test.wd-test
│   │   │   │   │   └── to-markdown-mock.js
│   │   │   │   ├── tracing/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── tracing-helpers-instrumentation-test.js
│   │   │   │   │   ├── tracing-helpers-test.js
│   │   │   │   │   └── tracing-helpers-test.wd-test
│   │   │   │   ├── vectorize/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── python-vectorize-api-test.wd-test
│   │   │   │   │   ├── vectorize-api-test.js
│   │   │   │   │   ├── vectorize-api-test.py
│   │   │   │   │   ├── vectorize-api-test.wd-test
│   │   │   │   │   └── vectorize-mock.js
│   │   │   │   └── workflows/
│   │   │   │       ├── BUILD.bazel
│   │   │   │       ├── workflows-api-test.js
│   │   │   │       ├── workflows-api-test.wd-test
│   │   │   │       └── workflows-mock.js
│   │   │   ├── test-tracing-wrapper.ts
│   │   │   ├── to-markdown-api.ts
│   │   │   ├── tracing-helpers.ts
│   │   │   ├── tracing.d.ts
│   │   │   ├── vectorize-api.ts
│   │   │   ├── vectorize.d.ts
│   │   │   ├── workers.d.ts
│   │   │   ├── workflows-api.ts
│   │   │   └── workflows.d.ts
│   │   ├── node.ts
│   │   ├── pipelines.ts
│   │   ├── sockets.ts
│   │   ├── tsconfig.json
│   │   ├── vectorize.ts
│   │   ├── workers.ts
│   │   └── workflows.ts
│   ├── node/
│   │   ├── AGENTS.md
│   │   ├── BUILD.bazel
│   │   ├── README.md
│   │   ├── _http_agent.ts
│   │   ├── _http_client.ts
│   │   ├── _http_common.ts
│   │   ├── _http_incoming.ts
│   │   ├── _http_outgoing.ts
│   │   ├── _http_server.ts
│   │   ├── _stream_duplex.ts
│   │   ├── _stream_passthrough.ts
│   │   ├── _stream_readable.ts
│   │   ├── _stream_transform.ts
│   │   ├── _stream_wrap.ts
│   │   ├── _stream_writable.ts
│   │   ├── _tls_common.ts
│   │   ├── _tls_wrap.ts
│   │   ├── assert/
│   │   │   └── strict.ts
│   │   ├── assert.ts
│   │   ├── async_hooks.ts
│   │   ├── buffer.ts
│   │   ├── child_process.ts
│   │   ├── cluster.ts
│   │   ├── console.ts
│   │   ├── constants.ts
│   │   ├── crypto.ts
│   │   ├── dgram.ts
│   │   ├── diagnostics_channel.ts
│   │   ├── dns/
│   │   │   └── promises.ts
│   │   ├── dns.ts
│   │   ├── domain.ts
│   │   ├── eslint.config.mjs
│   │   ├── events.ts
│   │   ├── fs/
│   │   │   └── promises.ts
│   │   ├── fs.ts
│   │   ├── http.ts
│   │   ├── http2.ts
│   │   ├── https.ts
│   │   ├── inspector/
│   │   │   └── promises.ts
│   │   ├── inspector.ts
│   │   ├── internal/
│   │   │   ├── async_hooks.d.ts
│   │   │   ├── buffer.d.ts
│   │   │   ├── constants.ts
│   │   │   ├── crypto.d.ts
│   │   │   ├── crypto_cipher.ts
│   │   │   ├── crypto_dh.ts
│   │   │   ├── crypto_hash.ts
│   │   │   ├── crypto_hkdf.ts
│   │   │   ├── crypto_keys.ts
│   │   │   ├── crypto_pbkdf2.ts
│   │   │   ├── crypto_random.ts
│   │   │   ├── crypto_scrypt.ts
│   │   │   ├── crypto_sign.ts
│   │   │   ├── crypto_spkac.ts
│   │   │   ├── crypto_util.ts
│   │   │   ├── crypto_x509.ts
│   │   │   ├── debuglog.ts
│   │   │   ├── diagnostics_channel.d.ts
│   │   │   ├── dns.d.ts
│   │   │   ├── events.ts
│   │   │   ├── filesystem.d.ts
│   │   │   ├── http.d.ts
│   │   │   ├── internal_assert.ts
│   │   │   ├── internal_assertionerror.ts
│   │   │   ├── internal_buffer.ts
│   │   │   ├── internal_comparisons.ts
│   │   │   ├── internal_diffs.ts
│   │   │   ├── internal_dns.ts
│   │   │   ├── internal_dns_client.ts
│   │   │   ├── internal_dns_constants.ts
│   │   │   ├── internal_dns_promises.ts
│   │   │   ├── internal_errors.ts
│   │   │   ├── internal_fs.ts
│   │   │   ├── internal_fs_callback.ts
│   │   │   ├── internal_fs_constants.ts
│   │   │   ├── internal_fs_promises.ts
│   │   │   ├── internal_fs_streams.ts
│   │   │   ├── internal_fs_sync.ts
│   │   │   ├── internal_fs_utils.ts
│   │   │   ├── internal_http.ts
│   │   │   ├── internal_http2_constants.ts
│   │   │   ├── internal_http_agent.ts
│   │   │   ├── internal_http_client.ts
│   │   │   ├── internal_http_constants.ts
│   │   │   ├── internal_http_incoming.ts
│   │   │   ├── internal_http_outgoing.ts
│   │   │   ├── internal_http_server.ts
│   │   │   ├── internal_http_util.ts
│   │   │   ├── internal_https_agent.ts
│   │   │   ├── internal_https_server.ts
│   │   │   ├── internal_inspect.ts
│   │   │   ├── internal_module.ts
│   │   │   ├── internal_net.ts
│   │   │   ├── internal_path.ts
│   │   │   ├── internal_process.ts
│   │   │   ├── internal_querystring.ts
│   │   │   ├── internal_readline.ts
│   │   │   ├── internal_readline_promises.ts
│   │   │   ├── internal_stringdecoder.ts
│   │   │   ├── internal_timers.ts
│   │   │   ├── internal_timers_global_override.ts
│   │   │   ├── internal_timers_promises.ts
│   │   │   ├── internal_tls.ts
│   │   │   ├── internal_tls_common.ts
│   │   │   ├── internal_tls_constants.ts
│   │   │   ├── internal_tls_jsstream.ts
│   │   │   ├── internal_tls_wrap.ts
│   │   │   ├── internal_types.ts
│   │   │   ├── internal_url.ts
│   │   │   ├── internal_utils.ts
│   │   │   ├── internal_zlib.ts
│   │   │   ├── internal_zlib_base.ts
│   │   │   ├── internal_zlib_constants.ts
│   │   │   ├── legacy_process.ts
│   │   │   ├── legacy_url.ts
│   │   │   ├── messagechannel.d.ts
│   │   │   ├── mock.d.ts
│   │   │   ├── mock.js
│   │   │   ├── module.d.ts
│   │   │   ├── process.d.ts
│   │   │   ├── public_process.ts
│   │   │   ├── sockets.d.ts
│   │   │   ├── sqlite.d.ts
│   │   │   ├── streams_add_abort_signal.ts
│   │   │   ├── streams_compose.d.ts
│   │   │   ├── streams_compose.js
│   │   │   ├── streams_destroy.ts
│   │   │   ├── streams_duplex.d.ts
│   │   │   ├── streams_duplex.js
│   │   │   ├── streams_end_of_stream.ts
│   │   │   ├── streams_legacy.d.ts
│   │   │   ├── streams_legacy.js
│   │   │   ├── streams_pipeline.d.ts
│   │   │   ├── streams_pipeline.js
│   │   │   ├── streams_promises.ts
│   │   │   ├── streams_readable.d.ts
│   │   │   ├── streams_readable.js
│   │   │   ├── streams_state.ts
│   │   │   ├── streams_transform.d.ts
│   │   │   ├── streams_transform.js
│   │   │   ├── streams_util.ts
│   │   │   ├── streams_writable.d.ts
│   │   │   ├── streams_writable.js
│   │   │   ├── timers.d.ts
│   │   │   ├── url.d.ts
│   │   │   ├── util.d.ts
│   │   │   ├── validators.ts
│   │   │   ├── workers.d.ts
│   │   │   └── zlib.d.ts
│   │   ├── module.ts
│   │   ├── net.ts
│   │   ├── os.ts
│   │   ├── path/
│   │   │   ├── posix.ts
│   │   │   └── win32.ts
│   │   ├── path.ts
│   │   ├── perf_hooks.ts
│   │   ├── punycode.ts
│   │   ├── querystring.ts
│   │   ├── readline/
│   │   │   └── promises.ts
│   │   ├── readline.ts
│   │   ├── repl.ts
│   │   ├── sqlite.ts
│   │   ├── stream/
│   │   │   ├── consumers.js
│   │   │   ├── promises.js
│   │   │   └── web.js
│   │   ├── stream.ts
│   │   ├── string_decoder.ts
│   │   ├── test.ts
│   │   ├── timers/
│   │   │   └── promises.ts
│   │   ├── timers.ts
│   │   ├── tls.ts
│   │   ├── trace_events.ts
│   │   ├── tsconfig.json
│   │   ├── tty.ts
│   │   ├── url.ts
│   │   ├── util/
│   │   │   └── types.ts
│   │   ├── util.ts
│   │   ├── v8.ts
│   │   ├── vm.ts
│   │   ├── wasi.ts
│   │   ├── worker_threads.ts
│   │   └── zlib.ts
│   ├── pyodide/
│   │   ├── AGENTS.md
│   │   ├── BUILD.bazel
│   │   ├── README.md
│   │   ├── create_vendor_zip.py
│   │   ├── eslint.config.mjs
│   │   ├── helpers.bzl
│   │   ├── internal/
│   │   │   ├── const.ts
│   │   │   ├── envHelpers.ts
│   │   │   ├── introspection.py
│   │   │   ├── jaeger.ts
│   │   │   ├── loadPackage.ts
│   │   │   ├── metadata.ts
│   │   │   ├── metadatafs.ts
│   │   │   ├── patches/
│   │   │   │   ├── aiohttp.py
│   │   │   │   └── httpx.py
│   │   │   ├── pool/
│   │   │   │   ├── builtin_wrappers.ts
│   │   │   │   ├── emscriptenSetup.ts
│   │   │   │   ├── esbuild.config.mjs
│   │   │   │   └── sentinel.ts
│   │   │   ├── python.ts
│   │   │   ├── readOnlyFS.ts
│   │   │   ├── serializeJsModule.ts
│   │   │   ├── setupPackages.ts
│   │   │   ├── snapshot.ts
│   │   │   ├── sphinx/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── Makefile
│   │   │   │   ├── README.md
│   │   │   │   ├── conf.py
│   │   │   │   ├── docs/
│   │   │   │   │   ├── asgi.rst
│   │   │   │   │   ├── modules.rst
│   │   │   │   │   └── workers.rst
│   │   │   │   ├── index.rst
│   │   │   │   ├── make.bat
│   │   │   │   └── requirements-doc.txt
│   │   │   ├── tar.ts
│   │   │   ├── tarfs.ts
│   │   │   ├── test_frozen_sdk.py
│   │   │   ├── test_introspection.py
│   │   │   ├── topLevelEntropy/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── allow_entropy.py
│   │   │   │   ├── allow_entropy.py.d.ts
│   │   │   │   ├── entropy_import_context.py
│   │   │   │   ├── entropy_import_context.py.d.ts
│   │   │   │   ├── entropy_patches.py
│   │   │   │   ├── entropy_patches.py.d.ts
│   │   │   │   ├── import_patch_manager.py
│   │   │   │   ├── import_patch_manager.py.d.ts
│   │   │   │   └── lib.ts
│   │   │   ├── util.ts
│   │   │   └── workers-api/
│   │   │       ├── pyproject.toml
│   │   │       └── src/
│   │   │           ├── asgi.py
│   │   │           └── workers/
│   │   │               ├── __init__.py
│   │   │               ├── _workers.py
│   │   │               └── workflows.py
│   │   ├── make_snapshots.py
│   │   ├── package.json
│   │   ├── pyodide_extra.capnp
│   │   ├── python-entrypoint-helper.ts
│   │   ├── python-entrypoint.js
│   │   ├── tool_utils.py
│   │   ├── tsconfig.json
│   │   ├── types/
│   │   │   ├── Error.d.ts
│   │   │   ├── Pyodide.d.ts
│   │   │   ├── artifacts.d.ts
│   │   │   ├── cloudflare-internal/
│   │   │   │   └── env.d.ts
│   │   │   ├── disk_cache.d.ts
│   │   │   ├── emscripten.d.ts
│   │   │   ├── fatal-reporter.d.ts
│   │   │   ├── filesystem.d.ts
│   │   │   ├── internalJaeger.d.ts
│   │   │   ├── limiter.d.ts
│   │   │   ├── modules.d.ts
│   │   │   ├── packages_tar_reader.d.ts
│   │   │   ├── pyodide-lock.d.ts
│   │   │   ├── pyodide.asm.d.ts
│   │   │   ├── python_stdlib.zip.d.ts
│   │   │   ├── runtime-generated/
│   │   │   │   └── metadata.d.ts
│   │   │   ├── setup-emscripten.d.ts
│   │   │   └── unsafe-eval.d.ts
│   │   └── upload_bundles.py
│   ├── rust/
│   │   ├── AGENTS.md
│   │   ├── BUILD.bazel
│   │   ├── api/
│   │   │   ├── BUILD.bazel
│   │   │   ├── dns.rs
│   │   │   └── lib.rs
│   │   ├── clippy.toml
│   │   ├── cxx-integration/
│   │   │   ├── BUILD.bazel
│   │   │   ├── lib.rs
│   │   │   └── tokio.rs
│   │   ├── cxx-integration-test/
│   │   │   ├── BUILD.bazel
│   │   │   ├── cxx-rust-integration-test.c++
│   │   │   ├── cxx-rust-integration-test.h
│   │   │   └── lib.rs
│   │   ├── encoding/
│   │   │   ├── BUILD.bazel
│   │   │   └── lib.rs
│   │   ├── gen-compile-cache/
│   │   │   ├── BUILD.bazel
│   │   │   ├── cxx-bridge.c++
│   │   │   ├── cxx-bridge.h
│   │   │   └── main.rs
│   │   ├── jsg/
│   │   │   ├── BUILD.bazel
│   │   │   ├── README.md
│   │   │   ├── feature_flags.rs
│   │   │   ├── ffi-inl.h
│   │   │   ├── ffi.c++
│   │   │   ├── ffi.h
│   │   │   ├── jsg.h
│   │   │   ├── lib.rs
│   │   │   ├── modules.rs
│   │   │   ├── resource.rs
│   │   │   ├── v8.rs
│   │   │   └── wrappable.rs
│   │   ├── jsg-macros/
│   │   │   ├── BUILD.bazel
│   │   │   ├── README.md
│   │   │   └── lib.rs
│   │   ├── jsg-test/
│   │   │   ├── BUILD.bazel
│   │   │   ├── ffi.c++
│   │   │   ├── ffi.h
│   │   │   ├── lib.rs
│   │   │   └── tests/
│   │   │       ├── arrays.rs
│   │   │       ├── eval.rs
│   │   │       ├── function.rs
│   │   │       ├── gc.rs
│   │   │       ├── jsg_oneof.rs
│   │   │       ├── jsg_struct.rs
│   │   │       ├── local_cast.rs
│   │   │       ├── mod.rs
│   │   │       ├── non_coercible.rs
│   │   │       ├── resource_callback.rs
│   │   │       ├── resource_conversion.rs
│   │   │       └── unwrap.rs
│   │   ├── kj/
│   │   │   ├── BUILD.bazel
│   │   │   ├── ffi.c++
│   │   │   ├── ffi.h
│   │   │   ├── http.rs
│   │   │   ├── io.rs
│   │   │   ├── lib.rs
│   │   │   ├── own.rs
│   │   │   └── tests/
│   │   │       ├── BUILD.bazel
│   │   │       ├── ffi-test.c++
│   │   │       └── lib.rs
│   │   ├── net/
│   │   │   ├── BUILD.bazel
│   │   │   └── lib.rs
│   │   ├── python-parser/
│   │   │   ├── BUILD
│   │   │   ├── import_parsing.c++
│   │   │   └── lib.rs
│   │   ├── rustfmt.toml
│   │   └── transpiler/
│   │       ├── BUILD
│   │       └── lib.rs
│   ├── workerd/
│   │   ├── README.md
│   │   ├── api/
│   │   │   ├── AGENTS.md
│   │   │   ├── BUILD.bazel
│   │   │   ├── actor-state-iocontext-test.c++
│   │   │   ├── actor-state-test.c++
│   │   │   ├── actor-state.c++
│   │   │   ├── actor-state.h
│   │   │   ├── actor.c++
│   │   │   ├── actor.h
│   │   │   ├── analytics-engine-impl.h
│   │   │   ├── analytics-engine.c++
│   │   │   ├── analytics-engine.capnp
│   │   │   ├── analytics-engine.h
│   │   │   ├── api-rtti-test.c++
│   │   │   ├── base64-test.c++
│   │   │   ├── base64.c++
│   │   │   ├── base64.h
│   │   │   ├── basics-test.c++
│   │   │   ├── basics.c++
│   │   │   ├── basics.h
│   │   │   ├── blob.c++
│   │   │   ├── blob.h
│   │   │   ├── cache.c++
│   │   │   ├── cache.h
│   │   │   ├── capnp.c++
│   │   │   ├── capnp.h
│   │   │   ├── cf-property-test.c++
│   │   │   ├── cf-property.c++
│   │   │   ├── cf-property.h
│   │   │   ├── commonjs.c++
│   │   │   ├── commonjs.h
│   │   │   ├── container.c++
│   │   │   ├── container.h
│   │   │   ├── crypto/
│   │   │   │   ├── AGENTS.md
│   │   │   │   ├── aes-test.c++
│   │   │   │   ├── aes.c++
│   │   │   │   ├── crc-impl.c++
│   │   │   │   ├── crc-impl.h
│   │   │   │   ├── crypto.c++
│   │   │   │   ├── crypto.h
│   │   │   │   ├── dh.c++
│   │   │   │   ├── dh.h
│   │   │   │   ├── digest.c++
│   │   │   │   ├── digest.h
│   │   │   │   ├── ec.c++
│   │   │   │   ├── ec.h
│   │   │   │   ├── endianness.c++
│   │   │   │   ├── endianness.h
│   │   │   │   ├── hkdf.c++
│   │   │   │   ├── impl-test.c++
│   │   │   │   ├── impl.c++
│   │   │   │   ├── impl.h
│   │   │   │   ├── jwk.c++
│   │   │   │   ├── jwk.h
│   │   │   │   ├── kdf.h
│   │   │   │   ├── keys.c++
│   │   │   │   ├── keys.h
│   │   │   │   ├── pbkdf2.c++
│   │   │   │   ├── prime.c++
│   │   │   │   ├── prime.h
│   │   │   │   ├── rsa.c++
│   │   │   │   ├── rsa.h
│   │   │   │   ├── scrypt.c++
│   │   │   │   ├── spkac.c++
│   │   │   │   ├── spkac.h
│   │   │   │   ├── x509.c++
│   │   │   │   └── x509.h
│   │   │   ├── data-url-test.c++
│   │   │   ├── data-url.c++
│   │   │   ├── data-url.h
│   │   │   ├── deferred-proxy-test.c++
│   │   │   ├── deferred-proxy.h
│   │   │   ├── encoding-legacy.c++
│   │   │   ├── encoding-legacy.h
│   │   │   ├── encoding-shared.h
│   │   │   ├── encoding-test.c++
│   │   │   ├── encoding.c++
│   │   │   ├── encoding.h
│   │   │   ├── events.c++
│   │   │   ├── events.h
│   │   │   ├── eventsource.c++
│   │   │   ├── eventsource.h
│   │   │   ├── export-loopback.c++
│   │   │   ├── export-loopback.h
│   │   │   ├── filesystem.c++
│   │   │   ├── filesystem.h
│   │   │   ├── form-data.c++
│   │   │   ├── form-data.h
│   │   │   ├── fuzzilli.c++
│   │   │   ├── fuzzilli.h
│   │   │   ├── global-scope.c++
│   │   │   ├── global-scope.h
│   │   │   ├── headers.c++
│   │   │   ├── headers.h
│   │   │   ├── hibernatable-web-socket.c++
│   │   │   ├── hibernatable-web-socket.h
│   │   │   ├── hibernation-event-params.h
│   │   │   ├── html-rewriter.c++
│   │   │   ├── html-rewriter.h
│   │   │   ├── http.c++
│   │   │   ├── http.h
│   │   │   ├── hyperdrive.c++
│   │   │   ├── hyperdrive.h
│   │   │   ├── kv.c++
│   │   │   ├── kv.h
│   │   │   ├── memory-cache.c++
│   │   │   ├── memory-cache.h
│   │   │   ├── messagechannel.c++
│   │   │   ├── messagechannel.h
│   │   │   ├── modules.c++
│   │   │   ├── modules.h
│   │   │   ├── node/
│   │   │   │   ├── AGENTS.md
│   │   │   │   ├── BUILD.bazel
│   │   │   │   ├── async-hooks.c++
│   │   │   │   ├── async-hooks.h
│   │   │   │   ├── buffer-string-search.h
│   │   │   │   ├── buffer-test.c++
│   │   │   │   ├── buffer.c++
│   │   │   │   ├── buffer.h
│   │   │   │   ├── crypto-keys.c++
│   │   │   │   ├── crypto.c++
│   │   │   │   ├── crypto.h
│   │   │   │   ├── diagnostics-channel.c++
│   │   │   │   ├── diagnostics-channel.h
│   │   │   │   ├── exceptions.c++
│   │   │   │   ├── exceptions.h
│   │   │   │   ├── i18n.c++
│   │   │   │   ├── i18n.h
│   │   │   │   ├── module.c++
│   │   │   │   ├── module.h
│   │   │   │   ├── node-version.h
│   │   │   │   ├── node.h
│   │   │   │   ├── process.c++
│   │   │   │   ├── process.h
│   │   │   │   ├── sqlite.c++
│   │   │   │   ├── sqlite.h
│   │   │   │   ├── tests/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── als-gc-test.js
│   │   │   │   │   ├── als-gc-test.wd-test
│   │   │   │   │   ├── assert-test.js
│   │   │   │   │   ├── assert-test.wd-test
│   │   │   │   │   ├── async_hooks-nodejs-test.js
│   │   │   │   │   ├── async_hooks-nodejs-test.wd-test
│   │   │   │   │   ├── bound-als-test.js
│   │   │   │   │   ├── bound-als-test.wd-test
│   │   │   │   │   ├── buffer-effective-size-concat-test.js
│   │   │   │   │   ├── buffer-effective-size-concat-test.wd-test
│   │   │   │   │   ├── buffer-nodejs-test.js
│   │   │   │   │   ├── buffer-nodejs-test.wd-test
│   │   │   │   │   ├── child_process-nodejs-test.js
│   │   │   │   │   ├── child_process-nodejs-test.wd-test
│   │   │   │   │   ├── cluster-nodejs-test.js
│   │   │   │   │   ├── cluster-nodejs-test.wd-test
│   │   │   │   │   ├── console-nodejs-test.js
│   │   │   │   │   ├── console-nodejs-test.wd-test
│   │   │   │   │   ├── constants-test.js
│   │   │   │   │   ├── constants-test.wd-test
│   │   │   │   │   ├── crypto_cipher-test.js
│   │   │   │   │   ├── crypto_cipher-test.wd-test
│   │   │   │   │   ├── crypto_dh-test.js
│   │   │   │   │   ├── crypto_dh-test.wd-test
│   │   │   │   │   ├── crypto_hash-test.js
│   │   │   │   │   ├── crypto_hash-test.wd-test
│   │   │   │   │   ├── crypto_hkdf-test.js
│   │   │   │   │   ├── crypto_hkdf-test.wd-test
│   │   │   │   │   ├── crypto_hmac-test.js
│   │   │   │   │   ├── crypto_hmac-test.wd-test
│   │   │   │   │   ├── crypto_keys-test.js
│   │   │   │   │   ├── crypto_keys-test.wd-test
│   │   │   │   │   ├── crypto_pbkdf2-test.js
│   │   │   │   │   ├── crypto_pbkdf2-test.wd-test
│   │   │   │   │   ├── crypto_random-test.js
│   │   │   │   │   ├── crypto_random-test.wd-test
│   │   │   │   │   ├── crypto_scrypt-test.js
│   │   │   │   │   ├── crypto_scrypt-test.wd-test
│   │   │   │   │   ├── crypto_sign-test.js
│   │   │   │   │   ├── crypto_sign-test.wd-test
│   │   │   │   │   ├── crypto_spkac-test.js
│   │   │   │   │   ├── crypto_spkac-test.wd-test
│   │   │   │   │   ├── crypto_x509-test.js
│   │   │   │   │   ├── crypto_x509-test.wd-test
│   │   │   │   │   ├── dgram-nodejs-test.js
│   │   │   │   │   ├── dgram-nodejs-test.wd-test
│   │   │   │   │   ├── diagnostics-channel-test.js
│   │   │   │   │   ├── diagnostics-channel-test.wd-test
│   │   │   │   │   ├── dns-nodejs-test.js
│   │   │   │   │   ├── dns-nodejs-test.wd-test
│   │   │   │   │   ├── domain-nodejs-test.js
│   │   │   │   │   ├── domain-nodejs-test.wd-test
│   │   │   │   │   ├── fixtures/
│   │   │   │   │   │   ├── agent1-cert.pem
│   │   │   │   │   │   ├── dh_private.pem
│   │   │   │   │   │   ├── dh_public.pem
│   │   │   │   │   │   ├── dsa_private.pem
│   │   │   │   │   │   ├── dsa_private_1025.pem
│   │   │   │   │   │   ├── dsa_private_encrypted.pem
│   │   │   │   │   │   ├── dsa_private_encrypted_1025.pem
│   │   │   │   │   │   ├── dsa_private_pkcs8.pem
│   │   │   │   │   │   ├── dsa_public.pem
│   │   │   │   │   │   ├── dsa_public_1025.pem
│   │   │   │   │   │   ├── ec_p256_private.pem
│   │   │   │   │   │   ├── ec_p256_public.pem
│   │   │   │   │   │   ├── ec_p384_private.pem
│   │   │   │   │   │   ├── ec_p384_public.pem
│   │   │   │   │   │   ├── ec_p521_private.pem
│   │   │   │   │   │   ├── ec_p521_public.pem
│   │   │   │   │   │   ├── ec_secp256k1_private.pem
│   │   │   │   │   │   ├── ec_secp256k1_public.pem
│   │   │   │   │   │   ├── ed25519_private.pem
│   │   │   │   │   │   ├── ed25519_public.pem
│   │   │   │   │   │   ├── ed448_private.pem
│   │   │   │   │   │   ├── ed448_public.pem
│   │   │   │   │   │   ├── rsa_private.pem
│   │   │   │   │   │   ├── rsa_private_2048.pem
│   │   │   │   │   │   ├── rsa_private_4096.pem
│   │   │   │   │   │   ├── rsa_private_b.pem
│   │   │   │   │   │   ├── rsa_private_encrypted.pem
│   │   │   │   │   │   ├── rsa_private_pkcs8.pem
│   │   │   │   │   │   ├── rsa_private_pkcs8_bad.pem
│   │   │   │   │   │   ├── rsa_pss_private_2048.pem
│   │   │   │   │   │   ├── rsa_pss_private_2048_sha1_sha1_20.pem
│   │   │   │   │   │   ├── rsa_pss_private_2048_sha256_sha256_16.pem
│   │   │   │   │   │   ├── rsa_pss_private_2048_sha512_sha256_20.pem
│   │   │   │   │   │   ├── rsa_pss_public_2048.pem
│   │   │   │   │   │   ├── rsa_pss_public_2048_sha1_sha1_20.pem
│   │   │   │   │   │   ├── rsa_pss_public_2048_sha256_sha256_16.pem
│   │   │   │   │   │   ├── rsa_pss_public_2048_sha512_sha256_20.pem
│   │   │   │   │   │   ├── rsa_public.pem
│   │   │   │   │   │   ├── rsa_public_2048.pem
│   │   │   │   │   │   ├── rsa_public_4096.pem
│   │   │   │   │   │   ├── rsa_public_b.pem
│   │   │   │   │   │   ├── tls-nodejs-tcp-server.pem
│   │   │   │   │   │   ├── x25519_private.pem
│   │   │   │   │   │   ├── x25519_public.pem
│   │   │   │   │   │   ├── x448_private.pem
│   │   │   │   │   │   └── x448_public.pem
│   │   │   │   │   ├── fs-access-test.js
│   │   │   │   │   ├── fs-access-test.wd-test
│   │   │   │   │   ├── fs-chown-chmod-test.js
│   │   │   │   │   ├── fs-chown-chmod-test.wd-test
│   │   │   │   │   ├── fs-cp-into-subdirectory-test.js
│   │   │   │   │   ├── fs-cp-into-subdirectory-test.wd-test
│   │   │   │   │   ├── fs-cp-test.js
│   │   │   │   │   ├── fs-cp-test.wd-test
│   │   │   │   │   ├── fs-dir-test.js
│   │   │   │   │   ├── fs-dir-test.wd-test
│   │   │   │   │   ├── fs-filehandle-test.js
│   │   │   │   │   ├── fs-filehandle-test.wd-test
│   │   │   │   │   ├── fs-glob-test.js
│   │   │   │   │   ├── fs-glob-test.wd-test
│   │   │   │   │   ├── fs-link-test.js
│   │   │   │   │   ├── fs-link-test.wd-test
│   │   │   │   │   ├── fs-misc-test.js
│   │   │   │   │   ├── fs-misc-test.wd-test
│   │   │   │   │   ├── fs-nodejs-test.js
│   │   │   │   │   ├── fs-nodejs-test.wd-test
│   │   │   │   │   ├── fs-readstream-test.js
│   │   │   │   │   ├── fs-readstream-test.wd-test
│   │   │   │   │   ├── fs-stat-test.js
│   │   │   │   │   ├── fs-stat-test.wd-test
│   │   │   │   │   ├── fs-utimes-test.js
│   │   │   │   │   ├── fs-utimes-test.wd-test
│   │   │   │   │   ├── fs-writestream-test.js
│   │   │   │   │   ├── fs-writestream-test.wd-test
│   │   │   │   │   ├── http-agent-nodejs-server.js
│   │   │   │   │   ├── http-agent-nodejs-test.js
│   │   │   │   │   ├── http-agent-nodejs-test.wd-test
│   │   │   │   │   ├── http-client-nodejs-server.js
│   │   │   │   │   ├── http-client-nodejs-test.js
│   │   │   │   │   ├── http-client-nodejs-test.wd-test
│   │   │   │   │   ├── http-incoming-nodejs-test.js
│   │   │   │   │   ├── http-incoming-nodejs-test.wd-test
│   │   │   │   │   ├── http-nodejs-server.js
│   │   │   │   │   ├── http-nodejs-test.js
│   │   │   │   │   ├── http-nodejs-test.wd-test
│   │   │   │   │   ├── http-outgoing-nodejs-server.js
│   │   │   │   │   ├── http-outgoing-nodejs-test.js
│   │   │   │   │   ├── http-outgoing-nodejs-test.wd-test
│   │   │   │   │   ├── http-server-nodejs-global-test.js
│   │   │   │   │   ├── http-server-nodejs-global-test.wd-test
│   │   │   │   │   ├── http-server-nodejs-server.js
│   │   │   │   │   ├── http-server-nodejs-test.js
│   │   │   │   │   ├── http-server-nodejs-test.wd-test
│   │   │   │   │   ├── http2-test.js
│   │   │   │   │   ├── http2-test.wd-test
│   │   │   │   │   ├── inspector-nodejs-test.js
│   │   │   │   │   ├── inspector-nodejs-test.wd-test
│   │   │   │   │   ├── legacy_url-nodejs-test.js
│   │   │   │   │   ├── legacy_url-nodejs-test.wd-test
│   │   │   │   │   ├── mimetype-test.js
│   │   │   │   │   ├── mimetype-test.wd-test
│   │   │   │   │   ├── module-create-require-test.js
│   │   │   │   │   ├── module-create-require-test.wd-test
│   │   │   │   │   ├── module-nodejs-test.js
│   │   │   │   │   ├── module-nodejs-test.wd-test
│   │   │   │   │   ├── module-require-mutable-exports-test.js
│   │   │   │   │   ├── module-require-mutable-exports-test.wd-test
│   │   │   │   │   ├── net-nodejs-tcp-server.js
│   │   │   │   │   ├── net-nodejs-test.js
│   │   │   │   │   ├── net-nodejs-test.wd-test
│   │   │   │   │   ├── node-compat-v2-test.js
│   │   │   │   │   ├── node-compat-v2-test.wd-test
│   │   │   │   │   ├── os-test.js
│   │   │   │   │   ├── os-test.wd-test
│   │   │   │   │   ├── path-test.js
│   │   │   │   │   ├── path-test.wd-test
│   │   │   │   │   ├── perf-hooks-nodejs-test.js
│   │   │   │   │   ├── perf-hooks-nodejs-test.wd-test
│   │   │   │   │   ├── process-exit-test.js
│   │   │   │   │   ├── process-exit-test.wd-test
│   │   │   │   │   ├── process-getbuiltin-newmodreg-test.js
│   │   │   │   │   ├── process-getbuiltin-newmodreg-test.wd-test
│   │   │   │   │   ├── process-legacy-nodejs-test.js
│   │   │   │   │   ├── process-legacy-nodejs-test.wd-test
│   │   │   │   │   ├── process-nodejs-test.js
│   │   │   │   │   ├── process-nodejs-test.wd-test
│   │   │   │   │   ├── process-stdio-fs-nodejs-test.expected_stderr
│   │   │   │   │   ├── process-stdio-fs-nodejs-test.expected_stdout
│   │   │   │   │   ├── process-stdio-fs-nodejs-test.js
│   │   │   │   │   ├── process-stdio-fs-nodejs-test.wd-test
│   │   │   │   │   ├── process-stdio-nodejs-test.expected_stderr
│   │   │   │   │   ├── process-stdio-nodejs-test.expected_stdout
│   │   │   │   │   ├── process-stdio-nodejs-test.js
│   │   │   │   │   ├── process-stdio-nodejs-test.wd-test
│   │   │   │   │   ├── punycode-nodejs-test.js
│   │   │   │   │   ├── punycode-nodejs-test.wd-test
│   │   │   │   │   ├── querystring-nodejs-test.js
│   │   │   │   │   ├── querystring-nodejs-test.wd-test
│   │   │   │   │   ├── readline-nodejs-test.js
│   │   │   │   │   ├── readline-nodejs-test.wd-test
│   │   │   │   │   ├── repl-nodejs-test.js
│   │   │   │   │   ├── repl-nodejs-test.wd-test
│   │   │   │   │   ├── sidecar-supervisor.mjs
│   │   │   │   │   ├── sqlite-nodejs-test.js
│   │   │   │   │   ├── sqlite-nodejs-test.wd-test
│   │   │   │   │   ├── streams-nodejs-test.js
│   │   │   │   │   ├── streams-nodejs-test.wd-test
│   │   │   │   │   ├── streams-test.js
│   │   │   │   │   ├── streams-test.wd-test
│   │   │   │   │   ├── streams-v24-nodejs-test.js
│   │   │   │   │   ├── streams-v24-nodejs-test.wd-test
│   │   │   │   │   ├── string-decoder-test.js
│   │   │   │   │   ├── string-decoder-test.wd-test
│   │   │   │   │   ├── sys-nodejs-test.js
│   │   │   │   │   ├── sys-nodejs-test.wd-test
│   │   │   │   │   ├── test_process_stdio.sh
│   │   │   │   │   ├── timers-global-override-test.js
│   │   │   │   │   ├── timers-global-override-test.wd-test
│   │   │   │   │   ├── timers-nodejs-test.js
│   │   │   │   │   ├── timers-nodejs-test.wd-test
│   │   │   │   │   ├── tls-nodejs-tcp-server.js
│   │   │   │   │   ├── tls-nodejs-test.js
│   │   │   │   │   ├── tls-nodejs-test.wd-test
│   │   │   │   │   ├── trace-events-nodejs-test.js
│   │   │   │   │   ├── trace-events-nodejs-test.wd-test
│   │   │   │   │   ├── tty-nodejs-test.js
│   │   │   │   │   ├── tty-nodejs-test.wd-test
│   │   │   │   │   ├── url-nodejs-test.js
│   │   │   │   │   ├── url-nodejs-test.wd-test
│   │   │   │   │   ├── util-nodejs-test.js
│   │   │   │   │   ├── util-nodejs-test.wd-test
│   │   │   │   │   ├── v8-nodejs-test.js
│   │   │   │   │   ├── v8-nodejs-test.wd-test
│   │   │   │   │   ├── vm-test.js
│   │   │   │   │   ├── vm-test.wd-test
│   │   │   │   │   ├── wasi-nodejs-test.js
│   │   │   │   │   ├── wasi-nodejs-test.wd-test
│   │   │   │   │   ├── worker_threads-nodejs-test.js
│   │   │   │   │   ├── worker_threads-nodejs-test.wd-test
│   │   │   │   │   ├── zlib-nodejs-test.js
│   │   │   │   │   ├── zlib-nodejs-test.wd-test
│   │   │   │   │   ├── zlib-zstd-nodejs-test.js
│   │   │   │   │   └── zlib-zstd-nodejs-test.wd-test
│   │   │   │   ├── timers.c++
│   │   │   │   ├── timers.h
│   │   │   │   ├── url.c++
│   │   │   │   ├── url.h
│   │   │   │   ├── util.c++
│   │   │   │   ├── util.h
│   │   │   │   ├── zlib-util.c++
│   │   │   │   └── zlib-util.h
│   │   │   ├── performance.c++
│   │   │   ├── performance.h
│   │   │   ├── pyodide/
│   │   │   │   ├── pyodide-test.c++
│   │   │   │   ├── pyodide.c++
│   │   │   │   ├── pyodide.h
│   │   │   │   ├── requirements.c++
│   │   │   │   ├── requirements.h
│   │   │   │   ├── setup-emscripten.c++
│   │   │   │   └── setup-emscripten.h
│   │   │   ├── queue.c++
│   │   │   ├── queue.h
│   │   │   ├── r2-admin.c++
│   │   │   ├── r2-admin.h
│   │   │   ├── r2-api.capnp
│   │   │   ├── r2-bucket.c++
│   │   │   ├── r2-bucket.h
│   │   │   ├── r2-multipart.c++
│   │   │   ├── r2-multipart.h
│   │   │   ├── r2-rpc.c++
│   │   │   ├── r2-rpc.h
│   │   │   ├── r2.h
│   │   │   ├── rtti.c++
│   │   │   ├── rtti.h
│   │   │   ├── scheduled.c++
│   │   │   ├── scheduled.h
│   │   │   ├── ser-errors-test.c++
│   │   │   ├── sockets.c++
│   │   │   ├── sockets.h
│   │   │   ├── sql.c++
│   │   │   ├── sql.h
│   │   │   ├── streams/
│   │   │   │   ├── AGENTS.md
│   │   │   │   ├── README.md
│   │   │   │   ├── common.c++
│   │   │   │   ├── common.h
│   │   │   │   ├── compression.c++
│   │   │   │   ├── compression.h
│   │   │   │   ├── encoding.c++
│   │   │   │   ├── encoding.h
│   │   │   │   ├── identity-transform-stream.c++
│   │   │   │   ├── identity-transform-stream.h
│   │   │   │   ├── identitytransformstream-backpressure-test.js
│   │   │   │   ├── identitytransformstream-backpressure-test.wd-test
│   │   │   │   ├── identitytransformstream-byob-test.js
│   │   │   │   ├── identitytransformstream-byob-test.wd-test
│   │   │   │   ├── internal-test.c++
│   │   │   │   ├── internal.c++
│   │   │   │   ├── internal.h
│   │   │   │   ├── queue-test.c++
│   │   │   │   ├── queue.c++
│   │   │   │   ├── queue.h
│   │   │   │   ├── readable-source-adapter-test.c++
│   │   │   │   ├── readable-source-adapter.c++
│   │   │   │   ├── readable-source-adapter.h
│   │   │   │   ├── readable-source-test.c++
│   │   │   │   ├── readable-source.c++
│   │   │   │   ├── readable-source.h
│   │   │   │   ├── readable.c++
│   │   │   │   ├── readable.h
│   │   │   │   ├── standard-test.c++
│   │   │   │   ├── standard.c++
│   │   │   │   ├── standard.h
│   │   │   │   ├── streams-test.js
│   │   │   │   ├── streams-test.wd-test
│   │   │   │   ├── transform.c++
│   │   │   │   ├── transform.h
│   │   │   │   ├── writable-sink-adapter-test.c++
│   │   │   │   ├── writable-sink-adapter.c++
│   │   │   │   ├── writable-sink-adapter.h
│   │   │   │   ├── writable-sink-test.c++
│   │   │   │   ├── writable-sink.c++
│   │   │   │   ├── writable-sink.h
│   │   │   │   ├── writable.c++
│   │   │   │   └── writable.h
│   │   │   ├── streams-test.c++
│   │   │   ├── streams.h
│   │   │   ├── sync-kv.c++
│   │   │   ├── sync-kv.h
│   │   │   ├── system-streams-test.c++
│   │   │   ├── system-streams.c++
│   │   │   ├── system-streams.h
│   │   │   ├── tests/
│   │   │   │   ├── BUILD.bazel
│   │   │   │   ├── abort-internal-streams-test.js
│   │   │   │   ├── abort-internal-streams-test.wd-test
│   │   │   │   ├── abortable-fetch-test.js
│   │   │   │   ├── abortable-fetch-test.wd-test
│   │   │   │   ├── abortsignal-test.js
│   │   │   │   ├── abortsignal-test.wd-test
│   │   │   │   ├── actor-alarms-delete-test.js
│   │   │   │   ├── actor-alarms-delete-test.wd-test
│   │   │   │   ├── actor-alarms-test.js
│   │   │   │   ├── actor-alarms-test.wd-test
│   │   │   │   ├── actor-kv-test-tail.js
│   │   │   │   ├── actor-kv-test.js
│   │   │   │   ├── actor-kv-test.wd-test
│   │   │   │   ├── actor-stub-test.js
│   │   │   │   ├── actor-stub-test.wd-test
│   │   │   │   ├── als-only-test.js
│   │   │   │   ├── als-only-test.wd-test
│   │   │   │   ├── als-test.js
│   │   │   │   ├── als-test.wd-test
│   │   │   │   ├── analytics-engine-test.js
│   │   │   │   ├── analytics-engine-test.wd-test
│   │   │   │   ├── autogate-disabled-test.js
│   │   │   │   ├── autogate-disabled-test.wd-test
│   │   │   │   ├── autogate-enabled-test.js
│   │   │   │   ├── autogate-enabled-test.wd-test
│   │   │   │   ├── blob-test.js
│   │   │   │   ├── blob-test.wd-test
│   │   │   │   ├── blob2-test.js
│   │   │   │   ├── blob2-test.wd-test
│   │   │   │   ├── buffer-indexof-odd-offset-ucs2-test.js
│   │   │   │   ├── buffer-indexof-odd-offset-ucs2-test.wd-test
│   │   │   │   ├── byob-reader-resize-pending-read-test.js
│   │   │   │   ├── byob-reader-resize-pending-read-test.wd-test
│   │   │   │   ├── cache-instrumentation-test.js
│   │   │   │   ├── cache-mock.js
│   │   │   │   ├── cache-operations-test.js
│   │   │   │   ├── cache-test.wd-test
│   │   │   │   ├── commonjs-module-test.js
│   │   │   │   ├── commonjs-module-test.wd-test
│   │   │   │   ├── compat-flag-disabled-test.js
│   │   │   │   ├── compat-flag-disabled-test.wd-test
│   │   │   │   ├── compat-flag-enabled-test.js
│   │   │   │   ├── compat-flag-enabled-test.wd-test
│   │   │   │   ├── compat-flags-test.js
│   │   │   │   ├── compat-flags-test.wd-test
│   │   │   │   ├── compression-streams-test.js
│   │   │   │   ├── compression-streams-test.wd-test
│   │   │   │   ├── cross-context-promise-test.js
│   │   │   │   ├── cross-context-promise-test.wd-test
│   │   │   │   ├── crypto-extras-test.js
│   │   │   │   ├── crypto-extras-test.wd-test
│   │   │   │   ├── crypto-impl-asymmetric-test.js
│   │   │   │   ├── crypto-impl-asymmetric-test.wd-test
│   │   │   │   ├── crypto-streams-test.js
│   │   │   │   ├── crypto-streams-test.wd-test
│   │   │   │   ├── ctx-props-test.wd-test
│   │   │   │   ├── data-url-fetch-test.js
│   │   │   │   ├── data-url-fetch-test.wd-test
│   │   │   │   ├── decompression-stream-unhandled-rejection-test.js
│   │   │   │   ├── decompression-stream-unhandled-rejection-test.wd-test
│   │   │   │   ├── delete-all-deletes-alarm-test.js
│   │   │   │   ├── delete-all-deletes-alarm-test.wd-test
│   │   │   │   ├── disable-importable-env-test.js
│   │   │   │   ├── disable-importable-env-test.wd-test
│   │   │   │   ├── disable-importable-exports-test.js
│   │   │   │   ├── disable-importable-exports-test.wd-test
│   │   │   │   ├── encoding-streams-test.js
│   │   │   │   ├── encoding-streams-test.wd-test
│   │   │   │   ├── encoding-test.js
│   │   │   │   ├── encoding-test.wd-test
│   │   │   │   ├── error-in-error-event-test.js
│   │   │   │   ├── error-in-error-event-test.wd-test
│   │   │   │   ├── events-test.js
│   │   │   │   ├── events-test.wd-test
│   │   │   │   ├── eventsource-test.js
│   │   │   │   ├── eventsource-test.wd-test
│   │   │   │   ├── experimental-eval-test.js
│   │   │   │   ├── experimental-eval-test.wd-test
│   │   │   │   ├── fetch-redirect-test.js
│   │   │   │   ├── fetch-redirect-test.wd-test
│   │   │   │   ├── fetch-test.js
│   │   │   │   ├── fetch-test.wd-test
│   │   │   │   ├── form-data-legacy-test.js
│   │   │   │   ├── form-data-legacy-test.wd-test
│   │   │   │   ├── form-data-test-ts.ts
│   │   │   │   ├── form-data-test-ts.wd-test
│   │   │   │   ├── form-data-test.js
│   │   │   │   ├── form-data-test.wd-test
│   │   │   │   ├── global-scope-test.js
│   │   │   │   ├── global-scope-test.wd-test
│   │   │   │   ├── headers-immutable-prototype-test.js
│   │   │   │   ├── headers-immutable-prototype-test.wd-test
│   │   │   │   ├── htmlrewriter-test.js
│   │   │   │   ├── htmlrewriter-test.wd-test
│   │   │   │   ├── htmlrewriter-transform-cancel-test.js
│   │   │   │   ├── htmlrewriter-transform-cancel-test.wd-test
│   │   │   │   ├── http-socket-server.js
│   │   │   │   ├── http-socket-test.js
│   │   │   │   ├── http-socket-test.wd-test
│   │   │   │   ├── http-standard-test.js
│   │   │   │   ├── http-standard-test.wd-test
│   │   │   │   ├── http-test-ts.ts
│   │   │   │   ├── http-test-ts.ts-wd-test
│   │   │   │   ├── http-test.js
│   │   │   │   ├── http-test.wd-test
│   │   │   │   ├── identity-transform-stream-state-machine-test.js
│   │   │   │   ├── identity-transform-stream-state-machine-test.wd-test
│   │   │   │   ├── importable-env-test.js
│   │   │   │   ├── importable-env-test.wd-test
│   │   │   │   ├── importable-exports-test.js
│   │   │   │   ├── importable-exports-test.wd-test
│   │   │   │   ├── instrumentation-tail-worker.js
│   │   │   │   ├── js-rpc-flag.js
│   │   │   │   ├── js-rpc-flag.wd-test
│   │   │   │   ├── js-rpc-params-ownership-test.js
│   │   │   │   ├── js-rpc-params-ownership-test.wd-test
│   │   │   │   ├── js-rpc-socket-test.wd-test
│   │   │   │   ├── js-rpc-test.js
│   │   │   │   ├── js-rpc-test.wd-test
│   │   │   │   ├── jsrpc-timing-test-tail.js
│   │   │   │   ├── jsrpc-timing-test.js
│   │   │   │   ├── jsrpc-timing-test.wd-test
│   │   │   │   ├── kv-instrumentation-test.js
│   │   │   │   ├── kv-test.js
│   │   │   │   ├── kv-test.wd-test
│   │   │   │   ├── leak-fetch-test.js
│   │   │   │   ├── leak-fetch-test.wd-test
│   │   │   │   ├── memory-cache-test.js
│   │   │   │   ├── memory-cache-test.wd-test
│   │   │   │   ├── messageport-test.js
│   │   │   │   ├── messageport-test.wd-test
│   │   │   │   ├── module-test.js
│   │   │   │   ├── module-test.wd-test
│   │   │   │   ├── navigator-beacon-test.js
│   │   │   │   ├── navigator-beacon-test.wd-test
│   │   │   │   ├── navigator-test.js
│   │   │   │   ├── navigator-test.wd-test
│   │   │   │   ├── new-module-registry-dns-test.js
│   │   │   │   ├── new-module-registry-dns-test.wd-test
│   │   │   │   ├── new-module-registry-node-filter-test.js
│   │   │   │   ├── new-module-registry-node-filter-test.wd-test
│   │   │   │   ├── new-module-registry-test.js
│   │   │   │   ├── new-module-registry-test.wd-test
│   │   │   │   ├── new-module-registry-ts-test-helper.ts
│   │   │   │   ├── new-module-registry-ts-test.js
│   │   │   │   ├── new-module-registry-ts-test.wd-test
│   │   │   │   ├── no-to-string-tag-test.js
│   │   │   │   ├── no-to-string-tag-test.wd-test
│   │   │   │   ├── opennextjs/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── opennext-ssr-test.js
│   │   │   │   │   ├── opennext-ssr-test.wd-test
│   │   │   │   │   └── src/
│   │   │   │   │       ├── .gitignore
│   │   │   │   │       ├── BUILD.bazel
│   │   │   │   │       ├── app/
│   │   │   │   │       │   ├── api/
│   │   │   │   │       │   │   ├── cookies/
│   │   │   │   │       │   │   │   └── route.js
│   │   │   │   │       │   │   └── data/
│   │   │   │   │       │   │       └── route.js
│   │   │   │   │       │   ├── layout.jsx
│   │   │   │   │       │   ├── page.jsx
│   │   │   │   │       │   ├── posts/
│   │   │   │   │       │   │   └── [id]/
│   │   │   │   │       │   │       └── page.jsx
│   │   │   │   │       │   ├── redirect-test/
│   │   │   │   │       │   │   └── page.jsx
│   │   │   │   │       │   └── streaming/
│   │   │   │   │       │       └── page.jsx
│   │   │   │   │       ├── jsconfig.json
│   │   │   │   │       ├── next.config.mjs
│   │   │   │   │       ├── open-next.config.mjs
│   │   │   │   │       ├── package.json
│   │   │   │   │       └── wrangler.jsonc
│   │   │   │   ├── pipe-streams-test.js
│   │   │   │   ├── pipe-streams-test.wd-test
│   │   │   │   ├── pipe-write-special-buffer-test.js
│   │   │   │   ├── pipe-write-special-buffer-test.wd-test
│   │   │   │   ├── queue-error-codes-test.js
│   │   │   │   ├── queue-test.js
│   │   │   │   ├── queue-test.wd-test
│   │   │   │   ├── r2-instrumentation-test.js
│   │   │   │   ├── r2-test.js
│   │   │   │   ├── r2-test.wd-test
│   │   │   │   ├── reporterror-test.js
│   │   │   │   ├── reporterror-test.wd-test
│   │   │   │   ├── request-clone-test.js
│   │   │   │   ├── request-clone-test.wd-test
│   │   │   │   ├── request-signal-disabled.js
│   │   │   │   ├── request-signal-disabled.wd-test
│   │   │   │   ├── request-signal-enabled.js
│   │   │   │   ├── request-signal-enabled.wd-test
│   │   │   │   ├── request-signal-passthrough.js
│   │   │   │   ├── request-signal-passthrough.wd-test
│   │   │   │   ├── response-json.js
│   │   │   │   ├── response-json.wd-test
│   │   │   │   ├── response-used-body-test.js
│   │   │   │   ├── response-used-body-test.wd-test
│   │   │   │   ├── rpc-error-test.js
│   │   │   │   ├── rpc-error-test.rpc.js
│   │   │   │   ├── rpc-error-test.wd-test
│   │   │   │   ├── rtti-test.js
│   │   │   │   ├── rtti-test.wd-test
│   │   │   │   ├── scheduler-test.js
│   │   │   │   ├── scheduler-test.wd-test
│   │   │   │   ├── self-logger-test.js
│   │   │   │   ├── self-logger-test.wd-test
│   │   │   │   ├── settimeout-test.js
│   │   │   │   ├── settimeout-test.wd-test
│   │   │   │   ├── sql-test-tail.js
│   │   │   │   ├── sql-test.js
│   │   │   │   ├── sql-test.wd-test
│   │   │   │   ├── starttls-nodejs-server.js
│   │   │   │   ├── starttls-nodejs-test.js
│   │   │   │   ├── starttls-nodejs-test.wd-test
│   │   │   │   ├── starttls-server.pem
│   │   │   │   ├── streams-async-iterator-test.js
│   │   │   │   ├── streams-async-iterator-test.wd-test
│   │   │   │   ├── streams-backpressure-test.js
│   │   │   │   ├── streams-backpressure-test.wd-test
│   │   │   │   ├── streams-byob-edge-cases-test.js
│   │   │   │   ├── streams-byob-edge-cases-test.wd-test
│   │   │   │   ├── streams-circ-ref-regression-test.js
│   │   │   │   ├── streams-circ-ref-regression-test.wd-test
│   │   │   │   ├── streams-error-edge-cases-test.js
│   │   │   │   ├── streams-error-edge-cases-test.wd-test
│   │   │   │   ├── streams-iocontext-test.js
│   │   │   │   ├── streams-iocontext-test.wd-test
│   │   │   │   ├── streams-js-test.js
│   │   │   │   ├── streams-js-test.wd-test
│   │   │   │   ├── streams-no-auto-allocate-test.js
│   │   │   │   ├── streams-no-auto-allocate-test.wd-test
│   │   │   │   ├── streams-r2-patterns-test.js
│   │   │   │   ├── streams-r2-patterns-test.wd-test
│   │   │   │   ├── streams-respond-test.js
│   │   │   │   ├── streams-respond-test.wd-test
│   │   │   │   ├── streams-tee-edge-cases-test.js
│   │   │   │   ├── streams-tee-edge-cases-test.wd-test
│   │   │   │   ├── streams-test.js
│   │   │   │   ├── streams-test.wd-test
│   │   │   │   ├── stub-storage-test.js
│   │   │   │   ├── stub-storage-test.wd-test
│   │   │   │   ├── sync-kv-instrumentation-test.js
│   │   │   │   ├── sync-kv-test.js
│   │   │   │   ├── sync-kv-test.wd-test
│   │   │   │   ├── tail-worker-test-dummy.js
│   │   │   │   ├── tail-worker-test-invalid.js
│   │   │   │   ├── tail-worker-test-jsrpc.js
│   │   │   │   ├── tail-worker-test-receiver.js
│   │   │   │   ├── tail-worker-test.js
│   │   │   │   ├── tail-worker-test.wd-test
│   │   │   │   ├── test.wasm
│   │   │   │   ├── textdecoder-utf16-odd-offset-test.js
│   │   │   │   ├── textdecoder-utf16-odd-offset-test.wd-test
│   │   │   │   ├── transform-streams-test.js
│   │   │   │   ├── transform-streams-test.wd-test
│   │   │   │   ├── tsconfig.json
│   │   │   │   ├── unhandled-rejection-test.js
│   │   │   │   ├── unhandled-rejection-test.wd-test
│   │   │   │   ├── unsafe-test.js
│   │   │   │   ├── unsafe-test.wd-test
│   │   │   │   ├── url-test.js
│   │   │   │   ├── url-test.wd-test
│   │   │   │   ├── warnings-tail.js
│   │   │   │   ├── warnings-test.js
│   │   │   │   ├── warnings-test.wd-test
│   │   │   │   ├── webfs-test.js
│   │   │   │   ├── webfs-test.wd-test
│   │   │   │   ├── websocket-allow-half-open-test.js
│   │   │   │   ├── websocket-allow-half-open-test.wd-test
│   │   │   │   ├── websocket-client-error-sidecar.js
│   │   │   │   ├── websocket-client-error-test.js
│   │   │   │   ├── websocket-client-error-test.wd-test
│   │   │   │   ├── websocket-constructor-test.js
│   │   │   │   ├── websocket-constructor-test.wd-test
│   │   │   │   ├── websocket-hibernation.js
│   │   │   │   ├── websocket-hibernation.wd-test
│   │   │   │   ├── worker-loader-test.js
│   │   │   │   ├── worker-loader-test.wd-test
│   │   │   │   ├── worker-test.js
│   │   │   │   └── worker-test.wd-test
│   │   │   ├── trace.c++
│   │   │   ├── trace.h
│   │   │   ├── tracing-module.c++
│   │   │   ├── tracing-module.h
│   │   │   ├── tsconfig.json
│   │   │   ├── unsafe.c++
│   │   │   ├── unsafe.h
│   │   │   ├── url-standard.c++
│   │   │   ├── url-standard.h
│   │   │   ├── url.c++
│   │   │   ├── url.h
│   │   │   ├── urlpattern-standard.c++
│   │   │   ├── urlpattern-standard.h
│   │   │   ├── urlpattern.c++
│   │   │   ├── urlpattern.h
│   │   │   ├── util-test.c++
│   │   │   ├── util.c++
│   │   │   ├── util.h
│   │   │   ├── web-socket.c++
│   │   │   ├── web-socket.h
│   │   │   ├── worker-loader.c++
│   │   │   ├── worker-loader.h
│   │   │   ├── worker-rpc.c++
│   │   │   ├── worker-rpc.h
│   │   │   ├── workers-module.c++
│   │   │   └── workers-module.h
│   │   ├── io/
│   │   │   ├── AGENTS.md
│   │   │   ├── BUILD.bazel
│   │   │   ├── actor-cache-test.c++
│   │   │   ├── actor-cache.c++
│   │   │   ├── actor-cache.h
│   │   │   ├── actor-id.h
│   │   │   ├── actor-sqlite-test.c++
│   │   │   ├── actor-sqlite.c++
│   │   │   ├── actor-sqlite.h
│   │   │   ├── actor-storage.c++
│   │   │   ├── actor-storage.capnp
│   │   │   ├── actor-storage.h
│   │   │   ├── bundle-fs-test.c++
│   │   │   ├── bundle-fs.c++
│   │   │   ├── bundle-fs.h
│   │   │   ├── cdp.capnp
│   │   │   ├── compatibility-date-test.c++
│   │   │   ├── compatibility-date.c++
│   │   │   ├── compatibility-date.capnp
│   │   │   ├── compatibility-date.h
│   │   │   ├── container.capnp
│   │   │   ├── external-pusher.c++
│   │   │   ├── external-pusher.h
│   │   │   ├── features.c++
│   │   │   ├── features.capnp
│   │   │   ├── features.h
│   │   │   ├── frankenvalue-test.c++
│   │   │   ├── frankenvalue.c++
│   │   │   ├── frankenvalue.capnp
│   │   │   ├── frankenvalue.h
│   │   │   ├── hibernation-manager.c++
│   │   │   ├── hibernation-manager.h
│   │   │   ├── io-channels.c++
│   │   │   ├── io-channels.h
│   │   │   ├── io-context-test.js
│   │   │   ├── io-context-test.wd-test
│   │   │   ├── io-context.c++
│   │   │   ├── io-context.h
│   │   │   ├── io-gate-test.c++
│   │   │   ├── io-gate.c++
│   │   │   ├── io-gate.h
│   │   │   ├── io-own.c++
│   │   │   ├── io-own.h
│   │   │   ├── io-thread-context.c++
│   │   │   ├── io-thread-context.h
│   │   │   ├── io-timers.c++
│   │   │   ├── io-timers.h
│   │   │   ├── io-util.c++
│   │   │   ├── io-util.h
│   │   │   ├── limit-enforcer.h
│   │   │   ├── maximum-compatibility-date.txt
│   │   │   ├── observer-test.c++
│   │   │   ├── observer.c++
│   │   │   ├── observer.h
│   │   │   ├── outcome.capnp
│   │   │   ├── promise-wrapper-test.c++
│   │   │   ├── promise-wrapper.h
│   │   │   ├── release-version.txt
│   │   │   ├── request-tracker.c++
│   │   │   ├── request-tracker.h
│   │   │   ├── script-version.capnp
│   │   │   ├── trace-stream.c++
│   │   │   ├── trace-stream.h
│   │   │   ├── trace-test.c++
│   │   │   ├── trace.c++
│   │   │   ├── trace.capnp
│   │   │   ├── trace.h
│   │   │   ├── tracer.c++
│   │   │   ├── tracer.h
│   │   │   ├── tracked-wasm-instance-js-test.wd-test
│   │   │   ├── tracked-wasm-instance-test.c++
│   │   │   ├── tracked-wasm-instance-test.js
│   │   │   ├── tracked-wasm-instance.c++
│   │   │   ├── tracked-wasm-instance.h
│   │   │   ├── wasm/
│   │   │   │   ├── .gitignore
│   │   │   │   ├── BUILD.bazel
│   │   │   │   ├── signal-basic.wat
│   │   │   │   ├── signal-bounds-check-edge.wat
│   │   │   │   ├── signal-bounds-check-overflow.wat
│   │   │   │   ├── signal-bounds-check-valid.wat
│   │   │   │   ├── signal-decoy-memory.wat
│   │   │   │   ├── signal-externref-memory.wat
│   │   │   │   ├── signal-imported-memory.wat
│   │   │   │   ├── signal-memory-reclaim.wat
│   │   │   │   ├── signal-no-globals.wat
│   │   │   │   ├── signal-partial-exports.wat
│   │   │   │   ├── signal-preinit.wat
│   │   │   │   └── signal-terminated-only.wat
│   │   │   ├── wasm-instantiate-shim.js
│   │   │   ├── worker-entrypoint.c++
│   │   │   ├── worker-entrypoint.h
│   │   │   ├── worker-fs-test.c++
│   │   │   ├── worker-fs.c++
│   │   │   ├── worker-fs.h
│   │   │   ├── worker-interface.c++
│   │   │   ├── worker-interface.capnp
│   │   │   ├── worker-interface.h
│   │   │   ├── worker-modules.c++
│   │   │   ├── worker-modules.h
│   │   │   ├── worker-source.h
│   │   │   ├── worker.c++
│   │   │   └── worker.h
│   │   ├── jsg/
│   │   │   ├── AGENTS.md
│   │   │   ├── BUILD.bazel
│   │   │   ├── README.md
│   │   │   ├── async-context.c++
│   │   │   ├── async-context.h
│   │   │   ├── buffersource-test.c++
│   │   │   ├── buffersource.c++
│   │   │   ├── buffersource.h
│   │   │   ├── compile-cache.c++
│   │   │   ├── compile-cache.h
│   │   │   ├── dom-exception-test.c++
│   │   │   ├── dom-exception.c++
│   │   │   ├── dom-exception.h
│   │   │   ├── exception-metadata.capnp
│   │   │   ├── exception.c++
│   │   │   ├── exception.h
│   │   │   ├── fast-api-test.c++
│   │   │   ├── fast-api.h
│   │   │   ├── function-test.c++
│   │   │   ├── function.h
│   │   │   ├── inspector.c++
│   │   │   ├── inspector.h
│   │   │   ├── iterator-test.c++
│   │   │   ├── iterator.c++
│   │   │   ├── iterator.h
│   │   │   ├── jsg-test.c++
│   │   │   ├── jsg-test.h
│   │   │   ├── jsg.c++
│   │   │   ├── jsg.h
│   │   │   ├── jsvalue-test.c++
│   │   │   ├── jsvalue.c++
│   │   │   ├── jsvalue.h
│   │   │   ├── macro-meta-test.c++
│   │   │   ├── macro-meta.h
│   │   │   ├── memory-test.c++
│   │   │   ├── memory.c++
│   │   │   ├── memory.h
│   │   │   ├── meta.h
│   │   │   ├── modules-new-test.c++
│   │   │   ├── modules-new.c++
│   │   │   ├── modules-new.h
│   │   │   ├── modules.c++
│   │   │   ├── modules.capnp
│   │   │   ├── modules.h
│   │   │   ├── multiple-typewrappers-test.c++
│   │   │   ├── observer.h
│   │   │   ├── promise-test.c++
│   │   │   ├── promise.c++
│   │   │   ├── promise.h
│   │   │   ├── resource-test-bootstrap.js
│   │   │   ├── resource-test-builtin.js
│   │   │   ├── resource-test.c++
│   │   │   ├── resource-test.capnp
│   │   │   ├── resource.c++
│   │   │   ├── resource.h
│   │   │   ├── rtti-test.c++
│   │   │   ├── rtti-test.capnp
│   │   │   ├── rtti.capnp
│   │   │   ├── rtti.h
│   │   │   ├── script.c++
│   │   │   ├── script.h
│   │   │   ├── ser-test.c++
│   │   │   ├── ser.c++
│   │   │   ├── ser.h
│   │   │   ├── setup-test.c++
│   │   │   ├── setup.c++
│   │   │   ├── setup.h
│   │   │   ├── struct-test.c++
│   │   │   ├── struct.h
│   │   │   ├── tracing-test.c++
│   │   │   ├── type-wrapper-test.c++
│   │   │   ├── type-wrapper.h
│   │   │   ├── url-test.c++
│   │   │   ├── url.c++
│   │   │   ├── url.h
│   │   │   ├── util-test.c++
│   │   │   ├── util.c++
│   │   │   ├── util.h
│   │   │   ├── v8-platform-wrapper.c++
│   │   │   ├── v8-platform-wrapper.h
│   │   │   ├── value-test.c++
│   │   │   ├── value.h
│   │   │   ├── web-idl-test.c++
│   │   │   ├── web-idl.h
│   │   │   ├── wrappable.c++
│   │   │   └── wrappable.h
│   │   ├── server/
│   │   │   ├── AGENTS.md
│   │   │   ├── BUILD.bazel
│   │   │   ├── actor-id-impl-test.c++
│   │   │   ├── actor-id-impl.c++
│   │   │   ├── actor-id-impl.h
│   │   │   ├── alarm-scheduler.c++
│   │   │   ├── alarm-scheduler.h
│   │   │   ├── channel-token-test.c++
│   │   │   ├── channel-token.c++
│   │   │   ├── channel-token.capnp
│   │   │   ├── channel-token.h
│   │   │   ├── container-client-test.c++
│   │   │   ├── container-client.c++
│   │   │   ├── container-client.h
│   │   │   ├── docker-api.capnp
│   │   │   ├── facet-tree-index-test.c++
│   │   │   ├── facet-tree-index.c++
│   │   │   ├── facet-tree-index.h
│   │   │   ├── fallback-service.c++
│   │   │   ├── fallback-service.h
│   │   │   ├── json-logger-test.c++
│   │   │   ├── json-logger.c++
│   │   │   ├── json-logger.h
│   │   │   ├── log-schema.capnp
│   │   │   ├── pyodide.c++
│   │   │   ├── pyodide.h
│   │   │   ├── server-test.c++
│   │   │   ├── server.c++
│   │   │   ├── server.h
│   │   │   ├── tests/
│   │   │   │   ├── BUILD.bazel
│   │   │   │   ├── compile-tests/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── compile-helloworld-test.ok
│   │   │   │   │   └── compile-test.sh
│   │   │   │   ├── container-client/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── README.md
│   │   │   │   │   ├── container-client.wd-test
│   │   │   │   │   └── test.js
│   │   │   │   ├── extensions/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── binding.js
│   │   │   │   │   ├── extension.capnp
│   │   │   │   │   ├── extensions-test.js
│   │   │   │   │   ├── extensions-test.wd-test
│   │   │   │   │   ├── internal-module.js
│   │   │   │   │   └── module.js
│   │   │   │   ├── inspector/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── config.capnp
│   │   │   │   │   ├── driver.mjs
│   │   │   │   │   └── index.mjs
│   │   │   │   ├── python/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── asgi/
│   │   │   │   │   │   ├── asgi.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── asgi-sse/
│   │   │   │   │   │   ├── asgi-sse.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── default-class-with-legacy-global-handlers/
│   │   │   │   │   │   ├── default-class-with-legacy-global-handlers.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── dont-snapshot-pyodide/
│   │   │   │   │   │   ├── dont-snapshot-pyodide.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── durable-object/
│   │   │   │   │   │   ├── durable-object.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── durable-object-websocket/
│   │   │   │   │   │   ├── durable-object-websocket.wd-test
│   │   │   │   │   │   ├── tester.js
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── env-param/
│   │   │   │   │   │   ├── env.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── fastapi/
│   │   │   │   │   │   ├── fastapi.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── filter-non-py-files/
│   │   │   │   │   │   ├── filter-files.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── hello/
│   │   │   │   │   │   ├── hello.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── import_tests.bzl
│   │   │   │   │   ├── jspi/
│   │   │   │   │   │   ├── jspi.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── numpy/
│   │   │   │   │   │   ├── numpy.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── py_wd_test.bzl
│   │   │   │   │   ├── pytest/
│   │   │   │   │   │   ├── main.py
│   │   │   │   │   │   ├── pytest.wd-test
│   │   │   │   │   │   └── tests/
│   │   │   │   │   │       ├── test_dynlib_loading.py
│   │   │   │   │   │       ├── test_env.py
│   │   │   │   │   │       ├── test_fs.py
│   │   │   │   │   │       └── test_import_from_javascript.py
│   │   │   │   │   ├── python-compat-flag/
│   │   │   │   │   │   ├── python-compat-flag.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── python-rpc/
│   │   │   │   │   │   ├── python-rpc.wd-test
│   │   │   │   │   │   ├── worker.js
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── random/
│   │   │   │   │   │   ├── random.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── sdk/
│   │   │   │   │   │   ├── proxy.js
│   │   │   │   │   │   ├── sdk.wd-test
│   │   │   │   │   │   ├── server.py
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── subdirectory/
│   │   │   │   │   │   ├── a.py
│   │   │   │   │   │   ├── subdir/
│   │   │   │   │   │   │   ├── __init__.py
│   │   │   │   │   │   │   └── a.py
│   │   │   │   │   │   └── subdirectory.wd-test
│   │   │   │   │   ├── top-level-tests/
│   │   │   │   │   │   ├── env.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── undefined-handler/
│   │   │   │   │   │   ├── main.py
│   │   │   │   │   │   ├── server.mjs
│   │   │   │   │   │   ├── undefined-handler.wd-test
│   │   │   │   │   │   └── undefined_handler.py
│   │   │   │   │   ├── vendor_dir/
│   │   │   │   │   │   ├── vendor/
│   │   │   │   │   │   │   └── a.py
│   │   │   │   │   │   ├── vendor_dir.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── vendor_dir_compat_flag/
│   │   │   │   │   │   ├── vendor/
│   │   │   │   │   │   │   └── a.py
│   │   │   │   │   │   ├── vendor_dir_compat_flag.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   ├── vendor_pkg_tests/
│   │   │   │   │   │   ├── BUILD
│   │   │   │   │   │   ├── beautifulsoup4.py
│   │   │   │   │   │   ├── beautifulsoup4_vendor.wd-test
│   │   │   │   │   │   ├── existing_dedicated_fastapi.py
│   │   │   │   │   │   ├── existing_dedicated_fastapi_vendor.wd-test
│   │   │   │   │   │   ├── fastapi.py
│   │   │   │   │   │   ├── fastapi_vendor.wd-test
│   │   │   │   │   │   ├── generate_modules.py
│   │   │   │   │   │   ├── python-workers-runtime-sdk.py
│   │   │   │   │   │   ├── python-workers-runtime-sdk_vendor.wd-test
│   │   │   │   │   │   ├── scipy.py
│   │   │   │   │   │   ├── scipy_vendor.wd-test
│   │   │   │   │   │   ├── shapely.py
│   │   │   │   │   │   ├── shapely_vendor.wd-test
│   │   │   │   │   │   └── vendor_test.bzl
│   │   │   │   │   ├── worker-entrypoint/
│   │   │   │   │   │   ├── worker-entrypoint.wd-test
│   │   │   │   │   │   └── worker.py
│   │   │   │   │   └── workflow-entrypoint/
│   │   │   │   │       ├── worker.js
│   │   │   │   │       ├── workflow-entrypoint.wd-test
│   │   │   │   │       ├── workflow-old.py
│   │   │   │   │       └── workflow.py
│   │   │   │   ├── server-harness.mjs
│   │   │   │   ├── structured-logging/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── structured-logging-json.wd-test
│   │   │   │   │   └── structured-logging-test.mjs
│   │   │   │   ├── unsafe-eval/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── extension.capnp
│   │   │   │   │   ├── module.js
│   │   │   │   │   ├── unsafe-eval-test.js
│   │   │   │   │   └── unsafe-eval-test.wd-test
│   │   │   │   ├── unsafe-module/
│   │   │   │   │   ├── BUILD.bazel
│   │   │   │   │   ├── unsafe-module-test.js
│   │   │   │   │   └── unsafe-module-test.wd-test
│   │   │   │   └── weakref/
│   │   │   │       ├── BUILD.bazel
│   │   │   │       ├── config.capnp
│   │   │   │       ├── index.mjs
│   │   │   │       └── test.mjs
│   │   │   ├── v8-platform-impl.c++
│   │   │   ├── v8-platform-impl.h
│   │   │   ├── workerd-api.c++
│   │   │   ├── workerd-api.h
│   │   │   ├── workerd-debug-port-client.c++
│   │   │   ├── workerd-debug-port-client.h
│   │   │   ├── workerd.c++
│   │   │   └── workerd.capnp
│   │   ├── tests/
│   │   │   ├── BUILD.bazel
│   │   │   ├── bench-api-headers.c++
│   │   │   ├── bench-global-scope.c++
│   │   │   ├── bench-json.c++
│   │   │   ├── bench-jsstring.c++
│   │   │   ├── bench-kj-headers.c++
│   │   │   ├── bench-mimetype.c++
│   │   │   ├── bench-pumpto.c++
│   │   │   ├── bench-regex.c++
│   │   │   ├── bench-response.c++
│   │   │   ├── bench-stream-piping.c++
│   │   │   ├── bench-text-encoder.c++
│   │   │   ├── bench-tools.h
│   │   │   ├── bench-util.c++
│   │   │   ├── libreprl/
│   │   │   │   ├── libreprl.c
│   │   │   │   └── libreprl.h
│   │   │   ├── module-imports-test.js
│   │   │   ├── module-imports-test.wd-test
│   │   │   ├── performance-test.js
│   │   │   ├── performance-test.wd-test
│   │   │   ├── test-fixture-test.c++
│   │   │   ├── test-fixture.c++
│   │   │   ├── test-fixture.h
│   │   │   ├── test-reprl.c++
│   │   │   ├── test.wasm
│   │   │   ├── unknown-import-assertions-test.js
│   │   │   └── unknown-import-assertions-test.wd-test
│   │   ├── tools/
│   │   │   ├── BUILD.bazel
│   │   │   ├── param-extractor.rs
│   │   │   └── param-names-ast.c++
│   │   └── util/
│   │       ├── AGENTS.md
│   │       ├── BUILD.bazel
│   │       ├── abortable.h
│   │       ├── account-limits.h
│   │       ├── autogate.c++
│   │       ├── autogate.h
│   │       ├── batch-queue-test.c++
│   │       ├── batch-queue.h
│   │       ├── canceler.h
│   │       ├── capnp-mock.c++
│   │       ├── capnp-mock.h
│   │       ├── checked-queue-test.c++
│   │       ├── checked-queue.h
│   │       ├── color-util.h
│   │       ├── completion-membrane.h
│   │       ├── duration-exceeded-logger-test.c++
│   │       ├── duration-exceeded-logger.h
│   │       ├── entropy.c++
│   │       ├── entropy.h
│   │       ├── exception.h
│   │       ├── header-validation.h
│   │       ├── http-util.h
│   │       ├── immediate-crash.h
│   │       ├── mimetype-test.c++
│   │       ├── mimetype.c++
│   │       ├── mimetype.h
│   │       ├── own-util.h
│   │       ├── perfetto-tracing.c++
│   │       ├── perfetto-tracing.h
│   │       ├── ring-buffer-test.c++
│   │       ├── ring-buffer.h
│   │       ├── sentry.h
│   │       ├── small-set-test.c++
│   │       ├── small-set.h
│   │       ├── sqlite-kv-test.c++
│   │       ├── sqlite-kv.c++
│   │       ├── sqlite-kv.h
│   │       ├── sqlite-metadata-test.c++
│   │       ├── sqlite-metadata.c++
│   │       ├── sqlite-metadata.h
│   │       ├── sqlite-test.c++
│   │       ├── sqlite.c++
│   │       ├── sqlite.h
│   │       ├── state-machine-test.c++
│   │       ├── state-machine.h
│   │       ├── stream-utils.c++
│   │       ├── stream-utils.h
│   │       ├── string-buffer-test.c++
│   │       ├── string-buffer.h
│   │       ├── strings.c++
│   │       ├── strings.h
│   │       ├── strong-bool-test.c++
│   │       ├── strong-bool.h
│   │       ├── test-test.c++
│   │       ├── test.h
│   │       ├── thread-scopes.c++
│   │       ├── thread-scopes.h
│   │       ├── uncaught-exception-source.h
│   │       ├── use-perfetto-categories.h
│   │       ├── uuid-test.c++
│   │       ├── uuid.c++
│   │       ├── uuid.h
│   │       ├── wait-list-test.c++
│   │       ├── wait-list.c++
│   │       ├── wait-list.h
│   │       ├── weak-refs.h
│   │       ├── websocket-error-handler.c++
│   │       ├── websocket-error-handler.h
│   │       └── xthreadnotifier.h
│   └── wpt/
│       ├── BUILD.bazel
│       ├── WebCryptoAPI-test.ts
│       ├── compression-test.ts
│       ├── dom/
│       │   ├── abort-test.ts
│       │   └── events-test.ts
│       ├── encoding-test.ts
│       ├── eslint.config.mjs
│       ├── eventsource-test.ts
│       ├── fetch/
│       │   └── api-test.ts
│       ├── fs-test.ts
│       ├── harness/
│       │   ├── assertions.ts
│       │   ├── common.ts
│       │   ├── globals.ts
│       │   ├── harness.ts
│       │   ├── test.ts
│       │   └── utils.ts
│       ├── performance-timeline-test.ts
│       ├── streams-test.ts
│       ├── tsconfig.json
│       ├── url-test.ts
│       ├── urlpattern-standard-test.ts
│       ├── urlpattern-test.ts
│       ├── webidl-test.ts
│       └── websockets-test.ts
├── tools/
│   ├── BUILD.bazel
│   ├── base.eslint.config.mjs
│   ├── base.tsconfig.json
│   ├── cross/
│   │   ├── format.json
│   │   ├── format.py
│   │   ├── internal_build.py
│   │   └── wpt_logs.py
│   ├── custom-eslint-rules.mjs
│   ├── custom-eslint-rules.test.mjs
│   ├── intellij/
│   │   └── .managed.bazelproject
│   ├── unix/
│   │   ├── apply-big-move.sh
│   │   ├── clangd-check.sh
│   │   ├── create-external.sh
│   │   ├── create-internal-pr.sh
│   │   ├── find-python3.sh
│   │   ├── fix-copyrights.sh
│   │   ├── new-test.sh
│   │   ├── upload-python-bundle.sh
│   │   └── workspace-status.sh
│   ├── update_node_version.py
│   ├── update_opencode_version.py
│   └── windows/
│       ├── bazel-env.bat
│       ├── create-external.bat
│       ├── install-deps.bat
│       ├── vsconfig.json
│       └── workspace-status.cmd
└── types/
    ├── AGENTS.md
    ├── BUILD.bazel
    ├── README.md
    ├── defines/
    │   ├── ai-search.d.ts
    │   ├── ai.d.ts
    │   ├── aig.d.ts
    │   ├── autorag.d.ts
    │   ├── cf.d.ts
    │   ├── d1.d.ts
    │   ├── disposable.d.ts
    │   ├── email.d.ts
    │   ├── hello-world.d.ts
    │   ├── hyperdrive.d.ts
    │   ├── images.d.ts
    │   ├── media.d.ts
    │   ├── node.d.ts
    │   ├── pages.d.ts
    │   ├── pipelines.d.ts
    │   ├── pubsub.d.ts
    │   ├── ratelimit.d.ts
    │   ├── rpc.d.ts
    │   ├── secrets-store.d.ts
    │   ├── sockets.d.ts
    │   ├── stream.d.ts
    │   ├── to-markdown.d.ts
    │   ├── trace.d.ts
    │   ├── vectorize.d.ts
    │   ├── versions.d.ts
    │   ├── wfp.d.ts
    │   └── workflows.d.ts
    ├── eslint.config.mjs
    ├── generated-snapshot/
    │   ├── experimental/
    │   │   ├── index.d.ts
    │   │   └── index.ts
    │   └── latest/
    │       ├── index.d.ts
    │       └── index.ts
    ├── scripts/
    │   ├── build-types.ts
    │   ├── build-worker.ts
    │   └── config.capnp
    ├── src/
    │   ├── cloudflare.ts
    │   ├── generator/
    │   │   ├── index.ts
    │   │   ├── parameter-names.ts
    │   │   ├── structure.ts
    │   │   └── type.ts
    │   ├── index.ts
    │   ├── print.ts
    │   ├── program.ts
    │   ├── standards.ts
    │   ├── transforms/
    │   │   ├── ambient.ts
    │   │   ├── class-to-interface.ts
    │   │   ├── comments.ts
    │   │   ├── globals.ts
    │   │   ├── helpers.ts
    │   │   ├── import-resolve.ts
    │   │   ├── importable.ts
    │   │   ├── index.ts
    │   │   ├── internal-namespace.ts
    │   │   ├── iterators.ts
    │   │   ├── onmessage-declaration.ts
    │   │   └── overrides/
    │   │       ├── compiler.ts
    │   │       └── index.ts
    │   ├── utils.ts
    │   └── worker/
    │       ├── index.ts
    │       ├── raw.d.ts
    │       ├── rtti.d.ts
    │       └── virtual.d.ts
    ├── test/
    │   ├── generator/
    │   │   ├── index.spec.ts
    │   │   ├── structure.spec.ts
    │   │   └── type.spec.ts
    │   ├── index.spec.ts
    │   ├── print.spec.ts
    │   ├── transforms/
    │   │   ├── class-to-interface.spec.ts
    │   │   ├── globals.spec.ts
    │   │   ├── iterators.spec.ts
    │   │   └── overrides/
    │   │       └── index.spec.ts
    │   └── types/
    │       ├── cf.ts
    │       ├── d1.ts
    │       ├── do.ts
    │       ├── rpc.ts
    │       └── tsconfig.json
    └── tsconfig.json
Download .txt
Showing preview only (988K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (13002 symbols across 938 files)

FILE: .opencode/tools/bazel-deps.ts
  constant ALIASES (line 6) | const ALIASES: Record<string, string> = {
  type Ecosystem (line 20) | type Ecosystem = 'rust' | 'cpp' | null;
  constant ECOSYSTEM_PREFIXES (line 22) | const ECOSYSTEM_PREFIXES: Record<string, Ecosystem> = {
  function parseQualifier (line 30) | function parseQualifier(target: string): {
  method execute (line 77) | async execute(args, ctx) {
  function queryForwardDeps (line 95) | async function queryForwardDeps(
  function queryReverseDeps (line 190) | async function queryReverseDeps(
  type ResolveResult (line 278) | interface ResolveResult {
  function resolveDep (line 284) | async function resolveDep(
  function resolveToInternalLabel (line 372) | async function resolveToInternalLabel(
  function discoverExternalTargets (line 416) | async function discoverExternalTargets(
  function discoverRustCrate (line 439) | async function discoverRustCrate(
  function bazelQuery (line 478) | async function bazelQuery(query: string, root: string): Promise<string[]> {
  function groupByComponent (line 497) | function groupByComponent(targets: string[]): Record<string, string[]> {
  function groupByRepo (line 513) | function groupByRepo(targets: string[]): Record<string, string[]> {

FILE: .opencode/tools/capnp.ts
  function runCapnpcCapnp (line 16) | async function runCapnpcCapnp(
  function resolveCapnpPath (line 71) | function resolveCapnpPath(root: string, file: string): string {

FILE: .opencode/tools/compat-date-at.ts
  method execute (line 25) | async execute(args, ctx) {
  type CompatFlag (line 59) | interface CompatFlag {
  constant COMPAT_CAPNP (line 74) | const COMPAT_CAPNP = 'src/workerd/io/compatibility-date.capnp';
  function parseCompatFlags (line 76) | async function parseCompatFlags(root: string): Promise<CompatFlag[] | st...
  function extractAnno (line 107) | function extractAnno(line: string, name: string): string | null {
  function extractRawAnno (line 112) | function extractRawAnno(line: string, name: string): string | null {
  function formatAllFlags (line 119) | function formatAllFlags(flags: CompatFlag[]): string {
  function formatAtDate (line 168) | function formatAtDate(flags: CompatFlag[], date: string): string {

FILE: .opencode/tools/cross-reference.ts
  method execute (line 17) | async execute(args, ctx) {
  type Hit (line 140) | interface Hit {
  function grepFiles (line 146) | async function grepFiles(
  function grepTestFiles (line 160) | async function grepTestFiles(
  function parseGrepOutput (line 182) | function parseGrepOutput(output: string, root: string): Hit[] {
  function findPrimary (line 198) | function findPrimary(
  function extractJsgMethods (line 207) | async function extractJsgMethods(headerPath: string): Promise<string[]> {
  function findIsolateTypeMacro (line 223) | async function findIsolateTypeMacro(

FILE: .opencode/tools/jsg-interface.ts
  method execute (line 17) | async execute(args, ctx) {
  function extractResourceType (line 119) | function extractResourceType(
  function extractStruct (line 303) | function extractStruct(content: string, cls: string, filePath: string): ...
  type Method (line 375) | interface Method {
  type Property (line 381) | interface Property {
  type Constant (line 390) | interface Constant {
  type NestedType (line 395) | interface NestedType {
  type Iterator (line 400) | interface Iterator {
  type Dispose (line 405) | interface Dispose {
  type TsOverride (line 410) | interface TsOverride {
  type ParsedInterface (line 415) | interface ParsedInterface {
  function parseInterface (line 430) | function parseInterface(block: string): ParsedInterface {
  function extractBracedBlock (line 721) | function extractBracedBlock(lines: string[], startLine: number): string ...
  function gatherMultiLineMacro (line 746) | function gatherMultiLineMacro(lines: string[], startIdx: number): string {
  function isInClass (line 764) | function isInClass(content: string, cls: string, lineIdx: number): boole...
  function extractClassExtras (line 775) | function extractClassExtras(

FILE: .opencode/tools/next-capnp-ordinal.ts
  method execute (line 22) | async execute(args, ctx) {
  type FieldInfo (line 51) | interface FieldInfo {
  type StructInfo (line 59) | interface StructInfo {
  function parseCapnpOutput (line 66) | function parseCapnpOutput(output: string): StructInfo[] {
  function listStructs (line 170) | function listStructs(structs: StructInfo[], filePath: string): string {
  function formatResult (line 186) | function formatResult(target: StructInfo, filePath: string): string {

FILE: build/deps/update-deps.py
  function format_attr_list (line 74) | def format_attr_list(attrs, single_line=False):
  function format_attr (line 92) | def format_attr(v):
  function format_repo_rule_dep (line 102) | def format_repo_rule_dep(repo, rule_name, attrs):
  function format_ext_dep (line 110) | def format_ext_dep(repo, ext_name, rule_name, attrs):
  class RateLimitedException (line 119) | class RateLimitedException(Exception):
  class AssetsException (line 123) | class AssetsException(Exception):
  class UnsupportedException (line 127) | class UnsupportedException(Exception):
  function github_urlopen (line 131) | def github_urlopen(url):
  function github_last_commit (line 162) | def github_last_commit(repo):
  function get_url_content_sha256 (line 171) | def get_url_content_sha256(url):
  function get_bcr_module_bazel_url (line 175) | def get_bcr_module_bazel_url(module_name, version):
  function get_bcr_module_bazel_integrity (line 180) | def get_bcr_module_bazel_integrity(module_name, version):
  function repo_attributes (line 188) | def repo_attributes(repo):
  function format_bazel_dep_with_override (line 216) | def format_bazel_dep_with_override(repo, override_type, override_attrs):
  function gen_github_tarball (line 238) | def gen_github_tarball(repo):
  function github_last_release (line 293) | def github_last_release(repo):
  function github_release (line 300) | def github_release(repo, tag_name):
  function gen_github_release (line 309) | def gen_github_release(repo):
  function get_release_asset (line 400) | def get_release_asset(repo, release):
  function gen_git_clone (line 416) | def gen_git_clone(repo):
  function get_bcr_version (line 461) | def get_bcr_version(name: str) -> str:
  function gen_bazel_dep (line 482) | def gen_bazel_dep(repo):
  function gen_repo_str (line 505) | def gen_repo_str(repo):
  function gen_repo_bzl (line 518) | def gen_repo_bzl(repo, current_dep):
  function gen_deps_bzl (line 530) | def gen_deps_bzl(repo_contents, deps_bzl):
  function process_deps (line 544) | def process_deps(deps, current_deps, deps_bzl):
  function split_bzl_file (line 557) | def split_bzl_file(file: Path) -> dict[str, str]:
  function strip_comments (line 576) | def strip_comments(text):
  function read_access_token (line 584) | def read_access_token():
  function process_config (line 621) | def process_config(deps_file):
  function run (line 642) | def run():

FILE: fuzzilli/analytics-mock.js
  function shouldChaos (line 1) | function shouldChaos() {
  function getChaoticAnalyticsResponse (line 5) | function getChaoticAnalyticsResponse() {
  method fetch (line 31) | async fetch(request, env, ctx) {

FILE: fuzzilli/d1-mock.js
  constant MOCK_USER_ROWS (line 2) | const MOCK_USER_ROWS = {
  function shouldChaos (line 7) | function shouldChaos() {
  function getChaoticD1Response (line 11) | function getChaoticD1Response() {
  function mockQuery (line 43) | function mockQuery({ sql, params = [] }) {
  function ok (line 64) | function ok(...results) {
  method fetch (line 73) | async fetch(request, env, ctx) {

FILE: fuzzilli/kv-mock.js
  function shouldChaos (line 2) | function shouldChaos() {
  function getChaoticResponse (line 6) | function getChaoticResponse() {
  method fetch (line 33) | async fetch(request, env, ctx) {

FILE: fuzzilli/queue-mock.js
  function shouldChaos (line 1) | function shouldChaos() {
  function getChaoticQueueResponse (line 5) | function getChaoticQueueResponse() {
  method fetch (line 35) | async fetch(request, env, ctx) {

FILE: fuzzilli/r2-mock.js
  function shouldChaos (line 1) | function shouldChaos() {
  function getChaoticR2Response (line 5) | function getChaoticR2Response() {
  method fetch (line 40) | async fetch(request, env, ctx) {

FILE: fuzzilli/worker-consume-request.js
  method fetch (line 2) | async fetch(request) {

FILE: fuzzilli/worker-full.js
  method fetch (line 36) | async fetch(request, env, ctx) {
  method test (line 40) | async test(request, env, ctx) {

FILE: fuzzilli/worker.js
  method test (line 9) | async test() {

FILE: npm/lib/node-install.ts
  function validateBinaryVersion (line 27) | function validateBinaryVersion(...command: string[]): void {
  function isYarn (line 68) | function isYarn(): boolean {
  function fetch (line 76) | function fetch(url: string): Promise<Buffer> {
  function extractFileFromTarGzip (line 95) | function extractFileFromTarGzip(buffer: Buffer, subpath: string): Buffer {
  function installUsingNPM (line 119) | function installUsingNPM(pkg: string, subpath: string, binPath: string):...
  function removeRecursive (line 171) | function removeRecursive(dir: string): void {
  function maybeOptimizePackage (line 186) | function maybeOptimizePackage(binPath: string): void {
  function downloadDirectlyFromNPM (line 233) | async function downloadDirectlyFromNPM(
  function checkAndPreparePackage (line 259) | async function checkAndPreparePackage(): Promise<void> {

FILE: npm/lib/node-platform.ts
  function pkgAndSubpathForCurrentPlatform (line 25) | function pkgAndSubpathForCurrentPlatform(): {
  function pkgForSomeOtherPlatform (line 43) | function pkgForSomeOtherPlatform(): string | null {
  function downloadedBinPath (line 61) | function downloadedBinPath(pkg: string, subpath: string): string {
  function generateBinPath (line 66) | function generateBinPath(): { binPath: string } {

FILE: npm/scripts/build-shim-package.mjs
  function buildNeutralLib (line 12) | function buildNeutralLib() {

FILE: npm/scripts/build-types-package.mjs
  function buildTypesPackage (line 4) | function buildTypesPackage() {

FILE: npm/scripts/bump-version.mjs
  function updateVersionPackageJSON (line 11) | function updateVersionPackageJSON(pathToPackageJSON) {

FILE: samples/async-context/worker.js
  method fetch (line 10) | async fetch(request) {

FILE: samples/durable-objects-chat/chat.js
  function handleErrors (line 71) | async function handleErrors(request, func) {
  method fetch (line 99) | async fetch(request, env) {
  function handleApiRequest (line 124) | async function handleApiRequest(path, request, env) {
  class ChatRoom (line 213) | class ChatRoom {
    method constructor (line 214) | constructor(controller, env) {
    method fetch (line 237) | async fetch(request) {
    method handleSession (line 273) | async handleSession(webSocket, ip) {
    method broadcast (line 405) | broadcast(message) {
  class RateLimiter (line 451) | class RateLimiter {
    method constructor (line 452) | constructor(controller, env) {
    method fetch (line 461) | async fetch(request) {
  class RateLimiterClient (line 484) | class RateLimiterClient {
    method constructor (line 491) | constructor(getLimiterStub, reportError) {
    method checkLimit (line 505) | checkLimit() {
    method callLimiter (line 515) | async callLimiter() {

FILE: samples/eventsource/server.js
  function getMessage (line 13) | function getMessage(txt) {

FILE: samples/eventsource/worker.js
  method fetch (line 6) | async fetch(req, env) {

FILE: samples/extensions/binding.js
  function makeBinding (line 7) | function makeBinding(env) {

FILE: samples/extensions/burrito-shop-impl.js
  class BurritoShop (line 11) | class BurritoShop {
    method constructor (line 14) | constructor(recipes) {
    method makeBurrito (line 18) | makeBurrito(type) {

FILE: samples/extensions/kitchen.js
  class Burrito (line 9) | class Burrito {
    method constructor (line 11) | constructor(recipe) {
    method price (line 15) | price() {
  function makeBurritoImpl (line 20) | function makeBurritoImpl(recipe) {

FILE: samples/extensions/worker.js
  method fetch (line 8) | async fetch(req, env) {

FILE: samples/filesystem/worker.js
  method fetch (line 10) | async fetch(req, env) {

FILE: samples/hello-wasm/src/lib.rs
  function log_request (line 5) | fn log_request(req: &Request) {
  function main (line 19) | pub async fn main(req: Request, env: Env, _ctx: worker::Context) -> Resu...

FILE: samples/helloworld-ts/worker.ts
  method fetch (line 6) | async fetch(request, env, ctx): Promise<Response> {

FILE: samples/helloworld/worker.js
  function handle (line 9) | async function handle(request) {

FILE: samples/helloworld_esm/worker.js
  method fetch (line 6) | async fetch(req, env) {

FILE: samples/memory-cache/worker.js
  method fetch (line 6) | async fetch(req, env) {

FILE: samples/module_fallback/worker.js
  method fetch (line 21) | async fetch(req, env) {

FILE: samples/nodejs-compat-crypto/worker.js
  method fetch (line 13) | async fetch() {

FILE: samples/nodejs-compat-diagnosticschannel/library.js
  function doSomething (line 5) | function doSomething() {

FILE: samples/nodejs-compat-diagnosticschannel/worker.js
  method fetch (line 32) | async fetch(request) {

FILE: samples/nodejs-compat-fs-graceful/graceful-fs/clone.js
  function clone (line 9) | function clone (obj) {

FILE: samples/nodejs-compat-fs-graceful/graceful-fs/graceful-fs.js
  function noop (line 22) | function noop () {}
  function publishQueue (line 24) | function publishQueue(context, queue) {
  function close (line 53) | function close (fd, cb) {
  function closeSync (line 72) | function closeSync (fd) {
  function patch (line 102) | function patch (fs) {
  function enqueue (line 371) | function enqueue (elem) {
  function resetQueue (line 383) | function resetQueue () {
  function retry (line 397) | function retry () {

FILE: samples/nodejs-compat-fs-graceful/graceful-fs/legacy-streams.js
  function legacy (line 5) | function legacy (fs) {

FILE: samples/nodejs-compat-fs-graceful/graceful-fs/polyfills.js
  function patch (line 29) | function patch (fs) {

FILE: samples/nodejs-compat-fs-graceful/worker.js
  method fetch (line 4) | async fetch(request) {

FILE: samples/nodejs-compat-fs-yazl/worker.js
  method fetch (line 9) | fetch(request) {

FILE: samples/nodejs-compat-fs/worker.js
  method fetch (line 9) | async fetch(request) {

FILE: samples/nodejs-compat-http/worker.js
  method fetch (line 3) | async fetch(request) {

FILE: samples/nodejs-compat-streams-split2/split2.js
  function transform (line 26) | function transform (chunk, enc, cb) {
  function flush (line 61) | function flush (cb) {
  function push (line 76) | function push (self, val) {
  function noop (line 82) | function noop (incoming) {
  function split (line 86) | function split (matcher, mapper, options) {

FILE: samples/nodejs-compat-streams-split2/worker.js
  method fetch (line 12) | async fetch() {

FILE: samples/nodejs-compat-streams/worker.js
  class MyTransform (line 14) | class MyTransform extends Transform {
    method constructor (line 15) | constructor() {
    method _transform (line 18) | _transform(chunk, _, cb) {
    method _flush (line 22) | _flush(cb) {
  method fetch (line 29) | async fetch() {

FILE: samples/nodejs-compat/worker.js
  function doSomething (line 28) | function doSomething(a, cb) {
  function promiseSomething (line 33) | async function promiseSomething(a) {
  method fetch (line 42) | async fetch(request) {

FILE: samples/pyodide-env/worker.py
  class Default (line 5) | class Default(WorkerEntrypoint):
    method fetch (line 6) | def fetch(self, request):
    method test (line 10) | def test(self, ctx):

FILE: samples/pyodide-fastapi/worker.py
  class Default (line 5) | class Default(WorkerEntrypoint):
    method fetch (line 6) | async def fetch(self, request, env):
  function hello (line 21) | async def hello(env=env):
  function route (line 26) | async def route():
  function favicon (line 31) | async def favicon():
  function read_item (line 36) | async def read_item(item_id: int):
  class Item (line 40) | class Item(BaseModel):
  function create_item (line 48) | async def create_item(item: Item):
  function create_item2 (line 53) | async def create_item2(item_id: int, item: Item, q: str | None = None):

FILE: samples/pyodide-langchain/worker.py
  function test (line 7) | async def test(request):

FILE: samples/pyodide/worker.py
  class Default (line 5) | class Default(WorkerEntrypoint):
    method fetch (line 6) | def fetch(self, request):
  function test (line 10) | def test():

FILE: samples/python-benchmark/worker.py
  function json_loop (line 9) | def json_loop(n: int) -> int:
  class Default (line 24) | class Default(WorkerEntrypoint):
    method fetch (line 25) | async def fetch(self, request):
  function test (line 44) | def test():

FILE: samples/repl-server-python/worker.py
  class Default (line 13) | class Default(WorkerEntrypoint):
    method fetch (line 14) | async def fetch(self, request):

FILE: samples/repl-server/worker.js
  function evaluate (line 11) | async function evaluate(expr) {
  method fetch (line 23) | async fetch(req, env) {

FILE: samples/static-files-from-disk/static.js
  method fetch (line 12) | async fetch(req, env) {
  function wrapContent (line 98) | function wrapContent(req, status, filename, contentBody, contentHeaders) {
  constant TYPES (line 122) | let TYPES = {
  function makeListingHtml (line 154) | async function makeListingHtml(path, listing, dir) {

FILE: samples/tail-workers/tail.js
  method tail (line 7) | tail(traces) {
  method tailStream (line 10) | tailStream(...args) {

FILE: samples/tail-workers/worker.js
  method fetch (line 6) | async fetch(req, env) {

FILE: samples/tcp/gopher.js
  method fetch (line 19) | async fetch(req, env) {

FILE: samples/unit-tests/worker.js
  method test (line 12) | async test(ctrl, env, ctx) {
  method test (line 20) | async test(ctrl, env, ctx) {

FILE: samples/web-streams/streams-util.js
  constant WORDS (line 13) | const WORDS = [
  function generateChunk (line 26) | function generateChunk() {
  function createSyncLoremStream (line 36) | function createSyncLoremStream(numChunks) {
  function createAsyncLoremStream (line 52) | function createAsyncLoremStream(numChunks) {
  function createSyncLoremByteStream (line 69) | function createSyncLoremByteStream(numChunks) {
  function createAsyncLoremByteStream (line 86) | function createAsyncLoremByteStream(numChunks) {
  function createSyncUppercaseTransform (line 104) | function createSyncUppercaseTransform() {
  function createAsyncUppercaseTransform (line 123) | function createAsyncUppercaseTransform() {

FILE: samples/web-streams/worker.js
  method fetch (line 15) | async fetch(request) {

FILE: samples/webfs/worker.js
  method fetch (line 20) | async fetch(req, env) {

FILE: src/cloudflare/internal/ai-api.ts
  type AiSearchService (line 14) | type AiSearchService = object;
  type Fetcher (line 16) | interface Fetcher {
  type AiError (line 22) | interface AiError {
  type SessionOptions (line 30) | type SessionOptions = {
  type AiOptions (line 35) | type AiOptions = {
  type AiInputReadableStream (line 48) | type AiInputReadableStream = {
  type AiModelsSearchParams (line 53) | type AiModelsSearchParams = {
  type AiModelsSearchObject (line 63) | type AiModelsSearchObject = {
  class InferenceUpstreamError (line 80) | class InferenceUpstreamError extends Error {
    method constructor (line 81) | constructor(message: string, name = 'InferenceUpstreamError') {
  class AiInternalError (line 87) | class AiInternalError extends Error {
    method constructor (line 88) | constructor(message: string, name = 'AiInternalError') {
  function isReadableStream (line 94) | function isReadableStream(obj: unknown): obj is ReadableStream {
  function isFormData (line 98) | function isFormData(obj: unknown): obj is FormData {
  function findReadableStreamKeys (line 105) | function findReadableStreamKeys(
  class Ai (line 126) | class Ai {
    method constructor (line 142) | constructor(fetcher: Fetcher) {
    method fetch (line 146) | async fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Res...
    method #generateFetch (line 153) | async #generateFetch(
    method #generateStreamFetch (line 187) | async #generateStreamFetch(
    method #generateWebsocketFetch (line 246) | async #generateWebsocketFetch(
    method run (line 274) | async run(
    method getLogs (line 340) | getLogs(): string[] {
    method _parseError (line 346) | private async _parseError(res: Response): Promise<InferenceUpstreamErr...
    method models (line 373) | async models(
    method toMarkdown (line 406) | toMarkdown(
    method gateway (line 422) | gateway(gatewayId: string, options?: { beta?: boolean }): AiGateway {
    method autorag (line 429) | autorag(autoragId?: string): AutoRAG {
    method aiSearch (line 433) | aiSearch(): AiSearchService {
  function makeBinding (line 438) | function makeBinding(env: { fetcher: Fetcher }): Ai {

FILE: src/cloudflare/internal/aig-api.ts
  type Fetcher (line 5) | interface Fetcher {
  type GatewayRetries (line 9) | type GatewayRetries = {
  type GatewayOptions (line 15) | type GatewayOptions = {
  type UniversalGatewayOptions (line 27) | type UniversalGatewayOptions = Omit<GatewayOptions, 'id'> & {
  type AiGatewayPatchLog (line 34) | type AiGatewayPatchLog = {
  type AiGatewayLog (line 40) | type AiGatewayLog = {
  type AIGatewayProviders (line 68) | type AIGatewayProviders =
  type AIGatewayHeaders (line 90) | type AIGatewayHeaders = {
  type AIGatewayUniversalRequest (line 112) | type AIGatewayUniversalRequest = {
  class AiGatewayInternalError (line 119) | class AiGatewayInternalError extends Error {
    method constructor (line 120) | constructor(message: string) {
  class AiGatewayLogNotFound (line 126) | class AiGatewayLogNotFound extends Error {
    method constructor (line 127) | constructor(message: string) {
  function parseError (line 133) | async function parseError(
  class AiGateway (line 151) | class AiGateway {
    method constructor (line 155) | constructor(fetcher: Fetcher, gatewayId: string) {
    method getUrl (line 161) | async getUrl(provider?: AIGatewayProviders | string): Promise<string> {
    method getLog (line 176) | async getLog(logId: string): Promise<AiGatewayLog> {
    method patchLog (line 202) | async patchLog(logId: string, data: AiGatewayPatchLog): Promise<void> {
    method run (line 227) | run(
    method #getHeadersFromOptions (line 263) | #getHeadersFromOptions(

FILE: src/cloudflare/internal/autorag-api.ts
  type Fetcher (line 5) | interface Fetcher {
  class AutoRAGInternalError (line 9) | class AutoRAGInternalError extends Error {
    method constructor (line 10) | constructor(message: string, name = 'AutoRAGInternalError') {
  class AutoRAGNotFoundError (line 16) | class AutoRAGNotFoundError extends Error {
    method constructor (line 17) | constructor(message: string, name = 'AutoRAGNotFoundError') {
  class AutoRAGUnauthorizedError (line 23) | class AutoRAGUnauthorizedError extends Error {
    method constructor (line 24) | constructor(message: string, name = 'AutoRAGUnauthorizedError') {
  class AutoRAGNameNotSetError (line 30) | class AutoRAGNameNotSetError extends Error {
    method constructor (line 31) | constructor(message: string, name = 'AutoRAGNameNotSetError') {
  function parseError (line 37) | async function parseError(
  type ComparisonFilter (line 55) | type ComparisonFilter = {
  type CompoundFilter (line 61) | type CompoundFilter = {
  type AutoRagSearchRequest (line 66) | type AutoRagSearchRequest = {
  type AutoRagAiSearchRequest (line 81) | type AutoRagAiSearchRequest = AutoRagSearchRequest & {
  type AutoRagAiSearchRequestStreaming (line 85) | type AutoRagAiSearchRequestStreaming = Omit<
  type AutoRagSearchResponse (line 92) | type AutoRagSearchResponse = {
  type AutoRagListResponse (line 109) | type AutoRagListResponse = {
  type AutoRagAiSearchResponse (line 119) | type AutoRagAiSearchResponse = AutoRagSearchResponse & {
  class AutoRAG (line 123) | class AutoRAG {
    method constructor (line 127) | constructor(fetcher: Fetcher, autoragId?: string) {
    method list (line 132) | async list(): Promise<AutoRagListResponse> {
    method search (line 152) | async search(params: AutoRagSearchRequest): Promise<AutoRagSearchRespo...
    method aiSearch (line 190) | async aiSearch(

FILE: src/cloudflare/internal/br-api.ts
  type Fetcher (line 5) | interface Fetcher {
  class BrowserRendering (line 9) | class BrowserRendering {
    method constructor (line 14) | constructor(fetcher: Fetcher) {
    method fetch (line 18) | async fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Res...
  function makeBinding (line 23) | function makeBinding(env: {

FILE: src/cloudflare/internal/d1-api.ts
  type D1Meta (line 8) | interface D1Meta {
  type Fetcher (line 41) | interface Fetcher {
  type D1Response (line 45) | type D1Response = {
  type D1Result (line 51) | type D1Result<T = unknown> = D1Response & {
  type D1RawOptions (line 55) | type D1RawOptions = {
  type D1UpstreamFailure (line 59) | type D1UpstreamFailure = {
  type D1RowsColumns (line 66) | type D1RowsColumns<T = unknown> = D1Response & {
  type D1UpstreamSuccess (line 73) | type D1UpstreamSuccess<T = unknown> =
  type D1UpstreamResponse (line 78) | type D1UpstreamResponse<T = unknown> = D1UpstreamSuccess<T> | D1Upstream...
  type D1ExecResult (line 80) | type D1ExecResult = {
  type SQLError (line 85) | type SQLError = {
  type ResultsFormat (line 89) | type ResultsFormat = 'ARRAY_OF_OBJECTS' | 'ROWS_AND_COLUMNS' | 'NONE';
  type D1SessionBookmarkOrConstraint (line 91) | type D1SessionBookmarkOrConstraint = string;
  type D1SessionBookmark (line 92) | type D1SessionBookmark = string;
  constant D1_SESSION_CONSTRAINT_FIRST_PRIMARY (line 96) | const D1_SESSION_CONSTRAINT_FIRST_PRIMARY = 'first-primary';
  constant D1_SESSION_CONSTRAINT_FIRST_UNCONSTRAINED (line 100) | const D1_SESSION_CONSTRAINT_FIRST_UNCONSTRAINED = 'first-unconstrained';
  constant D1_SESSION_COMMIT_TOKEN_HTTP_HEADER (line 106) | const D1_SESSION_COMMIT_TOKEN_HTTP_HEADER = 'x-cf-d1-session-commit-token';
  class D1Database (line 108) | class D1Database {
    method constructor (line 114) | constructor(fetcher: Fetcher) {
    method prepare (line 121) | prepare(query: string): D1PreparedStatement {
    method batch (line 125) | async batch<T = unknown>(
    method exec (line 131) | async exec(query: string): Promise<D1ExecResult> {
    method withSession (line 135) | withSession(
    method dump (line 148) | async dump(): Promise<ArrayBuffer> {
  class D1DatabaseSession (line 153) | class D1DatabaseSession {
    method constructor (line 157) | constructor(
    method _updateBookmark (line 175) | protected _updateBookmark(
    method prepare (line 193) | prepare(sql: string): D1PreparedStatement {
    method batch (line 197) | async batch<T = unknown>(
    method getBookmark (line 237) | getBookmark(): D1SessionBookmark | null {
    method _wrappedFetch (line 253) | protected async _wrappedFetch(
    method _sendOrThrow (line 279) | async _sendOrThrow<T = unknown>(
    method _send (line 304) | async _send<T = unknown>(
  class D1DatabaseSessionAlwaysPrimary (line 357) | class D1DatabaseSessionAlwaysPrimary extends D1DatabaseSession {
    method constructor (line 358) | constructor(fetcher: Fetcher) {
    method _updateBookmark (line 365) | override _updateBookmark(
    method getBookmark (line 373) | override getBookmark(): D1SessionBookmark | null {
    method exec (line 382) | async exec(query: string): Promise<D1ExecResult> {
    method dump (line 432) | async dump(): Promise<ArrayBuffer> {
  class D1PreparedStatement (line 455) | class D1PreparedStatement {
    method constructor (line 462) | constructor(
    method bind (line 472) | bind(...values: unknown[]): D1PreparedStatement {
    method first (line 518) | async first<T = unknown>(
    method run (line 567) | async run<T = Record<string, unknown>>(): Promise<D1Response> {
    method all (line 597) | async all<T = Record<string, unknown>>(): Promise<D1Result<T[]>> {
    method raw (line 628) | async raw<T = unknown[]>(options?: D1RawOptions): Promise<T[]> {
  function firstIfArray (line 682) | function firstIfArray<T>(results: T | T[]): T {
  function toArrayOfObjects (line 688) | function toArrayOfObjects<T>(response: D1UpstreamSuccess<T>): D1Result<T> {
  function mapD1Result (line 711) | function mapD1Result<T>(result: D1UpstreamResponse<T>): D1UpstreamRespon...
  function toJson (line 726) | async function toJson<T = unknown>(response: Response): Promise<T> {
  type PartialD1Meta (line 735) | type PartialD1Meta = Partial<D1Meta> | undefined;
  function addAggregatedD1MetaToSpan (line 737) | function addAggregatedD1MetaToSpan(span: Span, metas: PartialD1Meta[]): ...
  function addD1MetaToSpan (line 745) | function addD1MetaToSpan(span: Span, meta: D1Meta): void {
  function aggregateD1Meta (line 773) | function aggregateD1Meta(metas: PartialD1Meta[]): D1Meta {
  function makeBinding (line 821) | function makeBinding(env: { fetcher: Fetcher }): D1Database {

FILE: src/cloudflare/internal/email.d.ts
  class EmailMessage (line 7) | class EmailMessage {

FILE: src/cloudflare/internal/http.ts
  type FetchHandler (line 5) | interface FetchHandler {

FILE: src/cloudflare/internal/images-api.ts
  type Fetcher (line 11) | type Fetcher = {
  type TargetedTransform (line 15) | type TargetedTransform = ImageTransform & {
  type DrawCommand (line 20) | type DrawCommand = ImageDrawOptions & {
  type RawInfoResponse (line 25) | type RawInfoResponse =
  class TransformationResultImpl (line 34) | class TransformationResultImpl implements ImageTransformationResult {
    method constructor (line 37) | constructor(bindingsResponse: Response) {
    method contentType (line 41) | contentType(): string {
    method image (line 53) | image(
    method response (line 63) | response(): Response {
  class DrawTransformer (line 72) | class DrawTransformer {
    method constructor (line 75) | constructor(child: ImageTransformerImpl, options: ImageDrawOptions) {
  class ImageTransformerImpl (line 81) | class ImageTransformerImpl implements ImageTransformer {
    method constructor (line 88) | constructor(fetcher: Fetcher, stream: ReadableStream<Uint8Array>) {
    method transform (line 95) | transform(transform: ImageTransform): this {
    method draw (line 100) | draw(
    method output (line 122) | async output(
    method #consume (line 172) | #consume(): void {
    method #serializeTransforms (line 183) | #serializeTransforms(formData: StreamableFormData, span: Span): void {
  function isTransformer (line 239) | function isTransformer(input: unknown): input is ImageTransformerImpl {
  function isDrawTransformer (line 243) | function isDrawTransformer(input: unknown): input is DrawTransformer {
  type ServiceEntrypointStub (line 247) | interface ServiceEntrypointStub {
  class HostedImagesBindingImpl (line 259) | class HostedImagesBindingImpl implements HostedImagesBinding {
    method constructor (line 262) | constructor(fetcher: ServiceEntrypointStub) {
    method details (line 266) | async details(imageId: string): Promise<ImageMetadata | null> {
    method image (line 270) | async image(imageId: string): Promise<ReadableStream<Uint8Array> | nul...
    method upload (line 274) | async upload(
    method update (line 281) | async update(
    method delete (line 288) | async delete(imageId: string): Promise<boolean> {
    method list (line 292) | async list(options?: ImageListOptions): Promise<ImageList> {
  class ImagesBindingImpl (line 297) | class ImagesBindingImpl implements ImagesBinding {
    method constructor (line 301) | constructor(fetcher: Fetcher & ServiceEntrypointStub) {
    method hosted (line 306) | get hosted(): HostedImagesBinding {
    method info (line 310) | async info(
    method input (line 363) | input(
  class ImagesErrorImpl (line 376) | class ImagesErrorImpl extends Error implements ImagesError {
    method constructor (line 378) | constructor(message: string, code: number) {
  function throwErrorIfErrorResponse (line 384) | async function throwErrorIfErrorResponse(
  function makeBinding (line 414) | function makeBinding(env: { fetcher: Fetcher }): ImagesBinding {

FILE: src/cloudflare/internal/images.d.ts
  type ImageInfoResponse (line 5) | type ImageInfoResponse =
  type ImageTransform (line 14) | type ImageTransform = {
  type ImageDrawOptions (line 72) | type ImageDrawOptions = {
  type ImageInputOptions (line 81) | type ImageInputOptions = {
  type ImageOutputOptions (line 85) | type ImageOutputOptions = {
  type ImageMetadata (line 99) | interface ImageMetadata {
  type ImageUploadOptions (line 110) | interface ImageUploadOptions {
  type ImageUpdateOptions (line 122) | interface ImageUpdateOptions {
  type ImageListOptions (line 128) | interface ImageListOptions {
  type ImageList (line 135) | interface ImageList {
  type HostedImagesBinding (line 141) | interface HostedImagesBinding {
  type ImagesBinding (line 193) | interface ImagesBinding {
  type ImageTransformer (line 219) | interface ImageTransformer {
  type ImageTransformationOutputOptions (line 246) | type ImageTransformationOutputOptions = {
  type ImageTransformationResult (line 250) | interface ImageTransformationResult {
  type ImagesError (line 265) | interface ImagesError extends Error {

FILE: src/cloudflare/internal/pipeline-transform.ts
  type Batch (line 57) | type Batch = {
  type FormatType (line 73) | type FormatType = (typeof Format)[keyof typeof Format];
  type JsonStream (line 75) | type JsonStream = Batch & {
  type PipelineBatchMetadata (line 80) | type PipelineBatchMetadata = {
  type PipelineRecord (line 85) | type PipelineRecord = Record<string, unknown>;
  class PipelineTransformImpl (line 87) | class PipelineTransformImpl<
    method run (line 98) | async run(_records: I[], _metadata: PipelineBatchMetadata): Promise<O[...
    method _ping (line 105) | private async _ping(): Promise<void> {
    method _run (line 123) | private async _run(
    method #readJsonStream (line 146) | async #readJsonStream(): Promise<I[]> {
    method #sendJson (line 164) | #sendJson(records: O[]): JsonStream {

FILE: src/cloudflare/internal/sockets.d.ts
  class Socket (line 9) | class Socket {
  type TlsOptions (line 17) | type TlsOptions = {
  type SocketAddress (line 21) | type SocketAddress = {
  type SocketOptions (line 26) | type SocketOptions = {

FILE: src/cloudflare/internal/streaming-base64.ts
  function base64Error (line 7) | function base64Error(cause: unknown): Error {
  function toBase64 (line 15) | function toBase64(input: Uint8Array): Uint8Array {
  function fromBase64 (line 19) | function fromBase64(input: Uint8Array): Uint8Array {
  function combineArrays (line 23) | function combineArrays(a: Uint8Array, b: Uint8Array): Uint8Array {
  function buildChunkFromLeftover (line 30) | function buildChunkFromLeftover(
  function getProcessableChunk (line 42) | function getProcessableChunk(
  constant PADDING_CHAR_CODE (line 61) | const PADDING_CHAR_CODE = 61;
  function isPaddedBase64Chunk (line 62) | function isPaddedBase64Chunk(chunk: Uint8Array): boolean {
  function createBase64EncoderTransformStream (line 66) | function createBase64EncoderTransformStream(
  function createBase64DecoderTransformStream (line 124) | function createBase64DecoderTransformStream(

FILE: src/cloudflare/internal/streaming-forms.ts
  constant CRLF (line 5) | const CRLF = '\r\n';
  function isReadableStream (line 7) | function isReadableStream(obj: unknown): obj is ReadableStream {
  function chainStreams (line 16) | function chainStreams<T>(streams: ReadableStream<T>[]): ReadableStream<T> {
  type EntryOptions (line 41) | type EntryOptions = { type: 'file' | 'string' };
  class StreamableFormData (line 43) | class StreamableFormData {
    method constructor (line 51) | constructor() {
    method append (line 60) | append(
    method #multipartBoundary (line 79) | #multipartBoundary(): ReadableStream {
    method #multipartHeader (line 83) | #multipartHeader(name: string, type: 'file' | 'string'): ReadableStream {
    method #multipartBody (line 99) | #multipartBody(stream: ReadableStream): ReadableStream {
    method #multipartFooter (line 103) | #multipartFooter(): ReadableStream {
    method contentType (line 107) | contentType(): string {
    method stream (line 111) | stream(): ReadableStream {

FILE: src/cloudflare/internal/test-tracing-wrapper.ts
  type TestWrapper (line 12) | interface TestWrapper {

FILE: src/cloudflare/internal/test/ai/ai-api-test.js
  method test (line 8) | async test(_, env) {

FILE: src/cloudflare/internal/test/ai/ai-api-test.py
  function test (line 6) | async def test(context, env):

FILE: src/cloudflare/internal/test/ai/ai-mock.js
  function base64ToBlob (line 5) | function base64ToBlob(base64, mimeType) {
  method fetch (line 16) | async fetch(request, env, ctx) {

FILE: src/cloudflare/internal/test/aig/aig-api-test.js
  method test (line 8) | async test(_, env) {

FILE: src/cloudflare/internal/test/aig/aig-api-test.py
  function test (line 6) | async def test(context, env):

FILE: src/cloudflare/internal/test/aig/aig-mock.js
  method fetch (line 6) | async fetch(request, env, ctx) {

FILE: src/cloudflare/internal/test/autorag/autorag-api-test.js
  method test (line 8) | async test(_, env) {

FILE: src/cloudflare/internal/test/autorag/autorag-api-test.py
  function test (line 6) | async def test(context, env):

FILE: src/cloudflare/internal/test/autorag/autorag-mock.js
  method fetch (line 6) | async fetch(request, env, ctx) {

FILE: src/cloudflare/internal/test/br/br-api-test.js
  method test (line 8) | async test(_, env) {

FILE: src/cloudflare/internal/test/br/br-api-test.py
  function test (line 6) | async def test(context, env):

FILE: src/cloudflare/internal/test/br/br-mock.js
  method fetch (line 6) | async fetch(request, env, ctx) {

FILE: src/cloudflare/internal/test/d1/d1-api-instrumentation-test.js
  method test (line 19) | async test() {

FILE: src/cloudflare/internal/test/d1/d1-api-test-common.js
  function testD1ApiQueriesHappyPath (line 65) | async function testD1ApiQueriesHappyPath(DB) {
  function testD1Exec (line 544) | async function testD1Exec(DB) {

FILE: src/cloudflare/internal/test/d1/d1-api-test-with-sessions.js
  method test (line 10) | async test(ctr, env) {
  function getDBFromEnv (line 15) | function getDBFromEnv(env) {
  function testD1ApiWithSessionsTokensHandling (line 73) | async function testD1ApiWithSessionsTokensHandling(DB, envD1MockFetcher) {
  function testD1ApiWithSessionsOldTokensSkipped (line 121) | async function testD1ApiWithSessionsOldTokensSkipped(DB, envD1MockFetche...

FILE: src/cloudflare/internal/test/d1/d1-api-test.js
  method test (line 8) | async test(_ctr, env) {
  method test (line 14) | async test(_ctr, env) {

FILE: src/cloudflare/internal/test/d1/d1-api-test.py
  function assertSuccess (line 6) | def assertSuccess(ret):
  function test (line 11) | async def test(context, env):

FILE: src/cloudflare/internal/test/d1/d1-mock.js
  class D1MockDO (line 5) | class D1MockDO {
    method constructor (line 6) | constructor(state, env) {
    method fetch (line 11) | async fetch(request) {
    method runQuery (line 42) | runQuery(query, resultsFormat) {
  method fetch (line 110) | async fetch(request, env, ctx) {
  method buildResponseWithCommitToken (line 134) | async buildResponseWithCommitToken(resp) {
  method handleD1ApiTestRoutes (line 156) | async handleD1ApiTestRoutes(request) {

FILE: src/cloudflare/internal/test/images/images-api-instrumentation-test.js
  method tailStream (line 17) | tailStream(event, env, ctx) {
  method test (line 60) | async test() {

FILE: src/cloudflare/internal/test/images/images-api-test.js
  function inputStream (line 8) | function inputStream(chunks) {
  function decodeBase64ThroughImagesBinding (line 29) | async function decodeBase64ThroughImagesBinding(env, chunks) {
  method test (line 43) | async test(_, env) {
  method test (line 59) | async test(_, env) {
  method test (line 77) | async test(_, env) {
  method test (line 90) | async test(_, env) {
  method test (line 114) | async test(_, env) {
  method test (line 139) | async test(_, env) {
  method test (line 180) | async test(_, env) {
  method test (line 213) | async test(_, env) {
  method test (line 247) | async test(_, env) {
  method test (line 274) | async test(_, env) {
  constant ENCODE_BLOCKSIZE (line 300) | const ENCODE_BLOCKSIZE = 32 * 1024 + 1;
  constant DECODE_BLOCKSIZE (line 301) | const DECODE_BLOCKSIZE = 32 * 1024;
  method test (line 308) | async test(_, env) {
  method test (line 343) | async test(_, env) {
  method test (line 381) | async test(_, env) {
  method test (line 391) | async test(_, env) {
  method test (line 412) | async test(_, env) {
  method test (line 425) | async test(_, env) {
  method test (line 460) | async test(_, env) {
  method test (line 475) | async test(_, env) {
  method test (line 487) | async test(_, env) {
  method test (line 508) | async test(_, env) {
  method test (line 520) | async test(_, env) {
  method test (line 543) | async test(_, env) {
  method test (line 558) | async test(_, env) {
  method test (line 577) | async test(_, env) {
  method test (line 598) | async test(_, env) {
  method test (line 609) | async test(_, env) {
  method test (line 621) | async test(_, env) {
  method test (line 636) | async test(_, env) {
  method test (line 652) | async test(_, env) {
  method test (line 673) | async test(_, env) {

FILE: src/cloudflare/internal/test/images/images-upstream-mock.js
  function imageAsString (line 11) | async function imageAsString(blob) {
  class ServiceEntrypoint (line 23) | class ServiceEntrypoint extends WorkerEntrypoint {
    method details (line 28) | async details(imageId) {
    method image (line 45) | async image(imageId) {
    method upload (line 54) | async upload(image, options) {
    method update (line 85) | async update(imageId, body) {
    method delete (line 107) | async delete(imageId) {
    method list (line 115) | async list(options) {
    method fetch (line 153) | async fetch(request) {
  method fetch (line 220) | async fetch(request, env, ctx) {

FILE: src/cloudflare/internal/test/instrumentation-test-helper.js
  function createInstrumentationState (line 21) | function createInstrumentationState() {
  function createTailStreamHandler (line 33) | function createTailStreamHandler(state) {
  function runInstrumentationTest (line 89) | async function runInstrumentationTest(
  function createTailStreamCollector (line 140) | function createTailStreamCollector() {
  function groupSpansBy (line 164) | function groupSpansBy(spans, attribute) {

FILE: src/cloudflare/internal/test/pipeline-transform/transform-test.js
  method run (line 15) | async run(records, _) {
  function newBatch (line 35) | function newBatch() {
  method test (line 55) | async test(ctr, env, ctx) {

FILE: src/cloudflare/internal/test/to-markdown/to-markdown-api-test.js
  method test (line 8) | async test(_, env) {

FILE: src/cloudflare/internal/test/to-markdown/to-markdown-api-test.py
  function test (line 6) | async def test(context, env):

FILE: src/cloudflare/internal/test/to-markdown/to-markdown-mock.js
  function base64ToBlob (line 5) | function base64ToBlob(base64, mimeType) {
  method fetch (line 16) | async fetch(request, env, ctx) {

FILE: src/cloudflare/internal/test/tracing/tracing-helpers-instrumentation-test.js
  method test (line 17) | async test() {

FILE: src/cloudflare/internal/test/tracing/tracing-helpers-test.js
  method test (line 8) | async test(ctrl, env, ctx) {
  method test (line 23) | async test(ctrl, env, ctx) {
  method test (line 39) | async test(ctrl, env, ctx) {
  method test (line 59) | async test(ctrl, env, ctx) {

FILE: src/cloudflare/internal/test/vectorize/vectorize-api-test.js
  method test (line 19) | async test(_, env) {
  method test (line 273) | async test(_, env) {
  method test (line 300) | async test(_, env) {
  method test (line 332) | async test(_, env) {
  method test (line 359) | async test(_, env) {
  method test (line 377) | async test(_, env) {
  method test (line 403) | async test() {

FILE: src/cloudflare/internal/test/vectorize/vectorize-api-test.py
  function test (line 8) | async def test(context, env):

FILE: src/cloudflare/internal/test/vectorize/vectorize-mock.js
  method fetch (line 41) | async fetch(request) {

FILE: src/cloudflare/internal/test/workflows/workflows-api-test.js
  method test (line 8) | async test(_, env) {

FILE: src/cloudflare/internal/test/workflows/workflows-mock.js
  method fetch (line 6) | async fetch(request, env, ctx) {

FILE: src/cloudflare/internal/to-markdown-api.ts
  type Fetcher (line 9) | interface Fetcher {
  type MarkdownDocument (line 13) | type MarkdownDocument = {
  type ConversionResponse (line 18) | type ConversionResponse =
  type ImageConversionOptions (line 35) | type ImageConversionOptions = {
  type EmbeddedImageConversionOptions (line 39) | type EmbeddedImageConversionOptions = ImageConversionOptions & {
  type ConversionOptions (line 44) | type ConversionOptions = {
  type ConversionRequestOptions (line 60) | type ConversionRequestOptions = {
  type SupportedFileFormat (line 66) | type SupportedFileFormat = {
  function blobToBase64 (line 71) | async function blobToBase64(blob: Blob): Promise<string> {
  class ToMarkdownService (line 75) | class ToMarkdownService {
    method constructor (line 79) | constructor(fetcher: Fetcher) {
    method transform (line 91) | async transform(
    method supported (line 155) | async supported(): Promise<SupportedFileFormat[]> {

FILE: src/cloudflare/internal/tracing-helpers.ts
  type Span (line 7) | type Span = ReturnType<typeof tracing.startSpan>;
  function withSpan (line 35) | function withSpan<T>(

FILE: src/cloudflare/internal/tracing.d.ts
  class Span (line 5) | class Span {

FILE: src/cloudflare/internal/vectorize-api.ts
  type Fetcher (line 8) | interface Fetcher {
  type OperationKey (line 20) | type OperationKey = keyof typeof Operation;
  type VectorizeVersion (line 22) | type VectorizeVersion = 'v1' | 'v2';
  type QueryImplV2Params (line 24) | type QueryImplV2Params =
  function toNdJson (line 28) | function toNdJson(arr: object[]): string {
  class VectorizeIndexImpl (line 37) | class VectorizeIndexImpl implements Vectorize {
    method constructor (line 47) | constructor(
    method describe (line 59) | async describe(): Promise<VectorizeIndexInfo> {
    method query (line 69) | async query(
    method queryById (line 113) | async queryById(
    method insert (line 124) | async insert(vectors: VectorizeVector[]): Promise<VectorizeAsyncMutati...
    method upsert (line 159) | async upsert(vectors: VectorizeVector[]): Promise<VectorizeAsyncMutati...
    method getByIds (line 194) | async getByIds(ids: string[]): Promise<VectorizeVector[]> {
    method deleteByIds (line 211) | async deleteByIds(ids: string[]): Promise<VectorizeAsyncMutation> {
    method _send (line 229) | private async _send(
    method queryImplV2 (line 273) | private async queryImplV2(
  function isVectorizeMetadataRetrievalLevel (line 311) | function isVectorizeMetadataRetrievalLevel(value: unknown): boolean {
  function toJson (line 319) | async function toJson<T = unknown>(response: Response): Promise<T> {
  function makeBinding (line 334) | function makeBinding(env: {

FILE: src/cloudflare/internal/vectorize.d.ts
  type VectorizeVectorMetadataValue (line 20) | type VectorizeVectorMetadataValue = string | number | boolean | string[];
  type VectorizeVectorMetadata (line 24) | type VectorizeVectorMetadata =
  type VectorFloatArray (line 28) | type VectorFloatArray = Float32Array | Float64Array;
  type VectorizeError (line 30) | interface VectorizeError {
  type VectorizeVectorMetadataFilterOp (line 40) | type VectorizeVectorMetadataFilterOp =
  type VectorizeVectorMetadataFilterCollectionOp (line 47) | type VectorizeVectorMetadataFilterCollectionOp = '$in' | '$nin';
  type VectorizeVectorMetadataFilter (line 52) | type VectorizeVectorMetadataFilter = {
  type VectorizeDistanceMetric (line 74) | type VectorizeDistanceMetric = 'euclidean' | 'cosine' | 'dot-product';
  type VectorizeMetadataRetrievalLevel (line 85) | type VectorizeMetadataRetrievalLevel = 'all' | 'indexed' | 'none';
  type VectorizeQueryOptions (line 87) | interface VectorizeQueryOptions {
  type VectorizeIndexConfig (line 98) | type VectorizeIndexConfig =
  type VectorizeIndexDetails (line 113) | interface VectorizeIndexDetails {
  type VectorizeIndexInfo (line 129) | interface VectorizeIndexInfo {
  type VectorizeVector (line 143) | interface VectorizeVector {
  type VectorizeMatch (line 157) | type VectorizeMatch = Pick<Partial<VectorizeVector>, 'values'> &
  type VectorizeMatches (line 166) | interface VectorizeMatches {
  type VectorizeVectorMutation (line 178) | interface VectorizeVectorMutation {
  type VectorizeAsyncMutation (line 189) | interface VectorizeAsyncMutation {

FILE: src/cloudflare/internal/workers.d.ts
  class DurableObject (line 5) | class DurableObject {
  class WorkerEntrypoint (line 12) | class WorkerEntrypoint {
  class WorkflowEntrypoint (line 19) | class WorkflowEntrypoint {
  class RpcStub (line 26) | class RpcStub {
  class RpcPromise (line 30) | class RpcPromise {}
  class RpcProperty (line 32) | class RpcProperty {}
  class RpcTarget (line 34) | class RpcTarget {}
  class ServiceStub (line 36) | class ServiceStub {}

FILE: src/cloudflare/internal/workflows-api.ts
  class NonRetryableError (line 5) | class NonRetryableError extends Error {
    method constructor (line 6) | constructor(message: string, name = 'NonRetryableError') {
  type Fetcher (line 12) | interface Fetcher {
  function callFetcher (line 16) | async function callFetcher<T>(
  class InstanceImpl (line 42) | class InstanceImpl implements WorkflowInstance {
    method constructor (line 48) | constructor(id: string, fetcher: Fetcher) {
    method pause (line 53) | async pause(): Promise<void> {
    method resume (line 58) | async resume(): Promise<void> {
    method terminate (line 64) | async terminate(): Promise<void> {
    method restart (line 70) | async restart(): Promise<void> {
    method status (line 76) | async status(): Promise<InstanceStatus> {
    method sendEvent (line 83) | async sendEvent({
  class WorkflowImpl (line 98) | class WorkflowImpl {
    method constructor (line 103) | constructor(fetcher: Fetcher) {
    method get (line 107) | async get(id: string): Promise<WorkflowInstance> {
    method create (line 115) | async create(
    method createBatch (line 125) | async createBatch(
  function makeBinding (line 138) | function makeBinding(env: { fetcher: Fetcher }): Workflow {

FILE: src/cloudflare/internal/workflows.d.ts
  type WorkflowDurationLabel (line 53) | type WorkflowDurationLabel =
  type WorkflowSleepDuration (line 62) | type WorkflowSleepDuration =
  type WorkflowRetentionDuration (line 66) | type WorkflowRetentionDuration = WorkflowSleepDuration;
  type WorkflowInstanceCreateOptions (line 68) | interface WorkflowInstanceCreateOptions<PARAMS = unknown> {
  type InstanceStatus (line 88) | type InstanceStatus = {
  type WorkflowError (line 106) | interface WorkflowError {

FILE: src/cloudflare/node.ts
  type ServerDescriptor (line 9) | interface ServerDescriptor {
  type NodeStyleServer (line 13) | interface NodeStyleServer {
  function validatePort (line 18) | function validatePort(port: unknown): number {
  function handleAsNodeRequest (line 29) | async function handleAsNodeRequest(
  function httpServerHandler (line 55) | function httpServerHandler(

FILE: src/cloudflare/sockets.ts
  function connect (line 10) | function connect(
  function internalNewHttpClient (line 17) | function internalNewHttpClient(

FILE: src/cloudflare/workers.ts
  function withEnv (line 20) | function withEnv(newEnv: unknown, fn: () => unknown): unknown {
  function withExports (line 24) | function withExports(newExports: unknown, fn: () => unknown): unknown {
  function withEnvAndExports (line 28) | function withEnvAndExports(
  method get (line 44) | get(_: unknown, prop: string | symbol): unknown {
  method set (line 52) | set(_: unknown, prop: string | symbol, newValue: unknown): boolean {
  method has (line 60) | has(_: unknown, prop: string | symbol): boolean {
  method ownKeys (line 68) | ownKeys(_: unknown): ArrayLike<string | symbol> {
  method deleteProperty (line 76) | deleteProperty(_: unknown, prop: string | symbol): boolean {
  method defineProperty (line 84) | defineProperty(
  method getOwnPropertyDescriptor (line 96) | getOwnPropertyDescriptor(
  method get (line 116) | get(_: unknown, prop: string | symbol): unknown {
  method has (line 124) | has(_: unknown, prop: string | symbol): boolean {
  method ownKeys (line 132) | ownKeys(_: unknown): ArrayLike<string | symbol> {
  method getOwnPropertyDescriptor (line 140) | getOwnPropertyDescriptor(

FILE: src/node/async_hooks.ts
  class AsyncHook (line 8) | class AsyncHook {
    method enable (line 9) | enable(): this {
    method disable (line 13) | disable(): this {
  function createHook (line 26) | function createHook(): AsyncHook {
  function executionAsyncId (line 33) | function executionAsyncId(): number {
  function executionAsyncResource (line 40) | function executionAsyncResource(): Record<string, string> {
  function triggerAsyncId (line 48) | function triggerAsyncId(): number {

FILE: src/node/child_process.ts
  class ChildProcess (line 25) | class ChildProcess extends EventEmitter implements _ChildProcess {
    method constructor (line 43) | constructor() {
    method kill (line 48) | kill(_signal?: NodeJS.Signals | number): boolean {
    method send (line 52) | send(
    method disconnect (line 61) | disconnect(): void {
    method unref (line 65) | unref(): void {
    method ref (line 69) | ref(): void {
  method [Symbol.dispose] (line 73) | [Symbol.dispose](): void {
  function _forkChild (line 78) | function _forkChild(_fd: number, _serializationMode: number): void {
  function exec (line 82) | function exec(
  function execFile (line 101) | function execFile(
  function execFileSync (line 114) | function execFileSync(
  function execSync (line 122) | function execSync(
  function fork (line 129) | function fork(
  function spawn (line 151) | function spawn(): void {
  function spawnSync (line 155) | function spawnSync(

FILE: src/node/cluster.ts
  constant SCHED_NONE (line 18) | const SCHED_NONE = 1;
  constant SCHED_RR (line 19) | const SCHED_RR = 2;
  function fork (line 29) | function fork(_env?: unknown): Worker {
  function disconnect (line 33) | function disconnect(_callback?: () => void): void {
  function setupPrimary (line 37) | function setupPrimary(_settings?: ClusterSettings): void {
  function setupMaster (line 41) | function setupMaster(_settings?: ClusterSettings): void {
  class Worker (line 49) | class Worker extends EventEmitter implements _Worker {
    method constructor (line 53) | constructor(_options?: WorkerOptions) {
    method process (line 57) | get process(): any {
    method exitedAfterDisconnect (line 61) | get exitedAfterDisconnect(): boolean {
    method isConnected (line 64) | isConnected(): boolean {
    method isDead (line 67) | isDead(): boolean {
    method send (line 70) | send(
    method kill (line 78) | kill(_signal?: string): void {
    method destroy (line 81) | destroy(_signal?: string): void {
    method disconnect (line 84) | disconnect(): this {
  class Cluster (line 90) | class Cluster extends EventEmitter implements _Cluster {
    method setupPrimary (line 100) | setupPrimary(settings?: ClusterSettings): void {
    method setupMaster (line 103) | setupMaster(settings?: ClusterSettings): void {
    method disconnect (line 106) | disconnect(): void {
    method fork (line 109) | fork(env?: any): Worker {

FILE: src/node/console.ts
  function Console (line 36) | function Console(_options: ConsoleOptions): Console {
  function context (line 93) | function context(): void {
  function createTask (line 100) | function createTask(): void {

FILE: src/node/constants.ts
  constant RTLD_LAZY (line 4) | const RTLD_LAZY = 1;
  constant RTLD_NOW (line 5) | const RTLD_NOW = 2;
  constant RTLD_GLOBAL (line 6) | const RTLD_GLOBAL = 8;
  constant RTLD_LOCAL (line 7) | const RTLD_LOCAL = 4;
  constant E2BIG (line 8) | const E2BIG = 7;
  constant EACCES (line 9) | const EACCES = 13;
  constant EADDRINUSE (line 10) | const EADDRINUSE = 48;
  constant EADDRNOTAVAIL (line 11) | const EADDRNOTAVAIL = 49;
  constant EAFNOSUPPORT (line 12) | const EAFNOSUPPORT = 47;
  constant EAGAIN (line 13) | const EAGAIN = 35;
  constant EALREADY (line 14) | const EALREADY = 37;
  constant EBADF (line 15) | const EBADF = 9;
  constant EBADMSG (line 16) | const EBADMSG = 94;
  constant EBUSY (line 17) | const EBUSY = 16;
  constant ECANCELED (line 18) | const ECANCELED = 89;
  constant ECHILD (line 19) | const ECHILD = 10;
  constant ECONNABORTED (line 20) | const ECONNABORTED = 53;
  constant ECONNREFUSED (line 21) | const ECONNREFUSED = 61;
  constant ECONNRESET (line 22) | const ECONNRESET = 54;
  constant EDEADLK (line 23) | const EDEADLK = 11;
  constant EDESTADDRREQ (line 24) | const EDESTADDRREQ = 39;
  constant EDOM (line 25) | const EDOM = 33;
  constant EDQUOT (line 26) | const EDQUOT = 69;
  constant EEXIST (line 27) | const EEXIST = 17;
  constant EFAULT (line 28) | const EFAULT = 14;
  constant EFBIG (line 29) | const EFBIG = 27;
  constant EHOSTUNREACH (line 30) | const EHOSTUNREACH = 65;
  constant EIDRM (line 31) | const EIDRM = 90;
  constant EILSEQ (line 32) | const EILSEQ = 92;
  constant EINPROGRESS (line 33) | const EINPROGRESS = 36;
  constant EINTR (line 34) | const EINTR = 4;
  constant EINVAL (line 35) | const EINVAL = 22;
  constant EIO (line 36) | const EIO = 5;
  constant EISCONN (line 37) | const EISCONN = 56;
  constant EISDIR (line 38) | const EISDIR = 21;
  constant ELOOP (line 39) | const ELOOP = 62;
  constant EMFILE (line 40) | const EMFILE = 24;
  constant EMLINK (line 41) | const EMLINK = 31;
  constant EMSGSIZE (line 42) | const EMSGSIZE = 40;
  constant EMULTIHOP (line 43) | const EMULTIHOP = 95;
  constant ENAMETOOLONG (line 44) | const ENAMETOOLONG = 63;
  constant ENETDOWN (line 45) | const ENETDOWN = 50;
  constant ENETRESET (line 46) | const ENETRESET = 52;
  constant ENETUNREACH (line 47) | const ENETUNREACH = 51;
  constant ENFILE (line 48) | const ENFILE = 23;
  constant ENOBUFS (line 49) | const ENOBUFS = 55;
  constant ENODATA (line 50) | const ENODATA = 96;
  constant ENODEV (line 51) | const ENODEV = 19;
  constant ENOENT (line 52) | const ENOENT = 2;
  constant ENOEXEC (line 53) | const ENOEXEC = 8;
  constant ENOLCK (line 54) | const ENOLCK = 77;
  constant ENOLINK (line 55) | const ENOLINK = 97;
  constant ENOMEM (line 56) | const ENOMEM = 12;
  constant ENOMSG (line 57) | const ENOMSG = 91;
  constant ENOPROTOOPT (line 58) | const ENOPROTOOPT = 42;
  constant ENOSPC (line 59) | const ENOSPC = 28;
  constant ENOSR (line 60) | const ENOSR = 98;
  constant ENOSTR (line 61) | const ENOSTR = 99;
  constant ENOSYS (line 62) | const ENOSYS = 78;
  constant ENOTCONN (line 63) | const ENOTCONN = 57;
  constant ENOTDIR (line 64) | const ENOTDIR = 20;
  constant ENOTEMPTY (line 65) | const ENOTEMPTY = 66;
  constant ENOTSOCK (line 66) | const ENOTSOCK = 38;
  constant ENOTSUP (line 67) | const ENOTSUP = 45;
  constant ENOTTY (line 68) | const ENOTTY = 25;
  constant ENXIO (line 69) | const ENXIO = 6;
  constant EOPNOTSUPP (line 70) | const EOPNOTSUPP = 102;
  constant EOVERFLOW (line 71) | const EOVERFLOW = 84;
  constant EPERM (line 72) | const EPERM = 1;
  constant EPIPE (line 73) | const EPIPE = 32;
  constant EPROTO (line 74) | const EPROTO = 100;
  constant EPROTONOSUPPORT (line 75) | const EPROTONOSUPPORT = 43;
  constant EPROTOTYPE (line 76) | const EPROTOTYPE = 41;
  constant ERANGE (line 77) | const ERANGE = 34;
  constant EROFS (line 78) | const EROFS = 30;
  constant ESPIPE (line 79) | const ESPIPE = 29;
  constant ESRCH (line 80) | const ESRCH = 3;
  constant ESTALE (line 81) | const ESTALE = 70;
  constant ETIME (line 82) | const ETIME = 101;
  constant ETIMEDOUT (line 83) | const ETIMEDOUT = 60;
  constant ETXTBSY (line 84) | const ETXTBSY = 26;
  constant EWOULDBLOCK (line 85) | const EWOULDBLOCK = 35;
  constant EXDEV (line 86) | const EXDEV = 18;
  constant PRIORITY_LOW (line 87) | const PRIORITY_LOW = 19;
  constant PRIORITY_BELOW_NORMAL (line 88) | const PRIORITY_BELOW_NORMAL = 10;
  constant PRIORITY_NORMAL (line 89) | const PRIORITY_NORMAL = 0;
  constant PRIORITY_ABOVE_NORMAL (line 90) | const PRIORITY_ABOVE_NORMAL = -7;
  constant PRIORITY_HIGH (line 91) | const PRIORITY_HIGH = -14;
  constant PRIORITY_HIGHEST (line 92) | const PRIORITY_HIGHEST = -20;
  constant SIGHUP (line 93) | const SIGHUP = 1;
  constant SIGINT (line 94) | const SIGINT = 2;
  constant SIGQUIT (line 95) | const SIGQUIT = 3;
  constant SIGILL (line 96) | const SIGILL = 4;
  constant SIGTRAP (line 97) | const SIGTRAP = 5;
  constant SIGABRT (line 98) | const SIGABRT = 6;
  constant SIGIOT (line 99) | const SIGIOT = 6;
  constant SIGBUS (line 100) | const SIGBUS = 10;
  constant SIGFPE (line 101) | const SIGFPE = 8;
  constant SIGKILL (line 102) | const SIGKILL = 9;
  constant SIGUSR1 (line 103) | const SIGUSR1 = 30;
  constant SIGSEGV (line 104) | const SIGSEGV = 11;
  constant SIGUSR2 (line 105) | const SIGUSR2 = 31;
  constant SIGPIPE (line 106) | const SIGPIPE = 13;
  constant SIGALRM (line 107) | const SIGALRM = 14;
  constant SIGTERM (line 108) | const SIGTERM = 15;
  constant SIGCHLD (line 109) | const SIGCHLD = 20;
  constant SIGCONT (line 110) | const SIGCONT = 19;
  constant SIGSTOP (line 111) | const SIGSTOP = 17;
  constant SIGTSTP (line 112) | const SIGTSTP = 18;
  constant SIGTTIN (line 113) | const SIGTTIN = 21;
  constant SIGTTOU (line 114) | const SIGTTOU = 22;
  constant SIGURG (line 115) | const SIGURG = 16;
  constant SIGXCPU (line 116) | const SIGXCPU = 24;
  constant SIGXFSZ (line 117) | const SIGXFSZ = 25;
  constant SIGVTALRM (line 118) | const SIGVTALRM = 26;
  constant SIGPROF (line 119) | const SIGPROF = 27;
  constant SIGWINCH (line 120) | const SIGWINCH = 28;
  constant SIGIO (line 121) | const SIGIO = 23;
  constant SIGINFO (line 122) | const SIGINFO = 29;
  constant SIGSYS (line 123) | const SIGSYS = 12;
  constant UV_FS_SYMLINK_DIR (line 124) | const UV_FS_SYMLINK_DIR = 1;
  constant UV_FS_SYMLINK_JUNCTION (line 125) | const UV_FS_SYMLINK_JUNCTION = 2;
  constant O_RDONLY (line 126) | const O_RDONLY = 0;
  constant O_WRONLY (line 127) | const O_WRONLY = 1;
  constant O_RDWR (line 128) | const O_RDWR = 2;
  constant UV_DIRENT_UNKNOWN (line 129) | const UV_DIRENT_UNKNOWN = 0;
  constant UV_DIRENT_FILE (line 130) | const UV_DIRENT_FILE = 1;
  constant UV_DIRENT_DIR (line 131) | const UV_DIRENT_DIR = 2;
  constant UV_DIRENT_LINK (line 132) | const UV_DIRENT_LINK = 3;
  constant UV_DIRENT_FIFO (line 133) | const UV_DIRENT_FIFO = 4;
  constant UV_DIRENT_SOCKET (line 134) | const UV_DIRENT_SOCKET = 5;
  constant UV_DIRENT_CHAR (line 135) | const UV_DIRENT_CHAR = 6;
  constant UV_DIRENT_BLOCK (line 136) | const UV_DIRENT_BLOCK = 7;
  constant S_IFMT (line 137) | const S_IFMT = 61440;
  constant S_IFREG (line 138) | const S_IFREG = 32768;
  constant S_IFDIR (line 139) | const S_IFDIR = 16384;
  constant S_IFCHR (line 140) | const S_IFCHR = 8192;
  constant S_IFBLK (line 141) | const S_IFBLK = 24576;
  constant S_IFIFO (line 142) | const S_IFIFO = 4096;
  constant S_IFLNK (line 143) | const S_IFLNK = 40960;
  constant S_IFSOCK (line 144) | const S_IFSOCK = 49152;
  constant O_CREAT (line 145) | const O_CREAT = 512;
  constant O_EXCL (line 146) | const O_EXCL = 2048;
  constant UV_FS_O_FILEMAP (line 147) | const UV_FS_O_FILEMAP = 0;
  constant O_NOCTTY (line 148) | const O_NOCTTY = 131072;
  constant O_TRUNC (line 149) | const O_TRUNC = 1024;
  constant O_APPEND (line 150) | const O_APPEND = 8;
  constant O_DIRECTORY (line 151) | const O_DIRECTORY = 1048576;
  constant O_NOFOLLOW (line 152) | const O_NOFOLLOW = 256;
  constant O_SYNC (line 153) | const O_SYNC = 128;
  constant O_DSYNC (line 154) | const O_DSYNC = 4194304;
  constant O_SYMLINK (line 155) | const O_SYMLINK = 2097152;
  constant O_NONBLOCK (line 156) | const O_NONBLOCK = 4;
  constant S_IRWXU (line 157) | const S_IRWXU = 448;
  constant S_IRUSR (line 158) | const S_IRUSR = 256;
  constant S_IWUSR (line 159) | const S_IWUSR = 128;
  constant S_IXUSR (line 160) | const S_IXUSR = 64;
  constant S_IRWXG (line 161) | const S_IRWXG = 56;
  constant S_IRGRP (line 162) | const S_IRGRP = 32;
  constant S_IWGRP (line 163) | const S_IWGRP = 16;
  constant S_IXGRP (line 164) | const S_IXGRP = 8;
  constant S_IRWXO (line 165) | const S_IRWXO = 7;
  constant S_IROTH (line 166) | const S_IROTH = 4;
  constant S_IWOTH (line 167) | const S_IWOTH = 2;
  constant S_IXOTH (line 168) | const S_IXOTH = 1;
  constant F_OK (line 169) | const F_OK = 0;
  constant R_OK (line 170) | const R_OK = 4;
  constant W_OK (line 171) | const W_OK = 2;
  constant X_OK (line 172) | const X_OK = 1;
  constant UV_FS_COPYFILE_EXCL (line 173) | const UV_FS_COPYFILE_EXCL = 1;
  constant COPYFILE_EXCL (line 174) | const COPYFILE_EXCL = 1;
  constant UV_FS_COPYFILE_FICLONE (line 175) | const UV_FS_COPYFILE_FICLONE = 2;
  constant COPYFILE_FICLONE (line 176) | const COPYFILE_FICLONE = 2;
  constant UV_FS_COPYFILE_FICLONE_FORCE (line 177) | const UV_FS_COPYFILE_FICLONE_FORCE = 4;
  constant COPYFILE_FICLONE_FORCE (line 178) | const COPYFILE_FICLONE_FORCE = 4;
  constant OPENSSL_VERSION_NUMBER (line 179) | const OPENSSL_VERSION_NUMBER = 805306624;
  constant SSL_OP_ALL (line 180) | const SSL_OP_ALL = 2147485776;
  constant SSL_OP_ALLOW_NO_DHE_KEX (line 181) | const SSL_OP_ALLOW_NO_DHE_KEX = 1024;
  constant SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION (line 182) | const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION = 262144;
  constant SSL_OP_CIPHER_SERVER_PREFERENCE (line 183) | const SSL_OP_CIPHER_SERVER_PREFERENCE = 4194304;
  constant SSL_OP_CISCO_ANYCONNECT (line 184) | const SSL_OP_CISCO_ANYCONNECT = 32768;
  constant SSL_OP_COOKIE_EXCHANGE (line 185) | const SSL_OP_COOKIE_EXCHANGE = 8192;
  constant SSL_OP_CRYPTOPRO_TLSEXT_BUG (line 186) | const SSL_OP_CRYPTOPRO_TLSEXT_BUG = 2147483648;
  constant SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS (line 187) | const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS = 2048;
  constant SSL_OP_LEGACY_SERVER_CONNECT (line 188) | const SSL_OP_LEGACY_SERVER_CONNECT = 4;
  constant SSL_OP_NO_COMPRESSION (line 189) | const SSL_OP_NO_COMPRESSION = 131072;
  constant SSL_OP_NO_ENCRYPT_THEN_MAC (line 190) | const SSL_OP_NO_ENCRYPT_THEN_MAC = 524288;
  constant SSL_OP_NO_QUERY_MTU (line 191) | const SSL_OP_NO_QUERY_MTU = 4096;
  constant SSL_OP_NO_RENEGOTIATION (line 192) | const SSL_OP_NO_RENEGOTIATION = 1073741824;
  constant SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION (line 193) | const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION = 65536;
  constant SSL_OP_NO_TICKET (line 196) | const SSL_OP_NO_TICKET = 16384;
  constant SSL_OP_PRIORITIZE_CHACHA (line 201) | const SSL_OP_PRIORITIZE_CHACHA = 2097152;
  constant SSL_OP_TLS_ROLLBACK_BUG (line 202) | const SSL_OP_TLS_ROLLBACK_BUG = 8388608;
  constant ENGINE_METHOD_RSA (line 203) | const ENGINE_METHOD_RSA = 1;
  constant ENGINE_METHOD_DSA (line 204) | const ENGINE_METHOD_DSA = 2;
  constant ENGINE_METHOD_DH (line 205) | const ENGINE_METHOD_DH = 4;
  constant ENGINE_METHOD_RAND (line 206) | const ENGINE_METHOD_RAND = 8;
  constant ENGINE_METHOD_EC (line 207) | const ENGINE_METHOD_EC = 2048;
  constant ENGINE_METHOD_CIPHERS (line 208) | const ENGINE_METHOD_CIPHERS = 64;
  constant ENGINE_METHOD_DIGESTS (line 209) | const ENGINE_METHOD_DIGESTS = 128;
  constant ENGINE_METHOD_PKEY_METHS (line 210) | const ENGINE_METHOD_PKEY_METHS = 512;
  constant ENGINE_METHOD_PKEY_ASN1_METHS (line 211) | const ENGINE_METHOD_PKEY_ASN1_METHS = 1024;
  constant ENGINE_METHOD_ALL (line 212) | const ENGINE_METHOD_ALL = 65535;
  constant ENGINE_METHOD_NONE (line 213) | const ENGINE_METHOD_NONE = 0;
  constant DH_CHECK_P_NOT_SAFE_PRIME (line 214) | const DH_CHECK_P_NOT_SAFE_PRIME = 2;
  constant DH_CHECK_P_NOT_PRIME (line 215) | const DH_CHECK_P_NOT_PRIME = 1;
  constant DH_UNABLE_TO_CHECK_GENERATOR (line 216) | const DH_UNABLE_TO_CHECK_GENERATOR = 4;
  constant DH_NOT_SUITABLE_GENERATOR (line 217) | const DH_NOT_SUITABLE_GENERATOR = 8;
  constant RSA_PKCS1_PADDING (line 218) | const RSA_PKCS1_PADDING = 1;
  constant RSA_NO_PADDING (line 219) | const RSA_NO_PADDING = 3;
  constant RSA_PKCS1_OAEP_PADDING (line 220) | const RSA_PKCS1_OAEP_PADDING = 4;
  constant RSA_X931_PADDING (line 221) | const RSA_X931_PADDING = 5;
  constant RSA_PKCS1_PSS_PADDING (line 222) | const RSA_PKCS1_PSS_PADDING = 6;
  constant RSA_PSS_SALTLEN_DIGEST (line 223) | const RSA_PSS_SALTLEN_DIGEST = -1;
  constant RSA_PSS_SALTLEN_MAX_SIGN (line 224) | const RSA_PSS_SALTLEN_MAX_SIGN = -2;
  constant RSA_PSS_SALTLEN_AUTO (line 225) | const RSA_PSS_SALTLEN_AUTO = -2;
  constant TLS1_VERSION (line 227) | const TLS1_VERSION = 769;
  constant TLS1_1_VERSION (line 228) | const TLS1_1_VERSION = 770;
  constant TLS1_2_VERSION (line 229) | const TLS1_2_VERSION = 771;
  constant TLS1_3_VERSION (line 230) | const TLS1_3_VERSION = 772;
  constant POINT_CONVERSION_COMPRESSED (line 231) | const POINT_CONVERSION_COMPRESSED = 2;
  constant POINT_CONVERSION_UNCOMPRESSED (line 232) | const POINT_CONVERSION_UNCOMPRESSED = 4;
  constant POINT_CONVERSION_HYBRID (line 233) | const POINT_CONVERSION_HYBRID = 6;

FILE: src/node/crypto.ts
  function timingSafeEqual (line 11) | function timingSafeEqual(
  function getCurves (line 180) | function getCurves(): string[] {
  function getHashes (line 188) | function getHashes(): string[] {
  function secureHeapUsed (line 199) | function secureHeapUsed(): Record<string, unknown> {
  function setEngine (line 209) | function setEngine(_1: string, _2?: number): void {
  function setFips (line 214) | function setFips(_: boolean): void {
  function getFips (line 220) | function getFips(): boolean {
  method fips (line 614) | get fips(): boolean {
  method fips (line 617) | set fips(_: boolean) {

FILE: src/node/dgram.ts
  type SocketClassType (line 37) | type SocketClassType = typeof DgramSocket;
  function Socket (line 39) | function Socket(
  function createSocket (line 57) | function createSocket(

FILE: src/node/diagnostics_channel.ts
  function hasSubscribers (line 39) | function hasSubscribers(name: string | symbol): boolean {
  function channel (line 43) | function channel(name: string | symbol): ChannelType {
  function subscribe (line 47) | function subscribe(
  function unsubscribe (line 54) | function unsubscribe(
  type TracingChannelSubscriptions (line 61) | interface TracingChannelSubscriptions {
  type TracingChannels (line 69) | interface TracingChannels {
  class TracingChannel (line 83) | class TracingChannel {
    method constructor (line 90) | constructor() {
    method start (line 96) | get start(): ChannelType | undefined {
    method end (line 99) | get end(): ChannelType | undefined {
    method asyncStart (line 102) | get asyncStart(): ChannelType | undefined {
    method asyncEnd (line 105) | get asyncEnd(): ChannelType | undefined {
    method error (line 108) | get error(): ChannelType | undefined {
    method subscribe (line 112) | subscribe(subscriptions: TracingChannelSubscriptions): void {
    method unsubscribe (line 125) | unsubscribe(subscriptions: TracingChannelSubscriptions): void {
    method traceSync (line 138) | traceSync(
    method tracePromise (line 165) | tracePromise(
    method traceCallback (line 210) | traceCallback(
  function validateChannel (line 268) | function validateChannel(channel: unknown, name: string): ChannelType {
  function tracingChannel (line 275) | function tracingChannel(

FILE: src/node/dns.ts
  class Resolver (line 36) | class Resolver implements nodejsDns.Resolver {
    method cancel (line 37) | cancel(): void {
    method setLocalAddress (line 42) | setLocalAddress(): void {
    method getServers (line 47) | getServers(...args: Parameters<typeof getServers>): string[] {
    method resolve (line 52) | resolve(...args: Parameters<typeof resolve>): void {
    method resolve4 (line 57) | resolve4(...args: Parameters<typeof resolve4>): void {
    method resolve6 (line 62) | resolve6(...args: Parameters<typeof resolve6>): void {
    method resolveAny (line 67) | resolveAny(...args: Parameters<typeof resolveAny>): void {
    method resolveCaa (line 72) | resolveCaa(...args: Parameters<typeof resolveCaa>): void {
    method resolveCname (line 77) | resolveCname(...args: Parameters<typeof resolveCname>): void {
    method resolveMx (line 82) | resolveMx(...args: Parameters<typeof resolveMx>): void {
    method resolveNaptr (line 87) | resolveNaptr(...args: Parameters<typeof resolveNaptr>): void {
    method resolveNs (line 92) | resolveNs(...args: Parameters<typeof resolveNs>): void {
    method resolvePtr (line 97) | resolvePtr(...args: Parameters<typeof resolvePtr>): void {
    method resolveSoa (line 102) | resolveSoa(...args: Parameters<typeof resolveSoa>): void {
    method resolveSrv (line 107) | resolveSrv(...args: Parameters<typeof resolveSrv>): void {
    method resolveTxt (line 112) | resolveTxt(...args: Parameters<typeof resolveTxt>): void {
    method reverse (line 116) | reverse(...args: Parameters<typeof reverse>): void {
    method setServers (line 120) | setServers(...args: Parameters<typeof setServers>): void {

FILE: src/node/domain.ts
  class Domain (line 32) | class Domain extends EventEmitter {
    method _errorHandler (line 35) | _errorHandler(_er: unknown): void {
    method enter (line 41) | enter(): void {
    method exit (line 45) | exit(): void {
    method add (line 49) | add(_ee: unknown): void {
    method remove (line 53) | remove(_ee: unknown): void {
    method run (line 58) | run(fn: Function, ...args: unknown[]): unknown {
    method intercept (line 67) | intercept(cb: Function): Function {
    method bind (line 73) | bind(cb: Function): Function {
  function createDomain (line 79) | function createDomain(): Domain {

FILE: src/node/http.ts
  function request (line 38) | function request(
  function get (line 46) | function get(
  function createServer (line 56) | function createServer(
  function setMaxIdleHTTPParsers (line 71) | function setMaxIdleHTTPParsers(max: unknown): void {

FILE: src/node/http2.ts
  function notImplementedClass (line 24) | function notImplementedClass<T = unknown>(name: string): T {
  function createSecureServer (line 32) | function createSecureServer(..._args: unknown[]): H2.Http2SecureServer {
  function createServer (line 36) | function createServer(..._args: unknown[]): H2.Http2Server {
  function connect (line 40) | function connect(..._args: unknown[]): H2.ClientHttp2Session {
  function performServerHandshake (line 44) | function performServerHandshake<
  function getDefaultSettings (line 72) | function getDefaultSettings(..._args: unknown[]): H2.Settings {
  function getPackedSettings (line 87) | function getPackedSettings(..._args: unknown[]): Buffer {
  function getUnpackedSettings (line 91) | function getUnpackedSettings(..._args: unknown[]): H2.Settings {

FILE: src/node/https.ts
  function request (line 23) | function request(...args: unknown[]): ClientRequest {
  function get (line 44) | function get(
  function createServer (line 54) | function createServer(

FILE: src/node/inspector.ts
  function close (line 14) | function close(): void {
  function open (line 44) | function open(
  function url (line 56) | function url(): string | undefined {
  function waitForDebugger (line 60) | function waitForDebugger(): void {
  class Session (line 64) | class Session extends EventEmitter implements _Session {
    method constructor (line 65) | constructor() {
    method connect (line 70) | connect(): void {
    method connectToMainThread (line 74) | connectToMainThread(): void {
    method disconnect (line 78) | disconnect(): void {
    method post (line 82) | post(_method: unknown, _params?: unknown, _callback?: unknown): void {
  method requestWillBeSent (line 88) | requestWillBeSent(_params: _Network.RequestWillBeSentEventDataType): void {
  method dataReceived (line 91) | dataReceived(_params: _Network.DataReceivedEventDataType): void {
  method dataSent (line 94) | dataSent(_params: unknown): void {
  method responseReceived (line 97) | responseReceived(_params: _Network.ResponseReceivedEventDataType): void {
  method loadingFinished (line 100) | loadingFinished(_params: _Network.LoadingFinishedEventDataType): void {
  method loadingFailed (line 103) | loadingFailed(_params: _Network.LoadingFailedEventDataType): void {
  method webSocketCreated (line 106) | webSocketCreated(_params: _Network.WebSocketCreatedEventDataType): void {
  method webSocketHandshakeResponseReceived (line 109) | webSocketHandshakeResponseReceived(
  method webSocketClosed (line 116) | webSocketClosed(_params: _Network.WebSocketClosedEventDataType): void {

FILE: src/node/inspector/promises.ts
  method requestWillBeSent (line 40) | requestWillBeSent(_params: _Network.RequestWillBeSentEventDataType): void {
  method dataReceived (line 43) | dataReceived(_params: _Network.DataReceivedEventDataType): void {
  method responseReceived (line 46) | responseReceived(_params: _Network.ResponseReceivedEventDataType): void {
  method loadingFinished (line 49) | loadingFinished(_params: _Network.LoadingFinishedEventDataType): void {
  method loadingFailed (line 52) | loadingFailed(_params: _Network.LoadingFailedEventDataType): void {
  method webSocketHandshakeResponseReceived (line 55) | webSocketHandshakeResponseReceived(
  method webSocketClosed (line 62) | webSocketClosed(_params: _Network.WebSocketClosedEventDataType): void {
  method webSocketCreated (line 65) | webSocketCreated(_params: _Network.WebSocketCreatedEventDataType): void {
  method dataSent (line 68) | dataSent(_params: unknown): void {
  class Session (line 73) | class Session extends EventEmitter implements _Session {
    method constructor (line 74) | constructor() {
    method connect (line 79) | connect(): void {
    method connectToMainThread (line 83) | connectToMainThread(): void {
    method disconnect (line 87) | disconnect(): void {
    method post (line 92) | post(
  function url (line 101) | function url(): string | undefined {
  function waitForDebugger (line 105) | function waitForDebugger(): Promise<void> {
  function open (line 109) | function open(): Disposable {
  function close (line 113) | function close(): void {

FILE: src/node/internal/async_hooks.d.ts
  type AsyncResourceOptions (line 7) | interface AsyncResourceOptions {
  class AsyncResource (line 11) | class AsyncResource {
  class AsyncLocalStorage (line 29) | class AsyncLocalStorage<T> {

FILE: src/node/internal/buffer.d.ts
  type CompareOptions (line 7) | interface CompareOptions {
  type BufferSource (line 14) | type BufferSource = ArrayBufferView | ArrayBuffer;
  type Encoding (line 16) | type Encoding = number;
  constant ASCII (line 64) | const ASCII: Encoding;
  constant LATIN1 (line 65) | const LATIN1: Encoding;
  constant UTF8 (line 66) | const UTF8: Encoding;
  constant UTF16LE (line 67) | const UTF16LE: Encoding;
  constant BASE64 (line 68) | const BASE64: Encoding;
  constant BASE64URL (line 69) | const BASE64URL: Encoding;
  constant HEX (line 70) | const HEX: Encoding;

FILE: src/node/internal/constants.ts
  constant CHAR_UPPERCASE_A (line 25) | const CHAR_UPPERCASE_A = 65;
  constant CHAR_LOWERCASE_A (line 26) | const CHAR_LOWERCASE_A = 97;
  constant CHAR_UPPERCASE_Z (line 27) | const CHAR_UPPERCASE_Z = 90;
  constant CHAR_LOWERCASE_Z (line 28) | const CHAR_LOWERCASE_Z = 122;
  constant CHAR_UPPERCASE_C (line 29) | const CHAR_UPPERCASE_C = 67;
  constant CHAR_LOWERCASE_B (line 30) | const CHAR_LOWERCASE_B = 98;
  constant CHAR_LOWERCASE_E (line 31) | const CHAR_LOWERCASE_E = 101;
  constant CHAR_LOWERCASE_N (line 32) | const CHAR_LOWERCASE_N = 110;
  constant CHAR_DOT (line 33) | const CHAR_DOT = 46;
  constant CHAR_FORWARD_SLASH (line 34) | const CHAR_FORWARD_SLASH = 47;
  constant CHAR_BACKWARD_SLASH (line 35) | const CHAR_BACKWARD_SLASH = 92;
  constant CHAR_VERTICAL_LINE (line 36) | const CHAR_VERTICAL_LINE = 124;
  constant CHAR_COLON (line 37) | const CHAR_COLON = 58;
  constant CHAR_QUESTION_MARK (line 38) | const CHAR_QUESTION_MARK = 63;
  constant CHAR_UNDERSCORE (line 39) | const CHAR_UNDERSCORE = 95;
  constant CHAR_LINE_FEED (line 40) | const CHAR_LINE_FEED = 10;
  constant CHAR_CARRIAGE_RETURN (line 41) | const CHAR_CARRIAGE_RETURN = 13;
  constant CHAR_TAB (line 42) | const CHAR_TAB = 9;
  constant CHAR_FORM_FEED (line 43) | const CHAR_FORM_FEED = 12;
  constant CHAR_EXCLAMATION_MARK (line 44) | const CHAR_EXCLAMATION_MARK = 33;
  constant CHAR_HASH (line 45) | const CHAR_HASH = 35;
  constant CHAR_SPACE (line 46) | const CHAR_SPACE = 32;
  constant CHAR_NO_BREAK_SPACE (line 47) | const CHAR_NO_BREAK_SPACE = 160;
  constant CHAR_ZERO_WIDTH_NOBREAK_SPACE (line 48) | const CHAR_ZERO_WIDTH_NOBREAK_SPACE = 65279;
  constant CHAR_LEFT_SQUARE_BRACKET (line 49) | const CHAR_LEFT_SQUARE_BRACKET = 91;
  constant CHAR_RIGHT_SQUARE_BRACKET (line 50) | const CHAR_RIGHT_SQUARE_BRACKET = 93;
  constant CHAR_LEFT_ANGLE_BRACKET (line 51) | const CHAR_LEFT_ANGLE_BRACKET = 60;
  constant CHAR_RIGHT_ANGLE_BRACKET (line 52) | const CHAR_RIGHT_ANGLE_BRACKET = 62;
  constant CHAR_LEFT_CURLY_BRACKET (line 53) | const CHAR_LEFT_CURLY_BRACKET = 123;
  constant CHAR_RIGHT_CURLY_BRACKET (line 54) | const CHAR_RIGHT_CURLY_BRACKET = 125;
  constant CHAR_HYPHEN_MINUS (line 55) | const CHAR_HYPHEN_MINUS = 45;
  constant CHAR_PLUS (line 56) | const CHAR_PLUS = 43;
  constant CHAR_DOUBLE_QUOTE (line 57) | const CHAR_DOUBLE_QUOTE = 34;
  constant CHAR_SINGLE_QUOTE (line 58) | const CHAR_SINGLE_QUOTE = 39;
  constant CHAR_PERCENT (line 59) | const CHAR_PERCENT = 37;
  constant CHAR_SEMICOLON (line 60) | const CHAR_SEMICOLON = 59;
  constant CHAR_CIRCUMFLEX_ACCENT (line 61) | const CHAR_CIRCUMFLEX_ACCENT = 94;
  constant CHAR_GRAVE_ACCENT (line 62) | const CHAR_GRAVE_ACCENT = 96;
  constant CHAR_AT (line 63) | const CHAR_AT = 64;
  constant CHAR_AMPERSAND (line 64) | const CHAR_AMPERSAND = 38;
  constant CHAR_EQUAL (line 65) | const CHAR_EQUAL = 61;
  constant CHAR_0 (line 66) | const CHAR_0 = 48;
  constant CHAR_9 (line 67) | const CHAR_9 = 57;
  constant EOL (line 68) | const EOL = ';';

FILE: src/node/internal/crypto.d.ts
  type CheckOptions (line 25) | interface CheckOptions {
  class X509Certificate (line 33) | class X509Certificate {
  class HashHandle (line 61) | class HashHandle {
  class SignHandle (line 68) | class SignHandle {
  class VerifyHandle (line 79) | class VerifyHandle {
  class CipherHandle (line 109) | class CipherHandle {
  class AeadHandle (line 118) | class AeadHandle {
  type CipherMode (line 127) | type CipherMode = {
  type PublicPrivateCipherOptions (line 139) | interface PublicPrivateCipherOptions {
  type CipherInfo (line 166) | interface CipherInfo {
  type GetCipherInfoOptions (line 186) | interface GetCipherInfoOptions {
  type ArrayLike (line 198) | type ArrayLike = ArrayBuffer | string | Buffer | ArrayBufferView;
  class HmacHandle (line 200) | class HmacHandle {
  type RsaKeyPairOptions (line 251) | interface RsaKeyPairOptions {
  type DsaKeyPairOptions (line 260) | interface DsaKeyPairOptions {
  type EcKeyPairOptions (line 265) | interface EcKeyPairOptions {
  type EdKeyPairOptions (line 270) | interface EdKeyPairOptions {
  type DhKeyPairOptions (line 274) | interface DhKeyPairOptions {
  type KeyData (line 294) | type KeyData = string | ArrayBuffer | ArrayBufferView;
  type RsaKeyAlgorithm (line 296) | interface RsaKeyAlgorithm {
  type EcKeyAlgorithm (line 303) | interface EcKeyAlgorithm {
  type DhKeyAlgorithm (line 308) | interface DhKeyAlgorithm {
  type DsaKeyAlgorithm (line 314) | interface DsaKeyAlgorithm {
  type HmacKeyAlgorithm (line 320) | interface HmacKeyAlgorithm {
  type AesKeyAlgorithm (line 325) | interface AesKeyAlgorithm {
  type KeyAlgorithm (line 330) | type KeyAlgorithm =
  type RsaOtherPrimesInfo (line 338) | interface RsaOtherPrimesInfo {
  type JsonWebKey (line 344) | interface JsonWebKey {
  type CryptoKeyPair (line 365) | interface CryptoKeyPair {
  type KeyObjectType (line 370) | type KeyObjectType = 'secret' | 'public' | 'private';
  type KeyExportResult (line 372) | type KeyExportResult = string | Buffer | JsonWebKey;
  type SecretKeyFormat (line 374) | type SecretKeyFormat = 'buffer' | 'jwk';
  type AsymmetricKeyFormat (line 375) | type AsymmetricKeyFormat = 'pem' | 'der' | 'jwk';
  type PublicKeyEncoding (line 376) | type PublicKeyEncoding = 'pkcs1' | 'spki';
  type PrivateKeyEncoding (line 377) | type PrivateKeyEncoding = 'pkcs1' | 'pkcs8' | 'sec1';
  type AsymmetricKeyType (line 378) | type AsymmetricKeyType = 'rsa' | 'ec' | 'x25519' | 'ed25519' | 'dh';
  type SecretKeyType (line 379) | type SecretKeyType = 'hmac' | 'aes';
  type ParamEncoding (line 380) | type ParamEncoding = 'named' | 'explicit';
  type SecretKeyExportOptions (line 382) | interface SecretKeyExportOptions {
  type PublicKeyExportOptions (line 386) | interface PublicKeyExportOptions {
  type PrivateKeyExportOptions (line 391) | interface PrivateKeyExportOptions {
  type InnerPrivateKeyExportOptions (line 399) | interface InnerPrivateKeyExportOptions {
  type ExportOptions (line 406) | type ExportOptions =
  type InnerExportOptions (line 411) | type InnerExportOptions =
  type AsymmetricKeyDetails (line 416) | interface AsymmetricKeyDetails {
  type CreateAsymmetricKeyOptions (line 428) | interface CreateAsymmetricKeyOptions {
  type InnerCreateAsymmetricKeyOptions (line 440) | interface InnerCreateAsymmetricKeyOptions {
  type GenerateKeyOptions (line 449) | interface GenerateKeyOptions {
  type GenerateKeyPairOptions (line 453) | interface GenerateKeyPairOptions {
  class DiffieHellmanHandle (line 474) | class DiffieHellmanHandle {
  type ECDHFormat (line 492) | type ECDHFormat = 'compressed' | 'uncompressed' | 'hybrid';
  class ECDHHandle (line 493) | class ECDHHandle {

FILE: src/node/internal/crypto_cipher.ts
  type AADOptions (line 77) | interface AADOptions {
  type Cipheriv (line 89) | interface Cipheriv extends Transform {
  type Decipheriv (line 105) | interface Decipheriv extends Transform {
  type CipherOptions (line 122) | interface CipherOptions extends TransformOptions {
  function getSecretKey (line 126) | function getSecretKey(
  function getIv (line 152) | function getIv(
  function createCipheriv (line 461) | function createCipheriv(
  function createDecipheriv (line 470) | function createDecipheriv(
  type HashOptions (line 481) | interface HashOptions {
  function getPaddingAndHash (line 492) | function getPaddingAndHash(options: HashOptions): PublicPrivateCipherOpt...
  function privateEncrypt (line 521) | function privateEncrypt(
  function privateDecrypt (line 567) | function privateDecrypt(
  function publicEncrypt (line 615) | function publicEncrypt(
  function publicDecrypt (line 657) | function publicDecrypt(
  function getCipherInfo (line 699) | function getCipherInfo(

FILE: src/node/internal/crypto_dh.ts
  type ArrayLike (line 29) | type ArrayLike = cryptoImpl.ArrayLike;
  constant DH_GENERATOR (line 62) | const DH_GENERATOR = 2;
  class SharedDiffieHellman (line 64) | class SharedDiffieHellman {
  class DiffieHellman (line 75) | class DiffieHellman extends SharedDiffieHellman {
  function DiffieHellman (line 86) | function DiffieHellman(
  class DiffieHellmanGroup (line 156) | class DiffieHellmanGroup extends SharedDiffieHellman {
  function DiffieHellmanGroup (line 161) | function DiffieHellmanGroup(this: unknown, name: string): DiffieHellmanG...
  type DHLike (line 196) | type DHLike = DiffieHellman | DiffieHellmanGroup;
  function dhGenerateKeys (line 197) | function dhGenerateKeys(this: DHLike, encoding?: string): Buffer | string {
  function dhComputeSecret (line 202) | function dhComputeSecret(
  function dhGetPrime (line 214) | function dhGetPrime(this: DHLike, encoding?: string): Buffer | string {
  function dhGetGenerator (line 219) | function dhGetGenerator(this: DHLike, encoding?: string): Buffer | string {
  function dhGetPublicKey (line 224) | function dhGetPublicKey(this: DHLike, encoding?: string): Buffer | string {
  function dhGetPrivateKey (line 229) | function dhGetPrivateKey(this: DHLike, encoding?: string): Buffer | stri...
  function dhSetPublicKey (line 234) | function dhSetPublicKey(
  function dhSetPrivateKey (line 244) | function dhSetPrivateKey(
  function encode (line 254) | function encode(buffer: ArrayBuffer, encoding?: string): Buffer | string {
  function createDiffieHellman (line 260) | function createDiffieHellman(
  function createDiffieHellmanGroup (line 269) | function createDiffieHellmanGroup(name: string): DiffieHellmanGroup {
  function getDiffieHellman (line 273) | function getDiffieHellman(name: string): DiffieHellmanGroup {
  type DiffieHellmanKeyPair (line 277) | interface DiffieHellmanKeyPair {
  function diffieHellman (line 282) | function diffieHellman(options: DiffieHellmanKeyPair): Buffer {
  type ECDH (line 325) | interface ECDH {
  constant ECDH (line 341) | const ECDH = function (this: ECDH, curveName: string) {
  function createECDH (line 485) | function createECDH(curveName: string): ECDH {

FILE: src/node/internal/crypto_hash.ts
  type ArrayLike (line 27) | type ArrayLike = cryptoImpl.ArrayLike;
  type HashOptions (line 62) | interface HashOptions extends TransformOptions {
  type _kState (line 66) | interface _kState {
  class Hash (line 70) | class Hash extends Transform {
  function createHash (line 86) | function createHash(algorithm: string, options?: HashOptions): Hash {
  function Hash (line 90) | function Hash(
  class Hmac (line 192) | class Hmac extends Transform {
  function createHmac (line 208) | function createHmac(
  function Hmac (line 216) | function Hmac(
  function hash (line 300) | function hash(

FILE: src/node/internal/crypto_hkdf.ts
  type ArrayLike (line 36) | type ArrayLike = cryptoImpl.ArrayLike;
  function validateParameters (line 52) | function validateParameters(
  function prepareKey (line 93) | function prepareKey(key: ArrayLike): ArrayLike {
  function hkdf (line 114) | function hkdf(
  function hkdfSync (line 148) | function hkdfSync(

FILE: src/node/internal/crypto_keys.ts
  function isStringOrBuffer (line 103) | function isStringOrBuffer(val: unknown): val is string | Buffer {
  function validateExportOptions (line 109) | function validateExportOptions(
  method constructor (line 148) | constructor() {
  method from (line 155) | static from(key: CryptoKey): KeyObject {
  method export (line 187) | export(options: ExportOptions = {}): KeyExportResult {
  method equals (line 213) | equals(otherKeyObject: KeyObject): boolean {
  method [Symbol.toStringTag] (line 229) | get [Symbol.toStringTag](): string {
  function isKeyObject (line 234) | function isKeyObject(obj: unknown): obj is KeyObject {
  function getKeyObjectHandle (line 238) | function getKeyObjectHandle(obj: KeyObject): CryptoKey {
  method asymmetricKeyDetails (line 243) | get asymmetricKeyDetails(): AsymmetricKeyDetails {
  method asymmetricKeyType (line 253) | get asymmetricKeyType(): AsymmetricKeyType {
  method toCryptoKey (line 257) | toCryptoKey(): void {
  method [kInspect] (line 262) | [kInspect](
  class PublicKeyObject (line 285) | class PublicKeyObject extends AsymmetricKeyObject {
    method export (line 286) | override export(options?: PublicKeyExportOptions): KeyExportResult {
    method type (line 290) | get type(): KeyObjectType {
  class PrivateKeyObject (line 295) | class PrivateKeyObject extends AsymmetricKeyObject {
    method export (line 296) | override export(options?: PrivateKeyExportOptions): KeyExportResult {
    method type (line 300) | get type(): KeyObjectType {
  class SecretKeyObject (line 305) | class SecretKeyObject extends KeyObject {
    method symmetricKeySize (line 306) | get symmetricKeySize(): number {
    method export (line 310) | override export(options?: SecretKeyExportOptions): KeyExportResult {
    method type (line 314) | get type(): KeyObjectType {
    method [kInspect] (line 318) | [kInspect](depth: number, options: { depth?: number }): string | this {
  type ValidateKeyDataOptions (line 335) | type ValidateKeyDataOptions = {
  function validateKeyData (line 338) | function validateKeyData(
  function createSecretKey (line 366) | function createSecretKey(
  function prepareAsymmetricKey (line 392) | function prepareAsymmetricKey(
  function createPrivateKey (line 485) | function createPrivateKey(
  function createPublicKey (line 505) | function createPublicKey(
  type PublicKeyResult (line 552) | type PublicKeyResult = KeyExportResult | PublicKeyObject;
  type PrivateKeyResult (line 553) | type PrivateKeyResult = KeyExportResult | PrivateKeyObject;
  type GenerateKeyCallback (line 554) | type GenerateKeyCallback = (
  type GenerateKeyPairCallback (line 558) | type GenerateKeyPairCallback = (
  type KeyObjectPair (line 564) | interface KeyObjectPair {
  function generateKey (line 569) | function generateKey(
  function generateKeyPair (line 598) | function generateKeyPair(
  function generateKeySync (line 633) | function generateKeySync(
  function generateKeyPairSync (line 663) | function generateKeyPairSync(

FILE: src/node/internal/crypto_pbkdf2.ts
  type ArrayLike (line 38) | type ArrayLike = cryptoImpl.ArrayLike;
  function pbkdf2Sync (line 40) | function pbkdf2Sync(
  type Pbkdf2Callback (line 65) | type Pbkdf2Callback = (err?: Error | null, result?: Buffer) => void;
  function pbkdf2 (line 66) | function pbkdf2(
  function check (line 99) | function check(

FILE: src/node/internal/crypto_random.ts
  type RandomBytesCallback (line 51) | type RandomBytesCallback = (
  function randomBytes (line 57) | function randomBytes(
  function randomFillSync (line 72) | function randomFillSync(
  type RandomFillCallback (line 98) | type RandomFillCallback = (
  function randomFill (line 117) | function randomFill(
  constant RAND_MAX (line 163) | const RAND_MAX = 0xffff_ffff_ffff;
  function getRandomInt (line 170) | function getRandomInt(min: number, max: number): number {
  type RandomIntCallback (line 209) | type RandomIntCallback = (err: Error | null, n?: number) => void;
  function randomInt (line 218) | function randomInt(
  function randomUUID (line 268) | function randomUUID(options?: RandomUUIDOptions): string {
  type PrimeNum (line 283) | type PrimeNum = ArrayBuffer | ArrayBufferView | Buffer | bigint;
  type GeneratePrimeOptions (line 284) | interface GeneratePrimeOptions {
  type CheckPrimeOptions (line 291) | interface CheckPrimeOptions {
  type GeneratePrimeCallback (line 295) | type GeneratePrimeCallback = (
  type CheckPrimeCallback (line 299) | type CheckPrimeCallback = (err: Error | null, prime?: boolean) => void;
  function processGeneratePrimeOptions (line 301) | function processGeneratePrimeOptions(options: GeneratePrimeOptions): {
  function generatePrimeSync (line 345) | function generatePrimeSync(
  function generatePrime (line 365) | function generatePrime(
  function unsignedBigIntToBuffer (line 396) | function unsignedBigIntToBuffer(bigint: bigint, name: string): Buffer {
  function validateCandidate (line 406) | function validateCandidate(candidate: PrimeNum): Buffer {
  function validateChecks (line 419) | function validateChecks(options: CheckPrimeOptions): number {
  function checkPrimeSync (line 426) | function checkPrimeSync(
  function checkPrime (line 445) | function checkPrime(

FILE: src/node/internal/crypto_scrypt.ts
  type ArrayLike (line 36) | type ArrayLike = cryptoImpl.ArrayLike;
  type ValidatedScryptOptions (line 44) | interface ValidatedScryptOptions {
  type ScryptOptions (line 54) | interface ScryptOptions {
  function validateParameters (line 71) | function validateParameters(
  type Callback (line 148) | type Callback = (err: Error | null, derivedKey?: Buffer) => void;
  type OptionsOrCallback (line 149) | type OptionsOrCallback = ScryptOptions | Callback;
  function scrypt (line 151) | function scrypt(
  function scryptSync (line 192) | function scryptSync(

FILE: src/node/internal/crypto_sign.ts
  type SignOptions (line 58) | interface SignOptions {}
  type Sign (line 60) | interface Sign extends Writable {
  type Verify (line 65) | interface Verify extends Writable {
  function getIntOption (line 114) | function getIntOption(name: string, options: any): number | undefined {
  function getDSASignatureEncoding (line 125) | function getDSASignatureEncoding(options: any): number {
  function getPrivateKey (line 137) | function getPrivateKey(options: any): CryptoKey {
  function createSign (line 278) | function createSign(algorithm: string, options: any) {
  function createVerify (line 282) | function createVerify(algorithm: string, options: any) {
  type SignCallback (line 286) | type SignCallback = (err: any, signature?: Buffer) => void;
  type VerifyCallback (line 287) | type VerifyCallback = (err: any, valid?: boolean) => void;
  function sign (line 289) | function sign(
  function verify (line 351) | function verify(

FILE: src/node/internal/crypto_spkac.ts
  function verifySpkac (line 31) | function verifySpkac(
  function exportPublicKey (line 38) | function exportPublicKey(
  function exportChallenge (line 48) | function exportChallenge(
  class Certificate (line 64) | class Certificate {
  function Certificate (line 76) | function Certificate(this: unknown): Certificate {

FILE: src/node/internal/crypto_util.ts
  type ArrayLike (line 38) | type ArrayLike = cryptoImpl.ArrayLike;
  function getStringOption (line 45) | function getStringOption(options: any, key: string): string | undefined {
  function getArrayBufferOrView (line 53) | function getArrayBufferOrView(
  function arrayBufferToUnsignedBigInt (line 88) | function arrayBufferToUnsignedBigInt(buf: ArrayBuffer): bigint {
  function toBuf (line 105) | function toBuf(
  function validateByteSource (line 118) | function validateByteSource(

FILE: src/node/internal/crypto_x509.ts
  function translatePeerCertificate (line 50) | function translatePeerCertificate(c: any) {
  function checkOptions (line 78) | function checkOptions(options?: CheckOptions) {
  class X509Certificate (line 96) | class X509Certificate {
    method constructor (line 100) | constructor(
    method subject (line 128) | get subject() {
    method subjectAltName (line 137) | get subjectAltName() {
    method issuer (line 146) | get issuer() {
    method issuerCertificate (line 155) | get issuerCertificate() {
    method infoAccess (line 165) | get infoAccess() {
    method validFrom (line 174) | get validFrom() {
    method validTo (line 183) | get validTo() {
    method fingerprint (line 192) | get fingerprint() {
    method fingerprint256 (line 201) | get fingerprint256() {
    method fingerprint512 (line 210) | get fingerprint512() {
    method keyUsage (line 219) | get keyUsage() {
    method serialNumber (line 228) | get serialNumber() {
    method raw (line 238) | get raw() {
    method publicKey (line 248) | get publicKey() {
    method toString (line 260) | toString() {
    method toJSON (line 271) | toJSON() {
    method ca (line 275) | get ca() {
    method checkHost (line 284) | checkHost(name: string, options?: CheckOptions) {
    method checkEmail (line 290) | checkEmail(email: string, options?: CheckOptions) {
    method checkIP (line 296) | checkIP(ip: string, options?: CheckOptions) {
    method checkIssued (line 307) | checkIssued(otherCert: X509Certificate) {
    method checkPrivateKey (line 313) | checkPrivateKey(pkey: PrivateKeyObject) {
    method verify (line 320) | verify(pkey: PublicKeyObject) {
    method toLegacyObject (line 327) | toLegacyObject() {

FILE: src/node/internal/debuglog.ts
  function debuglogImpl (line 32) | function debuglogImpl(set: string) {
  function debuglog (line 45) | function debuglog(

FILE: src/node/internal/diagnostics_channel.d.ts
  type TransformCallback (line 7) | type TransformCallback = (value: unknown) => unknown;
  type MessageCallback (line 8) | type MessageCallback = (message: unknown, name: string | symbol) => void;

FILE: src/node/internal/events.ts
  type EventEmitterOptions (line 65) | interface EventEmitterOptions {
  type EventName (line 69) | type EventName = string | symbol | number;
  type EventCallback (line 70) | type EventCallback = ((...args: any[]) => unknown) & {
  class EventEmitter (line 74) | class EventEmitter extends _EventEmitter {
  type AsyncResource (line 91) | type AsyncResource = typeof AsyncResource;
  function EventEmitter (line 95) | function EventEmitter(
  class EventEmitterReferencingAsyncResource (line 103) | class EventEmitterReferencingAsyncResource extends AsyncResource {
    method constructor (line 105) | constructor(emitter: EventEmitter) {
    method eventEmitter (line 110) | get eventEmitter() {
  class EventEmitterAsyncResource (line 117) | class EventEmitterAsyncResource
    method constructor (line 123) | constructor(options?: EventEmitterOptions) {
    method asyncResource (line 129) | get asyncResource(): AsyncResource {
    method emit (line 136) | override emit(event: string | symbol, ...args: any[]): boolean {
  function addAbortListener (line 149) | function addAbortListener(
  method get (line 198) | get(this: EventEmitter) {
  method set (line 201) | set(this: EventEmitter, value: unknown): void {
  function setMaxListeners (line 266) | function setMaxListeners(
  function addCatch (line 299) | function addCatch(
  function emitUnhandledRejectionOrErr (line 326) | function emitUnhandledRejectionOrErr(
  function _getMaxListeners (line 360) | function _getMaxListeners(that: any) {
  function _addListener (line 457) | function _addListener(
  type EventEmitterError (line 535) | interface EventEmitterError extends Error {
  function onceWrapper (line 559) | function onceWrapper(this: any) {
  function _onceWrap (line 570) | function _onceWrap(target: any, type: string | symbol, listener: unknown) {
  function _listeners (line 709) | function _listeners(target: any, type: string | symbol, unwrap: boolean) {
  function listenerCount (line 759) | function listenerCount(emitter: any, type: string | symbol) {
  function arrayClone (line 770) | function arrayClone(arr: any[]) {
  function unwrapListeners (line 788) | function unwrapListeners(arr: any[]) {
  function getEventListeners (line 799) | function getEventListeners(emitterOrTarget: any, type: string | symbol) {
  type OnceOptions (line 816) | interface OnceOptions {
  function once (line 820) | async function once(
  function createIterResult (line 871) | function createIterResult(value: any, done: boolean) {
  function eventTargetAgnosticRemoveListener (line 875) | function eventTargetAgnosticRemoveListener(
  type AddListenerFlags (line 890) | interface AddListenerFlags {
  function eventTargetAgnosticAddListener (line 894) | function eventTargetAgnosticAddListener(
  type OnOptions (line 921) | interface OnOptions {
  function on (line 925) | function on(

FILE: src/node/internal/filesystem.d.ts
  type StatOptions (line 5) | interface StatOptions {
  type Stat (line 9) | interface Stat {
  type DirEntryHandle (line 89) | interface DirEntryHandle {
  type FdHandle (line 111) | interface FdHandle {
  type OpenAsBlobOptions (line 117) | interface OpenAsBlobOptions {

FILE: src/node/internal/internal_assert.ts
  type ExtendedAssertionErrorConstructorOptions (line 49) | interface ExtendedAssertionErrorConstructorOptions extends AssertionErro...
  function createAssertionError (line 53) | function createAssertionError(
  function assert (line 64) | function assert(actual: unknown, message?: string | Error): asserts actu...
  type Assert (line 80) | type Assert = (actual: unknown, message?: string | Error) => asserts act...
  function throws (line 83) | function throws(
  function doesNotThrow (line 194) | function doesNotThrow(
  function equal (line 219) | function equal(
  function notEqual (line 227) | function notEqual(
  function strictEqual (line 235) | function strictEqual(
  function notStrictEqual (line 283) | function notStrictEqual(
  function deepEqual (line 310) | function deepEqual(
  function notDeepEqual (line 318) | function notDeepEqual(
  function deepStrictEqual (line 326) | function deepStrictEqual(
  function notDeepStrictEqual (line 351) | function notDeepStrictEqual(
  function isPartialDeepStrictEqual (line 377) | function isPartialDeepStrictEqual(
  function partialDeepStrictEqual (line 553) | function partialDeepStrictEqual(
  function fail (line 581) | function fail(message?: string | Error): never {
  function match (line 593) | function match(
  function doesNotMatch (line 620) | function doesNotMatch(
  function strict (line 662) | function strict(
  function rejects (line 684) | function rejects(
  function doesNotReject (line 756) | function doesNotReject(
  function gotUnwantedException (line 792) | function gotUnwantedException(
  function ifError (line 852) | function ifError(err: any) {
  type ValidateThrownErrorOptions (line 899) | interface ValidateThrownErrorOptions {
  function validateThrownError (line 904) | function validateThrownError(
  function isValidThenable (line 1049) | function isValidThenable(maybeThennable: any): boolean {

FILE: src/node/internal/internal_assertionerror.ts
  function copyError (line 54) | function copyError(source: any): Error {
  function inspectValue (line 68) | function inspectValue(val: unknown): string {
  function createErrDiff (line 84) | function createErrDiff(
  type AssertionErrorDetailsDescriptor (line 336) | interface AssertionErrorDetailsDescriptor {
  type AssertionErrorConstructorOptions (line 344) | interface AssertionErrorConstructorOptions {
  type ErrorWithStackTraceLimit (line 357) | interface ErrorWithStackTraceLimit extends ErrorConstructor {
  class AssertionError (line 361) | class AssertionError extends Error {
    method constructor (line 365) | constructor(options: AssertionErrorConstructorOptions) {
    method toString (line 510) | override toString() {
  method [inspect.custom] (line 514) | [inspect.custom](_recurseTimes: number, ctx: Record<string, unknown>) {

FILE: src/node/internal/internal_buffer.ts
  constant MAX_UINT32 (line 62) | const MAX_UINT32 = 2 ** 32;
  constant INSPECT_MAX_BYTES (line 72) | const INSPECT_MAX_BYTES = 50;
  function createBuffer (line 79) | function createBuffer(length: number): Buffer {
  type WithImplicitCoercion (line 92) | type WithImplicitCoercion<T> = T | { valueOf(): T };
  type StringLike (line 93) | type StringLike =
  type ArrayBufferLike (line 96) | type ArrayBufferLike = WithImplicitCoercion<ArrayBuffer | SharedArrayBuf...
  type BufferSource (line 97) | type BufferSource =
  type Buffer (line 103) | interface Buffer extends Uint8Array {
  type FillValue (line 206) | type FillValue = string | number | ArrayBufferView;
  function Buffer (line 221) | function Buffer(
  method get (line 256) | get() {
  method get (line 265) | get() {
  function _from (line 279) | function _from(
  function from (line 362) | function from(
  function fromString (line 370) | function fromString(string: StringLike, encoding?: string) {
  function fromArrayLike (line 390) | function fromArrayLike(array: Uint8Array | ReadonlyArray<number>) {
  function fromArrayBuffer (line 395) | function fromArrayBuffer(
  function of (line 437) | function of(...args: number[]) {
  function alloc (line 445) | function alloc(size: number, fill?: FillValue, encoding?: string): Buffer {
  function allocUnsafe (line 466) | function allocUnsafe(size: number): Buffer {
  function SlowBuffer (line 473) | function SlowBuffer(length: number) {
  function compare (line 484) | function compare(a: Buffer | Uint8Array, b: Buffer | Uint8Array) {
  function isEncoding (line 506) | function isEncoding(encoding: unknown): encoding is string {
  function base64ByteLength (line 546) | function base64ByteLength(str: string) {
  function byteLength (line 557) | function byteLength(
  function includes (line 766) | function includes(
  function bidirectionalIndexOf (line 786) | function bidirectionalIndexOf(
  function wrtBigUInt64LE (line 1536) | function wrtBigUInt64LE(
  function wrtBigUInt64BE (line 1563) | function wrtBigUInt64BE(
  function checkBounds (line 1920) | function checkBounds(buf: Buffer, offset: number, byteLength2: number) {
  function checkIntBI (line 1927) | function checkIntBI(
  function isInstance (line 1954) | function isInstance(obj: unknown, type: Function) {
  function readUInt48LE (line 1964) | function readUInt48LE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readUInt40LE (line 1981) | function readUInt40LE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readUInt24LE (line 1998) | function readUInt24LE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readUInt48BE (line 2009) | function readUInt48BE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readUInt40BE (line 2026) | function readUInt40BE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readUInt24BE (line 2043) | function readUInt24BE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readUInt16BE (line 2054) | function readUInt16BE(this: Buffer, offset: number = 0) {
  function readUInt32BE (line 2065) | function readUInt32BE(this: Buffer, offset: number = 0) {
  function readDoubleBackwards (line 2081) | function readDoubleBackwards(buffer: Buffer | Uint8Array, offset: number...
  function readDoubleForwards (line 2100) | function readDoubleForwards(buffer: Buffer | Uint8Array, offset: number ...
  function writeDoubleForwards (line 2119) | function writeDoubleForwards(
  function writeDoubleBackwards (line 2139) | function writeDoubleBackwards(
  function readFloatBackwards (line 2159) | function readFloatBackwards(buffer: Buffer | Uint8Array, offset: number ...
  function readFloatForwards (line 2174) | function readFloatForwards(buffer: Buffer | Uint8Array, offset: number =...
  function writeFloatForwards (line 2189) | function writeFloatForwards(
  function writeFloatBackwards (line 2205) | function writeFloatBackwards(
  function readInt24LE (line 2221) | function readInt24LE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readInt40LE (line 2233) | function readInt40LE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readInt48LE (line 2250) | function readInt48LE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readInt24BE (line 2268) | function readInt24BE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readInt48BE (line 2280) | function readInt48BE(buf: Buffer | Uint8Array, offset: number = 0) {
  function readInt40BE (line 2298) | function readInt40BE(buf: Buffer | Uint8Array, offset: number = 0) {
  function boundsError (line 2315) | function boundsError(value: number, length: number, type?: string): never {
  function validateNumber (line 2331) | function validateNumber(value: unknown, name: string) {
  function checkInt (line 2337) | function checkInt(
  function toInteger (line 2364) | function toInteger(n: number | undefined, defaultVal: number) {
  function writeU_Int8 (line 2377) | function writeU_Int8(
  function writeU_Int16BE (line 2397) | function writeU_Int16BE(
  function _writeUInt32LE (line 2413) | function _writeUInt32LE(
  function writeU_Int16LE (line 2434) | function writeU_Int16LE(
  function _writeUInt32BE (line 2450) | function _writeUInt32BE(
  function writeU_Int48BE (line 2471) | function writeU_Int48BE(
  function writeU_Int40BE (line 2495) | function writeU_Int40BE(
  function writeU_Int32BE (line 2517) | function writeU_Int32BE(
  function writeU_Int24BE (line 2538) | function writeU_Int24BE(
  function validateOffset (line 2557) | function validateOffset(
  function writeU_Int48LE (line 2574) | function writeU_Int48LE(
  function writeU_Int40LE (line 2598) | function writeU_Int40LE(
  function writeU_Int32LE (line 2621) | function writeU_Int32LE(
  function writeU_Int24LE (line 2642) | function writeU_Int24LE(
  function isAscii (line 2661) | function isAscii(value: ArrayBufferView) {
  function isUtf8 (line 2670) | function isUtf8(value: ArrayBufferView) {
  function transcode (line 2679) | function transcode(
  function resolveObjectURL (line 2704) | function resolveObjectURL(_id: string): unknown {

FILE: src/node/internal/internal_comparisons.ts
  function areSimilarRegExps (line 63) | function areSimilarRegExps(a: RegExp, b: RegExp) {
  type FloatArray (line 69) | type FloatArray = Float16Array | Float32Array | Float64Array;
  type AnyArrayBuffer (line 70) | type AnyArrayBuffer = ArrayBuffer | SharedArrayBuffer;
  type Memos (line 72) | type Memos = {
  function areSimilarFloatArrays (line 78) | function areSimilarFloatArrays(a: FloatArray, b: FloatArray) {
  function areSimilarTypedArrays (line 90) | function areSimilarTypedArrays(a: ArrayBufferView, b: ArrayBufferView) {
  function areEqualArrayBuffers (line 102) | function areEqualArrayBuffers(buf1: AnyArrayBuffer, buf2: AnyArrayBuffer) {
  function areEqualBoxedPrimitives (line 109) | function areEqualBoxedPrimitives(val1: unknown, val2: unknown) {
  function innerDeepEqual (line 152) | function innerDeepEqual(
  function getEnumerables (line 305) | function getEnumerables(val: Object, keys: (string | symbol)[]) {
  function keyCheck (line 309) | function keyCheck(
  function setHasEqualElement (line 417) | function setHasEqualElement(
  function findLooseMatchingPrimitives (line 435) | function findLooseMatchingPrimitives(prim: unknown) {
  function setMightHaveLoosePrim (line 453) | function setMightHaveLoosePrim(
  function mapMightHaveLoosePrim (line 464) | function mapMightHaveLoosePrim(
  function setEquiv (line 485) | function setEquiv(
  function mapHasEqualEntry (line 542) | function mapHasEqualEntry(
  function mapEquiv (line 566) | function mapEquiv(
  function objEquiv (line 618) | function objEquiv(
  function isDeepStrictEqual (line 687) | function isDeepStrictEqual(val1: unknown, val2: unknown) {

FILE: src/node/internal/internal_diffs.ts
  type FarthestPoint (line 7) | interface FarthestPoint {
  type DiffResult (line 18) | interface DiffResult<T> {
  constant REMOVED (line 24) | const REMOVED = 1;
  constant COMMON (line 25) | const COMMON = 2;
  constant ADDED (line 26) | const ADDED = 3;
  function createCommon (line 28) | function createCommon<T>(A: T[], B: T[], reverse?: boolean): T[] {
  function diff (line 50) | function diff<T>(A: T[], B: T[]): Array<DiffResult<T>> {
  function diffstr (line 253) | function diffstr(A: string, B: string) {
  function createSign (line 394) | function createSign(
  function buildMessage (line 407) | function buildMessage(

FILE: src/node/internal/internal_dns.ts
  type DnsOrder (line 43) | type DnsOrder = 'verbatim' | 'ipv4first' | 'ipv6first';
  function getServers (line 54) | function getServers(): ReturnType<(typeof dns)['getServers']> {
  type LookupCallback (line 58) | type LookupCallback = (
  function lookup (line 64) | function lookup(
  function lookupService (line 243) | async function lookupService(): Promise<void> {
  function resolve (line 248) | function resolve(
  function resolve4 (line 285) | function resolve4(
  function resolve6 (line 305) | function resolve6(
  function resolveAny (line 326) | async function resolveAny(): Promise<void> {
  function resolveCname (line 331) | function resolveCname(name: string): Promise<string[]> {
  function resolveCaa (line 343) | function resolveCaa(name: string): Promise<CAA[]> {
  function resolveMx (line 355) | function resolveMx(name: string): Promise<MX[]> {
  function resolveNaptr (line 367) | function resolveNaptr(name: string): Promise<NAPTR[]> {
  function resolveNs (line 379) | function resolveNs(name: string): Promise<string[]> {
  function resolvePtr (line 391) | function resolvePtr(name: string): Promise<string[]> {
  function resolveSoa (line 403) | function resolveSoa(name: string): Promise<SOA> {
  function resolveSrv (line 421) | function resolveSrv(name: string): Promise<SRV[]> {
  function resolveTxt (line 433) | function resolveTxt(name: string): Promise<string[][]> {
  function reverse (line 445) | function reverse(name: string): Promise<string[]> {
  function setDefaultResultOrder (line 462) | function setDefaultResultOrder(value: unknown): void {
  function getDefaultResultOrder (line 467) | function getDefaultResultOrder(): DnsOrder {
  function setServers (line 471) | function setServers(): void {

FILE: src/node/internal/internal_dns_client.ts
  type TTLResponse (line 10) | type TTLResponse = {
  type Answer (line 14) | interface Answer {
  type FailedResponse (line 25) | interface FailedResponse {
  type SuccessResponse (line 28) | interface SuccessResponse {
  function sendDnsRequest (line 56) | async function sendDnsRequest(
  function validateAnswer (line 104) | function validateAnswer(
  type MX (line 114) | type MX = {
  function normalizeMx (line 118) | function normalizeMx(name: string, answer: Answer): MX {
  function normalizeCname (line 139) | function normalizeCname({ data }: Answer): string {
  type CAA (line 148) | type CAA = {
  function normalizeCaa (line 154) | function normalizeCaa({ data }: Answer): CAA {
  type NAPTR (line 162) | type NAPTR = {
  function normalizeNaptr (line 170) | function normalizeNaptr({ data }: Answer): NAPTR {
  function normalizePtr (line 175) | function normalizePtr({ data }: Answer): string {
  function normalizeNs (line 182) | function normalizeNs({ data }: Answer): string {
  type SOA (line 189) | type SOA = {
  function normalizeSoa (line 198) | function normalizeSoa({ data }: Answer): SOA {
  type SRV (line 222) | type SRV = {
  function normalizeSrv (line 228) | function normalizeSrv({ data }: Answer): SRV {
  constant SPLIT_REGEX (line 251) | const SPLIT_REGEX = /"([^"]|"(?!"))*"/g;
  function normalizeTxt (line 253) | function normalizeTxt({ data }: Answer): string[] {

FILE: src/node/internal/internal_dns_constants.ts
  constant NODATA (line 5) | const NODATA = 'ENODATA';
  constant FORMERR (line 6) | const FORMERR = 'EFORMERR';
  constant SERVFAIL (line 7) | const SERVFAIL = 'ESERVFAIL';
  constant NOTFOUND (line 8) | const NOTFOUND = 'ENOTFOUND';
  constant NOTIMP (line 9) | const NOTIMP = 'ENOTIMP';
  constant REFUSED (line 10) | const REFUSED = 'EREFUSED';
  constant BADQUERY (line 11) | const BADQUERY = 'EBADQUERY';
  constant BADNAME (line 12) | const BADNAME = 'EBADNAME';
  constant BADFAMILY (line 13) | const BADFAMILY = 'EBADFAMILY';
  constant BADRESP (line 14) | const BADRESP = 'EBADRESP';
  constant CONNREFUSED (line 15) | const CONNREFUSED = 'ECONNREFUSED';
  constant TIMEOUT (line 16) | const TIMEOUT = 'ETIMEOUT';
  constant EOF (line 17) | const EOF = 'EOF';
  constant FILE (line 18) | const FILE = 'EFILE';
  constant NOMEM (line 19) | const NOMEM = 'ENOMEM';
  constant DESTRUCTION (line 20) | const DESTRUCTION = 'EDESTRUCTION';
  constant BADSTR (line 21) | const BADSTR = 'EBADSTR';
  constant BADFLAGS (line 22) | const BADFLAGS = 'EBADFLAGS';
  constant NONAME (line 23) | const NONAME = 'ENONAME';
  constant BADHINTS (line 24) | const BADHINTS = 'EBADHINTS';
  constant NOTINITIALIZED (line 25) | const NOTINITIALIZED = 'ENOTINITIALIZED';
  constant LOADIPHLPAPI (line 26) | const LOADIPHLPAPI = 'ELOADIPHLPAPI';
  constant ADDRGETNETWORKPARAMS (line 27) | const ADDRGETNETWORKPARAMS = 'EADDRGETNETWORKPARAMS';
  constant CANCELLED (line 28) | const CANCELLED = 'ECANCELLED';
  constant ADDRCONFIG (line 29) | const ADDRCONFIG = 1024;
  constant ALL (line 30) | const ALL = 256;
  constant V4MAPPED (line 31) | const V4MAPPED = 2048;

FILE: src/node/internal/internal_dns_promises.ts
  class Resolver (line 68) | class Resolver implements dns.Resolver {
    method cancel (line 69) | cancel(): void {
    method setLocalAddress (line 74) | setLocalAddress(): void {
    method getServers (line 79) | getServers(): string[] {
    method resolve (line 84) | resolve(name: string, rrtype: string): ReturnType<typeof resolve> {
    method resolve4 (line 89) | resolve4(
    method resolve6 (line 97) | resolve6(
    method resolveAny (line 105) | resolveAny(): Promise<void> {
    method resolveCaa (line 109) | resolveCaa(name: string): Promise<CAA[]> {
    method resolveCname (line 113) | resolveCname(name: string): Promise<string[]> {
    method resolveMx (line 117) | resolveMx(name: string): Promise<MX[]> {
    method resolveNaptr (line 121) | resolveNaptr(name: string): Promise<NAPTR[]> {
    method resolveNs (line 125) | resolveNs(name: string): Promise<string[]> {
    method resolvePtr (line 129) | resolvePtr(name: string): Promise<string[]> {
    method resolveSoa (line 133) | resolveSoa(name: string): Promise<SOA> {
    method resolveSrv (line 137) | resolveSrv(name: string): Promise<SRV[]> {
    method resolveTxt (line 141) | resolveTxt(name: string): Promise<string[][]> {
    method reverse (line 145) | reverse(name: string): Promise<string[]> {
    method setServers (line 149) | setServers(): void {
  function lookup (line 154) | function lookup(

FILE: src/node/internal/internal_errors.ts
  class NodeErrorAbstraction (line 46) | class NodeErrorAbstraction extends Error {
    method constructor (line 49) | constructor(name: string, code: string, message: string) {
    method toString (line 55) | override toString(): string {
  class NodeError (line 60) | class NodeError extends NodeErrorAbstraction {
    method constructor (line 61) | constructor(code: string, message: string) {
  class NodeRangeError (line 66) | class NodeRangeError extends NodeErrorAbstraction {
    method constructor (line 67) | constructor(code: string, message: string) {
  class NodeTypeError (line 76) | class NodeTypeError extends NodeErrorAbstraction implements TypeError {
    method constructor (line 77) | constructor(code: string, message: string) {
  class NodeSyntaxError (line 86) | class NodeSyntaxError
    method constructor (line 90) | constructor(code: string, message: string) {
  function createInvalidArgType (line 99) | function createInvalidArgType(
  function invalidArgTypeHelper (line 184) | function invalidArgTypeHelper(input: unknown): string {
  function addNumericalSeparator (line 205) | function addNumericalSeparator(val: string): string {
  class ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY (line 215) | class ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY extends NodeError {
    method constructor (line 216) | constructor() {
  class ERR_CRYPTO_HASH_FINALIZED (line 224) | class ERR_CRYPTO_HASH_FINALIZED extends NodeError {
    method constructor (line 225) | constructor() {
  class ERR_CRYPTO_HASH_UPDATE_FAILED (line 230) | class ERR_CRYPTO_HASH_UPDATE_FAILED extends NodeError {
    method constructor (line 231) | constructor() {
  class ERR_CRYPTO_INCOMPATIBLE_KEY (line 236) | class ERR_CRYPTO_INCOMPATIBLE_KEY extends NodeError {
    method constructor (line 237) | constructor(name: string, msg: string) {
  class ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE (line 242) | class ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE extends NodeError {
    method constructor (line 243) | constructor(actual: string, expected: string) {
  class ERR_INVALID_ARG_TYPE_RANGE (line 251) | class ERR_INVALID_ARG_TYPE_RANGE extends NodeRangeError {
    method constructor (line 252) | constructor(name: string, expected: string | string[], actual: unknown) {
  class ERR_INVALID_ARG_TYPE (line 259) | class ERR_INVALID_ARG_TYPE extends NodeTypeError {
    method constructor (line 260) | constructor(name: string, expected: string | string[], actual: unknown) {
  class ERR_INVALID_ARG_VALUE_RANGE (line 269) | class ERR_INVALID_ARG_VALUE_RANGE extends NodeRangeError {
    method constructor (line 270) | constructor(name: string, value: unknown, reason: string = 'is invalid...
  class ERR_INVALID_ARG_VALUE (line 281) | class ERR_INVALID_ARG_VALUE extends NodeTypeError {
    method constructor (line 282) | constructor(name: string, value: unknown, reason: string = 'is invalid...
  class ERR_OUT_OF_RANGE (line 295) | class ERR_OUT_OF_RANGE extends RangeError {
    method constructor (line 298) | constructor(
  class ERR_UNHANDLED_ERROR (line 336) | class ERR_UNHANDLED_ERROR extends NodeError {
    method constructor (line 337) | constructor(x: string) {
  class ERR_INVALID_THIS (line 342) | class ERR_INVALID_THIS extends NodeTypeError {
    method constructor (line 343) | constructor(x: string) {
  class ERR_BUFFER_OUT_OF_BOUNDS (line 348) | class ERR_BUFFER_OUT_OF_BOUNDS extends NodeRangeError {
    method constructor (line 349) | constructor(name?: string) {
  class ERR_INVALID_BUFFER_SIZE (line 359) | class ERR_INVALID_BUFFER_SIZE extends NodeRangeError {
    method constructor (line 360) | constructor(size: number) {
  class ERR_UNKNOWN_ENCODING (line 368) | class ERR_UNKNOWN_ENCODING extends NodeTypeError {
    method constructor (line 369) | constructor(x: string) {
  class ERR_STREAM_PREMATURE_CLOSE (line 374) | class ERR_STREAM_PREMATURE_CLOSE extends NodeTypeError {
    method constructor (line 375) | constructor() {
  class AbortError (line 380) | class AbortError extends Error {
    method constructor (line 383) | constructor(message = 'The operation was aborted', options?: ErrorOpti...
  function determineSpecificType (line 393) | function determineSpecificType(value: unknown): string {
  class ERR_AMBIGUOUS_ARGUMENT (line 414) | class ERR_AMBIGUOUS_ARGUMENT extends NodeTypeError {
    method constructor (line 415) | constructor(x: string, y: string) {
  class ERR_INVALID_RETURN_VALUE (line 420) | class ERR_INVALID_RETURN_VALUE extends NodeTypeError {
    method constructor (line 421) | constructor(input: string, name: string, value: unknown) {
  class ERR_MULTIPLE_CALLBACK (line 431) | class ERR_MULTIPLE_CALLBACK extends NodeError {
    method constructor (line 432) | constructor() {
  class ERR_MISSING_ARGS (line 437) | class ERR_MISSING_ARGS extends NodeTypeError {
    method constructor (line 438) | constructor(...args: (string | string[])[]) {
  type Falsy (line 467) | type Falsy = false | 0 | -0 | 0n | '' | null | undefined | typeof NaN;
  class ERR_FALSY_VALUE_REJECTION (line 468) | class ERR_FALSY_VALUE_REJECTION extends NodeError {
    method constructor (line 470) | constructor(reason: Falsy) {
  class ERR_METHOD_NOT_IMPLEMENTED (line 476) | class ERR_METHOD_NOT_IMPLEMENTED extends NodeError {
    method constructor (line 477) | constructor(name: string | symbol) {
  class ERR_STREAM_CANNOT_PIPE (line 488) | class ERR_STREAM_CANNOT_PIPE extends NodeError {
    method constructor (line 489) | constructor() {
  class ERR_STREAM_DESTROYED (line 493) | class ERR_STREAM_DESTROYED extends NodeError {
    method constructor (line 494) | constructor(name: string | symbol) {
  class ERR_STREAM_ALREADY_FINISHED (line 504) | class ERR_STREAM_ALREADY_FINISHED extends NodeError {
    method constructor (line 505) | constructor(name: string | symbol) {
  class ERR_STREAM_NULL_VALUES (line 515) | class ERR_STREAM_NULL_VALUES extends NodeTypeError {
    method constructor (line 516) | constructor() {
  class ERR_STREAM_WRITE_AFTER_END (line 520) | class ERR_STREAM_WRITE_AFTER_END extends NodeError {
    method constructor (line 521) | constructor() {
  class ERR_STREAM_PUSH_AFTER_EOF (line 526) | class ERR_STREAM_PUSH_AFTER_EOF extends NodeError {
    method constructor (line 527) | constructor() {
  class ERR_STREAM_UNSHIFT_AFTER_END_EVENT (line 532) | class ERR_STREAM_UNSHIFT_AFTER_END_EVENT extends NodeError {
    method constructor (line 533) | constructor() {
  class ERR_BUFFER_TOO_LARGE (line 541) | class ERR_BUFFER_TOO_LARGE extends NodeRangeError {
    method constructor (line 542) | constructor(value: number) {
  class ERR_BROTLI_INVALID_PARAM (line 550) | class ERR_BROTLI_INVALID_PARAM extends NodeRangeError {
    method constructor (line 551) | constructor(value: unknown) {
  class ERR_ZSTD_INVALID_PARAM (line 559) | class ERR_ZSTD_INVALID_PARAM extends NodeRangeError {
    method constructor (line 560) | constructor(value: unknown) {
  class ERR_ZLIB_INITIALIZATION_FAILED (line 565) | class ERR_ZLIB_INITIALIZATION_FAILED extends NodeError {
    method constructor (line 566) | constructor() {
  class ERR_INVALID_URL (line 571) | class ERR_INVALID_URL extends NodeError {
    method constructor (line 574) | constructor(url: string) {
  class ERR_INVALID_URL_SCHEME (line 580) | class ERR_INVALID_URL_SCHEME extends NodeError {
    method constructor (line 581) | constructor(scheme: string) {
  class ERR_INVALID_FILE_URL_HOST (line 586) | class ERR_INVALID_FILE_URL_HOST extends NodeError {
    method constructor (line 587) | constructor(input: string) {
  class ERR_INVALID_FILE_URL_PATH (line 595) | class ERR_INVALID_FILE_URL_PATH extends NodeError {
    method constructor (line 596) | constructor(input: string) {
  class ERR_INVALID_URI (line 601) | class ERR_INVALID_URI extends NodeError {
    method constructor (line 602) | constructor() {
  class DnsError (line 618) | class DnsError extends NodeError {
    method constructor (line 623) | constructor(hostname: string, code: string, syscall: string) {
  class ERR_OPTION_NOT_IMPLEMENTED (line 630) | class ERR_OPTION_NOT_IMPLEMENTED extends NodeError {
    method constructor (line 631) | constructor(name: string | symbol) {
  class ERR_SOCKET_BAD_PORT (line 642) | class ERR_SOCKET_BAD_PORT extends NodeError {
    method constructor (line 643) | constructor(name: string, port: unknown, allowZero: boolean) {
  class EPIPE (line 652) | class EPIPE extends NodeError {
    method constructor (line 653) | constructor() {
  class ERR_SOCKET_CLOSED_BEFORE_CONNECTION (line 658) | class ERR_SOCKET_CLOSED_BEFORE_CONNECTION extends NodeError {
    method constructor (line 659) | constructor() {
  class ERR_SOCKET_CLOSED (line 667) | class ERR_SOCKET_CLOSED extends NodeError {
    method constructor (line 668) | constructor() {
  class ERR_SOCKET_CONNECTING (line 673) | class ERR_SOCKET_CONNECTING extends NodeError {
    method constructor (line 674) | constructor() {
  class ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS (line 679) | class ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS extends NodeError {
    method constructor (line 680) | constructor(arg0: string, arg1: string) {
  class ERR_CRYPTO_INVALID_JWK (line 688) | class ERR_CRYPTO_INVALID_JWK extends NodeTypeError {
    method constructor (line 689) | constructor() {
  class ERR_INCOMPATIBLE_OPTION_PAIR (line 694) | class ERR_INCOMPATIBLE_OPTION_PAIR extends NodeError {
    method constructor (line 695) | constructor(a: string, b: string) {
  class ERR_MISSING_OPTION (line 703) | class ERR_MISSING_OPTION extends NodeError {
    method constructor (line 704) | constructor(name: string) {
  class ERR_UNSUPPORTED_OPERATION (line 709) | class ERR_UNSUPPORTED_OPERATION extends NodeError {
    method constructor (line 710) | constructor() {
  class ERR_CRYPTO_SIGN_KEY_REQUIRED (line 718) | class ERR_CRYPTO_SIGN_KEY_REQUIRED extends NodeError {
    method constructor (line 719) | constructor() {
  class ERR_TLS_HANDSHAKE_TIMEOUT (line 724) | class ERR_TLS_HANDSHAKE_TIMEOUT extends NodeError {
    method constructor (line 725) | constructor() {
  class ERR_TLS_INVALID_CONTEXT (line 730) | class ERR_TLS_INVALID_CONTEXT extends NodeTypeError {
    method constructor (line 731) | constructor(field: string) {
  class ERR_TLS_CERT_ALTNAME_INVALID (line 736) | class ERR_TLS_CERT_ALTNAME_INVALID extends NodeError {
    method constructor (line 741) | constructor(reason: string, host: string, cert?: Partial<PeerCertifica...
  class ERR_TLS_CERT_ALTNAME_FORMAT (line 749) | class ERR_TLS_CERT_ALTNAME_FORMAT extends NodeSyntaxError {
    method constructor (line 750) | constructor() {
  class ConnResetException (line 758) | class ConnResetException extends NodeError {
    method constructor (line 764) | constructor(message: string) {
  function aggregateTwoErrors (line 769) | function aggregateTwoErrors(
  class ERR_INVALID_IP_ADDRESS (line 789) | class ERR_INVALID_IP_ADDRESS extends NodeTypeError {
    method constructor (line 790) | constructor(ipAddress: string) {
  class ERR_INVALID_ADDRESS (line 795) | class ERR_INVALID_ADDRESS extends NodeTypeError {
    method constructor (line 796) | constructor() {
  class ERR_STREAM_WRAP (line 801) | class ERR_STREAM_WRAP extends NodeError {
    method constructor (line 802) | constructor() {
  class ERR_INVALID_HTTP_TOKEN (line 810) | class ERR_INVALID_HTTP_TOKEN extends NodeTypeError {
    method constructor (line 811) | constructor(label: string, name: string | undefined) {
  class ERR_HTTP_INVALID_HEADER_VALUE (line 819) | class ERR_HTTP_INVALID_HEADER_VALUE extends NodeTypeError {
    method constructor (line 820) | constructor(value: string | undefined, header: string | undefined) {
  class ERR_INVALID_CHAR (line 828) | class ERR_INVALID_CHAR extends NodeTypeError {
    method constructor (line 829) | constructor(name: string, field?: string) {
  class NodeSyscallError (line 838) | class NodeSyscallError extends NodeError {
    method constructor (line 841) | constructor(code: string, message: string, syscall: string) {
  class ERR_ENOENT (line 847) | class ERR_ENOENT extends NodeSyscallError {
    method constructor (line 849) | constructor(path: string, options: { syscall: string }) {
  class ERR_EBADF (line 860) | class ERR_EBADF extends NodeSyscallError {
    method constructor (line 861) | constructor(options: { syscall: string }) {
  class ERR_EINVAL (line 867) | class ERR_EINVAL extends NodeSyscallError {
    method constructor (line 869) | constructor(options: { syscall: string; path?: string }) {
  class ERR_EEXIST (line 881) | class ERR_EEXIST extends NodeSyscallError {
    method constructor (line 883) | constructor(options: { syscall: string; path?: string }) {
  class ERR_EPERM (line 895) | class ERR_EPERM extends NodeSyscallError {
    method constructor (line 897) | constructor(options: { syscall: string; errno?: number; path?: string ...
  class ERR_DIR_CLOSED (line 909) | class ERR_DIR_CLOSED extends NodeError {
    method constructor (line 910) | constructor() {
  class ERR_HTTP_HEADERS_SENT (line 915) | class ERR_HTTP_HEADERS_SENT extends NodeError {
    method constructor (line 916) | constructor(action: string) {
  class ERR_HTTP_CONTENT_LENGTH_MISMATCH (line 924) | class ERR_HTTP_CONTENT_LENGTH_MISMATCH extends NodeError {
    method constructor (line 925) | constructor(actual: number, expected: number) {
  class ERR_HTTP_BODY_NOT_ALLOWED (line 933) | class ERR_HTTP_BODY_NOT_ALLOWED extends NodeError {
    method constructor (line 934) | constructor() {
  class ERR_INVALID_PROTOCOL (line 942) | class ERR_INVALID_PROTOCOL extends NodeTypeError {
    method constructor (line 943) | constructor(actual: string, expected: string) {
  class ERR_UNESCAPED_CHARACTERS (line 951) | class ERR_UNESCAPED_CHARACTERS extends NodeTypeError {
    method constructor (line 952) | constructor(field: string) {
  class ERR_SYSTEM_ERROR (line 957) | class ERR_SYSTEM_ERROR extends NodeError {
    method constructor (line 958) | constructor(message: string) {
  class ERR_HTTP_INVALID_STATUS_CODE (line 963) | class ERR_HTTP_INVALID_STATUS_CODE extends NodeRangeError {
    method constructor (line 964) | constructor(statusCode: string | number) {
  class ERR_SERVER_ALREADY_LISTEN (line 969) | class ERR_SERVER_ALREADY_LISTEN extends NodeError {
    method constructor (line 970) | constructor() {
  class ERR_ILLEGAL_CONSTRUCTOR (line 978) | class ERR_ILLEGAL_CONSTRUCTOR extends NodeTypeError {
    method constructor (line 979) | constructor() {
  class ERR_PERFORMANCE_INVALID_TIMESTAMP (line 984) | class ERR_PERFORMANCE_INVALID_TIMESTAMP extends NodeTypeError {
    method constructor (line 985) | constructor(value: unknown) {
  class ERR_TRACE_EVENTS_CATEGORY_REQUIRED (line 993) | class ERR_TRACE_EVENTS_CATEGORY_REQUIRED extends NodeTypeError {
    method constructor (line 994) | constructor() {

FILE: src/node/internal/internal_fs.ts
  class Dirent (line 34) | class Dirent {
    method constructor (line 39) | constructor(name: string | Buffer, type: number, path: string | Buffer) {
    method isDirectory (line 45) | isDirectory(): boolean {
    method isFile (line 49) | isFile(): boolean {
    method isBlockDevice (line 53) | isBlockDevice(): boolean {
    method isCharacterDevice (line 57) | isCharacterDevice(): boolean {
    method isSymbolicLink (line 61) | isSymbolicLink(): boolean {
    method isFIFO (line 65) | isFIFO(): boolean {
    method isSocket (line 69) | isSocket(): boolean {
  type DirOptions (line 74) | interface DirOptions {
  type DirentReadCallback (line 78) | type DirentReadCallback = (
  class Dir (line 83) | class Dir {
    method constructor (line 92) | constructor(
    method path (line 109) | get path(): FilePath {
    method read (line 115) | read(callback?: DirentReadCallback): Promise<Dirent | null> | undefined {
    method readSync (line 139) | readSync(): Dirent | null {
    method close (line 154) | close(callback?: (err: unknown) => void): Promise<void> | undefined {
    method closeSync (line 166) | closeSync(): void {
    method entries (line 173) | async *entries(): AsyncGenerator<Dirent, unknown, unknown> {
  method [Symbol.asyncIterator] (line 181) | [Symbol.asyncIterator](): AsyncGenerator<Dirent, unknown, unknown> {
  method [Symbol.asyncDispose] (line 185) | async [Symbol.asyncDispose](): Promise<void> {
  method [Symbol.dispose] (line 189) | [Symbol.dispose](): void {

FILE: src/node/internal/internal_fs_callback.ts
  type ErrorOnlyCallback (line 101) | type ErrorOnlyCallback = (err: unknown) => void;
  type SingleArgCallback (line 102) | type SingleArgCallback<T> = (err: unknown, result?: T) => void;
  type DoubleArgCallback (line 103) | type DoubleArgCallback<T, U> = (
  function callWithErrorOnlyCallback (line 109) | function callWithErrorOnlyCallback(
  function callWithSingleArgCallback (line 131) | function callWithSingleArgCallback<T>(
  function access (line 150) | function access(
  type ExistsCallback (line 170) | type ExistsCallback = (result: boolean) => void;
  function exists (line 172) | function exists(path: FilePath, callback: ExistsCallback): void {
  function appendFile (line 184) | function appendFile(
  function chmod (line 205) | function chmod(
  function chown (line 218) | function chown(
  function close (line 232) | function close(
  function copyFile (line 242) | function copyFile(
  function cp (line 279) | function cp(
  function fchmod (line 361) | function fchmod(
  function fchown (line 373) | function fchown(
  function fdatasync (line 387) | function fdatasync(fd: number, callback: ErrorOnlyCallback): void {
  function fstat (line 394) | function fstat(
  function fsync (line 410) | function fsync(
  function ftruncate (line 420) | function ftruncate(
  function futimes (line 439) | function futimes(
  function lchmod (line 453) | function lchmod(
  function lchown (line 466) | function lchown(
  function lutimes (line 480) | function lutimes(
  function link (line 494) | function link(
  function lstat (line 506) | function lstat(
  function mkdir (line 533) | function mkdir(
  function mkdtemp (line 555) | function mkdtemp(
  function open (line 589) | function open(
  function opendir (line 615) | function opendir(
  function read (line 658) | function read<T extends NodeJS.ArrayBufferView>(
  function readdir (line 921) | function readdir(
  function readFile (line 955) | function readFile(
  function readlink (line 987) | function readlink(
  function readv (line 1021) | function readv<T extends NodeJS.ArrayBufferView>(
  function realpath (line 1049) | function realpath(
  function rename (line 1089) | function rename(
  function rmdir (line 1101) | function rmdir(
  function rm (line 1120) | function rm(
  function stat (line 1142) | function stat(
  function statfs (line 1169) | function statfs(
  function symlink (line 1200) | function symlink(
  function truncate (line 1223) | function truncate(
  function unlink (line 1242) | function unlink(path: FilePath, callback: ErrorOnlyCallback): void {
  function utimes (line 1249) | function utimes(
  function write (line 1263) | function write<T extends NodeJS.ArrayBufferView>(
  function writeFile (line 1341) | function writeFile(
  function writev (line 1373) | function writev<T extends NodeJS.ArrayBufferView>(
  function unwatchFile (line 1403) | function unwatchFile(): void {
  function watch (line 1408) | function watch(): void {
  function watchFile (line 1413) | function watchFile(): void {
  function glob (line 1418) | function glob(

FILE: src/node/internal/internal_fs_constants.ts
  constant UV_FS_SYMLINK_DIR (line 26) | const UV_FS_SYMLINK_DIR = 1;
  constant UV_FS_SYMLINK_JUNCTION (line 27) | const UV_FS_SYMLINK_JUNCTION = 2;
  constant O_RDONLY (line 28) | const O_RDONLY = 0;
  constant O_WRONLY (line 29) | const O_WRONLY = 1;
  constant O_RDWR (line 30) | const O_RDWR = 2;
  constant UV_DIRENT_UNKNOWN (line 31) | const UV_DIRENT_UNKNOWN = 0;
  constant UV_DIRENT_FILE (line 32) | const UV_DIRENT_FILE = 1;
  constant UV_DIRENT_DIR (line 33) | const UV_DIRENT_DIR = 2;
  constant UV_DIRENT_LINK (line 34) | const UV_DIRENT_LINK = 3;
  constant UV_DIRENT_FIFO (line 35) | const UV_DIRENT_FIFO = 4;
  constant UV_DIRENT_SOCKET (line 36) | const UV_DIRENT_SOCKET = 5;
  constant UV_DIRENT_CHAR (line 37) | const UV_DIRENT_CHAR = 6;
  constant UV_DIRENT_BLOCK (line 38) | const UV_DIRENT_BLOCK = 7;
  constant EXTENSIONLESS_FORMAT_JAVASCRIPT (line 39) | const EXTENSIONLESS_FORMAT_JAVASCRIPT = 0;
  constant EXTENSIONLESS_FORMAT_WASM (line 40) | const EXTENSIONLESS_FORMAT_WASM = 1;
  constant S_IFMT (line 41) | const S_IFMT = 61440;
  constant S_IFREG (line 42) | const S_IFREG = 32768;
  constant S_IFDIR (line 43) | const S_IFDIR = 16384;
  constant S_IFCHR (line 44) | const S_IFCHR = 8192;
  constant S_IFBLK (line 45) | const S_IFBLK = 24576;
  constant S_IFIFO (line 46) | const S_IFIFO = 4096;
  constant S_IFLNK (line 47) | const S_IFLNK = 40960;
  constant S_IFSOCK (line 48) | const S_IFSOCK = 49152;
  constant O_CREAT (line 49) | const O_CREAT = 64;
  constant O_EXCL (line 50) | const O_EXCL = 128;
  constant UV_FS_O_FILEMAP (line 51) | const UV_FS_O_FILEMAP = 0;
  constant O_NOCTTY (line 52) | const O_NOCTTY = 256;
  constant O_TRUNC (line 53) | const O_TRUNC = 512;
  constant O_APPEND (line 54) | const O_APPEND = 1024;
  constant O_DIRECTORY (line 55) | const O_DIRECTORY = 65536;
  constant O_NOATIME (line 56) | const O_NOATIME = 262144;
  constant O_NOFOLLOW (line 57) | const O_NOFOLLOW = 131072;
  constant O_SYNC (line 58) | const O_SYNC = 1052672;
  constant O_DSYNC (line 59) | const O_DSYNC = 4096;
  constant O_DIRECT (line 60) | const O_DIRECT = 16384;
  constant O_NONBLOCK (line 61) | const O_NONBLOCK = 2048;
  constant S_IRWXU (line 62) | const S_IRWXU = 448;
  constant S_IRUSR (line 63) | const S_IRUSR = 256;
  constant S_IWUSR (line 64) | const S_IWUSR = 128;
  constant S_IXUSR (line 65) | const S_IXUSR = 64;
  constant S_IRWXG (line 66) | const S_IRWXG = 56;
  constant S_IRGRP (line 67) | const S_IRGRP = 32;
  constant S_IWGRP (line 68) | const S_IWGRP = 16;
  constant S_IXGRP (line 69) | const S_IXGRP = 8;
  constant S_IRWXO (line 70) | const S_IRWXO = 7;
  constant S_IROTH (line 71) | const S_IROTH = 4;
  constant S_IWOTH (line 72) | const S_IWOTH = 2;
  constant S_IXOTH (line 73) | const S_IXOTH = 1;
  constant F_OK (line 74) | const F_OK = 0;
  constant R_OK (line 75) | const R_OK = 4;
  constant W_OK (line 76) | const W_OK = 2;
  constant X_OK (line 77) | const X_OK = 1;
  constant UV_FS_COPYFILE_EXCL (line 78) | const UV_FS_COPYFILE_EXCL = 1;
  constant COPYFILE_EXCL (line 79) | const COPYFILE_EXCL = UV_FS_COPYFILE_EXCL;
  constant UV_FS_COPYFILE_FICLONE (line 80) | const UV_FS_COPYFILE_FICLONE = 2;
  constant COPYFILE_FICLONE (line 81) | const COPYFILE_FICLONE = UV_FS_COPYFILE_FICLONE;
  constant UV_FS_COPYFILE_FICLONE_FORCE (line 82) | const UV_FS_COPYFILE_FICLONE_FORCE = 4;
  constant COPYFILE_FICLONE_FORCE (line 83) | const COPYFILE_FICLONE_FORCE = UV_FS_COPYFILE_FICLONE_FORCE;

FILE: src/node/internal/internal_fs_promises.ts
  class FileHandle (line 90) | class FileHandle extends EventEmitter {
    method constructor (line 101) | constructor(badge: symbol, fd: number) {
    method fd (line 110) | get fd(): number | undefined {
    method appendFile (line 115) | async appendFile(
    method chmod (line 125) | async chmod(mode: string | number): Promise<void> {
    method chown (line 132) | async chown(uid: number, gid: number): Promise<void> {
    method datasync (line 139) | async datasync(): Promise<void> {
    method sync (line 146) | async sync(): Promise<void> {
    method read (line 153) | read<T extends NodeJS.ArrayBufferView>(
    method readv (line 211) | readv<T extends NodeJS.ArrayBufferView>(
    method readFile (line 229) | async readFile(
    method readLines (line 238) | readLines(_options: CreateReadStreamOptions = {}): void {
    method stat (line 249) | async stat(options: StatOptions = {}): Promise<Stats | undefined> {
    method truncate (line 256) | async truncate(len: number = 0): Promise<void> {
    method utimes (line 263) | async utimes(atime: RawTime | Date, mtime: RawTime | Date): Promise<vo...
    method write (line 270) | write(
    method writev (line 302) | writev(
    method writeFile (line 320) | writeFile(
    method close (line 340) | close(): Promise<void> {
    method readableWebStream (line 356) | readableWebStream(
    method createReadStream (line 371) | createReadStream(options: ReadStreamOptions = {}): ReadStream {
    method createWriteStream (line 375) | createWriteStream(_options: WriteStreamOptions = {}): WriteStream {
  method [Symbol.asyncDispose] (line 352) | async [Symbol.asyncDispose](): Promise<void> {
  function access (line 380) | function access(
  function appendFile (line 393) | function appendFile(
  function chmod (line 405) | function chmod(path: FilePath, mode: number): Promise<void> {
  function chown (line 411) | function chown(path: FilePath, uid: number, gid: number): Promise<void> {
  function copyFile (line 417) | function copyFile(
  function cp (line 427) | function cp(
  function fchmod (line 437) | function fchmod(fd: number, mode: string | number): Promise<void> {
  function fchown (line 443) | function fchown(fd: number, uid: number, gid: number): Promise<void> {
  function fdatasync (line 449) | function fdatasync(fd: number): Promise<void> {
  function fsync (line 455) | function fsync(fd: number): Promise<void> {
  function fstat (line 461) | function fstat(
  function ftruncate (line 470) | function ftruncate(fd: number, len: number = 0): Promise<void> {
  function futimes (line 476) | function futimes(
  function lchmod (line 486) | function lchmod(path: FilePath, mode: number): Promise<void> {
  function lchown (line 492) | function lchown(
  function lutimes (line 502) | function lutimes(
  function link (line 512) | function link(existingPath: FilePath, newPath: FilePath): Promise<void> {
  function lstat (line 518) | function lstat(
  function mkdir (line 527) | function mkdir(
  function mkdtemp (line 534) | function mkdtemp(
  function open (line 541) | function open(
  function opendir (line 551) | function opendir(
  function readdir (line 558) | function readdir(
  function readFile (line 565) | function readFile(
  function readlink (line 572) | function readlink(
  function realpath (line 579) | function realpath(
  function rename (line 586) | function rename(oldPath: FilePath, newPath: FilePath): Promise<void> {
  function rmdir (line 592) | function rmdir(path: FilePath, options: RmDirOptions): Promise<void> {
  function rm (line 598) | function rm(path: FilePath, options: RmOptions = {}): Promise<void> {
  function stat (line 604) | function stat(
  function statfs (line 611) | function statfs(
  function symlink (line 618) | function symlink(
  function truncate (line 628) | function truncate(path: FilePath, len: number = 0): Promise<void> {
  function unlink (line 634) | function unlink(path: FilePath): Promise<void> {
  function utimes (line 640) | function utimes(
  function watch (line 650) | function watch(): Promise<void> {
  function writeFile (line 655) | function writeFile(
  function glob (line 667) | function glob(
  function getReadableWebStream (line 681) | function getReadableWebStream(

FILE: src/node/internal/internal_fs_streams.ts
  type FsOperations (line 61) | interface FsOperations {
  type RealizedFsOperations (line 70) | interface RealizedFsOperations {
  function getLazyFs (line 83) | async function getLazyFs(): Promise<RealizedFsOperations> {
  method open (line 110) | open(
  method close (line 155) | close(fd: number, cb: ErrorOnlyCallback = () => {}): void {
  method fsync (line 183) | fsync(fd: number, cb: ErrorOnlyCallback = () => {}): void {
  method read (line 211) | read<T extends NodeJS.ArrayBufferView>(
  method write (line 257) | write<T extends NodeJS.ArrayBufferView>(
  method writev (line 303) | writev<T extends NodeJS.ArrayBufferView>(
  type ReadStreamOptions (line 343) | type ReadStreamOptions = {
  class ReadStream (line 364) | class ReadStream extends Readable {
  function construct (line 382) | function construct(
  function getValidatedFsOptions (line 429) | function getValidatedFsOptions(fs: FsOperations): RealizedFsOperations {
  function readImpl (line 521) | function readImpl(this: ReadStream, n: number): void {
  function actualCloseImpl (line 586) | function actualCloseImpl(
  function closeImpl (line 598) | function closeImpl(
  function destroyImpl (line 614) | function destroyImpl(
  function ReadStream (line 636) | function ReadStream(
  method get (line 740) | get(this: ReadStream): boolean {
  method set (line 744) | set(this: ReadStream, _val: boolean): void {
  method get (line 760) | get(this: ReadStream): boolean {
  type WriteStreamOptions (line 768) | type WriteStreamOptions = {
  type WriteVChunk (line 783) | type WriteVChunk = {
  class WriteStream (line 789) | class WriteStream extends Writable {
  function writeAll (line 809) | function writeAll(
  function writevAll (line 872) | function writevAll(
  function writeImpl (line 937) | function writeImpl(
  function writevImpl (line 975) | function writevImpl(
  function WriteStream (line 1005) | function WriteStream(
  method get (line 1115) | get(this: WriteStream): boolean {
  method set (line 1119) | set(this: WriteStream, val: boolean): void {
  method get (line 1156) | get(this: WriteStream): boolean {
  function createReadStream (line 1162) | function createReadStream(
  function createWriteStream (line 1168) | function createWriteStream(

FILE: src/node/internal/internal_fs_sync.ts
  function accessSyncImpl (line 105) | function accessSyncImpl(
  function accessSync (line 131) | function accessSync(path: FilePath, mode: number = F_OK): void {
  function appendFileSync (line 136) | function appendFileSync(
  function chmodSync (line 154) | function chmodSync(path: FilePath, mode: string | number): void {
  function chownSync (line 166) | function chownSync(path: FilePath, uid: number, gid: number): void {
  function closeSync (line 178) | function closeSync(fd: number): void {
  function copyFileSync (line 182) | function copyFileSync(
  function cpSync (line 205) | function cpSync(
  function existsSync (line 280) | function existsSync(path: FilePath): boolean {
  function fchmodSync (line 294) | function fchmodSync(fd: number, mode: string | number): void {
  function fchownSync (line 307) | function fchownSync(fd: number, uid: number, gid: number): void {
  function fdatasyncSync (line 319) | function fdatasyncSync(fd: number): void {
  type FStatOptions (line 328) | type FStatOptions = {
  function fstatSync (line 332) | function fstatSync(fd: number, options: FStatOptions = {}): Stats {
  function fsyncSync (line 346) | function fsyncSync(fd: number): void {
  function ftruncateSync (line 355) | function ftruncateSync(fd: number, len: number = 0): void {
  function futimesSync (line 360) | function futimesSync(
  function lchmodSync (line 372) | function lchmodSync(path: FilePath, mode: string | number): void {
  function lchownSync (line 384) | function lchownSync(path: FilePath, uid: number, gid: number): void {
  function lutimesSync (line 396) | function lutimesSync(
  function linkSync (line 408) | function linkSync(existingPath: FilePath, newPath: FilePath): void {
  type StatOptions (line 416) | type StatOptions = {
  function lstatSync (line 421) | function lstatSync(
  function mkdirSync (line 442) | function mkdirSync(
  type MkdirTempSyncOptions (line 451) | type MkdirTempSyncOptions = {
  function mkdtempSync (line 455) | function mkdtempSync(
  function opendirSync (line 481) | function opendirSync(path: FilePath, options: OpenDirOptions = {}): Dir {
  function openSync (line 492) | function openSync(
  type ReadDirResult (line 516) | type ReadDirResult = string[] | Buffer[] | Dirent[];
  function readdirSync (line 518) | function readdirSync(
  type ReadFileSyncOptions (line 560) | type ReadFileSyncOptions = {
  function readFileSync (line 565) | function readFileSync(
  type ReadLinkSyncOptions (line 599) | type ReadLinkSyncOptions = {
  function readlinkSync (line 603) | function readlinkSync(
  function readSync (line 630) | function readSync(
  function readvSync (line 651) | function readvSync(
  function realpathSync (line 666) | function realpathSync(
  function renameSync (line 689) | function renameSync(src: FilePath, dest: FilePath): void {
  function rmdirSync (line 693) | function rmdirSync(path: FilePath, options: RmDirOptions = {}): void {
  function rmSync (line 699) | function rmSync(path: FilePath, options: RmOptions = {}): void {
  function statSync (line 709) | function statSync(
  function statfsSync (line 730) | function statfsSync(
  function symlinkSync (line 763) | function symlinkSync(
  function truncateSync (line 773) | function truncateSync(path: FilePath, len: number = 0): void {
  function unlinkSync (line 778) | function unlinkSync(path: FilePath): void {
  function utimesSync (line 782) | function utimesSync(
  function writeFileSync (line 794) | function writeFileSync(
  function writeSync (line 809) | function writeSync(
  function writevSync (line 825) | function writevSync(
  function globSync (line 841) | function globSync(
  type OpenAsBlobOptions (line 855) | interface OpenAsBlobOptions {
  function openAsBlob (line 858) | function openAsBlob(

FILE: src/node/internal/internal_fs_utils.ts
  type FilePath (line 72) | type FilePath = string | URL | Buffer;
  type RmDirOptions (line 85) | type RmDirOptions = NodeRmDirOptions & {
  type ValidEncoding (line 94) | type ValidEncoding = BufferEncoding | 'buffer' | null;
  function isFileHandle (line 103) | function isFileHandle(object: unknown): boolean {
  type RawTime (line 108) | type RawTime = string | number | bigint;
  type SymlinkType (line 109) | type SymlinkType = 'dir' | 'file' | 'junction' | null | undefined;
  function getDate (line 112) | function getDate(time: RawTime | Date): Date {
  function normalizePath (line 130) | function normalizePath(path: FilePath, encoding: string = 'utf8'): URL {
  function validateAccessArgs (line 182) | function validateAccessArgs(
  function validateChownArgs (line 192) | function validateChownArgs(
  function validateStatArgs (line 213) | function validateStatArgs(
  function validateChmodArgs (line 241) | function validateChmodArgs(
  function validateMkDirArgs (line 258) | function validateMkDirArgs(
  function validateRmArgs (line 282) | function validateRmArgs(
  function validateRmDirArgs (line 306) | function validateRmDirArgs(
  type ReadDirOptions (line 325) | type ReadDirOptions = {
  function validateReaddirArgs (line 331) | function validateReaddirArgs(
  function validateOpendirArgs (line 362) | function validateOpendirArgs(
  type WriteSyncOptions (line 387) | type WriteSyncOptions = {
  function validateWriteArgs (line 393) | function validateWriteArgs(
  function validateWriteFileArgs (line 464) | function validateWriteFileArgs(
  function validateReadArgs (line 535) | function validateReadArgs(
  function validateMode (line 617) | function validateMode(
  function assertEncoding (line 647) | function assertEncoding(encoding: unknown): asserts encoding is string {
  function getOptions (line 658) | function getOptions(
  function stringToFlags (line 683) | function stringToFlags(
  type Position (line 742) | type Position = number | null | bigint;
  function validatePosition (line 744) | function validatePosition(
  function getValidatedFd (line 759) | function getValidatedFd(fd: number, propName: string = 'fd'): number {
  function validateBufferArray (line 769) | function validateBufferArray(
  class Stats (line 790) | class Stats {
    method constructor (line 814) | constructor(badge: symbol, stat: InternalStat, options: { bigint: bool...
    method isBlockDevice (line 894) | isBlockDevice(): boolean {
    method isCharacterDevice (line 898) | isCharacterDevice(): boolean {
    method isDirectory (line 902) | isDirectory(): boolean {
    method isFIFO (line 906) | isFIFO(): boolean {
    method isFile (line 910) | isFile(): boolean {
    method isSocket (line 914) | isSocket(): boolean {
    method isSymbolicLink (line 918) | isSymbolicLink(): boolean {

FILE: src/node/internal/internal_http.ts
  function _checkIsHttpToken (line 18) | function _checkIsHttpToken(val: string): boolean {
  function _checkInvalidHeaderChar (line 29) | function _checkInvalidHeaderChar(
  function validateHeaderName (line 38) | function validateHeaderName(
  function validateHeaderValue (line 47) | function validateHeaderValue(
  function utcDate (line 59) | function utcDate(): string {

FILE: src/node/internal/internal_http2_constants.ts
  constant NGHTTP2_ERR_FRAME_SIZE_ERROR (line 6) | const NGHTTP2_ERR_FRAME_SIZE_ERROR = -522;
  constant NGHTTP2_SESSION_SERVER (line 7) | const NGHTTP2_SESSION_SERVER = 0;
  constant NGHTTP2_SESSION_CLIENT (line 8) | const NGHTTP2_SESSION_CLIENT = 1;
  constant NGHTTP2_STREAM_STATE_IDLE (line 9) | const NGHTTP2_STREAM_STATE_IDLE = 1;
  constant NGHTTP2_STREAM_STATE_OPEN (line 10) | const NGHTTP2_STREAM_STATE_OPEN = 2;
  constant NGHTTP2_STREAM_STATE_RESERVED_LOCAL (line 11) | const NGHTTP2_STREAM_STATE_RESERVED_LOCAL = 3;
  constant NGHTTP2_STREAM_STATE_RESERVED_REMOTE (line 12) | const NGHTTP2_STREAM_STATE_RESERVED_REMOTE = 4;
  constant NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL (line 13) | const NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL = 5;
  constant NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE (line 14) | const NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE = 6;
  constant NGHTTP2_STREAM_STATE_CLOSED (line 15) | const NGHTTP2_STREAM_STATE_CLOSED = 7;
  constant NGHTTP2_FLAG_NONE (line 16) | const NGHTTP2_FLAG_NONE = 0;
  constant NGHTTP2_FLAG_END_STREAM (line 17) | const NGHTTP2_FLAG_END_STREAM = 1;
  constant NGHTTP2_FLAG_END_HEADERS (line 18) | const NGHTTP2_FLAG_END_HEADERS = 4;
  constant NGHTTP2_FLAG_ACK (line 19) | const NGHTTP2_FLAG_ACK = 1;
  constant NGHTTP2_FLAG_PADDED (line 20) | const NGHTTP2_FLAG_PADDED = 8;
  constant NGHTTP2_FLAG_PRIORITY (line 21) | const NGHTTP2_FLAG_PRIORITY = 32;
  constant DEFAULT_SETTINGS_HEADER_TABLE_SIZE (line 22) | const DEFAULT_SETTINGS_HEADER_TABLE_SIZE = 4096;
  constant DEFAULT_SETTINGS_ENABLE_PUSH (line 23) | const DEFAULT_SETTINGS_ENABLE_PUSH = 1;
  constant DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS (line 24) | const DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS = 4_294_967_295;
  constant DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE (line 25) | const DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE = 65_535;
  constant DEFAULT_SETTINGS_MAX_FRAME_SIZE (line 26) | const DEFAULT_SETTINGS_MAX_FRAME_SIZE = 16_384;
  constant DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE (line 27) | const DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE = 65_535;
  constant DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL (line 28) | const DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL = 0;
  constant MAX_MAX_FRAME_SIZE (line 29) | const MAX_MAX_FRAME_SIZE = 16_777_215;
  constant MIN_MAX_FRAME_SIZE (line 30) | const MIN_MAX_FRAME_SIZE = 16_384;
  constant MAX_INITIAL_WINDOW_SIZE (line 31) | const MAX_INITIAL_WINDOW_SIZE = 2_147_483_647;
  constant NGHTTP2_SETTINGS_HEADER_TABLE_SIZE (line 32) | const NGHTTP2_SETTINGS_HEADER_TABLE_SIZE = 1;
  constant NGHTTP2_SETTINGS_ENABLE_PUSH (line 33) | const NGHTTP2_SETTINGS_ENABLE_PUSH = 2;
  constant NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS (line 34) | const NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS = 3;
  constant NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE (line 35) | const NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE = 4;
  constant NGHTTP2_SETTINGS_MAX_FRAME_SIZE (line 36) | const NGHTTP2_SETTINGS_MAX_FRAME_SIZE = 5;
  constant NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE (line 37) | const NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE = 6;
  constant NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL (line 38) | const NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL = 8;
  constant PADDING_STRATEGY_NONE (line 39) | const PADDING_STRATEGY_NONE = 0;
  constant PADDING_STRATEGY_ALIGNED (line 40) | const PADDING_STRATEGY_ALIGNED = 1;
  constant PADDING_STRATEGY_MAX (line 41) | const PADDING_STRATEGY_MAX = 2;
  constant PADDING_STRATEGY_CALLBACK (line 42) | const PADDING_STRATEGY_CALLBACK = 1;
  constant NGHTTP2_NO_ERROR (line 43) | const NGHTTP2_NO_ERROR = 0;
  constant NGHTTP2_PROTOCOL_ERROR (line 44) | const NGHTTP2_PROTOCOL_ERROR = 1;
  constant NGHTTP2_INTERNAL_ERROR (line 45) | const NGHTTP2_INTERNAL_ERROR = 2;
  constant NGHTTP2_FLOW_CONTROL_ERROR (line 46) | const NGHTTP2_FLOW_CONTROL_ERROR = 3;
  constant NGHTTP2_SETTINGS_TIMEOUT (line 47) | const NGHTTP2_SETTINGS_TIMEOUT = 4;
  constant NGHTTP2_STREAM_CLOSED (line 48) | const NGHTTP2_STREAM_CLOSED = 5;
  constant NGHTTP2_FRAME_SIZE_ERROR (line 49) | const NGHTTP2_FRAME_SIZE_ERROR = 6;
  constant NGHTTP2_REFUSED_STREAM (line 50) | const NGHTTP2_REFUSED_STREAM = 7;
  constant NGHTTP2_CANCEL (line 51) | const NGHTTP2_CANCEL = 8;
  constant NGHTTP2_COMPRESSION_ERROR (line 52) | const NGHTTP2_COMPRESSION_ERROR = 9;
  constant NGHTTP2_CONNECT_ERROR (line 53) | const NGHTTP2_CONNECT_ERROR = 10;
  constant NGHTTP2_ENHANCE_YOUR_CALM (line 54) | const NGHTTP2_ENHANCE_YOUR_CALM = 11;
  constant NGHTTP2_INADEQUATE_SECURITY (line 55) | const NGHTTP2_INADEQUATE_SECURITY = 12;
  constant NGHTTP2_HTTP_1_1_REQUIRED (line 56) | const NGHTTP2_HTTP_1_1_REQUIRED = 13;
  constant NGHTTP2_DEFAULT_WEIGHT (line 57) | const NGHTTP2_DEFAULT_WEIGHT = 16;
  constant HTTP2_HEADER_STATUS (line 58) | const HTTP2_HEADER_STATUS = ':status';
  constant HTTP2_HEADER_METHOD (line 59) | const HTTP2_HEADER_METHOD = ':method';
  constant HTTP2_HEADER_AUTHORITY (line 60) | const HTTP2_HEADER_AUTHORITY = ':authority';
  constant HTTP2_HEADER_SCHEME (line 61) | const HTTP2_HEADER_SCHEME = ':scheme';
  constant HTTP2_HEADER_PATH (line 62) | const HTTP2_HEADER_PATH = ':path';
  constant HTTP2_HEADER_PROTOCOL (line 63) | const HTTP2_HEADER_PROTOCOL = ':protocol';
  constant HTTP2_HEADER_ACCEPT_ENCODING (line 64) | const HTTP2_HEADER_ACCEPT_ENCODING = 'accept-encoding';
  constant HTTP2_HEADER_ACCEPT_LANGUAGE (line 65) | const HTTP2_HEADER_ACCEPT_LANGUAGE = 'accept-language';
  constant HTTP2_HEADER_ACCEPT_RANGES (line 66) | const HTTP2_HEADER_ACCEPT_RANGES = 'accept-ranges';
  constant HTTP2_HEADER_ACCEPT (line 67) | const HTTP2_HEADER_ACCEPT = 'accept';
  constant HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS (line 68) | const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS =
  constant HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS (line 70) | const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS =
  constant HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS (line 72) | const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS =
  constant HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN (line 74) | const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN = 'access-control-allow-o...
  constant HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS (line 75) | const HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS =
  constant HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS (line 77) | const HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS =
  constant HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD (line 79) | const HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD =
  constant HTTP2_HEADER_AGE (line 81) | const HTTP2_HEADER_AGE = 'age';
  constant HTTP2_HEADER_AUTHORIZATION (line 82) | const HTTP2_HEADER_AUTHORIZATION = 'authorization';
  constant HTTP2_HEADER_CACHE_CONTROL (line 83) | const HTTP2_HEADER_CACHE_CONTROL = 'cache-control';
  constant HTTP2_HEADER_CONNECTION (line 84) | const HTTP2_HEADER_CONNECTION = 'connection';
  constant HTTP2_HEADER_CONTENT_DISPOSITION (line 85) | const HTTP2_HEADER_CONTENT_DISPOSITION = 'content-disposition';
  constant HTTP2_HEADER_CONTENT_ENCODING (line 86) | const HTTP2_HEADER_CONTENT_ENCODING = 'content-encoding';
  constant HTTP2_HEADER_CONTENT_LENGTH (line 87) | const HTTP2_HEADER_CONTENT_LENGTH = 'content-length';
  constant HTTP2_HEADER_CONTENT_TYPE (line 88) | const HTTP2_HEADER_CONTENT_TYPE = 'content-type';
  constant HTTP2_HEADER_COOKIE (line 89) | const HTTP2_HEADER_COOKIE = 'cookie';
  constant HTTP2_HEADER_DATE (line 90) | const HTTP2_HEADER_DATE = 'date';
  constant HTTP2_HEADER_ETAG (line 91) | const HTTP2_HEADER_ETAG = 'etag';
  constant HTTP2_HEADER_FORWARDED (line 92) | const HTTP2_HEADER_FORWARDED = 'forwarded';
  constant HTTP2_HEADER_HOST (line 93) | const HTTP2_HEADER_HOST = 'host';
  constant HTTP2_HEADER_IF_MODIFIED_SINCE (line 94) | const HTTP2_HEADER_IF_MODIFIED_SINCE = 'if-modified-since';
  constant HTTP2_HEADER_IF_NONE_MATCH (line 95) | const HTTP2_HEADER_IF_NONE_MATCH = 'if-none-match';
  constant HTTP2_HEADER_IF_RANGE (line 96) | const HTTP2_HEADER_IF_RANGE = 'if-range';
  constant HTTP2_HEADER_LAST_MODIFIED (line 97) | const HTTP2_HEADER_LAST_MODIFIED = 'last-modified';
  constant HTTP2_HEADER_LINK (line 98) | const HTTP2_HEADER_LINK = 'link';
  constant HTTP2_HEADER_LOCATION (line 99) | const HTTP2_HEADER_LOCATION = 'location';
  constant HTTP2_HEADER_RANGE (line 100) | const HTTP2_HEADER_RANGE = 'range';
  constant HTTP2_HEADER_REFERER (line 101) | const HTTP2_HEADER_REFERER = 'referer';
  constant HTTP2_HEADER_SERVER (line 102) | const HTTP2_HEADER_SERVER = 'server';
  constant HTTP2_HEADER_SET_COOKIE (line 103) | const HTTP2_HEADER_SET_COOKIE = 'set-cookie';
  constant HTTP2_HEADER_STRICT_TRANSPORT_SECURITY (line 104) | const HTTP2_HEADER_STRICT_TRANSPORT_SECURITY = 'strict-transport-security';
  constant HTTP2_HEADER_TRANSFER_ENCODING (line 105) | const HTTP2_HEADER_TRANSFER_ENCODING = 'transfer-encoding';
  constant HTTP2_HEADER_TE (line 106) | const HTTP2_HEADER_TE = 'te';
  constant HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS (line 107) | const HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS = 'upgrade-insecure-requests';
  constant HTTP2_HEADER_UPGRADE (line 108) | const HTTP2_HEADER_UPGRADE = 'upgrade';
  constant HTTP2_HEADER_USER_AGENT (line 109) | const HTTP2_HEADER_USER_AGENT = 'user-agent';
  constant HTTP2_HEADER_VARY (line 110) | const HTTP2_HEADER_VARY = 'vary';
  constant HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS (line 111) | const HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS = 'x-content-type-options';
  constant HTTP2_HEADER_X_FRAME_OPTIONS (line 112) | const HTTP2_HEADER_X_FRAME_OPTIONS = 'x-frame-options';
  constant HTTP2_HEADER_KEEP_ALIVE (line 113) | const HTTP2_HEADER_KEEP_ALIVE = 'keep-alive';
  constant HTTP2_HEADER_PROXY_CONNECTION (line 114) | const HTTP2_HEADER_PROXY_CONNECTION = 'proxy-connection';
  constant HTTP2_HEADER_X_XSS_PROTECTION (line 115) | const HTTP2_HEADER_X_XSS_PROTECTION = 'x-xss-protection';
  constant HTTP2_HEADER_ALT_SVC (line 116) | const HTTP2_HEADER_ALT_SVC = 'alt-svc';
  constant HTTP2_HEADER_CONTENT_SECURITY_POLICY (line 117) | const HTTP2_HEADER_CONTENT_SECURITY_POLICY = 'content-security-policy';
  constant HTTP2_HEADER_EARLY_DATA (line 118) | const HTTP2_HEADER_EARLY_DATA = 'early-data';
  constant HTTP2_HEADER_EXPECT_CT (line 119) | const HTTP2_HEADER_EXPECT_CT = 'expect-ct';
  constant HTTP2_HEADER_ORIGIN (line 120) | const HTTP2_HEADER_ORIGIN = 'origin';
  constant HTTP2_HEADER_PURPOSE (line 121) | const HTTP2_HEADER_PURPOSE = 'purpose';
  constant HTTP2_HEADER_TIMING_ALLOW_ORIGIN (line 122) | const HTTP2_HEADER_TIMING_ALLOW_ORIGIN = 'timing-allow-origin';
  constant HTTP2_HEADER_X_FORWARDED_FOR (line 123) | const HTTP2_HEADER_X_FORWARDED_FOR = 'x-forwarded-for';
  constant HTTP2_HEADER_PRIORITY (line 124) | const HTTP2_HEADER_PRIORITY = 'priority';
  constant HTTP2_HEADER_ACCEPT_CHARSET (line 125) | const HTTP2_HEADER_ACCEPT_CHARSET = 'accept-charset';
  constant HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE (line 126) | const HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE = 'access-control-max-age';
  constant HTTP2_HEADER_ALLOW (line 127) | const HTTP2_HEADER_ALLOW = 'allow';
  constant HTTP2_HEADER_CONTENT_LANGUAGE (line 128) | const HTTP2_HEADER_CONTENT_LANGUAGE = 'content-language';
  constant HTTP2_HEADER_CONTENT_LOCATION (line 129) | const HTTP2_HEADER_CONTENT_LOCATION = 'content-location';
  constant HTTP2_HEADER_CONTENT_MD5 (line 130) | const HTTP2_HEADER_CONTENT_MD5 = 'content-md5';
  constant HTTP2_HEADER_CONTENT_RANGE (line 131) | const HTTP2_HEADER_CONTENT_RANGE = 'content-range';
  constant HTTP2_HEADER_DNT (line 132) | const HTTP2_HEADER_DNT = 'dnt';
  constant HTTP2_HEADER_EXPECT (line 133) | const HTTP2_HEADER_EXPECT = 'expect';
  constant HTTP2_HEADER_EXPIRES (line 134) | const HTTP2_HEADER_EXPIRES = 'expires';
  constant HTTP2_HEADER_FROM (line 135) | const HTTP2_HEADER_FROM = 'from';
  constant HTTP2_HEADER_IF_MATCH (line 136) | const HTTP2_HEADER_IF_MATCH = 'if-match';
  constant HTTP2_HEADER_IF_UNMODIFIED_SINCE (line 137) | const HTTP2_HEADER_IF_UNMODIFIED_SINCE = 'if-unmodified-since';
  constant HTTP2_HEADER_MAX_FORWARDS (line 138) | const HTTP2_HEADER_MAX_FORWARDS = 'max-forwards';
  constant HTTP2_HEADER_PREFER (line 139) | const HTTP2_HEADER_PREFER = 'prefer';
  constant HTTP2_HEADER_PROXY_AUTHENTICATE (line 140) | const HTTP2_HEADER_PROXY_AUTHENTICATE = 'proxy-authenticate';
  constant HTTP2_HEADER_PROXY_AUTHORIZATION (line 141) | const HTTP2_HEADER_PROXY_AUTHORIZATION = 'proxy-authorization';
  constant HTTP2_HEADER_REFRESH (line 142) | const HTTP2_HEADER_REFRESH = 'refresh';
  constant HTTP2_HEADER_RETRY_AFTER (line 143) | const HTTP2_HEADER_RETRY_AFTER = 'retry-after';
  constant HTTP2_HEADER_TRAILER (line 144) | const HTTP2_HEADER_TRAILER = 'trailer';
  constant HTTP2_HEADER_TK (line 145) | const HTTP2_HEADER_TK = 'tk';
  constant HTTP2_HEADER_VIA (line 146) | const HTTP2_HEADER_VIA = 'via';
  constant HTTP2_HEADER_WARNING (line 147) | const HTTP2_HEADER_WARNING = 'warning';
  constant HTTP2_HEADER_WWW_AUTHENTICATE (line 148) | const HTTP2_HEADER_WWW_AUTHENTICATE = 'www-authenticate';
  constant HTTP2_HEADER_HTTP2_SETTINGS (line 149) | const HTTP2_HEADER_HTTP2_SETTINGS = 'http2-settings';
  constant HTTP2_METHOD_ACL (line 150) | const HTTP2_METHOD_ACL = 'ACL';
  constant HTTP2_METHOD_BASELINE_CONTROL (line 151) | const HTTP2_METHOD_BASELINE_CONTROL = 'BASELINE-CONTROL';
  constant HTTP2_METHOD_BIND (line 152) | const HTTP2_METHOD_BIND = 'BIND';
  constant HTTP2_METHOD_CHECKIN (line 153) | const HTTP2_METHOD_CHECKIN = 'CHECKIN';
  constant HTTP2_METHOD_CHECKOUT (line 154) | const HTTP2_METHOD_CHECKOUT = 'CHECKOUT';
  constant HTTP2_METHOD_CONNECT (line 155) | const HTTP2_METHOD_CONNECT = 'CONNECT';
  constant HTTP2_METHOD_COPY (line 156) | const HTTP2_METHOD_COPY = 'COPY';
  constant HTTP2_METHOD_DELETE (line 157) | const HTTP2_METHOD_DELETE = 'DELETE';
  constant HTTP2_METHOD_GET (line 158) | const HTTP2_METHOD_GET = 'GET';
  constant HTTP2_METHOD_HEAD (line 159) | const HTTP2_METHOD_HEAD = 'HEAD';
  constant HTTP2_METHOD_LABEL (line 160) | const HTTP2_METHOD_LABEL = 'LABEL';
  constant HTTP2_METHOD_LINK (line 161) | const HTTP2_METHOD_LINK = 'LINK';
  constant HTTP2_METHOD_LOCK (line 162) | const HTTP2_METHOD_LOCK = 'LOCK';
  constant HTTP2_METHOD_MERGE (line 163) | const HTTP2_METHOD_MERGE = 'MERGE';
  constant HTTP2_METHOD_MKACTIVITY (line 164) | const HTTP2_METHOD_MKACTIVITY = 'MKACTIVITY';
  constant HTTP2_METHOD_MKCALENDAR (line 165) | const HTTP2_METHOD_MKCALENDAR = 'MKCALENDAR';
  constant HTTP2_METHOD_MKCOL (line 166) | const HTTP2_METHOD_MKCOL = 'MKCOL';
  constant HTTP2_METHOD_MKREDIRECTREF (line 167) | const HTTP2_METHOD_MKREDIRECTREF = 'MKREDIRECTREF';
  constant HTTP2_METHOD_MKWORKSPACE (line 168) | const HTTP2_METHOD_MKWORKSPACE = 'MKWORKSPACE';
  constant HTTP2_METHOD_MOVE (line 169) | const HTTP2_METHOD_MOVE = 'MOVE';
  constant HTTP2_METHOD_OPTIONS (line 170) | const HTTP2_METHOD_OPTIONS = 'OPTIONS';
  constant HTTP2_METHOD_ORDERPATCH (line 171) | const HTTP2_METHOD_ORDERPATCH = 'ORDERPATCH';
  constant HTTP2_METHOD_PATCH (line 172) | const HTTP2_METHOD_PATCH = 'PATCH';
  constant HTTP2_METHOD_POST (line 173) | const HTTP2_METHOD_POST = 'POST';
  constant HTTP2_METHOD_PRI (line 174) | const HTTP2_METHOD_PRI = 'PRI';
  constant HTTP2_METHOD_PROPFIND (line 175) | const HTTP2_METHOD_PROPFIND = 'PROPFIND';
  constant HTTP2_METHOD_PROPPATCH (line 176) | const HTTP2_METHOD_PROPPATCH = 'PROPPATCH';
  constant HTTP2_METHOD_PUT (line 177) | const HTTP2_METHOD_PUT = 'PUT';
  constant HTTP2_METHOD_REBIND (line 178) | const HTTP2_METHOD_REBIND = 'REBIND';
  constant HTTP2_METHOD_REPORT (line 179) | const HTTP2_METHOD_REPORT = 'REPORT';
  constant HTTP2_METHOD_SEARCH (line 180) | const HTTP2_METHOD_SEARCH = 'SEARCH';
  constant HTTP2_METHOD_TRACE (line 181) | const HTTP2_METHOD_TRACE = 'TRACE';
  constant HTTP2_METHOD_UNBIND (line 182) | const HTTP2_METHOD_UNBIND = 'UNBIND';
  constant HTTP2_METHOD_UNCHECKOUT (line 183) | const HTTP2_METHOD_UNCHECKOUT = 'UNCHECKOUT';
  constant HTTP2_METHOD_UNLINK (line 184) | const HTTP2_METHOD_UNLINK = 'UNLINK';
  constant HTTP2_METHOD_UNLOCK (line 185) | const HTTP2_METHOD_UNLOCK = 'UNLOCK';
  constant HTTP2_METHOD_UPDATE (line 186) | const HTTP2_METHOD_UPDATE = 'UPDATE';
  constant HTTP2_METHOD_UPDATEREDIRECTREF (line 187) | const HTTP2_METHOD_UPDATEREDIRECTREF = 'UPDATEREDIRECTREF';
  constant HTTP2_METHOD_VERSION_CONTROL (line 188) | const HTTP2_METHOD_VERSION_CONTROL = 'VERSION-CONTROL';
  constant HTTP_STATUS_CONTINUE (line 189) | const HTTP_STATUS_CONTINUE = 100;
  constant HTTP_STATUS_SWITCHING_PROTOCOLS (line 190) | const HTTP_STATUS_SWITCHING_PROTOCOLS = 101;
  constant HTTP_STATUS_PROCESSING (line 191) | const HTTP_STATUS_PROCESSING = 102;
  constant HTTP_STATUS_EARLY_HINTS (line 192) | const HTTP_STATUS_EARLY_HINTS = 103;
  constant HTTP_STATUS_OK (line 193) | const HTTP_STATUS_OK = 200;
  constant HTTP_STATUS_CREATED (line 194) | const HTTP_STATUS_CREATED = 201;
  constant HTTP_STATUS_ACCEPTED (line 195) | const HTTP_STATUS_ACCEPTED = 202;
  constant HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION (line 196) | const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION = 203;
  constant HTTP_STATUS_NO_CONTENT (line 197) | const HTTP_STATUS_NO_CONTENT = 204;
  constant HTTP_STATUS_RESET_CONTENT (line 198) | const HTTP_STATUS_RESET_CONTENT = 205;
  constant HTTP_STATUS_PARTIAL_CONTENT (line 199) | const HTTP_STATUS_PARTIAL_CONTENT = 206;
  constant HTTP_STATUS_MULTI_STATUS (line 200) | const HTTP_STATUS_MULTI_STATUS = 207;
  constant HTTP_STATUS_ALREADY_REPORTED (line 201) | const HTTP_STATUS_ALREADY_REPORTED = 208;
  constant HTTP_STATUS_IM_USED (line 202) | const HTTP_STATUS_IM_USED = 226;
  constant HTTP_STATUS_MULTIPLE_CHOICES (line 203) | const HTTP_STATUS_MULTIPLE_CHOICES = 300;
  constant HTTP_STATUS_MOVED_PERMANENTLY (line 204) | const HTTP_STATUS_MOVED_PERMANENTLY = 301;
  constant HTTP_STATUS_FOUND (line 205) | const HTTP_STATUS_FOUND = 302;
  constant HTTP_STATUS_SEE_OTHER (line 206) | const HTTP_STATUS_SEE_OTHER = 303;
  constant HTTP_STATUS_NOT_MODIFIED (line 207) | const HTTP_STATUS_NOT_MODIFIED = 304;
  constant HTTP_STATUS_USE_PROXY (line 208) | const HTTP_STATUS_USE_PROXY = 305;
  constant HTTP_STATUS_TEMPORARY_REDIRECT (line 209) | const HTTP_STATUS_TEMPORARY_REDIRECT = 307;
  constant HTTP_STATUS_PERMANENT_REDIRECT (line 210) | const HTTP_STATUS_PERMANENT_REDIRECT = 308;
  constant HTTP_STATUS_BAD_REQUEST (line 211) | const HTTP_STATUS_BAD_REQUEST = 400;
  constant HTTP_STATUS_UNAUTHORIZED (line 212) | const HTTP_STATUS_UNAUTHORIZED = 401;
  constant HTTP_STATUS_PAYMENT_REQUIRED (line 213) | const HTTP_STATUS_PAYMENT_REQUIRED = 402;
  constant HTTP_STATUS_FORBIDDEN (line 214) | const HTTP_STATUS_FORBIDDEN = 403;
  constant HTTP_STATUS_NOT_FOUND (line 215) | const HTTP_STATUS_NOT_FOUND = 404;
  constant HTTP_STATUS_METHOD_NOT_ALLOWED (line 216) | const HTTP_STATUS_METHOD_NOT_ALLOWED = 405;
  constant HTTP_STATUS_NOT_ACCEPTABLE (line 217) | const HTTP_STATUS_NOT_ACCEPTABLE = 406;
  constant HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED (line 218) | const HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED = 407;
  constant HTTP_STATUS_REQUEST_TIMEOUT (line 219) | const HTTP_STATUS_REQUEST_TIMEOUT = 408;
  constant HTTP_STATUS_CONFLICT (line 220) | const HTTP_STATUS_CONFLICT = 409;
  constant HTTP_STATUS_GONE (line 221) | const HTTP_STATUS_GONE = 410;
  constant HTTP_STATUS_LENGTH_REQUIRED (line 222) | const HTTP_STATUS_LENGTH_REQUIRED = 411;
  constant HTTP_STATUS_PRECONDITION_FAILED (line 223) | const HTTP_STATUS_PRECONDITION_FAILED = 412;
  constant HTTP_STATUS_PAYLOAD_TOO_LARGE (line 224) | const HTTP_STATUS_PAYLOAD_TOO_LARGE = 413;
  constant HTTP_STATUS_URI_TOO_LONG (line 225) | const HTTP_STATUS_URI_TOO_LONG = 414;
  constant HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE (line 226) | const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE = 415;
  constant HTTP_STATUS_RANGE_NOT_SATISFIABLE (line 227) | const HTTP_STATUS_RANGE_NOT_SATISFIABLE = 416;
  constant HTTP_STATUS_EXPECTATION_FAILED (line 228) | const HTTP_STATUS_EXPECTATION_FAILED = 417;
  constant HTTP_STATUS_TEAPOT (line 229) | const HTTP_STATUS_TEAPOT = 418;
  constant HTTP_STATUS_MISDIRECTED_REQUEST (line 230) | const HTTP_STATUS_MISDIRECTED_REQUEST = 421;
  constant HTTP_STATUS_UNPROCESSABLE_ENTITY (line 231) | const HTTP_STATUS_UNPROCESSABLE_ENTITY = 422;
  constant HTTP_STATUS_LOCKED (line 232) | const HTTP_STATUS_LOCKED = 423;
  constant HTTP_STATUS_FAILED_DEPENDENCY (line 233) | const HTTP_STATUS_FAILED_DEPENDENCY = 424;
  constant HTTP_STATUS_TOO_EARLY (line 234) | const HTTP_STATUS_TOO_EARLY = 425;
  constant HTTP_STATUS_UPGRADE_REQUIRED (line 235) | const HTTP_STATUS_UPGRADE_REQUIRED = 426;
  constant HTTP_STATUS_PRECONDITION_REQUIRED (line 236) | const HTTP_STATUS_PRECONDITION_REQUIRED = 428;
  constant HTTP_STATUS_TOO_MANY_REQUESTS (line 237) | const HTTP_STATUS_TOO_MANY_REQUESTS = 429;
  constant HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE (line 238) | const HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE = 431;
  constant HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS (line 239) | const HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS = 451;
  constant HTTP_STATUS_INTERNAL_SERVER_ERROR (line 240) | const HTTP_STATUS_INTERNAL_SERVER_ERROR = 500;
  constant HTTP_STATUS_NOT_IMPLEMENTED (line 241) | const HTTP_STATUS_NOT_IMPLEMENTED = 501;
  constant HTTP_STATUS_BAD_GATEWAY (line 242) | const HTTP_STATUS_BAD_GATEWAY = 502;
  constant HTTP_STATUS_SERVICE_UNAVAILABLE (line 243) | const HTTP_STATUS_SERVICE_UNAVAILABLE = 503;
  constant HTTP_STATUS_GATEWAY_TIMEOUT (line 244) | const HTTP_STATUS_GATEWAY_TIMEOUT = 504;
  constant HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED (line 245) | const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED = 505;
  constant HTTP_STATUS_VARIANT_ALSO_NEGOTIATES (line 246) | const HTTP_STATUS_VARIANT_ALSO_NEGOTIATES = 506;
  constant HTTP_STATUS_INSUFFICIENT_STORAGE (line 247) | const HTTP_STATUS_INSUFFICIENT_STORAGE = 507;
  constant HTTP_STATUS_LOOP_DETECTED (line 248) | const HTTP_STATUS_LOOP_DETECTED = 508;
  constant HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED (line 249) | const HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED = 509;
  constant HTTP_STATUS_NOT_EXTENDED (line 250) | const HTTP_STATUS_NOT_EXTENDED = 510;
  constant HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED (line 251) | const HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED = 511;

FILE: src/node/internal/internal_http_agent.ts
  class Agent (line 22) | class Agent extends EventEmitter implements _Agent {
    method constructor (line 38) | constructor(options?: AgentOptions) {
    method createConnection (line 64) | createConnection(
    method getName (line 74) | getName(options: RequestOptions = {}): string {
    method addRequest (line 93) | addRequest(_req: ClientRequest, _options: unknown): void {
    method createSocket (line 97) | createSocket(
    method removeSocket (line 105) | removeSocket(_socket: Socket): void {
    method keepSocketAlive (line 109) | keepSocketAlive(_socket: Socket): boolean {
    method reuseSocket (line 114) | reuseSocket(_socket: Socket, _req: ClientRequest): void {
    method destroy (line 118) | destroy(_error?: Error): void {

FILE: src/node/internal/internal_http_client.ts
  constant INVALID_PATH_REGEX (line 48) | const INVALID_PATH_REGEX = /[^\u0021-\u00ff]/;
  type WriteCallback (line 50) | type WriteCallback = (err?: Error) => void;
  function validateHost (line 52) | function validateHost(host: unknown, name: string): string {
  class ClientRequest (line 64) | class ClientRequest extends OutgoingMessage implements _ClientRequest {
    method constructor (line 90) | constructor(
    method #onFinish (line 296) | #onFinish(): void {
    method #handleFetchResponse (line 395) | #handleFetchResponse(response: Response): void {
    method #handleFetchError (line 412) | #handleFetchError(error: Error): void {
    method onSocket (line 422) | onSocket(_socket: Socket): void {
    method addTrailers (line 426) | addTrailers(
    method abort (line 433) | abort(error?: Error | null): void {
    method _write (line 445) | override _write(
    method setNoDelay (line 455) | setNoDelay(noDelay?: boolean): void {
    method setSocketKeepAlive (line 460) | setSocketKeepAlive(enable?: boolean, initialDelay?: number): void {
    method clearTimeout (line 466) | clearTimeout(cb?: VoidFunction): void {
    method setTimeout (line 470) | setTimeout(msecs: number, callback?: VoidFunction): this {
    method write (line 484) | override write(
    method end (line 504) | override end(
    method #resetTimers (line 526) | #resetTimers({ finished }: { finished: boolean }): void {
    method _implicitHeader (line 542) | override _implicitHeader(): void {

FILE: src/node/internal/internal_http_constants.ts
  constant METHODS (line 6) | const METHODS = [
  constant STATUS_CODES (line 44) | const STATUS_CODES: Record<string, string> = {

FILE: src/node/internal/internal_http_incoming.ts
  class IncomingMessage (line 36) | class IncomingMessage extends Readable implements _IncomingMessage {
    method constructor (line 175) | constructor() {
    method #setFetchResponse (line 180) | #setFetchResponse(response: Response): void {
    method #tryRead (line 210) | async #tryRead(): Promise<void> {
    method _read (line 241) | override _read(_n: number): void {
    method #onError (line 262) | #onError(error: Error | null, cb: (err?: Error | null) => void): void {
    method _destroy (line 272) | override _destroy(
    method _addHeaderLine (line 295) | _addHeaderLine(
    method _addHeaderLines (line 335) | _addHeaderLines(headers: string[] | null, n: number): void {
    method headers (line 352) | get headers(): Record<string, string | string[] | undefined> {
    method headers (line 366) | set headers(val: IncomingHttpHeaders) {
    method headersDistinct (line 370) | get headersDistinct(): Record<string, string[]> {
    method headersDistinct (line 388) | set headersDistinct(val: Record<string, string[]>) {
    method trailers (line 392) | get trailers(): Record<string, string | undefined> {
    method trailers (line 396) | set trailers(_val: NodeJS.Dict<string>) {
    method trailersDistinct (line 400) | get trailersDistinct(): Record<string, string[]> {
    method trailersDistinct (line 404) | set trailersDistinct(_val: Record<string, string[]>) {
    method _addHeaderLineDistinct (line 408) | _addHeaderLineDistinct(
    method _dump (line 423) | _dump(): void {
    method setTimeout (line 433) | setTimeout(_msecs: number, callback?: () => void): this {
    method pipe (line 440) | override pipe<T extends NodeJS.WritableStream>(
    method connection (line 467) | set connection(value: unknown) {
    method connection (line 471) | get connection(): Socket {
    method socket (line 475) | get socket(): Socket {
  function matchKnownFields (line 490) | function matchKnownFields(field: string, lowercased: boolean = false): s...

FILE: src/node/internal/internal_http_outgoing.ts
  type WriteCallback (line 42) | type WriteCallback = (err?: Error) => void;
  type OutputData (line 43) | type OutputData = {
  type WrittenDataBufferEntry (line 48) | type WrittenDataBufferEntry = OutputData & {
  type HeadersSentEvent (line 52) | type HeadersSentEvent = {
  constant RE_CONN_CLOSE (line 69) | const RE_CONN_CLOSE = /(?:^|\W)close(?:$|\W)/i;
  type HeaderState (line 71) | type HeaderState = {
  function parseUniqueHeadersOption (line 81) | function parseUniqueHeadersOption(
  class MessageBuffer (line 103) | class MessageBuffer {
    method constructor (line 110) | constructor(
    method write (line 118) | write(
    method cork (line 151) | cork(): void {
    method uncork (line 155) | uncork(): void {
    method _flush (line 160) | _flush(): void {
    method writableLength (line 167) | get writableLength(): number {
    method writableHighWaterMark (line 173) | get writableHighWaterMark(): number {
    method writableCorked (line 177) | get writableCorked(): number {
  type OutgoingMessageOptions (line 182) | type OutgoingMessageOptions = {
  class OutgoingMessage (line 189) | class OutgoingMessage extends Writable implements _OutgoingMessage {
    method constructor (line 245) | constructor(req?: IncomingMessage, options?: OutgoingMessageOptions) {
    method #onDataWritten (line 265) | #onDataWritten(data: DataWrittenEvent[]): void {
    method cork (line 269) | override cork(): void {
    method uncork (line 274) | override uncork(): void {
    method _storeHeader (line 290) | _storeHeader(
    method _finish (line 440) | _finish(): void {
    method _flushOutput (line 444) | _flushOutput(buffer: MessageBuffer): boolean | undefined {
    method _flush (line 463) | _flush(): void {
    method writableLength (line 477) | get writableLength(): number {
    method writableCorked (line 488) | get writableCorked(): number {
    method writableNeedDrain (line 493) | get writableNeedDrain(): boolean {
    method setHeader (line 497) | setHeader(name: string, value: number | string | string[]): this {
    method setHeaders (line 512) | setHeaders(
    method appendHeader (line 556) | appendHeader(
    method getHeader (line 589) | getHeader(name: string): number | string | string[] | undefined {
    method hasHeader (line 601) | hasHeader(name: unknown): boolean {
    method removeHeader (line 606) | removeHeader(name: string): void {
    method getHeaderNames (line 637) | getHeaderNames(): string[] {
    method getRawHeaderNames (line 642) | getRawHeaderNames(): string[] {
    method flushHeaders (line 657) | flushHeaders(): void {
    method getHeaders (line 666) | getHeaders(): OutgoingHttpHeaders {
    method headersSent (line 682) | get headersSent(): boolean {
    method pipe (line 686) | override pipe<T extends NodeJS.WritableStream>(destination: T): T {
    method _implicitHeader (line 695) | _implicitHeader(): void {
    method _renderHeaders (line 699) | _renderHeaders(): Record<string, string> {
    method _send (line 721) | _send(
    method write (line 789) | override write(
    method end (line 806) | override end(
    method _writeRaw (line 902) | _writeRaw(
    method destroy (line 949) | override destroy(err?: unknown, _cb?: (err?: unknown) => void): this {
    method errored (line 963) | get errored(): Error | null {
    method closed (line 968) | get closed(): boolean {
    method writableEnded (line 973) | get writableEnded(): boolean {
    method writableHighWaterMark (line 978) | get writableHighWaterMark(): number {
    method writableObjectMode (line 983) | get writableObjectMode(): boolean {
    method #checkStrictContentLength (line 987) | #checkStrictContentLength(): boolean {
    method #onError (line 998) | #onError(err: Error, callback: WriteCallback): void {
    method #write (line 1008) | #write(
  method [EventEmitter.captureRejectionSymbol] (line 691) | [EventEmitter.captureRejectionSymbol](error: Error): void {
  function emitErrorNt (line 1118) | function emitErrorNt(
  function onFinish (line 1129) | function onFinish(outmsg: OutgoingMessage): void {
  function connectionCorkNT (line 1133) | function connectionCorkNT(buffer: MessageBuffer): void {
  function isCookieField (line 1140) | function isCookieField(s: string): boolean {
  function isContentDispositionField (line 1144) | function isContentDispositionField(s: string): boolean {
  function processHeader (line 1148) | function processHeader(
  function storeHeader (line 1192) | function storeHeader(
  function matchHeader (line 1206) | function matchHeader(

FILE: src/node/internal/internal_http_server.ts
  type DataWrittenEvent (line 82) | type DataWrittenEvent = {
  class Server (line 108) | class Server
    method constructor (line 137) | constructor(options?: ServerOptions, requestListener?: RequestListener) {
    method close (line 176) | close(callback?: VoidFunction): this {
    method closeAllConnections (line 191) | closeAllConnections(): void {
    method closeIdleConnections (line 196) | closeIdleConnections(): void {
    method setTimeout (line 201) | setTimeout(
    method #onRequest (line 218) | async #onRequest(
    method #toReqRes (line 234) | #toReqRes(
    method listen (line 284) | listen(...args: unknown[]): this {
    method #findSuitablePort (line 316) | #findSuitablePort(port: number): number {
    method getConnections (line 336) | getConnections(callback?: (err: Error | null, count: number) => void):...
    method ref (line 346) | ref(): this {
    method unref (line 352) | unref(): this {
    method listening (line 358) | get listening(): boolean {
    method address (line 363) | address(): string | AddressInfo | null {
    method maxConnections (line 368) | get maxConnections(): number {
    method connections (line 372) | get connections(): number {
  method [Symbol.asyncDispose] (line 376) | async [Symbol.asyncDispose](): Promise<void> {
  class ServerResponse (line 401) | class ServerResponse<Req extends IncomingMessage = IncomingMessage>
    method constructor (line 422) | constructor(req: Req, options: ServerOptions = {}) {
    method #toFetchResponse (line 513) | #toFetchResponse({
    method #dataFromDataWrittenEvent (line 549) | #dataFromDataWrittenEvent({
    method assignSocket (line 565) | assignSocket(_socket: Socket): void {
    method detachSocket (line 571) | detachSocket(_socket: Socket): void {
    method writeContinue (line 577) | writeContinue(_cb: VoidFunction): void {
    method writeProcessing (line 582) | writeProcessing(_cb: VoidFunction): void {
    method writeEarlyHints (line 587) | writeEarlyHints(_hints: unknown, _cb: VoidFunction): void {
    method _implicitHeader (line 592) | override _implicitHeader(): void {
    method writeHead (line 596) | writeHead(
  function setupConnectionsTracking (line 691) | function setupConnectionsTracking(): void {
  type BaseWithHttpOptions (line 695) | interface BaseWithHttpOptions<
  function storeHTTPOptions (line 708) | function storeHTTPOptions(
  function _connectionListener (line 807) | function _connectionListener(): void {
  function httpServerPreClose (line 811) | function httpServerPreClose(server: Server): void {

FILE: src/node/internal/internal_http_util.ts
  type IncomingMessageCallback (line 7) | type IncomingMessageCallback = (req: IncomingMessage) => void;
  type OnceOptions (line 9) | interface OnceOptions {
  function once (line 13) | function once<RT>(
  function splitHeaderValue (line 42) | function splitHeaderValue(value: string): string {

FILE: src/node/internal/internal_https_agent.ts
  class Agent (line 11) | class Agent extends HttpAgent {
    method getName (line 15) | override getName(options: RequestOptions = {}): string {

FILE: src/node/internal/internal_https_server.ts
  class Server (line 9) | class Server extends HttpServer implements _Server {
    method addContext (line 10) | addContext(): void {
    method getTicketKeys (line 16) | getTicketKeys(): Buffer<ArrayBuffer> {
    method setSecureContext (line 21) | setSecureContext(): void {
    method setTicketKeys (line 28) | setTicketKeys(): void {

FILE: src/node/internal/internal_inspect.ts
  function assert (line 70) | function assert(value: boolean, message = 'Assertion failed'): asserts v...
  function isError (line 77) | function isError(e: unknown): e is Error {
  function isStackOverflowError (line 100) | function isStackOverflowError(err: Error): boolean {
  function removeColors (line 125) | function removeColors(str: string): string {
  type InspectOptions (line 129) | interface InspectOptions {
  type Style (line 211) | type Style =
  type CustomInspectFunction (line 224) | type CustomInspectFunction = (
  type InspectOptionsStylized (line 228) | interface InspectOptionsStylized extends InspectOptions {
  type Context (line 468) | interface Context extends Required<InspectOptionsStylized> {
  function getUserOptions (line 479) | function getUserOptions(
  function inspect (line 546) | function inspect(
  method get (line 611) | get() {
  method set (line 614) | set(options) {
  function defineColorAlias (line 676) | function defineColorAlias(target: string, alias: string) {
  function addQuotes (line 721) | function addQuotes(str: string, quotes: number): string {
  function escapeFn (line 731) | function escapeFn(str: string): string {
  function strEscape (line 740) | function strEscape(str: string): string {
  function stylizeWithColor (line 806) | function stylizeWithColor(str: string, styleType: Style): string {
  function stylizeNoColor (line 818) | function stylizeNoColor(str: string): string {
  function getEmptyFormatArray (line 823) | function getEmptyFormatArray(): string[] {
  function isInstanceof (line 827) | function isInstanceof(object: unknown, proto: Function): boolean {
  function getConstructorName (line 858) | function getConstructorName(
  function addPrototypeProperties (line 942) | function addPrototypeProperties(
  function getPrefix (line 1014) | function getPrefix(
  function getKeys (line 1034) | function getKeys(value: object, showHidden: boolean): PropertyKey[] {
  function getCtxStyle (line 1065) | function getCtxStyle(
  function formatProxy (line 1080) | function formatProxy(
  function formatValue (line 1108) | function formatValue(
  function formatRaw (line 1231) | function formatRaw(
  function getIteratorBraces (line 1553) | function getIteratorBraces(type: string, tag: string): [string, string] {
  function getBoxedBase (line 1561) | function getBoxedBase(
  function getClassBase (line 1606) | function getClassBase(
  function getFunctionBase (line 1631) | function getFunctionBase(
  function identicalSequenceRange (line 1676) | function identicalSequenceRange(
  function getStackString (line 1702) | function getStackString(ctx: Context, error: Error): string {
  function getStackFrames (line 1713) | function getStackFrames(ctx: Context, err: Error, stack: string): string...
  function improveStack (line 1740) | function improveStack(
  function removeDuplicateErrorKeys (line 1791) | function removeDuplicateErrorKeys(
  function markNodeModules (line 1811) | function markNodeModules(ctx: Context, line: string): string {
  function formatError (line 1827) | function formatError(
  function groupArrayElements (line 1886) | function groupArrayElements(
  function handleMaxCallStackSize (line 2005) | function handleMaxCallStackSize(
  function addNumericSeparator (line 2024) | function addNumericSeparator(integerString: string): string {
  function addNumericSeparatorEnd (line 2036) | function addNumericSeparatorEnd(integerString: string): string {
  function formatNumber (line 2048) | function formatNumber(
  function formatBigInt (line 2079) | function formatBigInt(
  type Primitive (line 2091) | type Primitive = string | number | bigint | boolean | undefined | symbol;
  function formatPrimitive (line 2092) | function formatPrimitive(
  function formatNamespaceObject (line 2131) | function formatNamespaceObject(
  function formatSpecialArray (line 2168) | function formatSpecialArray(
  function formatArrayBuffer (line 2214) | function formatArrayBuffer(ctx: Context, value: ArrayBuffer): string[] {
  function formatArray (line 2232) | function formatArray(
  function formatTypedArray (line 2255) | function formatTypedArray(
  function formatSet (line 2295) | function formatSet(
  function formatMap (line 2319) | function formatMap(
  function formatSetIterInner (line 2345) | function formatSetIterInner(
  function formatMapIterInner (line 2372) | function formatMapIterInner(
  function formatWeakCollection (line 2420) | function formatWeakCollection(ctx: Context): string[] {
  function formatWeakSet (line 2424) | function formatWeakSet(
  function formatWeakMap (line 2433) | function formatWeakMap(
  function formatIterator (line 2442) | function formatIterator(
  function formatPromise (line 2458) | function formatPromise(
  function formatProperty (line 2480) | function formatProperty(
  function isBelowBreakLength (line 2560) | function isBelowBreakLength(
  function reduceToSingleString (line 2588) | function reduceToSingleString(
  function hasBuiltInToString (line 2671) | function hasBuiltInToString(value: object): boolean {
  constant CIRCULAR_ERROR_MESSAGE (line 2709) | let CIRCULAR_ERROR_MESSAGE: string | undefined;
  function tryStringify (line 2710) | function tryStringify(arg: unknown): string {
  function format (line 2737) | function format(...args: unknown[]): string {
  function formatWithOptions (line 2741) | function formatWithOptions(
  function formatNumberNoColor (line 2749) | function formatNumberNoColor(number: number, options?: InspectOptions): ...
  function formatBigIntNoColor (line 2757) | function formatBigIntNoColor(bigint: bigint, options?: InspectOptions): ...
  function formatWithOptionsInternal (line 2765) | function formatWithOptionsInternal(
  function isZeroWidthCodePoint (line 2905) | function isZeroWidthCodePoint(code: number): boolean {
  function getStringWidth (line 2922) | function getStringWidth(str: string, removeControlChars = true): number {
  function stripVTControlCharacters (line 2985) | function stripVTControlCharacters(str: string): string {
  function formatLog (line 2995) | function formatLog(
  function isBuiltinPrototype (line 3024) | function isBui
Copy disabled (too large) Download .json
Condensed preview — 2426 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (20,985K chars).
[
  {
    "path": ".bazelignore",
    "chars": 178,
    "preview": "node_modules\nimages/container-client-test/node_modules\nsrc/workerd/api/tests/opennextjs/src/node_modules\n\n# Nested modul"
  },
  {
    "path": ".bazelrc",
    "chars": 28740,
    "preview": "common --enable_platform_specific_config\nbuild --verbose_failures\nbuild --build_tag_filters=-off-by-default,-requires-co"
  },
  {
    "path": ".bazelversion",
    "chars": 6,
    "preview": "9.0.1\n"
  },
  {
    "path": ".clang-format",
    "chars": 3299,
    "preview": "Language: Cpp\nStandard: c++20\nColumnLimit: 100\n\nWhitespaceSensitiveMacros:\n  # clang format doesn't understand TypeScrip"
  },
  {
    "path": ".clang-tidy",
    "chars": 3191,
    "preview": "---\n# TODO: We currently only enable select clang-tidy checks. While many checks provide little value or\n# produce false"
  },
  {
    "path": ".devcontainer/Dockerfile",
    "chars": 905,
    "preview": "FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:22\n\n# Install dependencies, including clang via through LLVM"
  },
  {
    "path": ".devcontainer/devcontainer.json",
    "chars": 846,
    "preview": "{\n\t\"name\": \"C++: Workerd\",\n\t\"build\": {\n\t\t\"dockerfile\": \"Dockerfile\"\n\t},\n\t\"customizations\": {\n\t\t// Configure properties s"
  },
  {
    "path": ".git-blame-ignore-revs",
    "chars": 797,
    "preview": "# Apply prettier to the project\n0523bf8b36a937348f1bb79eceda2463a5c220b5\n\n# Apply clang-format to the project.\n5e8537a77"
  },
  {
    "path": ".github/CODEOWNERS",
    "chars": 1175,
    "preview": "* @cloudflare/workers-runtime-1 @cloudflare/workers-durable-objects\n.github/workflows/ @cloudflare/wrangler @cloudflare/"
  },
  {
    "path": ".github/DISCUSSION_TEMPLATE/nodejs_api_request.yml",
    "chars": 574,
    "preview": "title: \"Node.js API Request\"\nlabels: [\"Node.js API Request\"]\nbody:\n  - type: input\n    id: module\n    attributes:\n      "
  },
  {
    "path": ".github/DISCUSSION_TEMPLATE/python_package_request.yml",
    "chars": 564,
    "preview": "title: \"Python Package Request\"\nlabels: [\"Python Package Request\"]\nbody:\n  - type: input\n    id: package\n    attributes:"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/runtime-apis.md",
    "chars": 141,
    "preview": "---\nname: runtime-apis\nabout: Report an issue with an API provided by workerd\ntitle: '🐛 Bug Report — Runtime APIs'\nlabel"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/workers-types.md",
    "chars": 151,
    "preview": "---\nname: workers-types\nabout: Report an issue or suggestion for `@cloudflare/workers-types`\ntitle: ''\nlabels: types\nass"
  },
  {
    "path": ".github/actions/setup-runner/action.yml",
    "chars": 2825,
    "preview": "name: 'Setup runner environment'\ndescription: 'Sets up runner environment with proper toolchain for building workerd'\nru"
  },
  {
    "path": ".github/bonk_reviewer.md",
    "chars": 4544,
    "preview": "You are a **code reviewer**, not an author. You review pull requests for workerd, Cloudflare's JavaScript/WebAssembly se"
  },
  {
    "path": ".github/secret_scanning.yml",
    "chars": 2013,
    "preview": "paths-ignore:\n  - \"src/workerd/api/node/crypto_keys-test.js\"\n  - \"src/workerd/api/node/crypto_dh-test.js\"\n  - \"src/worke"
  },
  {
    "path": ".github/workflows/_bazel.yml",
    "chars": 10062,
    "preview": "name: 'Run Bazel'\non:\n  workflow_call:\n    inputs:\n      image:\n        type: string\n        required: false\n        def"
  },
  {
    "path": ".github/workflows/_wpt.yml",
    "chars": 1120,
    "preview": "name: 'WPT Report'\non:\n  workflow_call:\n    inputs:\n      image:\n        description: 'Runner image to use'\n        requ"
  },
  {
    "path": ".github/workflows/bigbonk.yml",
    "chars": 1387,
    "preview": "name: Bonk\n\non:\n  issue_comment:\n    types: [created]\n  pull_request_review_comment:\n    types: [created]\n  pull_request"
  },
  {
    "path": ".github/workflows/bonk.yml",
    "chars": 1417,
    "preview": "name: Bonk\n\non:\n  issue_comment:\n    types: [created]\n  pull_request_review_comment:\n    types: [created]\n  pull_request"
  },
  {
    "path": ".github/workflows/cla.yml",
    "chars": 1287,
    "preview": "name: \"CLA Assistant\"\non:\n  issue_comment:\n    types: [created]\n  pull_request_target:\n    types: [opened,synchronize]\n "
  },
  {
    "path": ".github/workflows/codspeed.yml",
    "chars": 2012,
    "preview": "name: CodSpeed\n\non:\n  pull_request:\n    paths-ignore:\n      - 'docs/**'\n      - 'justfile'\n      - '.devcontainer'\n     "
  },
  {
    "path": ".github/workflows/coverage.yml",
    "chars": 1378,
    "preview": "name: Coverage\n\non:\n  pull_request:\n  merge_group:\n  push:\n    branches:\n      - main\n\nconcurrency:\n  group: coverage.ym"
  },
  {
    "path": ".github/workflows/daily-release.yml",
    "chars": 1852,
    "preview": "name: Daily Release\n\non:\n  schedule:\n    # Run at 00:30 UTC every day\n    - cron: '30 0 * * *'\n  # Allow manual triggeri"
  },
  {
    "path": ".github/workflows/deps-updater.yml",
    "chars": 1747,
    "preview": "name: Dependency updater\n\non:\n  schedule:\n    # Run at 18:30 UTC every Monday\n    - cron: '30 18 * * 1'\n  # Allow manual"
  },
  {
    "path": ".github/workflows/experimental-workflow.yml",
    "chars": 580,
    "preview": "name: Experimental Workflow\non:\n  workflow_dispatch:\n\n# You can modify this workflow in order to verify your changes to "
  },
  {
    "path": ".github/workflows/fixup.yml",
    "chars": 239,
    "preview": "name: \"Just say no to fixup commits\"\non:\n  workflow_call:\n\njobs:\n  block-fixup:\n    runs-on: ubuntu-latest\n    steps:\n  "
  },
  {
    "path": ".github/workflows/internal-build.yml",
    "chars": 2954,
    "preview": "name: Run internal build\n\non:\n  pull_request_target:\n\n# Read-only permissions are enough\npermissions: read-all\n\nconcurre"
  },
  {
    "path": ".github/workflows/issues.yml",
    "chars": 369,
    "preview": "name: Issue\n\non:\n  issues:\n    types: [opened, labeled, transferred]\n\njobs:\n  add-to-project:\n    name: Add issue to GH "
  },
  {
    "path": ".github/workflows/labels.yml",
    "chars": 511,
    "preview": "# Based on https://www.neilmacy.co.uk/blog/github-action-to-block-merging\nname: \"Internal PR Required\"\non:\n  workflow_ca"
  },
  {
    "path": ".github/workflows/lint.yml",
    "chars": 779,
    "preview": "name: Lint\n\non:\n  pull_request:\n  merge_group:\n  push:\n    branches:\n      - main\n\nconcurrency:\n  # Cancel existing buil"
  },
  {
    "path": ".github/workflows/new-pr-review.yml",
    "chars": 1777,
    "preview": "name: New PR Review\n\non:\n  pull_request:\n    types: [opened]\n\njobs:\n  review:\n    if: github.event.pull_request.head.rep"
  },
  {
    "path": ".github/workflows/release-python-runtime.yml",
    "chars": 3635,
    "preview": "name: Build Python Runtime\n\non:\n  workflow_dispatch:\n    inputs:\n      update-released:\n        description: 'Update alr"
  },
  {
    "path": ".github/workflows/release-python-snapshots.yml",
    "chars": 3762,
    "preview": "name: Make Python Snapshots\n\non:\n  workflow_dispatch:\n    inputs:\n      update-released:\n        description: 'Update al"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 13459,
    "preview": "name: Build & Release\n\non:\n  push:\n    branches:\n      - main\n  workflow_dispatch:\n    inputs:\n      patch:\n        desc"
  },
  {
    "path": ".github/workflows/semgrep.yml",
    "chars": 523,
    "preview": "\non:\n  workflow_dispatch: {}\n  schedule:\n    - cron: '0 0 * * *'\nname: Semgrep config\njobs:\n  semgrep:\n    name: semgrep"
  },
  {
    "path": ".github/workflows/test.yml",
    "chars": 9398,
    "preview": "name: Tests\n\non:\n  pull_request:\n  merge_group:\n  push:\n    branches:\n      - main\n\nconcurrency:\n  # Cancel existing bui"
  },
  {
    "path": ".github/workflows/wpt-report.yml",
    "chars": 733,
    "preview": "name: WPT report\n\non:\n  # Allow manual triggering for testing\n  workflow_dispatch:\n\npermissions:\n  # Read repo\n  content"
  },
  {
    "path": ".gitignore",
    "chars": 1498,
    "preview": ".idea\n.DS_Store\n\n# directory for developers to store local resources\n/.local/\n\n/*.code-workspace\n\nnode_modules\n/npm/*/bi"
  },
  {
    "path": ".npmrc",
    "chars": 531,
    "preview": "# Ref: https://pnpm.io/npmrc#manage-package-manager-versions\n# When enabled, pnpm will automatically download and run th"
  },
  {
    "path": ".opencode/agent/architect.md",
    "chars": 23733,
    "preview": "---\ndescription: Read-only code review and architectural analysis. Provides findings and recommendations without making "
  },
  {
    "path": ".opencode/agent/submit.md",
    "chars": 10370,
    "preview": "---\ndescription: Prepares changes for submission. Reviews pending changes, runs pre-submission checks, crafts commit mes"
  },
  {
    "path": ".opencode/commands/autogate.md",
    "chars": 2299,
    "preview": "---\ndescription: Look up an autogate, or list all autogates if no argument given\nsubtask: true\n---\n\nLook up autogate: $A"
  },
  {
    "path": ".opencode/commands/changelog.md",
    "chars": 1854,
    "preview": "---\ndescription: Summarize current branch changes for a PR description or release note\nsubtask: true\n---\n\nGenerate a cha"
  },
  {
    "path": ".opencode/commands/compat-flag.md",
    "chars": 2307,
    "preview": "---\ndescription: Look up a compatibility flag, or list all flags if no argument given\nsubtask: true\n---\n\nLook up compati"
  },
  {
    "path": ".opencode/commands/dep-impact.md",
    "chars": 3984,
    "preview": "---\ndescription: Analyze dependency changes in a PR or diff and identify impacted code\nsubtask: true\n---\n\nAnalyze depend"
  },
  {
    "path": ".opencode/commands/deps.md",
    "chars": 1149,
    "preview": "---\ndescription: Show the dependency graph for a Bazel target\nsubtask: true\n---\n\nShow dependencies for: $ARGUMENTS\n\n**Us"
  },
  {
    "path": ".opencode/commands/explain.md",
    "chars": 4767,
    "preview": "---\ndescription: Explain what a file, class, or symbol does and how it fits into the architecture\nsubtask: true\n---\n\nExp"
  },
  {
    "path": ".opencode/commands/find-owner.md",
    "chars": 1669,
    "preview": "---\ndescription: Find who owns or is most active in a file or directory\nsubtask: true\n---\n\nFind code owners for: $ARGUME"
  },
  {
    "path": ".opencode/commands/find-test.md",
    "chars": 1180,
    "preview": "---\ndescription: Find the Bazel test target for a source file\nsubtask: true\n---\n\nFind the Bazel test target(s) for the f"
  },
  {
    "path": ".opencode/commands/investigate.md",
    "chars": 8964,
    "preview": "---\ndescription: Investigate a bug from a Sentry issue or error description, biasing toward writing a reproducing test e"
  },
  {
    "path": ".opencode/commands/just.md",
    "chars": 315,
    "preview": "---\ndescription: Run a just recipe\n---\n\nRun the following command and show the output to the user:\n\n```\njust $ARGUMENTS\n"
  },
  {
    "path": ".opencode/commands/onboarding.md",
    "chars": 12007,
    "preview": "---\ndescription: Guided onboarding to the workerd codebase, or a specific area\nsubtask: true\n---\n\nOnboard: $ARGUMENTS\n\n*"
  },
  {
    "path": ".opencode/commands/rdeps.md",
    "chars": 1389,
    "preview": "---\ndescription: Find what depends on a given external dependency or internal target\nsubtask: true\n---\n\nFind reverse dep"
  },
  {
    "path": ".opencode/commands/review.md",
    "chars": 1126,
    "preview": "---\ndescription: Review local branch changes or a GitHub PR\nagent: architect\nsubtask: true\n---\n\nReview code changes. Det"
  },
  {
    "path": ".opencode/commands/run.md",
    "chars": 4991,
    "preview": "---\ndescription: Run tests or samples\nsubtask: true\n---\n\nRun: $ARGUMENTS\n\n**Parse the argument to determine what to run:"
  },
  {
    "path": ".opencode/commands/submit.md",
    "chars": 222,
    "preview": "---\ndescription: Check if the current branch is ready to submit\nagent: submit\nsubtask: true\n---\n\nCheck if the current br"
  },
  {
    "path": ".opencode/commands/test-for.md",
    "chars": 2304,
    "preview": "---\ndescription: Find tests that exercise a source file's code, with specific test case details\nsubtask: true\n---\n\nFind "
  },
  {
    "path": ".opencode/commands/trace.md",
    "chars": 2686,
    "preview": "---\ndescription: Trace callers and callees of a function or method across the codebase\nsubtask: true\n---\n\nTrace call gra"
  },
  {
    "path": ".opencode/commands/trivia.md",
    "chars": 2802,
    "preview": "---\ndescription: Play workerd codebase trivia\nsubtask: true\n---\n\nYou are a fun and engaging trivia host for the workerd "
  },
  {
    "path": ".opencode/commands/whats-new.md",
    "chars": 2561,
    "preview": "---\ndescription: Summarize recent commits — by count, date, or time range\nsubtask: true\n---\n\nShow what's new: $ARGUMENTS"
  },
  {
    "path": ".opencode/skills/add-autogate/SKILL.md",
    "chars": 4611,
    "preview": "---\nname: add-autogate\ndescription: Step-by-step guide for adding a new autogate to workerd for gradual rollout of risky"
  },
  {
    "path": ".opencode/skills/add-compat-flag/SKILL.md",
    "chars": 5635,
    "preview": "---\nname: add-compat-flag\ndescription: Step-by-step guide for adding a new compatibility flag to workerd, including capn"
  },
  {
    "path": ".opencode/skills/bazel-test-hygiene/SKILL.md",
    "chars": 3367,
    "preview": "---\nname: bazel-test-hygiene\ndescription: Mandatory rules for running bazel tests during development. Load this skill be"
  },
  {
    "path": ".opencode/skills/commit-categories/SKILL.md",
    "chars": 3402,
    "preview": "---\nname: commit-categories\ndescription: Commit categorization rules for changelogs and \"what's new\" summaries. MUST be "
  },
  {
    "path": ".opencode/skills/dad-jokes/SKILL.md",
    "chars": 2809,
    "preview": "---\nname: dad-jokes\ndescription: After completing any task that took more than ~5 tool calls, or after long-running buil"
  },
  {
    "path": ".opencode/skills/find-and-run-tests/SKILL.md",
    "chars": 3568,
    "preview": "---\nname: find-and-run-tests\ndescription: How to find, build, and run tests in workerd. Covers wd-test, kj_test target n"
  },
  {
    "path": ".opencode/skills/identify-reviewer/SKILL.md",
    "chars": 3195,
    "preview": "---\nname: identify-reviewer\ndescription: Identifies the local user's GitHub account and git identity before performing c"
  },
  {
    "path": ".opencode/skills/investigation-notes/SKILL.md",
    "chars": 4405,
    "preview": "---\nname: investigation-notes\ndescription: Structured scratch tracking document for investigation state during bug hunts"
  },
  {
    "path": ".opencode/skills/kj-style/SKILL.md",
    "chars": 365,
    "preview": "---\nname: kj-style\ndescription: KJ/workerd C++ style guidelines for code review. Covers naming, type usage, memory manag"
  },
  {
    "path": ".opencode/skills/markdown-drafts/SKILL.md",
    "chars": 3545,
    "preview": "---\nname: markdown-drafts\ndescription: Use markdown formatting when drafting content intended for external systems (GitH"
  },
  {
    "path": ".opencode/skills/parent-project-skills/SKILL.md",
    "chars": 2915,
    "preview": "---\nname: parent-project-skills\ndescription: Bootstrap skill for discovering additional skills and context from a parent"
  },
  {
    "path": ".opencode/skills/pr-review-guide/SKILL.md",
    "chars": 4800,
    "preview": "---\nname: pr-review-guide\ndescription: Guidelines for posting pull request review comments via GitHub CLI, including sug"
  },
  {
    "path": ".opencode/skills/receiving-code-review/SKILL.md",
    "chars": 6355,
    "preview": "---\nname: receiving-code-review\ndescription: Use when receiving code review feedback, before implementing suggestions, e"
  },
  {
    "path": ".opencode/skills/rust-review/SKILL.md",
    "chars": 363,
    "preview": "---\nname: rust-review\ndescription: Rust code review for workerd. Covers CXX FFI safety, unsafe code patterns, JSG resour"
  },
  {
    "path": ".opencode/skills/test-driven-investigation/SKILL.md",
    "chars": 10621,
    "preview": "---\nname: test-driven-investigation\ndescription: Use when investigating bugs, crashes, assertions, or unexpected behavio"
  },
  {
    "path": ".opencode/skills/ts-style/SKILL.md",
    "chars": 489,
    "preview": "---\nname: ts-style\ndescription: JS/TS style guidelines and review checklist for workerd. Covers TypeScript strictness, i"
  },
  {
    "path": ".opencode/skills/update-v8/SKILL.md",
    "chars": 9344,
    "preview": "---\nname: update-v8\ndescription: Step-by-step guide for updating the V8 JavaScript engine in workerd, including patch re"
  },
  {
    "path": ".opencode/skills/verification-before-completion/SKILL.md",
    "chars": 4228,
    "preview": "---\nname: verification-before-completion\ndescription: Use when about to claim work is complete, fixed, or passing, befor"
  },
  {
    "path": ".opencode/skills/wd-test-format/SKILL.md",
    "chars": 5542,
    "preview": "---\nname: wd-test-format\ndescription: Detailed guide for authoring .wd-test files in workerd, with examples of bindings,"
  },
  {
    "path": ".opencode/skills/wd-test-format/reference/advanced-configs.md",
    "chars": 3521,
    "preview": "# Advanced `.wd-test` Config Patterns\n\nPatterns for Durable Objects, multi-service tests, network access, external servi"
  },
  {
    "path": ".opencode/skills/workerd-api-review/SKILL.md",
    "chars": 650,
    "preview": "---\nname: workerd-api-review\ndescription: Performance optimization, API design & compatibility, security vulnerabilities"
  },
  {
    "path": ".opencode/skills/workerd-safety-review/SKILL.md",
    "chars": 501,
    "preview": "---\nname: workerd-safety-review\ndescription: Memory safety, thread safety, concurrency, and critical detection patterns "
  },
  {
    "path": ".opencode/tools/bazel-deps.ts",
    "chars": 16756,
    "preview": "import { tool } from '@opencode-ai/plugin';\nimport path from 'path';\n\n// Known aliases: short name → Bazel repo name\n// "
  },
  {
    "path": ".opencode/tools/capnp.ts",
    "chars": 2192,
    "preview": "// Shared helper for running capnpc-capnp on .capnp schema files.\n// Used by next-capnp-ordinal and compat-date-at tools"
  },
  {
    "path": ".opencode/tools/compat-date-at.ts",
    "chars": 7218,
    "preview": "import { tool } from '@opencode-ai/plugin';\nimport path from 'path';\nimport { runCapnpcCapnp, resolveCapnpPath } from '."
  },
  {
    "path": ".opencode/tools/cross-reference.ts",
    "chars": 8397,
    "preview": "import { tool } from '@opencode-ai/plugin';\nimport path from 'path';\n\nexport default tool({\n  description:\n    'One-shot"
  },
  {
    "path": ".opencode/tools/jsg-interface.ts",
    "chars": 22207,
    "preview": "import { tool } from '@opencode-ai/plugin';\nimport path from 'path';\n\nexport default tool({\n  description:\n    'Extract "
  },
  {
    "path": ".opencode/tools/next-capnp-ordinal.ts",
    "chars": 6367,
    "preview": "import { tool } from '@opencode-ai/plugin';\nimport path from 'path';\nimport { runCapnpcCapnp, resolveCapnpPath } from '."
  },
  {
    "path": ".prettierignore",
    "chars": 47,
    "preview": "samples/nodejs-compat-streams-split2/split2.js\n"
  },
  {
    "path": ".prettierrc.json",
    "chars": 89,
    "preview": "{\n  \"printWidth\": 80,\n  \"tabWidth\": 2,\n  \"singleQuote\": true,\n  \"trailingComma\": \"es5\"\n}\n"
  },
  {
    "path": ".vscode/extensions.json",
    "chars": 215,
    "preview": "{\n  \"recommendations\": [\n    \"eamodio.gitlens\",\n    \"llvm-vs-code-extensions.vscode-clangd\",\n    \"ms-vscode.cpptools\",\n "
  },
  {
    "path": ".vscode/launch.json",
    "chars": 11157,
    "preview": "{\n  // Use IntelliSense to learn about possible attributes.\n  // Hover to view descriptions of existing attributes.\n  //"
  },
  {
    "path": ".vscode/settings.json",
    "chars": 1179,
    "preview": "{\n  \"files.exclude\": {\n    \"bazel-*\": true\n  },\n  \"files.insertFinalNewline\": true,\n  \"files.trimTrailingWhitespace\": tr"
  },
  {
    "path": ".vscode/tasks.json",
    "chars": 7728,
    "preview": "{\n  \"version\": \"2.0.0\",\n  \"tasks\": [\n    {\n      \"label\": \"Bazel build all (dbg)\",\n      \"type\": \"shell\",\n      \"command"
  },
  {
    "path": ".zed/settings.json",
    "chars": 1475,
    "preview": "// Folder-specific settings\n//\n// For a full list of overridable settings, and general information on folder-specific se"
  },
  {
    "path": "AGENTS.md",
    "chars": 18796,
    "preview": "# AGENTS.md\n\nThis file provides guidance to Claude Code (claude.ai/code) or Opencode (opencode.ai) when working with cod"
  },
  {
    "path": "BUILD.bazel",
    "chars": 4097,
    "preview": "load(\"@aspect_rules_js//js:defs.bzl\", \"js_library\")\nload(\"@aspect_rules_js//npm:defs.bzl\", \"npm_link_package\")\nload(\"@ba"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 5257,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participa"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 7346,
    "preview": "# Contributing to `workerd`\n\nBefore contributing code to `workerd`, please read these guidelines carefully.\n\n## Question"
  },
  {
    "path": "Dockerfile.release",
    "chars": 1210,
    "preview": "FROM node:trixie AS builder\n\nWORKDIR /workerd\n\n# Replacing build-essential with dpkg-dev here, no need to install gcc.\nR"
  },
  {
    "path": "LICENSE",
    "chars": 10174,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "MODULE.bazel",
    "chars": 2037,
    "preview": "\"Bazel dependencies, see https://registry.bazel.build\"\n\nmodule(name = \"workerd\")\n\n# sqlite3 is downloaded from sqlite.or"
  },
  {
    "path": "README.md",
    "chars": 9581,
    "preview": "# 👷 `workerd`, Cloudflare's JavaScript/Wasm Runtime\n\n![Banner](/docs/assets/banner.png)\n\n`workerd` (pronounced: \"worker-"
  },
  {
    "path": "RELEASE.md",
    "chars": 932,
    "preview": "# Releasing `workerd` and `workers-types` to NPM\n\nThe primary distribution channel for `workerd` right now is through `n"
  },
  {
    "path": "SECURITY.md",
    "chars": 743,
    "preview": "# Security Policy\n\nhttps://www.cloudflare.com/disclosure\n\n## Reporting a Vulnerability\n\n* https://hackerone.com/cloudfla"
  },
  {
    "path": "build/AGENTS.md",
    "chars": 3270,
    "preview": "# build/ — Bazel Build Rules\n\n## OVERVIEW\n\nCustom Bazel rules (`wd_*` macros) for C++, TypeScript, Rust, Cap'n Proto, an"
  },
  {
    "path": "build/BUILD.all_pyodide_wheels",
    "chars": 98,
    "preview": "filegroup(\n    name = \"whls\",\n    srcs = glob([\"*\"]),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "build/BUILD.nbytes",
    "chars": 231,
    "preview": "load(\"@rules_cc//cc:cc_library.bzl\", \"cc_library\")\n\ncc_library(\n    name = \"nbytes\",\n    srcs = [\"src/nbytes.cpp\"],\n    "
  },
  {
    "path": "build/BUILD.pyodide",
    "chars": 57,
    "preview": "exports_files(\n    glob(\n        [\"pyodide/*\"],\n    ),\n)\n"
  },
  {
    "path": "build/BUILD.pyodide_packages",
    "chars": 34,
    "preview": "exports_files(\n    glob([\"*\"]),\n)\n"
  },
  {
    "path": "build/BUILD.simdutf",
    "chars": 553,
    "preview": "load(\"@rules_cc//cc:cc_library.bzl\", \"cc_library\")\n\ncc_library(\n    name = \"simdutf\",\n    srcs = [\"simdutf.cpp\"],\n    hd"
  },
  {
    "path": "build/BUILD.sqlite3",
    "chars": 9662,
    "preview": "\"\"\"\nBuilds sqlite3 from plain source.\n\nThis is just enough to build the sqlite3 library; it does not include\nthe shell o"
  },
  {
    "path": "build/BUILD.wpt",
    "chars": 611,
    "preview": "# Copyright (c) 2017-2022 Cloudflare, Inc.\n# Licensed under the Apache 2.0 license found in the LICENSE file or at:\n#   "
  },
  {
    "path": "build/BUILD.zlib",
    "chars": 7637,
    "preview": "# This config closely follows the original GN build file\n# Ref: https://chromium.googlesource.com/chromium/src/third_par"
  },
  {
    "path": "build/capnp_embed.bzl",
    "chars": 1399,
    "preview": "\"\"\"capnp_embed definition\"\"\"\n\nload(\"@capnp-cpp//src/capnp:cc_capnp_library.bzl\", \"capnp_provider\")\nload(\"@rules_cc//cc:c"
  },
  {
    "path": "build/cc_ast_dump.bzl",
    "chars": 3320,
    "preview": "\"\"\"\nDump the AST of a given C++ source file\n\nBased loosely on https://github.com/bazelbuild/rules_cc/blob/main/examples/"
  },
  {
    "path": "build/ci.bazelrc",
    "chars": 5809,
    "preview": "# CI-only configuration. Some of these settings are inspired by bazel-lib https://github.com/bazel-contrib/bazel-lib/blo"
  },
  {
    "path": "build/config/BUILD.bazel",
    "chars": 737,
    "preview": "load(\"@bazel_skylib//rules:common_settings.bzl\", \"string_flag\")\n\n# Similar to --run_under flag to be able to run cross-c"
  },
  {
    "path": "build/deps/BUILD",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "build/deps/build_deps.jsonc",
    "chars": 5176,
    "preview": "{\n  \"$schema\": \"deps.schema.json\",\n  \"repositories\": [\n    // bazel_deps from MODULE.bazel\n    // bazel_lib was formerly"
  },
  {
    "path": "build/deps/dep_pyodide.bzl",
    "chars": 4820,
    "preview": "load(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\", \"http_file\")\nload(\"//:build/python_metadata.bzl\", \""
  },
  {
    "path": "build/deps/deps.jsonc",
    "chars": 4364,
    "preview": "{\n  \"$schema\": \"deps.schema.json\",\n  \"repositories\": [\n    {\n      \"name\": \"ada-url\",\n      \"type\": \"bazel_dep\"\n    },\n "
  },
  {
    "path": "build/deps/deps.schema.json",
    "chars": 6348,
    "preview": "{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"$id\": \"https://example.com/product.schema.json\",\n  \"ti"
  },
  {
    "path": "build/deps/formatters/BUILD",
    "chars": 3299,
    "preview": "load(\"@bazel_skylib//rules:native_binary.bzl\", \"native_binary\")\nload(\"@npm//:prettier/package_json.bzl\", prettier = \"bin"
  },
  {
    "path": "build/deps/formatters/rustfmt.MODULE.bazel",
    "chars": 1734,
    "preview": "# Standalone rustfmt binary + shared libraries, downloaded from static.rust-lang.org.\n# This avoids going through `bazel"
  },
  {
    "path": "build/deps/formatters/rustfmt_repository.bzl",
    "chars": 3935,
    "preview": "\"\"\"\nRepository rule that downloads a standalone rustfmt binary along with the rustc\nshared libraries it depends on.\n\nThi"
  },
  {
    "path": "build/deps/gen/build_deps.MODULE.bazel",
    "chars": 6243,
    "preview": "# WARNING: THIS FILE IS AUTOGENERATED BY update-deps.py DO NOT EDIT\n\nhttp = use_extension(\"@//:build/exts/http.bzl\", \"ht"
  },
  {
    "path": "build/deps/gen/deps.MODULE.bazel",
    "chars": 6002,
    "preview": "# WARNING: THIS FILE IS AUTOGENERATED BY update-deps.py DO NOT EDIT\n\nhttp = use_extension(\"@//:build/exts/http.bzl\", \"ht"
  },
  {
    "path": "build/deps/gen/shared_deps.MODULE.bazel",
    "chars": 4658,
    "preview": "# WARNING: THIS FILE IS AUTOGENERATED BY update-deps.py DO NOT EDIT\n\nhttp = use_extension(\"@//:build/exts/http.bzl\", \"ht"
  },
  {
    "path": "build/deps/nodejs.MODULE.bazel",
    "chars": 1490,
    "preview": "NODE_VERSION = \"22.21.1\"\n\n# ========================================================================================\n# N"
  },
  {
    "path": "build/deps/oci.MODULE.bazel",
    "chars": 921,
    "preview": "# rules_oci and rules_multirun are used to build Docker images\noci = use_extension(\"@rules_oci//oci:extensions.bzl\", \"oc"
  },
  {
    "path": "build/deps/python.MODULE.bazel",
    "chars": 1895,
    "preview": "python = use_extension(\"@rules_python//python/extensions:python.bzl\", \"python\")\npython.toolchain(python_version = \"3.13\""
  },
  {
    "path": "build/deps/requirements.in",
    "chars": 7,
    "preview": "jinja2\n"
  },
  {
    "path": "build/deps/requirements.txt",
    "chars": 5579,
    "preview": "#\n# This file is autogenerated by pip-compile with Python 3.12\n# by the following command:\n#\n#    pip-compile --generate"
  },
  {
    "path": "build/deps/rust.MODULE.bazel",
    "chars": 2541,
    "preview": "RUST_STABLE_VERSION = \"1.91.0\"  # LLVM 21\n\nRUST_NIGHTLY_VERSION = \"nightly/2025-10-30\"\n\n# List of additional triples to "
  },
  {
    "path": "build/deps/shared_deps.jsonc",
    "chars": 3639,
    "preview": "{\n  \"$schema\": \"deps.schema.json\",\n  \"repositories\": [\n    //buildifier\n    // Version is frozen to avoid to keep format"
  },
  {
    "path": "build/deps/update-deps.py",
    "chars": 18993,
    "preview": "#!/usr/bin/python3\n\"\"\"\nUsage: update-deps.py [dep_name]\n\"\"\"\n\nimport base64\nimport datetime\nimport hashlib\nimport io\nimpo"
  },
  {
    "path": "build/deps/v8.MODULE.bazel",
    "chars": 4683,
    "preview": "\"\"\"\nV8 and its dependencies\n\nNote that googlesource does not generate tarballs deterministically, so we cannot use\nhttp_"
  },
  {
    "path": "build/deps/v8.requirements.txt",
    "chars": 6248,
    "preview": "#\n# This file is autogenerated by pip-compile with python 3.9\n# To update, run:\n#\n#    pip-compile --generate-hashes req"
  },
  {
    "path": "build/exts/http.bzl",
    "chars": 3084,
    "preview": "\"\"\"\nA Bazel module extension that wraps the http_archive and http_file repository rules, in order\nto allow the injection"
  },
  {
    "path": "build/fixtures/BUILD.bazel",
    "chars": 30,
    "preview": "exports_files([\"kj_test.sh\"])\n"
  },
  {
    "path": "build/fixtures/kj_test.sh",
    "chars": 140,
    "preview": "#!/bin/bash\nset -euo pipefail\n\nif [ -n \"${COVERAGE_DIR:-}\" ]; then\n    export LLVM_PROFILE_FILE=\"$COVERAGE_DIR/%p-%m.pro"
  },
  {
    "path": "build/google-benchmark/BUILD",
    "chars": 422,
    "preview": "load(\"@rules_cc//cc:cc_library.bzl\", \"cc_library\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncc_library(\n "
  },
  {
    "path": "build/google-benchmark/MODULE.bazel",
    "chars": 256,
    "preview": "module(name = \"google_benchmark\")\n\nbazel_dep(name = \"bazel_skylib\", version = \"1.8.1\")\nbazel_dep(name = \"platforms\", ver"
  },
  {
    "path": "build/http.bzl",
    "chars": 164,
    "preview": "load(\"@bazel_tools//tools/build_defs/repo:http.bzl\", _http_archive = \"http_archive\", _http_file = \"http_file\")\n\nhttp_arc"
  },
  {
    "path": "build/http_proxy_config.bzl",
    "chars": 140,
    "preview": "# A custom proxy URL may be set here. It will be used for all http.file and http.archive\n# dependencies declared via bzl"
  },
  {
    "path": "build/js_capnp_library.bzl",
    "chars": 5455,
    "preview": "\"\"\"\nBazel rule to compile .capnp files into JS/TS using capnp-es.\nBased on https://github.com/capnproto/capnproto/blob/3"
  },
  {
    "path": "build/js_file.bzl",
    "chars": 2862,
    "preview": "\"\"\"\nGive a collection of js files a JsInfo provider so it can be used as a dependency for aspect_rules.\n\"\"\"\n\nload(\"@aspe"
  },
  {
    "path": "build/kj_test.bzl",
    "chars": 2244,
    "preview": "load(\"@rules_cc//cc:cc_binary.bzl\", \"cc_binary\")\nload(\"@rules_shell//shell:sh_test.bzl\", \"sh_test\")\n\ndef kj_test(\n      "
  },
  {
    "path": "build/lint_test.bzl",
    "chars": 951,
    "preview": "load(\"@npm//:eslint/package_json.bzl\", eslint_bin = \"bin\")\n\ndef lint_test(\n        name,\n        eslintrc_json,\n        "
  },
  {
    "path": "build/perfetto/BUILD",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "build/perfetto/MODULE.bazel",
    "chars": 179,
    "preview": "module(name = \"perfetto_cfg\")\n\nbazel_dep(name = \"rules_python\", version = \"1.6.3\")\nbazel_dep(name = \"rules_cc\", version "
  },
  {
    "path": "build/perfetto/perfetto_cfg.bzl",
    "chars": 6921,
    "preview": "# Copyright (C) 2019 The Android Open Source Project\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");"
  },
  {
    "path": "build/python/packages_20240829_4.bzl",
    "chars": 4012,
    "preview": "# This file is automatically generated by the Pyodide build script repo\n# (https://github.com/cloudflare/pyodide-build-s"
  },
  {
    "path": "build/python/packages_20250808.bzl",
    "chars": 6709,
    "preview": "# This file is automatically generated by the Pyodide build script repo\n# (https://github.com/cloudflare/pyodide-build-s"
  },
  {
    "path": "build/python_metadata.bzl",
    "chars": 8390,
    "preview": "# After updating this file, make sure to run \"bazel mod tidy\"\nload(\"@bazel_lib//lib:base64.bzl\", \"base64\")\nload(\"@bazel_"
  },
  {
    "path": "build/run_binary_target.bzl",
    "chars": 1710,
    "preview": "# Workaround for bazel not supporting a shared exec and target configuration, even when they are\n# identical. https://gi"
  },
  {
    "path": "build/rust_lint.bazelrc",
    "chars": 2578,
    "preview": "## rust lint configuration\n\n# turn rust warnings into errors\nbuild:lint --@rules_rust//:extra_rustc_flag=-Dwarnings\n\n\n# "
  },
  {
    "path": "build/tools/clang_tidy/BUILD",
    "chars": 41,
    "preview": "exports_files([\"clang_tidy_wrapper.sh\"])\n"
  },
  {
    "path": "build/tools/clang_tidy/clang_tidy.bazelrc",
    "chars": 345,
    "preview": "# enable clang tidy checks with default configuration\nbuild:clang-tidy --aspects //build/tools/clang_tidy:clang_tidy.bzl"
  },
  {
    "path": "build/tools/clang_tidy/clang_tidy.bzl",
    "chars": 7456,
    "preview": "\"\"\"Clang tidy aspect.\n\nThe aspect, when enabled runs clang_tidy on every compiled c++ file.\n\"\"\"\n\nload(\"@rules_cc//cc:act"
  },
  {
    "path": "build/tools/clang_tidy/clang_tidy_wrapper.sh",
    "chars": 857,
    "preview": "#! /bin/bash\n# simple wrapper script to execute clang-tidy\n\nset -euo pipefail\n\nCLANG_TIDY_BIN=$1\nshift\n\nOUTPUT=$1\nshift\n"
  },
  {
    "path": "build/typescript.bzl",
    "chars": 490,
    "preview": "def module_name(ts_name):\n    if ts_name.endswith(\".ts\"):\n        return ts_name.removesuffix(\".ts\")\n    if ts_name.ends"
  },
  {
    "path": "build/wasm_tools_parse.bzl",
    "chars": 959,
    "preview": "load(\"@bazel_skylib//lib:paths.bzl\", \"paths\")\n\ndef _impl(ctx):\n    in_file = ctx.file.src\n    out_file = ctx.actions.dec"
  },
  {
    "path": "build/wd_capnp_library.bzl",
    "chars": 1413,
    "preview": "load(\"//:build/wd_cc_capnp_library.bzl\", \"wd_cc_capnp_library\")\nload(\"//:build/wd_rust_capnp_library.bzl\", \"wd_rust_capn"
  },
  {
    "path": "build/wd_cc_benchmark.bzl",
    "chars": 1605,
    "preview": "\"\"\"wd_cc_benchmark definition\"\"\"\n\nload(\"@rules_cc//cc:cc_test.bzl\", \"cc_test\")\n\ndef wd_cc_benchmark(\n        name,\n     "
  },
  {
    "path": "build/wd_cc_binary.bzl",
    "chars": 2218,
    "preview": "\"\"\"wd_cc_binary definition\"\"\"\n\nload(\"@rules_cc//cc:cc_binary.bzl\", \"cc_binary\")\n\ndef wd_cc_binary(\n        name,\n       "
  },
  {
    "path": "build/wd_cc_capnp_library.bzl",
    "chars": 621,
    "preview": "\"\"\"wd_cc_capnp_library definition\"\"\"\n\nload(\"@capnp-cpp//src/capnp:cc_capnp_library.bzl\", \"cc_capnp_library\")\n\ndef wd_cc_"
  },
  {
    "path": "build/wd_cc_embed.bzl",
    "chars": 4909,
    "preview": "load(\"@bazel_skylib//rules:write_file.bzl\", \"write_file\")\nload(\"//:build/wd_cc_library.bzl\", \"wd_cc_library\")\n\n# Normali"
  },
  {
    "path": "build/wd_cc_library.bzl",
    "chars": 1262,
    "preview": "\"\"\"wd_cc_library definition\"\"\"\n\nload(\"@rules_cc//cc:cc_library.bzl\", \"cc_library\")\n\ndef wd_cc_library(strip_include_pref"
  },
  {
    "path": "build/wd_js_bundle.bzl",
    "chars": 11270,
    "preview": "load(\"@bazel_skylib//rules:common_settings.bzl\", \"BuildSettingInfo\")\nload(\"@bazel_skylib//rules:copy_file.bzl\", \"copy_fi"
  },
  {
    "path": "build/wd_rust_binary.bzl",
    "chars": 2465,
    "preview": "load(\"@rules_rust//rust:defs.bzl\", \"rust_binary\", \"rust_test\")\nload(\"@workerd//:build/wd_rust_crate.bzl\", \"rust_cxx_brid"
  },
  {
    "path": "build/wd_rust_capnp_library.bzl",
    "chars": 302,
    "preview": "\"\"\"wd_rust_capnp_library definition\"\"\"\n\nload(\"@capnp-cpp//src/capnp:rust_capnp_library.bzl\", \"rust_capnp_library\")\n\ndef "
  },
  {
    "path": "build/wd_rust_crate.bzl",
    "chars": 5422,
    "preview": "load(\"@rules_cc//cc:cc_library.bzl\", \"cc_library\")\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\", \"rust_test\", \"rust"
  },
  {
    "path": "build/wd_rust_proc_macro.bzl",
    "chars": 1561,
    "preview": "load(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\", \"rust_test\")\n\ndef wd_rust_proc_macro(\n        name,\n        deps ="
  },
  {
    "path": "build/wd_test.bzl",
    "chars": 14438,
    "preview": "load(\"@aspect_rules_ts//ts:defs.bzl\", \"ts_config\", \"ts_project\")\n\ndef wd_test(\n        src,\n        data = [],\n        n"
  },
  {
    "path": "build/wd_ts_bundle.bzl",
    "chars": 3411,
    "preview": "load(\"@aspect_rules_ts//ts:defs.bzl\", \"ts_config\", \"ts_project\")\nload(\"@workerd//:build/lint_test.bzl\", \"lint_test\")\nloa"
  },
  {
    "path": "build/wd_ts_project.bzl",
    "chars": 906,
    "preview": "load(\"@aspect_rules_ts//ts:defs.bzl\", \"ts_config\", \"ts_project\")\nload(\"@workerd//:build/lint_test.bzl\", \"lint_test\")\n\nde"
  },
  {
    "path": "build/wd_ts_test.bzl",
    "chars": 759,
    "preview": "load(\"@aspect_rules_js//js:defs.bzl\", \"js_test\")\nload(\"//:build/typescript.bzl\", \"js_name\", \"module_name\")\nload(\"//:buil"
  },
  {
    "path": "build/wd_ts_type_test.bzl",
    "chars": 829,
    "preview": "load(\"@npm//:typescript/package_json.bzl\", tsc_bin = \"bin\")\nload(\"//:build/typescript.bzl\", \"module_name\")\n\ndef wd_ts_ty"
  },
  {
    "path": "build/workerd-v8/BUILD",
    "chars": 252,
    "preview": "load(\"@rules_cc//cc:cc_library.bzl\", \"cc_library\")\n\ncc_library(\n    name = \"v8\",\n    defines = [\"WORKERD_ICU_DATA_EMBED\""
  },
  {
    "path": "build/workerd-v8/MODULE.bazel",
    "chars": 241,
    "preview": "\"shim to make a cc_library appear as a top-level repository\"\n\nmodule(name = \"workerd-v8\")\n\nbazel_dep(name = \"workerd\")\nl"
  },
  {
    "path": "build/wpt_get_directories.bzl",
    "chars": 260,
    "preview": "def wpt_all_dirs():\n    always_exclude = [\n        \".*/**\",  # dotfiles\n        \"tools/**\",  # backend\n    ]\n    files ="
  },
  {
    "path": "build/wpt_test.bzl",
    "chars": 22458,
    "preview": "# Copyright (c) 2017-2022 Cloudflare, Inc.\n# Licensed under the Apache 2.0 license found in the LICENSE file or at:\n#   "
  },
  {
    "path": "build-releases.sh",
    "chars": 1056,
    "preview": "#! /bin/bash\nset -euo pipefail\n\nif [[ $(uname -m) == 'x86_64' ]]; then\n  echo \"This _must_ be run on an Apple Silicon ma"
  },
  {
    "path": "codecov.yml",
    "chars": 428,
    "preview": "codecov:\n  # Should Codecov wait for all other statuses to pass before sending its status.\n  require_ci_to_pass: true\n\nc"
  },
  {
    "path": "compile_flags.txt",
    "chars": 6006,
    "preview": "-std=c++23\n-stdlib=libc++\n-xc++\n-nostdinc\n-Ibazel-bin/external/+new_local_repository+com_cloudflare_lol_html/_virtual_in"
  },
  {
    "path": "deps/rust/BUILD.bazel",
    "chars": 3249,
    "preview": "load(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@bazel_skylib//rules:write_file.bzl\", \"write_file\")\nload(\"@rules"
  },
  {
    "path": "deps/rust/BUILD.lolhtml",
    "chars": 298,
    "preview": "load(\"@rules_cc//cc:cc_library.bzl\", \"cc_library\")\n\ncc_library(\n    name = \"lolhtml\",\n    hdrs = [\"@crates_vendor//:lol_"
  },
  {
    "path": "deps/rust/cargo.bzl",
    "chars": 2087,
    "preview": "\"\"\"workerd rust crate dependencies analogous to Cargo.toml file.\n\"\"\"\n\nload(\"@rules_rust//crate_universe:defs.bzl\", \"crat"
  },
  {
    "path": "deps/rust/crates/BUILD.ada-url-3.4.2.bazel",
    "chars": 2689,
    "preview": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file "
  },
  {
    "path": "deps/rust/crates/BUILD.adler2-2.0.1.bazel",
    "chars": 1104,
    "preview": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file "
  },
  {
    "path": "deps/rust/crates/BUILD.ahash-0.8.12.bazel",
    "chars": 3589,
    "preview": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file "
  },
  {
    "path": "deps/rust/crates/BUILD.aho-corasick-1.1.4.bazel",
    "chars": 1273,
    "preview": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file "
  },
  {
    "path": "deps/rust/crates/BUILD.allocator-api2-0.2.21.bazel",
    "chars": 1202,
    "preview": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file "
  },
  {
    "path": "deps/rust/crates/BUILD.anstyle-1.0.14.bazel",
    "chars": 1171,
    "preview": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file "
  },
  {
    "path": "deps/rust/crates/BUILD.anyhow-1.0.102.bazel",
    "chars": 2525,
    "preview": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file "
  },
  {
    "path": "deps/rust/crates/BUILD.ascii-1.1.0.bazel",
    "chars": 1183,
    "preview": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file "
  },
  {
    "path": "deps/rust/crates/BUILD.ast_node-5.0.0.bazel",
    "chars": 1298,
    "preview": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file "
  }
]

// ... and 2226 more files (download for full content)

About this extraction

This page contains the full source code of the cloudflare/workerd GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2426 files (19.2 MB), approximately 5.2M tokens, and a symbol index with 13002 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!