134 lines
4.1 KiB
Plaintext
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.
|