mirror of
https://github.com/cline/cline.git
synced 2026-09-19 10:13:34 +08:00
* fix(plugin-sandbox): expose CLINE_PLUGIN_IMPORT_TIMEOUT_MS env override The hardcoded 4000 ms importTimeoutMs default is too tight on Windows cold-start; the plugin-sandbox tests already use 30_000 ms for the same reason. This patch lets hosts raise the ceiling via env var without touching code or adding a CLI flag, with explicit options.importTimeoutMs still taking precedence. Precedence: options.importTimeoutMs > env var > 4000. Refs: #11065 * fix(plugin-sandbox): tighten env parsing + use vi.stubEnv (PR feedback) - Number.parseInt accepts trailing garbage ("4000ms" -> 4000); switch to Number() + Number.isInteger() so malformed env values fall back to the default instead of silently consuming the numeric prefix. - Replace manual process.env save/restore in the regression test with the idiomatic vi.stubEnv() / vi.unstubAllEnvs() pattern. Per Greptile review on #11084.
Packages Overview
This directory is the single documentation source for package-level responsibilities.
- High-level package roles: this file (
packages/README.md) - Package interaction and runtime flows:
ARCHITECTURE.md
Package Responsibilities
| Package | Primary responsibility | Typical consumers | Internal deps |
|---|---|---|---|
@cline/shared |
Cross-package shared primitives (path resolution, session common types, indexing helpers) | @cline/agents, @cline/core, apps |
None |
@cline/llms |
Model catalog + provider settings schema + handler creation SDK | @cline/agents, @cline/core, apps |
None |
@cline/agents |
Stateless agent runtime loop (tools, hooks, extensions, teams, streaming) | @cline/core, apps |
@cline/llms, @cline/shared |
@cline/core |
Stateful runtime orchestration (runtime composition, session lifecycle/storage, local and hub runtime services, hub discovery and client helpers) | CLI/Desktop apps | @cline/agents, @cline/llms, @cline/shared |
How Packages Work Together
@cline/llmsdefines model/provider capabilities and builds concrete handlers.@cline/agentsruns the agent loop on top of those handlers and tool execution primitives.@cline/corecomposes runtime behavior with persistent sessions/storage and local or hub-backed runtime services.@cline/corehub services orchestrate scheduled runtime execution, execution history, and schedule command handling.@cline/core/hubexposes discovery, the detached hub daemon, and session-oriented client APIs (HubSessionClient,HubUIClient) when hosts need a shared daemon.@cline/sharedprovides the shared contracts and path/session primitives used across the stack.
Practical Boundary Rules
- Put provider/model schema, cataloging, and handler wiring in
@cline/llms. - Put loop/tool/hook/team execution behavior in
@cline/agents. - Put persistence, session lifecycle, and runtime assembly in
@cline/core. - Put scheduled execution and schedule persistence in
@cline/corehub services. - Put hub discovery, attach flows, and session-oriented client adapters in
@cline/core/hub. - Put cross-package utility types and path/session constants in
@cline/shared. - Put remote-config schemas, materialization, telemetry normalization, and blob upload primitives in
@cline/shared/remote-config.
Runtime Entry Points
- Node-oriented imports exist where packages expose a distinct Node alias.
@cline/coreitself is now the Node/runtime-oriented entry point for host/session services.- Browser entry points still exist in packages that intentionally publish a browser surface, but
@cline/coreno longer does.
Notes for Doc Consolidation
Nested package README.md and ARCHITECTURE.md files can be reduced or removed after references are updated to point here.