Package Entrypoints
Duclaw SDK exposes three public package entrypoints.
duclaw-cli/sdk
Use this entrypoint for generic SDK integration.
import { createAgent, memoryStorage, tool, type LLMClient, type Storage } from "duclaw-cli/sdk";It exports the friendly agent facade, tool builder, model helper, memory storage, and public types without CLI or server startup side effects.
duclaw-cli/sdk/core
Use this entrypoint for low-level runtime composition.
import { createCoreAgent, createToolRegistry, createRuntimeEventBus } from "duclaw-cli/sdk/core";This subpath contains core contracts, registries, runtime event primitives, channel contracts, and storage factories for applications that assemble their own runtime.
duclaw-cli/sdk/duclaw
Use this entrypoint only when you want Duclaw's product composition.
import { duclawPreset } from "duclaw-cli/sdk/duclaw";This subpath includes the duclawPreset() adapter for callers that explicitly want Duclaw product defaults.
Some lower-level Duclaw composition helpers remain exported for one compatibility window, but new integrations should start with duclawPreset().
Boundary Rule
Generic integrations should depend on duclaw-cli/sdk.
Runtime authors may opt into duclaw-cli/sdk/core when they need low-level composition.
Application or product layers may opt into duclaw-cli/sdk/duclaw when they intentionally want Duclaw defaults.