@ariestools/sdk
All-in-one umbrella for the Aries Tools TypeScript/JavaScript utility libraries.
Import the whole SDK:
import { fetchJson } from '@ariestools/sdk'
…or a single slice via a subpath export (tree-shaking-friendly — you only pay for what
you import):
import { fetchJson } from '@ariestools/sdk/fetch'
import { assertEx } from '@ariestools/sdk/assert'
import type { ApiConfig } from '@ariestools/sdk/api/model'
Monolithic layout
All barreled library code lives in a single source tree under src/modules/. Cross-module
imports use package.json imports aliases (for example #zod, #api, #fetch). Top-level
src/*.ts files are compile entry shims that produce the published subpath exports in dist/.
Tests live under src/spec/ only (not inside src/modules/).
Module membership, import aliases, build entries, and shims are declared in xy.config.ts as
sdkModules (intended to become first-class @ariestools/toolchain support). Generated files are
synced by scripts/sync-sdk-layout.mjs (runs automatically before compile). After editing
sdkModules, build or sync explicitly:
pnpm xy build @ariestools/sdk
Runtime notes:
async-mutex is a direct dependency.
zod is an optional peer (only if you use zod helpers).
@opentelemetry/api is a required peer while telemetry is still re-exported
from this package. Prefer @ariestools/telemetry for new code; the
@ariestools/sdk / @ariestools/sdk/telemetry re-exports are deprecated
and will be removed from the main barrel in a future major release.
Specialist packages (@ariestools/express, @ariestools/telemetry,
@ariestools/threads, etc.) remain separate installs.