Browser dependency inventory

These are the JavaScript and CSS files shipped to the learner browser. Generation starts from locked package inputs. It then records the emitted bytes and every runtime source reference.

Course home
All listed assets come from the static course origin; course pages never fetch executable packages from a public package CDN at runtime.
Loading inventory

How the browser file is assembled

The course needs a few LangChain APIs, but their published files refer to other packages by name and some use Node-style modules. A static browser cannot resolve that layout on its own.

The course chooses features

One small entry file imports the five APIs used by the exercises.

The lock chooses exact packages

The npm lock fixes every package version and registry integrity value, including indirect requirements.

esbuild follows the imports

esbuild resolves the reachable npm graph and combines it into one browser ESM file. This project does not minify that file.

The inventory records the result

The tables below record the npm packages, copied utilities already inside LangChain, full licenses, output hashes, and dependency links.

Why p-timeout appears here

@langchain/core and langsmith require p-queue. That package requires p-timeout, which requires p-finally. The table records the full dependency chain even when a file has no special legal comment.

Preserved comments are not a package list

Some source authors mark comments with forms such as /*! or @license. Because the build uses esbuild's legalComments: "external" setting, esbuild moves those marked comments into .LEGAL.txt. Ordinary dependencies can have no such comment, and embedded copied code can have a comment without being a separate npm package.

npm packages included in the course

“Selected by this project” means the course requested the package. “Required by” names the included package that brought an indirect dependency into the browser file. Each license link opens the complete license text shipped with this course version.

PackageVersionWhy includedLicensePurpose

Utility code already copied into LangChain

The rows below describe utility sources already present in @langchain/core 1.1.48. The course receives them through that pinned package, and esbuild includes only the portions reached by course imports. No separate npm install occurs. When LangChain omits an original upstream release number, this inventory records that uncertainty instead of guessing.

Embedded componentRecorded versionLicenseUsed forExact source evidence

Delivered assets

SHA-256 binds each committed browser asset. Reference counts cover canonical pages plus pt-BR and es-ES runtime source.

AssetSizePackagesSource refsSHA-256

Reproduction boundary

The exact npm inputs live in scripts/browser-vendor/package.json and package-lock.json. Embedded-source evidence is pinned to the official @langchain/core@1.1.48 tag and commit. CI regenerates the browser file, rejects an unmapped legal-comment section, verifies every license and hash, and checks that the dependency graph and CycloneDX inventory agree. Package-CDN URLs are rejected in student runtime code.