@cline/core 0.0.38-nightly.1778113663

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/README.md +108 -0
  2. package/dist/ClineCore.d.ts +282 -0
  3. package/dist/account/cline-account-service.d.ts +37 -0
  4. package/dist/account/index.d.ts +3 -0
  5. package/dist/account/rpc.d.ts +40 -0
  6. package/dist/account/types.d.ts +98 -0
  7. package/dist/auth/bounded-ttl-cache.d.ts +13 -0
  8. package/dist/auth/client.d.ts +30 -0
  9. package/dist/auth/cline.d.ts +64 -0
  10. package/dist/auth/codex.d.ts +43 -0
  11. package/dist/auth/oca.d.ts +28 -0
  12. package/dist/auth/server.d.ts +54 -0
  13. package/dist/auth/types.d.ts +103 -0
  14. package/dist/auth/utils.d.ts +32 -0
  15. package/dist/cline-core/automation.d.ts +34 -0
  16. package/dist/cline-core/runtime-services.d.ts +5 -0
  17. package/dist/cline-core/start-input.d.ts +10 -0
  18. package/dist/cline-core/telemetry.d.ts +10 -0
  19. package/dist/cline-core/types.d.ts +221 -0
  20. package/dist/cron/events/cron-event-ingress.d.ts +37 -0
  21. package/dist/cron/reports/cron-report-writer.d.ts +40 -0
  22. package/dist/cron/runner/cron-materializer.d.ts +35 -0
  23. package/dist/cron/runner/cron-runner.d.ts +45 -0
  24. package/dist/cron/runner/resource-limiter.d.ts +8 -0
  25. package/dist/cron/schedule/scheduler.d.ts +12 -0
  26. package/dist/cron/service/cron-service.d.ts +56 -0
  27. package/dist/cron/service/schedule-command-service.d.ts +9 -0
  28. package/dist/cron/service/schedule-service.d.ts +98 -0
  29. package/dist/cron/specs/cron-reconciler.d.ts +61 -0
  30. package/dist/cron/specs/cron-spec-parser.d.ts +26 -0
  31. package/dist/cron/specs/cron-watcher.d.ts +22 -0
  32. package/dist/cron/store/cron-schema.d.ts +2 -0
  33. package/dist/cron/store/sqlite-cron-store.d.ts +240 -0
  34. package/dist/extensions/config/index.d.ts +7 -0
  35. package/dist/extensions/config/runtime-commands.d.ts +11 -0
  36. package/dist/extensions/config/skill-frontmatter-toggle.d.ts +11 -0
  37. package/dist/extensions/config/unified-config-file-watcher.d.ts +77 -0
  38. package/dist/extensions/config/user-instruction-config-loader.d.ts +64 -0
  39. package/dist/extensions/config/user-instruction-plugin.d.ts +25 -0
  40. package/dist/extensions/config/user-instruction-service.d.ts +23 -0
  41. package/dist/extensions/context/agentic-compaction.d.ts +12 -0
  42. package/dist/extensions/context/basic-compaction.d.ts +8 -0
  43. package/dist/extensions/context/compaction-shared.d.ts +60 -0
  44. package/dist/extensions/context/compaction.d.ts +24 -0
  45. package/dist/extensions/index.d.ts +5 -0
  46. package/dist/extensions/mcp/client.d.ts +2 -0
  47. package/dist/extensions/mcp/config-loader.d.ts +15 -0
  48. package/dist/extensions/mcp/index.d.ts +8 -0
  49. package/dist/extensions/mcp/manager.d.ts +23 -0
  50. package/dist/extensions/mcp/name-transform.d.ts +2 -0
  51. package/dist/extensions/mcp/policies.d.ts +14 -0
  52. package/dist/extensions/mcp/tools.d.ts +3 -0
  53. package/dist/extensions/mcp/types.d.ts +94 -0
  54. package/dist/extensions/plugin/plugin-config-loader.d.ts +40 -0
  55. package/dist/extensions/plugin/plugin-load-report.d.ts +18 -0
  56. package/dist/extensions/plugin/plugin-loader.d.ts +22 -0
  57. package/dist/extensions/plugin/plugin-module-import.d.ts +4 -0
  58. package/dist/extensions/plugin/plugin-sandbox.d.ts +36 -0
  59. package/dist/extensions/plugin/plugin-targeting.d.ts +6 -0
  60. package/dist/extensions/plugin-sandbox-bootstrap.js +1 -0
  61. package/dist/extensions/tools/constants.d.ts +24 -0
  62. package/dist/extensions/tools/definitions.d.ts +102 -0
  63. package/dist/extensions/tools/executors/apply-patch-parser.d.ts +68 -0
  64. package/dist/extensions/tools/executors/apply-patch.d.ts +28 -0
  65. package/dist/extensions/tools/executors/bash.d.ts +49 -0
  66. package/dist/extensions/tools/executors/editor.d.ts +31 -0
  67. package/dist/extensions/tools/executors/file-read.d.ts +40 -0
  68. package/dist/extensions/tools/executors/index.d.ts +50 -0
  69. package/dist/extensions/tools/executors/search.d.ts +50 -0
  70. package/dist/extensions/tools/executors/web-fetch.d.ts +58 -0
  71. package/dist/extensions/tools/helpers.d.ts +15 -0
  72. package/dist/extensions/tools/index.d.ts +59 -0
  73. package/dist/extensions/tools/model-tool-routing.d.ts +33 -0
  74. package/dist/extensions/tools/presets.d.ts +132 -0
  75. package/dist/extensions/tools/runtime.d.ts +24 -0
  76. package/dist/extensions/tools/schemas.d.ts +241 -0
  77. package/dist/extensions/tools/team/delegated-agent.d.ts +43 -0
  78. package/dist/extensions/tools/team/index.d.ts +2 -0
  79. package/dist/extensions/tools/team/multi-agent.d.ts +230 -0
  80. package/dist/extensions/tools/team/projections.d.ts +8 -0
  81. package/dist/extensions/tools/team/runtime.d.ts +4 -0
  82. package/dist/extensions/tools/team/spawn-agent-tool.d.ts +83 -0
  83. package/dist/extensions/tools/team/subagent-prompts.d.ts +3 -0
  84. package/dist/extensions/tools/team/team-tools.d.ts +35 -0
  85. package/dist/extensions/tools/types.d.ts +254 -0
  86. package/dist/hooks/checkpoint-hooks.d.ts +45 -0
  87. package/dist/hooks/hook-extension.d.ts +2 -0
  88. package/dist/hooks/hook-file-config.d.ts +24 -0
  89. package/dist/hooks/hook-file-hooks.d.ts +21 -0
  90. package/dist/hooks/index.d.ts +5 -0
  91. package/dist/hooks/subprocess-runner.d.ts +21 -0
  92. package/dist/hooks/subprocess.d.ts +68 -0
  93. package/dist/hub/client/connect.d.ts +14 -0
  94. package/dist/hub/client/index.d.ts +88 -0
  95. package/dist/hub/client/session-client.d.ts +118 -0
  96. package/dist/hub/client/ui-client.d.ts +45 -0
  97. package/dist/hub/daemon/entry.d.ts +1 -0
  98. package/dist/hub/daemon/entry.js +720 -0
  99. package/dist/hub/daemon/index.d.ts +8 -0
  100. package/dist/hub/daemon/runtime-handlers.d.ts +12 -0
  101. package/dist/hub/daemon/start-shared-server.d.ts +18 -0
  102. package/dist/hub/discovery/defaults.d.ts +16 -0
  103. package/dist/hub/discovery/index.d.ts +30 -0
  104. package/dist/hub/discovery/workspace.d.ts +3 -0
  105. package/dist/hub/index.d.ts +32 -0
  106. package/dist/hub/index.js +717 -0
  107. package/dist/hub/runtime-host/hub-runtime-host.d.ts +73 -0
  108. package/dist/hub/runtime-host/remote-runtime-host.d.ts +9 -0
  109. package/dist/hub/server/browser-websocket.d.ts +17 -0
  110. package/dist/hub/server/command-transport.d.ts +7 -0
  111. package/dist/hub/server/handlers/approval-handlers.d.ts +17 -0
  112. package/dist/hub/server/handlers/capability-handlers.d.ts +12 -0
  113. package/dist/hub/server/handlers/client-handlers.d.ts +6 -0
  114. package/dist/hub/server/handlers/context.d.ts +56 -0
  115. package/dist/hub/server/handlers/run-handlers.d.ts +5 -0
  116. package/dist/hub/server/handlers/session-event-projector.d.ts +7 -0
  117. package/dist/hub/server/handlers/session-handlers.d.ts +20 -0
  118. package/dist/hub/server/hub-client-contributions.d.ts +19 -0
  119. package/dist/hub/server/hub-notifications.d.ts +7 -0
  120. package/dist/hub/server/hub-schedule-events.d.ts +2 -0
  121. package/dist/hub/server/hub-server-logging.d.ts +2 -0
  122. package/dist/hub/server/hub-server-options.d.ts +55 -0
  123. package/dist/hub/server/hub-server-transport.d.ts +34 -0
  124. package/dist/hub/server/hub-session-records.d.ts +8 -0
  125. package/dist/hub/server/hub-websocket-server.d.ts +6 -0
  126. package/dist/hub/server/index.d.ts +4 -0
  127. package/dist/hub/server/native-transport.d.ts +16 -0
  128. package/dist/index.d.ts +102 -0
  129. package/dist/index.js +715 -0
  130. package/dist/runtime/capabilities/index.d.ts +2 -0
  131. package/dist/runtime/capabilities/normalize-runtime-capabilities.d.ts +2 -0
  132. package/dist/runtime/capabilities/runtime-capabilities.d.ts +6 -0
  133. package/dist/runtime/config/agent-message-codec.d.ts +6 -0
  134. package/dist/runtime/config/agent-runtime-config-builder.d.ts +87 -0
  135. package/dist/runtime/host/history.d.ts +18 -0
  136. package/dist/runtime/host/host.d.ts +7 -0
  137. package/dist/runtime/host/local/agent-event-bridge.d.ts +29 -0
  138. package/dist/runtime/host/local/session-record.d.ts +6 -0
  139. package/dist/runtime/host/local/session-service-invoker.d.ts +4 -0
  140. package/dist/runtime/host/local/spawn-tool.d.ts +15 -0
  141. package/dist/runtime/host/local/user-files.d.ts +1 -0
  142. package/dist/runtime/host/local-runtime-host.d.ts +119 -0
  143. package/dist/runtime/host/runtime-host-support.d.ts +20 -0
  144. package/dist/runtime/host/runtime-host.d.ts +163 -0
  145. package/dist/runtime/orchestration/runtime-builder.d.ts +6 -0
  146. package/dist/runtime/orchestration/runtime-event-adapter.d.ts +101 -0
  147. package/dist/runtime/orchestration/runtime-oauth-token-manager.d.ts +30 -0
  148. package/dist/runtime/orchestration/session-runtime-orchestrator.d.ts +218 -0
  149. package/dist/runtime/orchestration/session-runtime.d.ts +58 -0
  150. package/dist/runtime/orchestration/user-input-builder.d.ts +15 -0
  151. package/dist/runtime/safety/loop-detection.d.ts +58 -0
  152. package/dist/runtime/safety/mistake-tracker.d.ts +68 -0
  153. package/dist/runtime/safety/rules.d.ts +6 -0
  154. package/dist/runtime/tools/subprocess-sandbox.d.ts +43 -0
  155. package/dist/runtime/tools/tool-approval.d.ts +9 -0
  156. package/dist/runtime/turn-queue/pending-prompt-service.d.ts +64 -0
  157. package/dist/services/agent-events.d.ts +33 -0
  158. package/dist/services/config.d.ts +2 -0
  159. package/dist/services/global-settings.d.ts +34 -0
  160. package/dist/services/llms/cline-recommended-models.d.ts +19 -0
  161. package/dist/services/llms/configured-provider-registry.d.ts +27 -0
  162. package/dist/services/llms/handler-factory.d.ts +3 -0
  163. package/dist/services/llms/provider-defaults.d.ts +28 -0
  164. package/dist/services/llms/provider-settings.d.ts +247 -0
  165. package/dist/services/llms/runtime-config.d.ts +3 -0
  166. package/dist/services/llms/runtime-registry.d.ts +19 -0
  167. package/dist/services/llms/runtime-types.d.ts +84 -0
  168. package/dist/services/local-runtime-bootstrap.d.ts +45 -0
  169. package/dist/services/plugin-tools.d.ts +15 -0
  170. package/dist/services/providers/local-provider-registry.d.ts +218 -0
  171. package/dist/services/providers/local-provider-service.d.ts +99 -0
  172. package/dist/services/providers/model-source.d.ts +3 -0
  173. package/dist/services/session-artifacts.d.ts +17 -0
  174. package/dist/services/session-data.d.ts +51 -0
  175. package/dist/services/session-telemetry.d.ts +15 -0
  176. package/dist/services/storage/file-team-store.d.ts +28 -0
  177. package/dist/services/storage/provider-settings-legacy-migration.d.ts +38 -0
  178. package/dist/services/storage/provider-settings-manager.d.ts +23 -0
  179. package/dist/services/storage/sqlite-session-store.d.ts +30 -0
  180. package/dist/services/storage/sqlite-team-store.d.ts +34 -0
  181. package/dist/services/storage/team-store.d.ts +15 -0
  182. package/dist/services/telemetry/ITelemetryAdapter.d.ts +54 -0
  183. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts +43 -0
  184. package/dist/services/telemetry/OpenTelemetryProvider.d.ts +83 -0
  185. package/dist/services/telemetry/TelemetryLoggerSink.d.ts +27 -0
  186. package/dist/services/telemetry/TelemetryService.d.ts +34 -0
  187. package/dist/services/telemetry/core-events.d.ts +198 -0
  188. package/dist/services/telemetry/distinct-id.d.ts +1 -0
  189. package/dist/services/telemetry/index.d.ts +3 -0
  190. package/dist/services/telemetry/index.js +1 -0
  191. package/dist/services/usage.d.ts +18 -0
  192. package/dist/services/workspace/file-indexer.d.ts +5 -0
  193. package/dist/services/workspace/index.d.ts +4 -0
  194. package/dist/services/workspace/mention-enricher.d.ts +13 -0
  195. package/dist/services/workspace/workspace-manager.d.ts +27 -0
  196. package/dist/services/workspace/workspace-manifest.d.ts +31 -0
  197. package/dist/services/workspace/workspace-telemetry.d.ts +18 -0
  198. package/dist/session/checkpoint-restore.d.ts +20 -0
  199. package/dist/session/models/session-graph.d.ts +15 -0
  200. package/dist/session/models/session-manifest.d.ts +29 -0
  201. package/dist/session/models/session-row.d.ts +92 -0
  202. package/dist/session/services/file-session-service.d.ts +8 -0
  203. package/dist/session/services/message-builder.d.ts +66 -0
  204. package/dist/session/services/persistence-service.d.ts +58 -0
  205. package/dist/session/services/session-service.d.ts +13 -0
  206. package/dist/session/session-snapshot.d.ts +57 -0
  207. package/dist/session/session-versioning-service.d.ts +48 -0
  208. package/dist/session/stores/conversation-store.d.ts +29 -0
  209. package/dist/session/stores/session-manifest-store.d.ts +21 -0
  210. package/dist/session/stores/team-persistence-store.d.ts +23 -0
  211. package/dist/session/team/index.d.ts +2 -0
  212. package/dist/session/team/team-child-session-manager.d.ts +35 -0
  213. package/dist/session/team/team-session-coordinator.d.ts +13 -0
  214. package/dist/settings/index.d.ts +2 -0
  215. package/dist/settings/settings-service.d.ts +6 -0
  216. package/dist/settings/types.d.ts +42 -0
  217. package/dist/types/chat-schema.d.ts +161 -0
  218. package/dist/types/common.d.ts +19 -0
  219. package/dist/types/config.d.ts +167 -0
  220. package/dist/types/events.d.ts +89 -0
  221. package/dist/types/provider-settings.d.ts +19 -0
  222. package/dist/types/session.d.ts +116 -0
  223. package/dist/types/sessions.d.ts +28 -0
  224. package/dist/types/storage.d.ts +36 -0
  225. package/dist/types.d.ts +32 -0
  226. package/dist/version.d.ts +1 -0
  227. package/package.json +83 -0
@@ -0,0 +1,58 @@
1
+ import type * as LlmsProviders from "@cline/llms";
2
+ import type { AgentResult } from "@cline/shared";
3
+ import type { SubAgentEndContext, SubAgentStartContext } from "../../extensions/tools/team";
4
+ import type { HookEventPayload } from "../../hooks";
5
+ import type { SessionStatus } from "../../types/common";
6
+ import type { PersistedSessionUpdateInput, SessionMessagesArtifactUploader, SessionPersistenceAdapter } from "../../types/session";
7
+ import type { SessionRow } from "../models/session-row";
8
+ export type { PersistedSessionUpdateInput, SessionPersistenceAdapter };
9
+ export declare class UnifiedSessionPersistenceService {
10
+ private readonly adapter;
11
+ private readonly manifestStore;
12
+ private readonly teamChildren;
13
+ private static readonly STALE_REASON;
14
+ private static readonly STALE_SOURCE;
15
+ private static readonly TEAM_HEARTBEAT_LOG_INTERVAL_MS;
16
+ constructor(adapter: SessionPersistenceAdapter, options?: {
17
+ messagesArtifactUploader?: SessionMessagesArtifactUploader;
18
+ });
19
+ private toPersistedMessages;
20
+ ensureSessionsDir(): string;
21
+ writeSessionManifest(manifestPath: string, manifest: import("../models/session-manifest").SessionManifest): void;
22
+ readSessionManifest(sessionId: string): import("../models/session-manifest").SessionManifest | undefined;
23
+ createRootSessionWithArtifacts(input: import("../models/session-row").CreateRootSessionWithArtifactsInput): Promise<import("../models/session-row").RootSessionArtifacts>;
24
+ updateSessionStatus(sessionId: string, status: SessionStatus, exitCode?: number | null): Promise<{
25
+ updated: boolean;
26
+ endedAt?: string;
27
+ }>;
28
+ updateSession(input: {
29
+ sessionId: string;
30
+ prompt?: string | null;
31
+ metadata?: Record<string, unknown> | null;
32
+ title?: string | null;
33
+ }): Promise<{
34
+ updated: boolean;
35
+ }>;
36
+ queueSpawnRequest(event: HookEventPayload): Promise<void>;
37
+ upsertSubagentSession(input: import("../models/session-row").UpsertSubagentInput): Promise<string | undefined>;
38
+ upsertSubagentSessionFromHook(event: HookEventPayload): Promise<string | undefined>;
39
+ appendSubagentHookAudit(_subSessionId: string, event: HookEventPayload): Promise<void>;
40
+ persistSessionMessages(sessionId: string, messages: LlmsProviders.Message[], systemPrompt?: string): Promise<void>;
41
+ applySubagentStatus(subSessionId: string, event: HookEventPayload): Promise<void>;
42
+ applySubagentStatusBySessionId(subSessionId: string, status: SessionStatus): Promise<void>;
43
+ applyStatusToRunningChildSessions(parentSessionId: string, status: Exclude<SessionStatus, "running">): Promise<void>;
44
+ onTeamTaskStart(rootSessionId: string, agentId: string, message: string): Promise<void>;
45
+ onTeamTaskEnd(rootSessionId: string, agentId: string, status: SessionStatus, summary?: string, result?: AgentResult, messages?: LlmsProviders.Message[]): Promise<void>;
46
+ onTeamTaskProgress(rootSessionId: string, agentId: string, progress: string, options?: {
47
+ kind?: "heartbeat" | "progress" | "text";
48
+ }): Promise<void>;
49
+ handleSubAgentStart(rootSessionId: string, context: SubAgentStartContext): Promise<void>;
50
+ handleSubAgentEnd(rootSessionId: string, context: SubAgentEndContext): Promise<void>;
51
+ private isPidAlive;
52
+ private reconcileDeadRunningSession;
53
+ listSessions(limit?: number): Promise<SessionRow[]>;
54
+ reconcileDeadSessions(limit?: number): Promise<number>;
55
+ deleteSession(sessionId: string): Promise<{
56
+ deleted: boolean;
57
+ }>;
58
+ }
@@ -0,0 +1,13 @@
1
+ import type { SqliteSessionStore } from "../../services/storage/sqlite-session-store";
2
+ import type { SessionMessagesArtifactUploader } from "../../types/session";
3
+ import { type CreateRootSessionInput } from "../models/session-row";
4
+ import { UnifiedSessionPersistenceService } from "./persistence-service";
5
+ export declare class CoreSessionService extends UnifiedSessionPersistenceService {
6
+ private readonly store;
7
+ constructor(store: SqliteSessionStore, options?: {
8
+ sessionArtifactsDir?: string;
9
+ messagesArtifactUploader?: SessionMessagesArtifactUploader;
10
+ });
11
+ createRootSession(input: CreateRootSessionInput): void;
12
+ }
13
+ export type { CreateRootSessionInput, CreateRootSessionWithArtifactsInput, RootSessionArtifacts, SessionRow, UpsertSubagentInput, } from "../models/session-row";
@@ -0,0 +1,57 @@
1
+ import type * as LlmsProviders from "@cline/llms";
2
+ import type { CheckpointEntry } from "../hooks/checkpoint-hooks";
3
+ import type { SessionAccumulatedUsage } from "../runtime/host/runtime-host";
4
+ import type { SessionRecord } from "../types/sessions";
5
+ export interface CoreSessionCheckpointSnapshot {
6
+ enabled?: boolean;
7
+ latest?: CheckpointEntry;
8
+ history: CheckpointEntry[];
9
+ }
10
+ export interface CoreSessionSnapshot {
11
+ version: 1;
12
+ sessionId: string;
13
+ source: SessionRecord["source"];
14
+ status: SessionRecord["status"];
15
+ createdAt: string;
16
+ updatedAt: string;
17
+ endedAt?: string | null;
18
+ exitCode?: number | null;
19
+ interactive: boolean;
20
+ workspace: {
21
+ cwd: string;
22
+ root: string;
23
+ };
24
+ model: {
25
+ providerId: string;
26
+ modelId: string;
27
+ };
28
+ capabilities: {
29
+ enableTools: boolean;
30
+ enableSpawn: boolean;
31
+ enableTeams: boolean;
32
+ };
33
+ lineage: {
34
+ parentSessionId?: string;
35
+ parentAgentId?: string;
36
+ agentId?: string;
37
+ conversationId?: string;
38
+ isSubagent: boolean;
39
+ };
40
+ team?: {
41
+ name: string;
42
+ };
43
+ prompt?: string;
44
+ metadata?: Record<string, unknown>;
45
+ artifacts?: {
46
+ messagesPath?: string;
47
+ };
48
+ messages?: LlmsProviders.Message[];
49
+ usage?: SessionAccumulatedUsage;
50
+ checkpoint?: CoreSessionCheckpointSnapshot;
51
+ }
52
+ export declare function createCoreSessionSnapshot(input: {
53
+ session: SessionRecord;
54
+ messages?: LlmsProviders.Message[];
55
+ usage?: SessionAccumulatedUsage;
56
+ }): CoreSessionSnapshot;
57
+ export declare function coreSessionSnapshotToRecord(snapshot: CoreSessionSnapshot): SessionRecord;
@@ -0,0 +1,48 @@
1
+ import type * as LlmsProviders from "@cline/llms";
2
+ import type { CheckpointEntry, CheckpointMetadata } from "../hooks/checkpoint-hooks";
3
+ import type { RestoreSessionInput } from "../runtime/host/runtime-host";
4
+ import type { SessionRecord } from "../types/sessions";
5
+ import { type CheckpointRestorePlan } from "./checkpoint-restore";
6
+ import { type CoreSessionSnapshot } from "./session-snapshot";
7
+ export type SessionVersioningErrorCode = "invalid_restore" | "session_not_found" | "session_messages_not_found";
8
+ export declare class SessionVersioningError extends Error {
9
+ readonly code: SessionVersioningErrorCode;
10
+ constructor(code: SessionVersioningErrorCode, message: string);
11
+ }
12
+ export interface SessionCheckpointRestoreContext {
13
+ sourceSession: SessionRecord;
14
+ sourceMessages?: LlmsProviders.Message[];
15
+ sourceSnapshot: CoreSessionSnapshot;
16
+ plan: CheckpointRestorePlan;
17
+ restoredCheckpointMetadata?: CheckpointMetadata;
18
+ initialMessages: LlmsProviders.Message[];
19
+ restoreMessages: boolean;
20
+ restoreWorkspace: boolean;
21
+ checkpointRunCount: number;
22
+ }
23
+ export interface SessionCheckpointRestoreResult<TStartResult = unknown> {
24
+ sessionId?: string;
25
+ startResult?: TStartResult;
26
+ messages?: LlmsProviders.Message[];
27
+ checkpoint: CheckpointEntry;
28
+ sourceSnapshot: CoreSessionSnapshot;
29
+ restoredSnapshot?: CoreSessionSnapshot;
30
+ }
31
+ export interface SessionCheckpointRestoreInput<TRestoreStartInput, TStartInput, TStartResult> {
32
+ sessionId: string;
33
+ checkpointRunCount: number;
34
+ cwd?: string;
35
+ restore?: RestoreSessionInput["restore"];
36
+ start?: TRestoreStartInput;
37
+ getSession(sessionId: string): Promise<SessionRecord | undefined>;
38
+ readMessages(sessionId: string): Promise<LlmsProviders.Message[]>;
39
+ buildStartInput?: (context: SessionCheckpointRestoreContext, start: TRestoreStartInput) => TStartInput | Promise<TStartInput>;
40
+ startSession?: (input: TStartInput) => Promise<TStartResult>;
41
+ getStartedSessionId?: (result: TStartResult) => string | undefined;
42
+ readRestoredSession?: (sessionId: string) => Promise<SessionRecord | undefined>;
43
+ applyWorkspaceCheckpoint?: (cwd: string, checkpoint: CheckpointEntry) => Promise<void>;
44
+ retainCheckpointRefs?: (cwd: string, sessionId: string, history: CheckpointEntry[]) => Promise<void>;
45
+ }
46
+ export declare class SessionVersioningService {
47
+ restoreCheckpoint<TRestoreStartInput, TStartInput, TStartResult>(input: SessionCheckpointRestoreInput<TRestoreStartInput, TStartInput, TStartResult>): Promise<SessionCheckpointRestoreResult<TStartResult>>;
48
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Per-session conversation transcript store.
3
+ *
4
+ * @see PLAN.md §3.1 — moved from `packages/agents/src/runtime/conversation-store.ts`.
5
+ * @see PLAN.md §3.2.3 — public surface of `ConversationStore`.
6
+ *
7
+ * Pure port of the old agents implementation. Owns the message list,
8
+ * conversation id, and "session started" gate that today's `Agent`
9
+ * class uses to decide when to fire `session_start` hooks.
10
+ */
11
+ import type { MessageWithMetadata } from "@cline/shared";
12
+ /** Generate a fresh conversation id. Exported for reuse by `SessionRuntime`. */
13
+ export declare function createConversationId(): string;
14
+ export declare class ConversationStore {
15
+ private messages;
16
+ private conversationId;
17
+ private sessionStarted;
18
+ constructor(initialMessages?: readonly MessageWithMetadata[]);
19
+ getConversationId(): string;
20
+ getMessages(): MessageWithMetadata[];
21
+ appendMessage(message: MessageWithMetadata): void;
22
+ appendMessages(messages: readonly MessageWithMetadata[]): void;
23
+ replaceMessages(messages: readonly MessageWithMetadata[]): void;
24
+ resetForRun(): void;
25
+ clearHistory(): void;
26
+ restore(messages: readonly MessageWithMetadata[]): void;
27
+ isSessionStarted(): boolean;
28
+ markSessionStarted(): void;
29
+ }
@@ -0,0 +1,21 @@
1
+ import type * as LlmsProviders from "@cline/llms";
2
+ import { SessionArtifacts } from "../../services/session-artifacts";
3
+ import type { SessionMessagesArtifactUploader, SessionPersistenceAdapter } from "../../types/session";
4
+ import { type SessionManifest } from "../models/session-manifest";
5
+ export declare class SessionManifestStore {
6
+ private readonly adapter;
7
+ private readonly messagesArtifactUploader?;
8
+ readonly artifacts: SessionArtifacts;
9
+ constructor(adapter: SessionPersistenceAdapter, messagesArtifactUploader?: SessionMessagesArtifactUploader | undefined);
10
+ ensureSessionsDir(): string;
11
+ initializeMessagesFile(sessionId: string, path: string, startedAt: string): void;
12
+ writeSessionManifest(manifestPath: string, manifest: SessionManifest): void;
13
+ readSessionManifest(sessionId: string): SessionManifest | undefined;
14
+ readManifestFile(sessionId: string): {
15
+ path: string;
16
+ manifest?: SessionManifest;
17
+ };
18
+ resolveArtifactPath(sessionId: string, kind: "messagesPath", fallback: (id: string) => string): Promise<string>;
19
+ persistSessionMessages(sessionId: string, messages: LlmsProviders.Message[], systemPrompt?: string): Promise<void>;
20
+ appendStaleSessionHookLog(detectedAt: string, sessionId: string, pid: number, reason: string, source: string): void;
21
+ }
@@ -0,0 +1,23 @@
1
+ import type { TeamTeammateSpec } from "@cline/shared";
2
+ import type { AgentTeamsRuntime, TeamEvent } from "../../extensions/tools/team";
3
+ import { type TeamRuntimeState } from "../models/session-row";
4
+ export interface FileTeamPersistenceStoreOptions {
5
+ teamName: string;
6
+ baseDir?: string;
7
+ }
8
+ export declare class FileTeamPersistenceStore {
9
+ private readonly dirPath;
10
+ private readonly statePath;
11
+ private readonly taskHistoryPath;
12
+ private readonly teammateSpecs;
13
+ constructor(options: FileTeamPersistenceStoreOptions);
14
+ loadState(): TeamRuntimeState | undefined;
15
+ getTeammateSpecs(): TeamTeammateSpec[];
16
+ upsertTeammateSpec(spec: TeamTeammateSpec): void;
17
+ removeTeammateSpec(agentId: string): void;
18
+ persist(runtime: AgentTeamsRuntime): void;
19
+ appendTaskHistory(event: TeamEvent): void;
20
+ private ensureDir;
21
+ private hasPersistableState;
22
+ private clearPersistedState;
23
+ }
@@ -0,0 +1,2 @@
1
+ export { TeamChildSessionManager } from "./team-child-session-manager";
2
+ export { buildTeamRunContinuationPrompt, dispatchTeamEventToBackend, emitTeamProgress, formatModePrompt, hasPendingTeamRunWork, notifyTeamRunWaiters, shouldAutoContinueTeamRuns, trackTeamRunState, waitForTeamRunUpdates, } from "./team-session-coordinator";
@@ -0,0 +1,35 @@
1
+ import type * as LlmsProviders from "@cline/llms";
2
+ import type { AgentResult } from "@cline/shared";
3
+ import type { SubAgentEndContext, SubAgentStartContext } from "../../extensions/tools/team";
4
+ import type { HookEventPayload } from "../../hooks";
5
+ import type { SessionStatus } from "../../types/common";
6
+ import type { SessionPersistenceAdapter, StoredMessageWithMetadata } from "../../types/session";
7
+ import type { UpsertSubagentInput } from "../models/session-row";
8
+ import type { SessionManifestStore } from "../stores/session-manifest-store";
9
+ export declare class TeamChildSessionManager {
10
+ private readonly adapter;
11
+ private readonly manifestStore;
12
+ private readonly toPersistedMessages;
13
+ private readonly heartbeatLogIntervalMs;
14
+ private readonly teamTaskSessionsByAgent;
15
+ private readonly teamTaskLastHeartbeatBySession;
16
+ private readonly teamTaskLastProgressLineBySession;
17
+ constructor(adapter: SessionPersistenceAdapter, manifestStore: SessionManifestStore, toPersistedMessages: (messages: LlmsProviders.Message[] | undefined, result?: AgentResult, previousMessages?: LlmsProviders.Message[]) => StoredMessageWithMetadata[] | undefined, heartbeatLogIntervalMs: number);
18
+ private teamTaskQueueKey;
19
+ private activeTeamTaskSessionId;
20
+ private buildSubsessionRow;
21
+ queueSpawnRequest(event: HookEventPayload): Promise<void>;
22
+ upsertSubagentSession(input: UpsertSubagentInput): Promise<string | undefined>;
23
+ upsertSubagentSessionFromHook(event: HookEventPayload): Promise<string | undefined>;
24
+ applySubagentStatus(subSessionId: string, event: HookEventPayload): Promise<void>;
25
+ applySubagentStatusBySessionId(subSessionId: string, status: SessionStatus): Promise<void>;
26
+ applyStatusToRunningChildSessions(parentSessionId: string, status: Exclude<SessionStatus, "running">): Promise<void>;
27
+ onTeamTaskStart(rootSessionId: string, agentId: string, message: string): Promise<void>;
28
+ onTeamTaskEnd(rootSessionId: string, agentId: string, status: SessionStatus, _summary?: string, result?: AgentResult, messages?: LlmsProviders.Message[]): Promise<void>;
29
+ onTeamTaskProgress(rootSessionId: string, agentId: string, progress: string, options?: {
30
+ kind?: "heartbeat" | "progress" | "text";
31
+ }): Promise<void>;
32
+ handleSubAgentStart(rootSessionId: string, context: SubAgentStartContext): Promise<void>;
33
+ handleSubAgentEnd(rootSessionId: string, context: SubAgentEndContext): Promise<void>;
34
+ appendSubagentHookAudit(event: HookEventPayload): void;
35
+ }
@@ -0,0 +1,13 @@
1
+ import { type AgentMode, type AgentResult } from "@cline/shared";
2
+ import type { TeamEvent } from "../../extensions/tools/team";
3
+ import type { CoreSessionEvent } from "../../types/events";
4
+ import type { ActiveSession, TeamRunUpdate } from "../../types/session";
5
+ export declare function trackTeamRunState(session: ActiveSession, event: TeamEvent): void;
6
+ export declare function dispatchTeamEventToBackend(rootSessionId: string, event: TeamEvent, invokeOptional: (method: string, ...args: unknown[]) => Promise<void>): Promise<void>;
7
+ export declare function emitTeamProgress(session: ActiveSession, rootSessionId: string, event: TeamEvent, emit: (event: CoreSessionEvent) => void): void;
8
+ export declare function hasPendingTeamRunWork(session: ActiveSession): boolean;
9
+ export declare function shouldAutoContinueTeamRuns(session: ActiveSession, finishReason: AgentResult["finishReason"]): boolean;
10
+ export declare function notifyTeamRunWaiters(session: ActiveSession): void;
11
+ export declare function waitForTeamRunUpdates(session: ActiveSession): Promise<TeamRunUpdate[]>;
12
+ export declare function buildTeamRunContinuationPrompt(session: ActiveSession, updates: TeamRunUpdate[]): string;
13
+ export declare function formatModePrompt(prompt: string, mode: AgentMode | undefined): string;
@@ -0,0 +1,2 @@
1
+ export { CoreSettingsService, createCoreSettingsService, } from "./settings-service";
2
+ export type { ClineCoreSettingsApi, CoreSettingsItem, CoreSettingsItemKind, CoreSettingsItemSource, CoreSettingsListInput, CoreSettingsMutationResult, CoreSettingsSnapshot, CoreSettingsToggleInput, CoreSettingsType, } from "./types";
@@ -0,0 +1,6 @@
1
+ import type { CoreSettingsListInput, CoreSettingsMutationResult, CoreSettingsSnapshot, CoreSettingsToggleInput } from "./types";
2
+ export declare class CoreSettingsService {
3
+ list(input?: CoreSettingsListInput): Promise<CoreSettingsSnapshot>;
4
+ toggle(input: CoreSettingsToggleInput): Promise<CoreSettingsMutationResult>;
5
+ }
6
+ export declare function createCoreSettingsService(): CoreSettingsService;
@@ -0,0 +1,42 @@
1
+ import type { UserInstructionConfigService } from "../extensions/config";
2
+ import type { BuiltinToolAvailabilityContext } from "../extensions/tools";
3
+ export type CoreSettingsType = "skills" | "workflows" | "rules" | "tools";
4
+ export type CoreSettingsItemKind = "skill" | "workflow" | "rule" | "tool";
5
+ export type CoreSettingsItemSource = "global" | "workspace" | "builtin" | "global-plugin" | "workspace-plugin";
6
+ export interface CoreSettingsItem {
7
+ id: string;
8
+ name: string;
9
+ path: string;
10
+ kind: CoreSettingsItemKind;
11
+ source: CoreSettingsItemSource;
12
+ enabled?: boolean;
13
+ description?: string;
14
+ toggleable?: boolean;
15
+ }
16
+ export interface CoreSettingsSnapshot {
17
+ workflows: CoreSettingsItem[];
18
+ rules: CoreSettingsItem[];
19
+ skills: CoreSettingsItem[];
20
+ tools: CoreSettingsItem[];
21
+ }
22
+ export interface CoreSettingsListInput {
23
+ cwd?: string;
24
+ workspaceRoot?: string;
25
+ userInstructionService?: UserInstructionConfigService;
26
+ availabilityContext?: BuiltinToolAvailabilityContext;
27
+ }
28
+ export interface CoreSettingsToggleInput extends CoreSettingsListInput {
29
+ type: CoreSettingsType;
30
+ id?: string;
31
+ path?: string;
32
+ name?: string;
33
+ enabled?: boolean;
34
+ }
35
+ export interface CoreSettingsMutationResult {
36
+ snapshot: CoreSettingsSnapshot;
37
+ changedTypes: CoreSettingsType[];
38
+ }
39
+ export interface ClineCoreSettingsApi {
40
+ list(input?: CoreSettingsListInput): Promise<CoreSettingsSnapshot>;
41
+ toggle(input: CoreSettingsToggleInput): Promise<CoreSettingsMutationResult>;
42
+ }
@@ -0,0 +1,161 @@
1
+ import { z } from "zod";
2
+ export declare const ChatSessionConfigSchema: z.ZodObject<{
3
+ workspaceRoot: z.ZodString;
4
+ cwd: z.ZodOptional<z.ZodString>;
5
+ provider: z.ZodString;
6
+ model: z.ZodString;
7
+ mode: z.ZodDefault<z.ZodEnum<{
8
+ act: "act";
9
+ plan: "plan";
10
+ }>>;
11
+ apiKey: z.ZodString;
12
+ systemPrompt: z.ZodOptional<z.ZodString>;
13
+ rules: z.ZodOptional<z.ZodString>;
14
+ maxIterations: z.ZodOptional<z.ZodNumber>;
15
+ enableTools: z.ZodBoolean;
16
+ enableSpawn: z.ZodOptional<z.ZodBoolean>;
17
+ enableTeams: z.ZodOptional<z.ZodBoolean>;
18
+ autoApproveTools: z.ZodOptional<z.ZodBoolean>;
19
+ missionStepInterval: z.ZodOptional<z.ZodNumber>;
20
+ missionTimeIntervalMs: z.ZodOptional<z.ZodNumber>;
21
+ }, z.core.$strip>;
22
+ export declare const ChatSessionStatusSchema: z.ZodEnum<{
23
+ error: "error";
24
+ idle: "idle";
25
+ running: "running";
26
+ completed: "completed";
27
+ failed: "failed";
28
+ starting: "starting";
29
+ stopping: "stopping";
30
+ cancelled: "cancelled";
31
+ }>;
32
+ export declare const ChatMessageRoleSchema: z.ZodEnum<{
33
+ system: "system";
34
+ status: "status";
35
+ error: "error";
36
+ user: "user";
37
+ assistant: "assistant";
38
+ tool: "tool";
39
+ }>;
40
+ export declare const ChatMessageSchema: z.ZodObject<{
41
+ id: z.ZodString;
42
+ sessionId: z.ZodNullable<z.ZodString>;
43
+ role: z.ZodEnum<{
44
+ system: "system";
45
+ status: "status";
46
+ error: "error";
47
+ user: "user";
48
+ assistant: "assistant";
49
+ tool: "tool";
50
+ }>;
51
+ content: z.ZodString;
52
+ createdAt: z.ZodNumber;
53
+ meta: z.ZodOptional<z.ZodObject<{
54
+ stream: z.ZodOptional<z.ZodEnum<{
55
+ stdout: "stdout";
56
+ stderr: "stderr";
57
+ }>>;
58
+ toolName: z.ZodOptional<z.ZodString>;
59
+ iteration: z.ZodOptional<z.ZodNumber>;
60
+ agentId: z.ZodOptional<z.ZodString>;
61
+ conversationId: z.ZodOptional<z.ZodString>;
62
+ hookEventName: z.ZodOptional<z.ZodString>;
63
+ inputTokens: z.ZodOptional<z.ZodNumber>;
64
+ outputTokens: z.ZodOptional<z.ZodNumber>;
65
+ checkpoint: z.ZodOptional<z.ZodObject<{
66
+ ref: z.ZodString;
67
+ createdAt: z.ZodNumber;
68
+ runCount: z.ZodNumber;
69
+ kind: z.ZodOptional<z.ZodEnum<{
70
+ commit: "commit";
71
+ stash: "stash";
72
+ }>>;
73
+ }, z.core.$strip>>;
74
+ }, z.core.$strip>>;
75
+ }, z.core.$strip>;
76
+ export declare const ChatSummarySchema: z.ZodObject<{
77
+ toolCalls: z.ZodNumber;
78
+ tokensIn: z.ZodNumber;
79
+ tokensOut: z.ZodNumber;
80
+ }, z.core.$strip>;
81
+ export declare const ChatViewStateSchema: z.ZodObject<{
82
+ sessionId: z.ZodNullable<z.ZodString>;
83
+ status: z.ZodEnum<{
84
+ error: "error";
85
+ idle: "idle";
86
+ running: "running";
87
+ completed: "completed";
88
+ failed: "failed";
89
+ starting: "starting";
90
+ stopping: "stopping";
91
+ cancelled: "cancelled";
92
+ }>;
93
+ config: z.ZodObject<{
94
+ workspaceRoot: z.ZodString;
95
+ cwd: z.ZodOptional<z.ZodString>;
96
+ provider: z.ZodString;
97
+ model: z.ZodString;
98
+ mode: z.ZodDefault<z.ZodEnum<{
99
+ act: "act";
100
+ plan: "plan";
101
+ }>>;
102
+ apiKey: z.ZodString;
103
+ systemPrompt: z.ZodOptional<z.ZodString>;
104
+ rules: z.ZodOptional<z.ZodString>;
105
+ maxIterations: z.ZodOptional<z.ZodNumber>;
106
+ enableTools: z.ZodBoolean;
107
+ enableSpawn: z.ZodOptional<z.ZodBoolean>;
108
+ enableTeams: z.ZodOptional<z.ZodBoolean>;
109
+ autoApproveTools: z.ZodOptional<z.ZodBoolean>;
110
+ missionStepInterval: z.ZodOptional<z.ZodNumber>;
111
+ missionTimeIntervalMs: z.ZodOptional<z.ZodNumber>;
112
+ }, z.core.$strip>;
113
+ messages: z.ZodArray<z.ZodObject<{
114
+ id: z.ZodString;
115
+ sessionId: z.ZodNullable<z.ZodString>;
116
+ role: z.ZodEnum<{
117
+ system: "system";
118
+ status: "status";
119
+ error: "error";
120
+ user: "user";
121
+ assistant: "assistant";
122
+ tool: "tool";
123
+ }>;
124
+ content: z.ZodString;
125
+ createdAt: z.ZodNumber;
126
+ meta: z.ZodOptional<z.ZodObject<{
127
+ stream: z.ZodOptional<z.ZodEnum<{
128
+ stdout: "stdout";
129
+ stderr: "stderr";
130
+ }>>;
131
+ toolName: z.ZodOptional<z.ZodString>;
132
+ iteration: z.ZodOptional<z.ZodNumber>;
133
+ agentId: z.ZodOptional<z.ZodString>;
134
+ conversationId: z.ZodOptional<z.ZodString>;
135
+ hookEventName: z.ZodOptional<z.ZodString>;
136
+ inputTokens: z.ZodOptional<z.ZodNumber>;
137
+ outputTokens: z.ZodOptional<z.ZodNumber>;
138
+ checkpoint: z.ZodOptional<z.ZodObject<{
139
+ ref: z.ZodString;
140
+ createdAt: z.ZodNumber;
141
+ runCount: z.ZodNumber;
142
+ kind: z.ZodOptional<z.ZodEnum<{
143
+ commit: "commit";
144
+ stash: "stash";
145
+ }>>;
146
+ }, z.core.$strip>>;
147
+ }, z.core.$strip>>;
148
+ }, z.core.$strip>>;
149
+ rawTranscript: z.ZodString;
150
+ error: z.ZodNullable<z.ZodString>;
151
+ summary: z.ZodObject<{
152
+ toolCalls: z.ZodNumber;
153
+ tokensIn: z.ZodNumber;
154
+ tokensOut: z.ZodNumber;
155
+ }, z.core.$strip>;
156
+ }, z.core.$strip>;
157
+ export type ChatSessionConfig = z.infer<typeof ChatSessionConfigSchema>;
158
+ export type ChatSessionStatus = z.infer<typeof ChatSessionStatusSchema>;
159
+ export type ChatMessage = z.infer<typeof ChatMessageSchema>;
160
+ export type ChatSummary = z.infer<typeof ChatSummarySchema>;
161
+ export type ChatViewState = z.infer<typeof ChatViewStateSchema>;
@@ -0,0 +1,19 @@
1
+ export declare const SESSION_STATUSES: readonly ["running", "completed", "failed", "cancelled"];
2
+ export type SessionStatus = (typeof SESSION_STATUSES)[number];
3
+ export declare const SessionSource: {
4
+ readonly CORE: "core";
5
+ readonly CLI: "cli";
6
+ readonly SUBAGENT: "subagent";
7
+ readonly DESKTOP: "desktop";
8
+ readonly KANBAN: "kanban";
9
+ readonly API: "api";
10
+ readonly WEB: "web";
11
+ readonly VSCODE: "vscode";
12
+ readonly ENTERPRISE: "enterprise";
13
+ readonly IDE: "ide";
14
+ readonly JETBRAINS: "jetbrains";
15
+ readonly NEOVIM: "neovim";
16
+ readonly UNKNOWN: "unknown";
17
+ };
18
+ export type BuiltinSessionSource = (typeof SessionSource)[keyof typeof SessionSource];
19
+ export type SessionSource = BuiltinSessionSource | (string & {});