Files
2026-07-13 12:52:40 +08:00

134 lines
4.1 KiB
Plaintext

---
title: "Packages"
sidebarTitle: "Packages"
description: "How SDK packages fit together, what each package exports, and where boundaries are enforced."
---
The SDK is split into layered packages. Dependencies flow downward: `core` depends on `agents`, `llms`, and `shared`; `agents` depends on `llms` and `shared`; `llms` depends on `shared`.
## Package Stack
```txt
Your application / CLI / VS Code / JetBrains
@cline/core
Sessions, storage, built-in tools, hub, automation, telemetry
├── @cline/agents
│ Browser-compatible AgentRuntime / Agent loop
├── @cline/llms
│ Provider handlers, gateway, model catalogs
└── @cline/shared
Types, schemas, tools, hooks, extension contracts
```
## Packages
### @cline/core
Node runtime/orchestration layer.
Key exports include:
| Export | Description |
|--------|-------------|
| `ClineCore` | Main runtime entry point |
| `ClineCoreOptions` | Constructor options |
| `ClineCoreStartInput` | Session start input |
| `CoreSessionConfig` | Session configuration |
| `SessionRecord` | Persisted session metadata |
| `AgentPlugin` | Public plugin type |
| `createTool` | Re-export from shared |
Capabilities include:
- local/hub/remote runtime backends
- session manifests and message artifacts
- built-in tools
- tool approvals
- automation/scheduling services
- telemetry hooks
- plugin/extension loading
- team/sub-agent tools
Depends on: `@cline/shared`, `@cline/llms`, `@cline/agents`.
### @cline/agents
Browser-compatible agent execution loop.
Key exports include:
| Export | Description |
|--------|-------------|
| `AgentRuntime` | Core runtime class |
| `Agent` | Alias for `AgentRuntime` |
| `createAgentRuntime`, `createAgent` | Factory functions |
| `AgentRuntimeConfig` | Constructor config union |
| `AgentRunInput`, `AgentEventListener` | Runtime helper types |
| `createTool` | Re-export from `@cline/shared` |
Methods on `AgentRuntime` include `run`, `continue`, `abort`, `subscribe`, `restore`, and `snapshot`.
Depends on: `@cline/shared`, `@cline/llms`.
### @cline/llms
Provider and model layer.
Key exports include:
| Export | Description |
|--------|-------------|
| `DefaultGateway`, `createGateway` | Gateway for creating provider-backed agent models |
| `createHandler`, `createHandlerAsync` | Provider handler factories |
| `getAllProviders`, `getProviderIds`, `getModelsForProvider` | Catalog helpers |
| `registerProvider`, `registerModel` | Runtime registry extension |
| `ModelInfo`, `ProviderInfo` | Provider/model metadata |
Depends on: `@cline/shared`.
### @cline/shared
Foundation package for shared contracts and utilities.
Key exports include:
| Export | Description |
|--------|-------------|
| `createTool` | Helper for creating typed tools |
| `AgentTool`, `AgentToolContext`, `ToolPolicy` | Tool interfaces |
| `AgentEvent`, `AgentResult`, `AgentConfig` | Host-facing agent types |
| `AgentRuntimeEvent`, `AgentRunResult` | Runtime-facing agent types |
| `HookEngine`, `HookStage`, `HookPolicies` | Hook contracts and engine |
| `ContributionRegistry`, `AgentExtensionApi` | Extension registration contracts |
| `ModelInfo`, `Message`, `ContentBlock` | Model/message types |
| `BasicLogger`, `noopBasicLogger` | Logging contracts |
No higher-layer dependencies.
## Install
```bash
npm install @cline/sdk
```
`@cline/sdk` re-exports everything from `@cline/core`. Install `@cline/agents` or `@cline/llms` directly only if you need lower-level control.
## Design Principles
### Strict dependency direction
Dependencies flow downward only. Lower layers stay embeddable without pulling in the full runtime.
### Browser-compatible agent loop
`@cline/agents` exposes a browser-compatible runtime. It does not own session storage, built-in file/shell tools, hub transports, or Node-specific orchestration.
### Core as orchestration layer
`@cline/core` owns Node runtime integration: session persistence, built-in tools, automation, hub/remote transports, telemetry, and extension loading.