Architecture

First, the path of one call through the layers, recorded from the real code. Then the map of the 33 packages that hold those layers.

The journey of one call

One streaming call, shop.receipt, through the real client, middlewares, transport, server and interceptors. The page runs them in a worker and records each step when it happens. The handler makes two nested calls, then yields three items, and each item goes back up through every layer.

HttpTransport sends a POST request. The server answers a stream as NDJSON, one line for each item.

AppRetryTimeoutTransportWireServerInterceptorsValidationHandlerNested calls

App

The stream ends. The app has 3 items.

The code that makes the call and reads the items.

The app has

  1. Item 1: 2.50
  2. Item 2: 5.50
  3. Total with tax: 10.00
The steps as text

The packages

The 33 packages of the workspace and their dependencies, generated from each package.json. A column is a level: a package uses only packages to its left. Point at a package, or move the focus to it with Tab, to see its dependencies. Click it or press Enter for the details. The list under the map gives the same data as text.

CoreProcedure package or libraryBundleApp or toolUsesUsed by
The packages as a list, by level

Level 0

Level 1

Level 2

  • client-cli Procedure package, uses client, client-shell
  • client-cue Procedure package, uses client, client-fs, client-shell
  • client-docker Procedure package, uses client, client-shell
  • client-git Procedure package, uses client, client-shell
  • client-mcp Procedure package, uses client, mcp
  • client-node Procedure package, uses client, client-shell
  • client-pnpm Procedure package, uses client, client-shell
  • client-vite Procedure package, uses client, client-shell
  • client-vitest Procedure package, uses client, client-shell
  • server App or tool, uses client, client-server

Level 3

  • client-lib Procedure package, uses client, client-dag, client-fs, client-git, client-pnpm, client-shell
  • client-snapshot Procedure package, uses client, client-fs, client-git, client-pnpm, client-s3, client-shell

Level 4

  • bundle-dev Bundle, uses client, client-cli, client-dag, client-fs, client-git, client-lib, client-pnpm, client-procedure, client-shell
  • bundle-mcp Bundle, uses client, client-cue, client-docker, client-lib, client-mongo, client-procedure, client-sqlite, client-vitest

Level 5

  • impl-mcp-dev App or tool, uses bundle-mcp, client, client-mcp

Level 6

  • mark App or tool, uses bundle-dev, bundle-mcp, client, client-cli, client-cue, client-docker, client-fs, client-git, client-lib, client-mongo, client-node, client-pnpm, client-procedure, client-s3, client-server, client-shell, client-snapshot, client-splay, client-sqlite, client-store, client-vite, client-vitest, impl-mcp-dev, server